{
  "openapi": "3.0.0",
  "info": {
    "title": "Vultr API",
    "version": "2.0",
    "contact": {
      "email": "support@vultr.com",
      "name": "",
      "url": "https://www.vultr.com"
    },
    "description": "# Introduction\n\nThe Vultr API v2 is a set of HTTP endpoints that adhere to RESTful design principles and CRUD actions with predictable URIs. It uses standard HTTP response codes, authentication, and verbs. The API has consistent and well-formed JSON requests and responses with cursor-based pagination to simplify list handling. Error messages are descriptive and easy to understand. All functions of the Vultr customer portal are accessible via the API, enabling you to script complex unattended scenarios with any tool fluent in HTTP.\n\n## Requests\n\nCommunicate with the API by making an HTTP request at the correct endpoint. The chosen method determines the action taken.\n\n| Method | Usage |\n| ------ | ------------- |\n| DELETE | Use the DELETE method to destroy a resource in your account. If it is not found, the operation will return a 4xx error and an appropriate message. |\n| GET | To retrieve information about a resource, use the GET method. The data is returned as a JSON object. GET methods are read-only and do not affect any resources. |\n| PATCH | Some resources support partial modification with PATCH, which modifies specific attributes without updating the entire object representation. |\n| POST | Issue a POST method to create a new object. Include all needed attributes in the request body encoded as JSON. |\n| PUT | Use the PUT method to update information about a resource. PUT will set new values on the item without regard to their current values. |\n\n**Rate Limit:** Vultr safeguards the API against bursts of incoming traffic based on the request's IP address to ensure stability for all users. If your application sends more than 30 requests per second, the API may return HTTP status code 429.\n\n## Response Codes\n\nWe use standard HTTP response codes to show the success or failure of requests. Response codes in the 2xx range indicate success, while codes in the 4xx range indicate an error, such as an authorization failure or a malformed request. All 4xx errors will return a JSON response object with an `error` attribute explaining the error. Codes in the 5xx range indicate a server-side problem preventing Vultr from fulfilling your request.\n\n| Response | Description |\n| ------ | ------------- |\n| 200 OK | The response contains your requested information. |\n| 201 Created | Your request was accepted. The resource was created. |\n| 202 Accepted | Your request was accepted. The resource was created or updated. |\n| 204 No Content | Your request succeeded, there is no additional information returned. |\n| 400 Bad Request | Your request was malformed. |\n| 401 Unauthorized | You did not supply valid authentication credentials. |\n| 403 Forbidden | You are not allowed to perform that action. |\n| 404 Not Found | No results were found for your request. |\n| 429 Too Many Requests | Your request exceeded the API rate limit. |\n| 500 Internal Server Error | We were unable to perform the request due to server-side problems. |\n\n## Meta and Pagination\n\nMany API calls will return a `meta` object with paging information.\n\n### Definitions\n\n| Term | Description |\n| ------ | ------------- |\n| **List** | The items returned from the database for your request (not necessarily shown in a single response depending on the **cursor** size). |\n| **Page** | A subset of the full **list** of items. Choose the size of a **page** with the `per_page` parameter. |\n| **Total** | The `total` attribute indicates the number of items in the full **list**.|\n| **Cursor** | Use the `cursor` query parameter to select a next or previous **page**. |\n| **Next** & **Prev** | Use the `next` and `prev` attributes of the `links` meta object as `cursor` values. |\n\n### How to use Paging\n\nIf your result **list** total exceeds the default **cursor** size (the default depends on the route, but is usually 100 records) or the value defined by the `per_page` query param (when present) the response will be returned to you paginated.\n\n### Paging Example\n\n> These examples have abbreviated attributes and sample values. Your actual `cursor` values will be encoded alphanumeric strings.\n\nTo return a **page** with the first two plans in the List:\n\n    curl \"https://api.vultr.com/v2/plans?per_page=2\" \\\n      -X GET \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\nThe API returns an object similar to this:\n\n    {\n        \"plans\": [\n            {\n                \"id\": \"vc2-1c-2gb\",\n                \"vcpu_count\": 1,\n                \"ram\": 2048,\n                \"locations\": []\n            },\n            {\n                \"id\": \"vc2-24c-97gb\",\n                \"vcpu_count\": 24,\n                \"ram\": 98304,\n                \"locations\": []\n            }\n        ],\n        \"meta\": {\n            \"total\": 19,\n            \"links\": {\n                \"next\": \"WxYzExampleNext\",\n                \"prev\": \"WxYzExamplePrev\"\n            }\n        }\n    }\n\nThe object contains two plans. The `total` attribute indicates that 19 plans are available in the List. To navigate forward in the **list**, use the `next` value (`WxYzExampleNext` in this example) as your `cursor` query parameter.\n\n    curl \"https://api.vultr.com/v2/plans?per_page=2&cursor=WxYzExampleNext\" \\\n      -X GET\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\nLikewise, you can use the example `prev` value `WxYzExamplePrev` to navigate backward.\n\n## Parameters\n\nYou can pass information to the API with three different types of parameters.\n\n### Path parameters\n\nSome API calls require variable parameters as part of the endpoint path. For example, to retrieve information about a user, supply the `user-id` in the endpoint.\n\n    curl \"https://api.vultr.com/v2/users/{user-id}\" \\\n      -X GET \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\n### Query parameters\n\nSome API calls allow filtering with query parameters. For example, the `/v2/plans` endpoint supports a `type` query parameter. Setting `type=vhf` instructs the API only to return High Frequency Compute plans in the list. You'll find more specifics about valid filters in the endpoint documentation below.\n\n    curl \"https://api.vultr.com/v2/plans?type=vhf\" \\\n      -X GET \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\nYou can also combine filtering with paging. Use the `per_page` parameter to retreive a subset of vhf plans.\n\n    curl \"https://api.vultr.com/v2/plans?type=vhf&per_page=2\" \\\n      -X GET \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\n### Request Body\n\nPUT, POST, and PATCH methods may include an object in the request body with a content type of **application/json**. The documentation for each endpoint below has more information about the expected object.\n\n## API Example Conventions\n\nThe examples in this documentation use `curl`, a command-line HTTP client, to demonstrate useage. Linux and macOS computers usually have curl installed by default, and it's [available for download](https://curl.se/download.html) on all popular platforms including Windows.\n\nEach example is split across multiple lines with the `\\` character, which is compatible with a `bash` terminal. A typical example looks like this:\n\n    curl \"https://api.vultr.com/v2/domains\" \\\n      -X POST \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n      -H \"Content-Type: application/json\" \\\n      --data '{\n        \"domain\" : \"example.com\",\n        \"ip\" : \"192.0.2.123\"\n      }'\n\n* The `-X` parameter sets the request method. For consistency, we show the method on all examples, even though it's not explicitly required for GET methods.\n* The `-H` lines set required HTTP headers. These examples are formatted to expand the VULTR\\_API\\_KEY environment variable for your convenience.\n* Examples that require a JSON object in the request body pass the required data via the `--data` parameter.\n\nAll values in this guide are examples. Do not rely on the OS or Plan IDs listed in this guide; use the appropriate endpoint to retreive values before creating resources.\n"
  },
  "servers": [
    {
      "url": "https://api.vultr.com/v2"
    }
  ],
  "paths": {
    "/cdns/pull-zones": {
      "get": {
        "summary": "List CDN Pull Zones",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pull_zones": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/pullzone"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "pull_zones": [
                        {
                          "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                          "date_created": "2024-01-25 09:41:05",
                          "status": "active",
                          "label": "my-pullzone",
                          "origin_scheme": "https",
                          "origin_domain": "constant.com",
                          "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                          "vanity_domain": "my.domain.com",
                          "cache_size": 50000000,
                          "requests": null,
                          "in_bytes": null,
                          "out_bytes": null,
                          "packets_per_sec": 50,
                          "last_purge": "2024-01-25 11:39:04",
                          "cors": false,
                          "gzip": true,
                          "block_ai": false,
                          "block_bad_bots": true,
                          "regions": [
                            "..."
                          ]
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-pullzones",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List CDN Pull Zones"
      },
      "post": {
        "summary": "Create CDN Pull Zones",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pull_zone": {
                      "$ref": "#/components/schemas/pullzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "pull_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pullzone",
                        "origin_scheme": "https",
                        "origin_domain": "constant.com",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "last_purge": "2024-01-25 11:39:04",
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-pullzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "origin_scheme": {
                    "type": "string",
                    "description": "The URI scheme of the origin domain.",
                    "enum": [
                      "http",
                      "https"
                    ]
                  },
                  "origin_domain": {
                    "type": "string",
                    "description": "The domain name from which the content stored in the CDN will be pulled."
                  },
                  "vanity_domain": {
                    "type": "string",
                    "description": "An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created.  This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN."
                  },
                  "ssl_cert": {
                    "type": "string",
                    "description": "Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain.  This field is required if a vanity domain is provided and the origin_scheme is https."
                  },
                  "ssl_cert_key": {
                    "type": "string",
                    "description": "Base 64 encoded file content for the private key associated with the ssl_cert.  This field is required if a vanity domain is provided and the origin_scheme is https."
                  },
                  "cors": {
                    "type": "boolean",
                    "description": "Enable Cross-origin resource sharing.  CORS is a content validation mechanism used by web browsers to validate file access permissions. The Vultr CDN CORS policy protects your static assets from hotlinking threats by only accepting requests associated with your Origin URL."
                  },
                  "gzip": {
                    "type": "boolean",
                    "description": "Enable Gzip compression to reduce the static content size to speed up the delivery process."
                  },
                  "block_ai": {
                    "type": "boolean",
                    "description": "Block AI bots."
                  },
                  "block_bad_bots": {
                    "type": "boolean",
                    "description": "Block potentially malicious bots."
                  }
                },
                "required": [
                  "label",
                  "origin_scheme",
                  "origin_domain"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "my-pullzone",
                    "origin_scheme": "https",
                    "origin_domain": "www.vultr.com",
                    "cors": false,
                    "gzip": true,
                    "block_ai": false,
                    "block_bad_bots": false
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new CDN Pull Zone."
      }
    },
    "/cdns/pull-zones/{pullzone-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "pullzone-id",
          "in": "path",
          "required": true,
          "description": "The [Pull Zone ID](#operation/list-pullzones)."
        }
      ],
      "get": {
        "summary": "Get CDN Pull Zone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pull_zone": {
                      "$ref": "#/components/schemas/pullzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "pull_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pullzone",
                        "origin_scheme": "https",
                        "origin_domain": "constant.com",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "last_purge": "2024-01-25 11:39:04",
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-pullzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a CDN Pull Zones"
      },
      "put": {
        "summary": "Update CDN Pull Zone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pull_zone": {
                      "$ref": "#/components/schemas/pullzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "pull_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pullzone",
                        "origin_scheme": "https",
                        "origin_domain": "constant.com",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "last_purge": "2024-01-25 11:39:04",
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-pullzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "vanity_domain": {
                    "type": "string",
                    "description": "An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created.  This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN."
                  },
                  "ssl_cert": {
                    "type": "string",
                    "description": "Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain.  This field is required if a vanity domain is provided and the origin_scheme is https."
                  },
                  "ssl_cert_key": {
                    "type": "string",
                    "description": "Base 64 encoded file content for the private key associated with the ssl_cert.  This field is required if a vanity domain is provided and the origin_scheme is https."
                  },
                  "cors": {
                    "type": "boolean",
                    "description": "Cross-origin resource sharing."
                  },
                  "gzip": {
                    "type": "boolean",
                    "description": "Optional feature to compress files, reduce the amount of data that's transferred."
                  },
                  "block_ai": {
                    "type": "boolean",
                    "description": "Optional feature to block AI bots."
                  },
                  "block_bad_bots": {
                    "type": "boolean",
                    "description": "Optional feature to block potentially malicious bots."
                  },
                  "regions": {
                    "type": "array",
                    "description": "a list of [Region ids](#operation/list-regions) for locations to be used for content delivery."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "my-pullzone",
                    "cors": false,
                    "gzip": true,
                    "block_ai": false,
                    "block_bad_bots": false,
                    "regions": [
                      "..."
                    ]
                  }
                }
              }
            }
          }
        },
        "description": "Update information for a CDN Pullzone. All attributes are optional. If not set, the attributes will retain their original values."
      },
      "delete": {
        "summary": "Delete CDN Pullzone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}\" \\\n-X DELETE \\\n-H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-pullzone",
        "description": "Delete a CDN Pull Zone.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/cdns/pull-zones/{pullzone-id}/purge": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "pullzone-id",
          "in": "path",
          "required": true,
          "description": "The [Pull Zone ID](#operation/list-pullzones)."
        }
      ],
      "get": {
        "summary": "Purge CDN Pull Zone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}/purge\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "properties": null
                },
                "examples": {
                  "response": {
                    "value": []
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "purge-pullzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Clears cached content on server proxies so that visitors can get the latest page versions.\n\n**Note:** This action may only be performed once every six hours.\n\n**Note:** This action may take a few extra seconds to complete."
      }
    },
    "/cdns/push-zones": {
      "get": {
        "summary": "List CDN Push Zones",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "push_zones": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/pushzone"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "push_zones": [
                        {
                          "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                          "date_created": "2024-01-25 09:41:05",
                          "status": "active",
                          "label": "my-pushzone",
                          "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                          "vanity_domain": "my.domain.com",
                          "cache_size": 50000000,
                          "requests": null,
                          "in_bytes": null,
                          "out_bytes": null,
                          "packets_per_sec": 50,
                          "cors": false,
                          "gzip": true,
                          "block_ai": false,
                          "block_bad_bots": true,
                          "regions": [
                            "..."
                          ]
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-pushzones",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List CDN Push Zones"
      },
      "post": {
        "summary": "Create CDN Push Zones",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "push_zone": {
                      "$ref": "#/components/schemas/pushzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "push_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pushzone",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-pushzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "vanity_domain": {
                    "type": "string",
                    "description": "An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created.  This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN."
                  },
                  "ssl_cert": {
                    "type": "string",
                    "description": "Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain.  This field is required if a vanity domain is provided."
                  },
                  "ssl_cert_key": {
                    "type": "string",
                    "description": "Base 64 encoded file content for the private key associated with the ssl_cert.  This field is required if a vanity domain is provided."
                  },
                  "cors": {
                    "type": "boolean",
                    "description": "Enable Cross-origin resource sharing.  CORS is a content validation mechanism used by web browsers to validate file access permissions. The Vultr CDN CORS policy protects your static assets from hotlinking threats by only accepting requests associated with your Origin URL."
                  },
                  "gzip": {
                    "type": "boolean",
                    "description": "Enable Gzip compression to reduce the static content size to speed up the delivery process."
                  },
                  "block_ai": {
                    "type": "boolean",
                    "description": "Block AI bots."
                  },
                  "block_bad_bots": {
                    "type": "boolean",
                    "description": "Block potentially malicious bots."
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "my-pushzone",
                    "cors": false,
                    "gzip": true,
                    "block_ai": false,
                    "block_bad_bots": false
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new CDN Push Zone."
      }
    },
    "/cdns/push-zones/{pushzone-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "pushzone-id",
          "in": "path",
          "required": true,
          "description": "The [Push Zone ID](#operation/list-pushzones)."
        }
      ],
      "get": {
        "summary": "Get CDN Push Zone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "push_zone": {
                      "$ref": "#/components/schemas/pushzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "push_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pushzone",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-pushzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a CDN Push Zone"
      },
      "put": {
        "summary": "Update CDN Push Zone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "push_zone": {
                      "$ref": "#/components/schemas/pushzone"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "push_zone": {
                        "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
                        "date_created": "2024-01-25 09:41:05",
                        "status": "active",
                        "label": "my-pushzone",
                        "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com",
                        "vanity_domain": "my.domain.com",
                        "cache_size": 50000000,
                        "requests": null,
                        "in_bytes": null,
                        "out_bytes": null,
                        "packets_per_sec": 50,
                        "cors": false,
                        "gzip": true,
                        "block_ai": false,
                        "block_bad_bots": true,
                        "regions": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-pushzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "vanity_domain": {
                    "type": "string",
                    "description": "An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created.  This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN."
                  },
                  "ssl_cert": {
                    "type": "string",
                    "description": "Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain.  This field is required if a vanity domain is provided."
                  },
                  "ssl_cert_key": {
                    "type": "string",
                    "description": "Base 64 encoded file content for the private key associated with the ssl_cert.  This field is required if a vanity domain is provided."
                  },
                  "cors": {
                    "type": "boolean",
                    "description": "Cross-origin resource sharing."
                  },
                  "gzip": {
                    "type": "boolean",
                    "description": "Optional feature to compress files, reduce the amount of data that's transferred."
                  },
                  "block_ai": {
                    "type": "boolean",
                    "description": "Optional feature to block AI bots."
                  },
                  "block_bad_bots": {
                    "type": "boolean",
                    "description": "Optional feature to block potentially malicious bots."
                  },
                  "regions": {
                    "type": "array",
                    "description": "a list of [Region ids](#operation/list-regions) for locations to be used for content delivery."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "my-pushzone",
                    "cors": false,
                    "gzip": true,
                    "block_ai": false,
                    "block_bad_bots": false,
                    "regions": [
                      "..."
                    ]
                  }
                }
              }
            }
          }
        },
        "description": "Update information for a CDN Pushzone. All attributes are optional. If not set, the attributes will retain their original values."
      },
      "delete": {
        "summary": "Delete CDN Pushzone",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}\" \\\n-X DELETE \\\n-H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-pushzone",
        "description": "Delete a CDN Push Zone.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/cdns/push-zones/{pushzone-id}/files": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "pushzone-id",
          "in": "path",
          "required": true,
          "description": "The [Push Zone ID](#operation/list-pushzones)."
        }
      ],
      "get": {
        "summary": "List CDN Push Zone Files",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "files": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/pushzonefilemeta"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "description": "number of files."
                    },
                    "total_size": {
                      "type": "integer",
                      "description": "total size of all files."
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "files": [
                        {
                          "name": "my-file.jpg",
                          "size": 857773,
                          "last_modified": "2024-04-02T14:11:12+00:00\""
                        }
                      ],
                      "count": 10,
                      "total_size": 189238221
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-pushzone-files",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of files that have been uploaded to a specific CDN Push Zones"
      },
      "post": {
        "summary": "Create CDN Push Zone File Upload Endpoint",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upload_endpoint": {
                      "$ref": "#/components/schemas/uploadendpoint"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "upload_endpoint": {
                        "URL": "https://cdn.s3-ewr-000.vultr.dev/v-cdn-agent-assets,",
                        "inputs": {
                          "acl": "public-read,",
                          "key": "cdn-ady5dwsa6mdh.vultrcdn.com/my-file.jpg,",
                          "X-Amz-Credential": "kNCaYoUJZ6szuajKsgN/20240418/us-east-1/s3/aws4_request,",
                          "X-Amz-Algorithm": "AWS4-HMAC-SHA256,",
                          "Policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0wNC0xOFQxMzowNzo0MloiLCJjb25kaXRpb25zIjpbeyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsiYnVja2V0Ijoidi1jZG4tYWdlbnQtYXNzZXRzIn0seyJrZXkiOiJjZG4tYWR5NWR3c2E2bWRoLnZ1bHRyY2RuLmNvbVwvcGF0Y2guanBnIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsODU3NzczLDg1Nzc3M10seyJYLUFtei1EYXRlIjoiMjAyNDA0MThUMTMwMjQyWiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6InlrTkNhWW9VSlo2c3p1YWpLc2dOXC8yMDI0MDQxOFwvdXMtZWFzdC0xXC9zM1wvYXdzNF9yZXF1ZXN0In0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==,",
                          "X-Amz-Signature": "8cc2328bf9bd9531ccae5f8b156e7f578f3ee4414bb60f5eac97bbb62a0f2536,"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-pushzone-upload",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "the name of the file to be uploaded including the file extension. If the uploaded file does not match this name the upload will fail."
                  },
                  "size": {
                    "type": "integer",
                    "description": "the size of the file to be uploaded.  If the uploaded file does not match this size the upload will fail."
                  }
                },
                "required": [
                  "name",
                  "size"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "my-image.jpg",
                    "size": 857773
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a presigned post endpoint that can be used to upload a file to your Push Zone.  After sending this request you must send a second POST request to the returned URL. Include all of the returned inputs as form-data fields using the same key and value.  You must also include a field named \"file\" that holds the file to be uploaded."
      }
    },
    "/cdns/push-zones/{pushzone-id}/files/{file-name}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "pushzone-id",
          "in": "path",
          "required": true,
          "description": "The [Push Zone ID](#operation/list-pushzones)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "file-name",
          "in": "path",
          "required": true,
          "description": "The [File Name](#operation/list-pushzone-files)."
        }
      ],
      "get": {
        "summary": "Get CDN Push Zone File",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files/{file-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "file": {
                      "$ref": "#/components/schemas/pushzonefile"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "file": {
                        "name": "my-image.jpg,",
                        "mime": "image/jpeg,",
                        "size": "patch.jpg,",
                        "content": "/9j/2wBDAAQDAwQDAwQEA...,",
                        "last_modified": "2024-04-18T13:07:15+00:00,"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-pushzone",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a CDN Push Zone file"
      },
      "delete": {
        "summary": "Delete CDN Pushzone File",
        "tags": [
          "CDNs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files/{file-name}\" \\\n-X DELETE \\\n-H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-pushzone-file",
        "description": "Delete a CDN Push Zone file.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/private-networks/{network-id}": {
      "get": {
        "summary": "Get a private network",
        "tags": [
          "private Networks"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/private-networks/{network-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "network": {
                      "$ref": "#/components/schemas/network"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "network": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example Network Description",
                        "v4_subnet": "10.99.0.0",
                        "v4_subnet_mask": 24
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-network",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a Private Network.<br><br>**Deprecated**: Use [Get a VPC](#operation/get-vpc) instead. ",
        "deprecated": true
      },
      "delete": {
        "summary": "Delete a private network",
        "tags": [
          "private Networks"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/private-networks/{network-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-network",
        "description": "Delete a Private Network.<br><br>**Deprecated**: Use [Delete a VPC](#operation/delete-vpc) instead.",
        "security": [
          {
            "API Key": []
          }
        ],
        "deprecated": true
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "network-id",
          "in": "path",
          "required": true,
          "description": "The [Network id](#operation/list-networks)."
        }
      ],
      "put": {
        "summary": "Update a Private Network",
        "operationId": "update-network",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update information for a Private Network.<br><br>**Deprecated**: Use [Update a VPC](#operation/update-vpc) instead.",
        "tags": [
          "private Networks"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/private-networks/{network-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\" : \"Example Private Network\"\n  }'"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "The Private Network description."
                  }
                },
                "required": [
                  "description"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Example Private Network"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "deprecated": true
      }
    },
    "/private-networks": {
      "get": {
        "summary": "List Private Networks",
        "tags": [
          "private Networks"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/private-networks\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "networks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/network"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "networks": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "region": "ewr",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "description": "Example Network Description",
                          "v4_subnet": "10.99.0.0",
                          "v4_subnet_mask": 24
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-networks",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of all Private Networks in your account.<br><br>**Deprecated**: Use [List VPCs](#operation/list-vpcs) instead.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "deprecated": true
      },
      "post": {
        "summary": "Create a Private Network",
        "tags": [
          "private Networks"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/private-networks\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"description\" : \"Example Private Network\",\n    \"v4_subnet\" : \"10.99.0.0\",\n    \"v4_subnet_mask\" : 24\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "network": {
                      "$ref": "#/components/schemas/network"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "network": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example Private Network",
                        "v4_subnet": "10.99.0.0",
                        "v4_subnet_mask": 24
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-network",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Create a new Private Network in a `region`.\n\n**Deprecated**: Use [Create a VPC](#operation/create-vpc) instead.\n\n    Private networks should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918):\n\n    10.0.0.0    - 10.255.255.255  (10/8 prefix)\n    172.16.0.0  - 172.31.255.255  (172.16/12 prefix)\n    192.168.0.0 - 192.168.255.255 (192.168/16 prefix)\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "Create the Private Network in this [Region id](#operation/list-regions)."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the private network."
                  },
                  "v4_subnet": {
                    "type": "string",
                    "description": "The IPv4 network address. For example: 10.99.0.0"
                  },
                  "v4_subnet_mask": {
                    "type": "integer",
                    "description": "The number of bits for the netmask in CIDR notation. Example: 24"
                  }
                },
                "required": [
                  "region"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "region": "ewr",
                    "description": "Example Private Network",
                    "v4_subnet": "10.99.0.0",
                    "v4_subnet_mask": 24
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "deprecated": true
      }
    },
    "/vpcs/{vpc-id}": {
      "get": {
        "summary": "Get a VPC",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpcs/{vpc-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpc": {
                      "$ref": "#/components/schemas/vpc"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpc": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example VPC Description",
                        "v4_subnet": "10.99.0.0",
                        "v4_subnet_mask": 24,
                        "nodes": [
                          {
                            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                            "type": "Instance",
                            "subnet": "10.1.96.3"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-vpc",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a VPC.",
        "tags": [
          "VPCs"
        ]
      },
      "delete": {
        "summary": "Delete a VPC",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpcs/{vpc-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-vpc",
        "description": "Delete a VPC.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "VPCs"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vpc-id",
          "in": "path",
          "required": true,
          "description": "The [VPC ID](#operation/list-vpcs)."
        }
      ],
      "put": {
        "summary": "Update a VPC",
        "operationId": "update-vpc",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update information for a VPC.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpcs/{vpc-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\" : \"Example VPC\"\n  }'"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "The VPC description."
                  }
                },
                "required": [
                  "description"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Example VPC"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "VPCs"
        ]
      }
    },
    "/vpcs": {
      "get": {
        "summary": "List VPCs",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpcs\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vpc"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "region": "ewr",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "description": "Example VPC Description",
                          "v4_subnet": "10.99.0.0",
                          "v4_subnet_mask": 24,
                          "nodes": [
                            {
                              "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                              "type": "Instance",
                              "subnet": "10.1.96.3"
                            }
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-vpcs",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of all VPCs in your account.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "tags": [
          "VPCs"
        ]
      },
      "post": {
        "summary": "Create a VPC",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpcs\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"description\" : \"Example VPC\",\n    \"v4_subnet\" : \"10.99.0.0\",\n    \"v4_subnet_mask\" : 24\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpc": {
                      "$ref": "#/components/schemas/vpc"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "network": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example VPC",
                        "v4_subnet": "10.99.0.0",
                        "v4_subnet_mask": 24
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-vpc",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Create a new VPC in a `region`. VPCs should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918):\n\n    10.0.0.0    - 10.255.255.255  (10/8 prefix)\n    172.16.0.0  - 172.31.255.255  (172.16/12 prefix)\n    192.168.0.0 - 192.168.255.255 (192.168/16 prefix)\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "Create the VPC in this [Region id](#operation/list-regions)."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the VPC."
                  },
                  "v4_subnet": {
                    "type": "string",
                    "description": "The IPv4 VPC address. For example: 10.99.0.0<br><span style=\"color: red\">If v4_subnet_mask is specified then v4_subnet is a required field.</span>"
                  },
                  "v4_subnet_mask": {
                    "type": "integer",
                    "description": "The number of bits for the netmask in CIDR notation. Example: 24<br><span style=\"color: red\">If v4_subnet is specified then v4_subnet_mask is a required field.</span>"
                  }
                },
                "required": [
                  "region"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "region": "ewr",
                    "description": "Example VPC",
                    "v4_subnet": "10.99.0.0",
                    "v4_subnet_mask": 24
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "VPCs"
        ]
      },
      "parameters": []
    },
    "/vpc2/{vpc-id}": {
      "get": {
        "summary": "Get a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpc": {
                      "$ref": "#/components/schemas/vpc2"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpc": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example VPC Description",
                        "ip_block": "10.99.0.0",
                        "prefix_length": 24
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-vpc2",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information about a VPC 2.0 network.<br><br>**Deprecated**: Migrate to VPC Networks and use [Get a VPC](#operation/get-vpc) instead.",
        "deprecated": true,
        "tags": [
          "VPC2"
        ]
      },
      "delete": {
        "summary": "Delete a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-vpc2",
        "description": "Delete a VPC 2.0 network.<br><br>**Deprecated**: Migrate to VPC Networks and use [Delete a VPC](#operation/delete-vpc) instead.",
        "deprecated": true,
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "VPC2"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vpc-id",
          "in": "path",
          "required": true,
          "description": "The [VPC ID](#operation/list-vpcs)."
        }
      ],
      "put": {
        "summary": "Update a VPC 2.0 network",
        "operationId": "update-vpc2",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update information for a VPC 2.0 network.<br><br>**Deprecated**: Migrate to VPC Networks and use [Update a VPC](#operation/update-vpc) instead.",
        "deprecated": true,
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\" : \"Example VPC\"\n  }'"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "The VPC description. </br> Must be no longer than 255 characters and may include only letters, numbers, spaces, underscores and hyphens."
                  }
                },
                "required": [
                  "description"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Example VPC"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "VPC2"
        ]
      }
    },
    "/vpc2": {
      "get": {
        "summary": "List VPC 2.0 networks",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vpc2"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "region": "ewr",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "description": "Example VPC Description",
                          "ip_block": "10.99.0.0",
                          "prefix_length": 24
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-vpc2",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of all VPC 2.0 networks in your account.<br><br>**Deprecated**: Migrate to VPC Networks and use [List VPCs](#operation/list-vpcs) instead.",
        "deprecated": true,
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "tags": [
          "VPC2"
        ]
      },
      "post": {
        "summary": "Create a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"description\" : \"Example VPC\",\n    \"ip_block\" : \"10.99.0.0\",\n    \"prefix_length\" : 24\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpc": {
                      "$ref": "#/components/schemas/vpc2"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpc": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "description": "Example VPC",
                        "ip_block": "10.99.0.0",
                        "prefix_length": 24
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-vpc2",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Create a new VPC 2.0 network in a `region`.\n\n**Deprecated**: Migrate to VPC Networks and use [Create a VPC](#operation/create-vpc) instead.\n\nVPCs should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918):\n\n    10.0.0.0    - 10.255.255.255  (10/8 prefix)\n    172.16.0.0  - 172.31.255.255  (172.16/12 prefix)\n    192.168.0.0 - 192.168.255.255 (192.168/16 prefix)\n",
        "deprecated": true,
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "Create the VPC in this [Region id](#operation/list-regions)."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the VPC. </br> Must be no longer than 255 characters and may include only letters, numbers, spaces, underscores and hyphens."
                  },
                  "ip_type": {
                    "type": "string",
                    "description": "Accepted values:\n* `v4`",
                    "enum": [
                      "v4"
                    ]
                  },
                  "ip_block": {
                    "type": "string",
                    "description": "The VPC subnet IP address. For example: 10.99.0.0<br><span style=\"color: red\">If a prefix_length is specified then ip_block is a required field.</span>"
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "The number of bits for the netmask in CIDR notation. Example: 24<br><span style=\"color: red\">If an ip_block is specified then prefix_length is a required field.</span>"
                  }
                },
                "required": [
                  "region"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "region": "ewr",
                    "description": "Example VPC",
                    "ip_block": "10.99.0.0",
                    "prefix_length": 24
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "VPC2"
        ]
      },
      "parameters": []
    },
    "/vpc2/{vpc-id}/nodes": {
      "get": {
        "summary": "Get a list of nodes attached to a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}/nodes\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "nodes": {
                      "$ref": "#/components/schemas/vpc2nodes"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "nodes": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "ip_address": "10.1.96.3",
                          "mac_address": "98964710968448",
                          "description": "Example-Description",
                          "type": "vps",
                          "node_status": "active"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-vpc2-nodes",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of nodes attached to a VPC 2.0 network.<br><br>**Deprecated**: Use [VPCs](#tag/VPCs) instead.",
        "deprecated": true,
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "tags": [
          "VPC2"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vpc-id",
          "in": "path",
          "required": true,
          "description": "The [VPC ID](#operation/list-vpcs)."
        }
      ]
    },
    "/vpc2/{vpc-id}/nodes/attach": {
      "post": {
        "summary": "Attach nodes to a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}/nodes/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "202": {
            "description": "accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-vpc2-nodes",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nodes": {
                    "type": "array",
                    "description": "An array of ID strings for [instances](#operation/list-instances) and [Bare Metal servers](#operation/list-baremetals) to attach as nodes to the VPC 2.0 network. A limit of 1000 nodes can be processed in a request"
                  }
                },
                "required": [
                  "nodes"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "nodes": [
                      "a4021db4-c1d0-43ba-8b5c-7a4a35444167",
                      "12a43ca5-0025-40ef-9edb-3a475809a8c0"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Attach nodes to a VPC 2.0 network.<br><br>**Deprecated**: Use [VPCs](#tag/VPCs) instead.",
        "deprecated": true,
        "tags": [
          "VPC2"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vpc-id",
          "in": "path",
          "required": true,
          "description": "The [VPC ID](#operation/list-vpcs)."
        }
      ]
    },
    "/vpc2/{vpc-id}/nodes/detach": {
      "post": {
        "summary": "Remove nodes from a VPC 2.0 network",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/vpc2/{vpc-id}/nodes/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "202": {
            "description": "accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-vpc2-nodes",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nodes": {
                    "type": "array",
                    "description": "An array of ID strings for [nodes](#operation/list-vpc2-nodes) to detach from the VPC 2.0 network. A limit of 1000 nodes can be processed in a request"
                  }
                },
                "required": [
                  "nodes"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "nodes": [
                      "a4021db4-c1d0-43ba-8b5c-7a4a35444167",
                      "12a43ca5-0025-40ef-9edb-3a475809a8c0"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Remove nodes from a VPC 2.0 network.<br><br>**Deprecated**: Use [VPCs](#tag/VPCs) instead.",
        "deprecated": true,
        "tags": [
          "VPC2"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vpc-id",
          "in": "path",
          "required": true,
          "description": "The [VPC ID](#operation/list-vpcs)."
        }
      ]
    },
    "/users/{user-id}": {
      "get": {
        "summary": "Get User",
        "tags": [
          "users"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/user"
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "name": "Example User",
                        "first_name": "Example",
                        "last_name": "User",
                        "email": "user@example.com",
                        "api_enabled": true,
                        "service_user": true,
                        "acls": [
                          "manage_users",
                          "subscriptions_view",
                          "subscriptions",
                          "provisioning",
                          "billing",
                          "support",
                          "abuse",
                          "dns",
                          "upgrade",
                          "objstore",
                          "loadbalancer"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-user",
        "description": "Get information about a User.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "user-id",
          "in": "path",
          "required": true,
          "description": "The [User id](#operation/list-users)."
        }
      ],
      "delete": {
        "summary": "Delete User",
        "operationId": "delete-user",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Delete a User.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ]
      }
    },
    "/users/{user-id}/ip-whitelist/entry": {
      "get": {
        "summary": "Get User IP Whitelist Entry",
        "operationId": "get-user-ip-whitelist-entry",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/ip-whitelist/entry?subnet=8.8.8.0&subnet_size=24\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ip_whitelist_entry": {
                      "$ref": "#/components/schemas/ip-whitelist-entry"
                    }
                  }
                },
                "examples": {
                  "ip_whitelist_entry": {
                    "value": {
                      "ip_whitelist_entry": {
                        "subnet": "8.8.8.0",
                        "subnet_size": 24,
                        "date_added": "2024-01-01T00:00:00Z",
                        "ip_type": "v4"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "description": "Get a specific IP whitelist entry for a User. Only root users or users with manage users permission can access this endpoint.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "name": "subnet",
            "in": "query",
            "required": true,
            "description": "The IP address or subnet."
          },
          {
            "schema": {
              "type": "integer"
            },
            "name": "subnet_size",
            "in": "query",
            "required": true,
            "description": "The subnet size."
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "user-id",
          "in": "path",
          "required": true,
          "description": "The [User id](#operation/list-users)."
        }
      ]
    },
    "/users/{user-id}/ip-whitelist": {
      "get": {
        "summary": "List User IP Whitelist",
        "operationId": "list-user-ip-whitelist",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/ip-whitelist\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ip_whitelist": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ip-whitelist-entry"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "ip_whitelist": {
                    "value": {
                      "ip_whitelist": [
                        {
                          "subnet": "8.8.8.0",
                          "subnet_size": 24,
                          "date_added": "2024-01-01T00:00:00Z",
                          "ip_type": "v4"
                        }
                      ],
                      "meta": {
                        "total": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "description": "Get the IP whitelist for a User. Only root users or users with manage users permission can access this endpoint.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "user-id",
          "in": "path",
          "required": true,
          "description": "The [User id](#operation/list-users)."
        }
      ],
      "post": {
        "summary": "Add IP to User Whitelist",
        "operationId": "add-user-ip-whitelist",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/ip-whitelist\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"subnet\" : \"8.8.8.0\",\n    \"subnet_size\" : 24\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "description": "Add an IP address or subnet to a User's whitelist. Only root users or users with manage users permission can access this endpoint.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet": {
                    "type": "string",
                    "description": "The IP address or subnet to whitelist."
                  },
                  "subnet_size": {
                    "type": "integer",
                    "description": "The subnet size. For IPv4: 0 (allow all) or 8-32. For IPv6: 0 (allow all) or 20-128."
                  }
                },
                "required": [
                  "subnet",
                  "subnet_size"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "subnet": "8.8.8.0",
                    "subnet_size": 24
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove IP from User Whitelist",
        "operationId": "remove-user-ip-whitelist",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/ip-whitelist\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"subnet\" : \"8.8.8.0\",\n    \"subnet_size\" : 24\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "description": "Remove an IP address or subnet from a User's whitelist. Only root users or users with manage users permission can access this endpoint.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet": {
                    "type": "string",
                    "description": "The IP address or subnet to remove."
                  },
                  "subnet_size": {
                    "type": "integer",
                    "description": "The subnet size."
                  }
                },
                "required": [
                  "subnet",
                  "subnet_size"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "subnet": "8.8.8.0",
                    "subnet_size": 24
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update User",
        "operationId": "update-user",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"api_enabled\" : true,\n    \"acls\" : [\n      \"manage_users\",\n      \"subscriptions_view\",\n      \"subscriptions\",\n      \"provisioning\",\n      \"billing\",\n      \"support\",\n      \"abuse\",\n      \"dns\",\n      \"upgrade\",\n      \"objstore\",\n      \"loadbalancer\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The User's email address."
                  },
                  "name": {
                    "type": "string",
                    "description": "No longer supported as of 07/2025.",
                    "deprecated": true
                  },
                  "first_name": {
                    "type": "string",
                    "description": "No longer supported as of 07/2025.",
                    "deprecated": true
                  },
                  "last_name": {
                    "type": "string",
                    "description": "No longer supported as of 07/2025.",
                    "deprecated": true
                  },
                  "password": {
                    "type": "string",
                    "description": "No longer supported as of 07/2025.",
                    "deprecated": true
                  },
                  "api_enabled": {
                    "type": "boolean",
                    "description": "API access is permitted for this User.\n\n* true (default)\n* false"
                  },
                  "acls": {
                    "type": "array",
                    "description": "An array of permission granted. Valid values:\n\n* abuse\n* activity_logs\n* alerts\n* billing\n* dns\n* firewall\n* loadbalancer\n* manage\\_users\n* objstore\n* provisioning\n* subscriptions\n* subscriptions\\_view\n* support\n* upgrade",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "api_enabled": true,
                    "acls": [
                      "manage_users",
                      "subscriptions_view",
                      "subscriptions",
                      "provisioning",
                      "billing",
                      "support",
                      "abuse",
                      "dns",
                      "upgrade",
                      "objstore",
                      "loadbalancer"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Update information for a User. All attributes are optional. If not set, the attributes will retain their original values.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ]
      }
    },
    "/users/{user-id}/apikeys": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "user-id",
          "in": "path",
          "required": true,
          "description": "The [User id](#operation/list-users)."
        }
      ],
      "get": {
        "summary": "List User API Keys",
        "tags": [
          "users"
        ],
        "operationId": "list-user-api-keys",
        "description": "Gets all API keys for the target user. API keys returned by this method are masked. Only root users or users with manage users permission can access this endpoint.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/apikeys\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "api_keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/apikey"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "api_keys": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "api_key": "*******************************00000",
                          "name": "Default",
                          "expire": true,
                          "date_expire": "2030-01-01T00:00:00Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create User API Key",
        "operationId": "create-user-api-key",
        "description": "Adds an API key to the target user's API key list. Only root users or users with manage users permission can access this endpoint.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/apikeys\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Production\",\n    \"expire\" : true,\n    \"date_expire\" : \"2030-01-01T00:00:00Z\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Custom name of the API key."
                  },
                  "expire": {
                    "type": "boolean",
                    "description": "Will the API key expire?"
                  },
                  "date_expire": {
                    "type": "string",
                    "description": "Date when the API key expires. Only valid when `expire` is `true`."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Production",
                    "expire": true,
                    "date_expire": "2030-01-01T00:00:00Z"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{user-id}/apikeys/{apikey-id}": {
      "get": {
        "summary": "Get User API Key",
        "operationId": "get-user-api-key",
        "description": "Gets information about a user's API key. API keys returned by this method are masked. Only root users or users with manage users permission can access this endpoint.",
        "tags": [
          "users"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/apikeys/{apikey-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "api_key": {
                      "$ref": "#/components/schemas/apikey"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "api_key": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "api_key": "*******************************00000",
                        "name": "Default",
                        "expire": true,
                        "date_expire": "2030-01-01T00:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete User API Key",
        "tags": [
          "users"
        ],
        "operationId": "delete-user-api-key",
        "description": "Delete an API key from the target user's API key list. Only root users or users with manage users permission can access this endpoint.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users/{user-id}/apikeys/{apikey-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "user-id",
          "in": "path",
          "required": true,
          "description": "The [User id](#operation/list-users)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "apikey-id",
          "in": "path",
          "required": true,
          "description": "The [API key id](#operation/list-user-api-keys)."
        }
      ]
    },
    "/users": {
      "get": {
        "summary": "Get Users",
        "tags": [
          "users"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "users": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/user"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "users": {
                    "value": {
                      "users": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "name": "Example User",
                          "first_name": "Example",
                          "last_name": "User",
                          "email": "user@example.com",
                          "api_enabled": true,
                          "service_user": false,
                          "acls": [
                            "manage_users",
                            "subscriptions_view",
                            "subscriptions",
                            "provisioning",
                            "billing",
                            "support",
                            "abuse",
                            "dns",
                            "upgrade",
                            "objstore",
                            "loadbalancer"
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-users",
        "description": "Get a list of all Users in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "number"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create User",
        "operationId": "create-user",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/users\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"email\" : \"user@example.com\",\n    \"first_name\" : \"Example\",\n    \"last_name\" : \"User\",\n    \"password\" : \"example-password\",\n    \"api_enabled\" : true,\n    \"acls\" : [\n      \"manage_users\",\n      \"subscriptions_view\",\n      \"subscriptions\",\n      \"provisioning\",\n      \"billing\",\n      \"support\",\n      \"abuse\",\n      \"dns\",\n      \"upgrade\",\n      \"objstore\",\n      \"loadbalancer\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/user"
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "name": "Example User",
                        "first_name": "Example",
                        "last_name": "User",
                        "email": "user@example.com",
                        "api_enabled": true,
                        "service_user": false,
                        "acls": [
                          "manage_users",
                          "subscriptions_view",
                          "subscriptions",
                          "provisioning",
                          "billing",
                          "support",
                          "abuse",
                          "dns",
                          "upgrade",
                          "objstore",
                          "loadbalancer"
                        ]
                      }
                    }
                  },
                  "service_user": {
                    "value": {
                      "user": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "name": "Service User",
                        "first_name": "Service",
                        "last_name": "User",
                        "email": "service@example.com",
                        "api_enabled": true,
                        "service_user": true,
                        "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH",
                        "acls": [
                          "subscriptions_view",
                          "subscriptions",
                          "provisioning"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "description": "Create a new User. The `email`, `first_name`, `last_name`, and `password` attributes are required.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The User's email address."
                  },
                  "name": {
                    "type": "string",
                    "description": "Use `first_name`, `last_name` instead. The User's full name.",
                    "deprecated": true
                  },
                  "first_name": {
                    "type": "string",
                    "description": "The User's first name."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "The User's last name."
                  },
                  "password": {
                    "type": "string",
                    "description": "The User's password."
                  },
                  "api_enabled": {
                    "type": "boolean",
                    "description": "API access is permitted for this User.\n\n* true (default)\n* false"
                  },
                  "acls": {
                    "type": "array",
                    "description": "An array of permissions granted.\n\n* abuse\n* activity_logs\n* alerts\n* billing\n* dns\n* firewall\n* loadbalancer\n* manage\\_users\n* objstore\n* provisioning\n* subscriptions\n* subscriptions\\_view\n* support\n* upgrade",
                    "items": {
                      "type": "string"
                    }
                  },
                  "service_user": {
                    "type": "boolean",
                    "description": "Create this user as a service user (API-only access, no portal login).\nService users will receive their API key upon creation.\n\n* true\n* false (default)"
                  }
                },
                "required": [
                  "email",
                  "first_name",
                  "last_name",
                  "password"
                ]
              },
              "examples": {
                "request example": {
                  "value": {
                    "first_name": "Example",
                    "last_name": "User",
                    "email": "user@example.com",
                    "password": "sh#sedHA_FTdz6w+",
                    "api_enabled": true,
                    "acls": [
                      "manage_users",
                      "subscriptions_view",
                      "subscriptions",
                      "provisioning",
                      "billing",
                      "support",
                      "abuse"
                    ]
                  }
                },
                "service user example": {
                  "value": {
                    "first_name": "Service",
                    "last_name": "User",
                    "email": "service@example.com",
                    "password": "serviceUserPa$$w0rd",
                    "api_enabled": true,
                    "service_user": true,
                    "acls": [
                      "subscriptions_view",
                      "subscriptions",
                      "provisioning",
                      "dns",
                      "upgrade",
                      "objstore",
                      "loadbalancer"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "users"
        ]
      }
    },
    "/startup-scripts/{startup-id}": {
      "get": {
        "summary": "Get Startup Script",
        "tags": [
          "startup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/startup-scripts/{startup-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "startup_script": {
                      "$ref": "#/components/schemas/startup"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "startup_script": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "date_modified": "2020-10-10T01:59:20+00:00",
                        "name": "Example Startup Script",
                        "type": "pxe",
                        "script": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-startup-script",
        "description": "Get information for a Startup Script.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Startup Script",
        "tags": [
          "startup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/startup-scripts/{startup-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-startup-script",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Delete a Startup Script."
      },
      "patch": {
        "summary": "Update Startup Script",
        "tags": [
          "startup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/startup-scripts/{startup-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Example Startup Script\",\n    \"script\" : \"QmFzZTY0IEV4YW1wbGUgRGF0YQ==\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-startup-script",
        "description": "Update a Startup Script. The attributes `name` and `script` are optional. If not set, the attributes will retain their original values. The `script` attribute is base-64 encoded. New deployments will use the updated script, but this action does not update previously deployed instances.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the Startup Script."
                  },
                  "script": {
                    "type": "string",
                    "description": "The base-64 encoded Startup Script."
                  },
                  "type": {
                    "type": "string",
                    "description": "The Startup Script type.\n\nboot (default)\npxe"
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Example Startup Script",
                    "script": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "startup-id",
          "in": "path",
          "required": true,
          "description": "The [Startup Script id](#operation/list-startup-scripts)."
        }
      ]
    },
    "/startup-scripts": {
      "get": {
        "summary": "List Startup Scripts",
        "tags": [
          "startup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/startup-scripts\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "startup_scripts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/startup"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "startup_scripts": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "date_modified": "2020-10-10T01:59:20+00:00",
                          "name": "Example Startup Script",
                          "type": "pxe"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-startup-scripts",
        "description": "Get a list of all Startup Scripts.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Startup Script",
        "tags": [
          "startup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/startup-scripts\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Example Startup Script\",\n    \"type\" : \"pxe\",\n    \"script\" : \"QmFzZTY0IEV4YW1wbGUgRGF0YQ==\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "startup_script": {
                      "$ref": "#/components/schemas/startup"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "startup_script": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "date_modified": "2020-10-10T01:56:20+00:00",
                        "name": "Example Startup Script",
                        "type": "pxe",
                        "script": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-startup-script",
        "description": "Create a new Startup Script. The `name` and `script` attributes are required, and scripts are base-64 encoded.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the Startup Script."
                  },
                  "type": {
                    "type": "string",
                    "description": "The Startup Script type.\n\n* boot (default)\n* pxe"
                  },
                  "script": {
                    "type": "string",
                    "description": "The base-64 encoded Startup Script."
                  }
                },
                "required": [
                  "name",
                  "script"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Example Startup Script",
                    "type": "pxe",
                    "script": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/ssh-keys/{ssh-key-id}": {
      "get": {
        "summary": "Get SSH Key",
        "tags": [
          "ssh"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/ssh-keys/{ssh-key-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ssh_key": {
                      "$ref": "#/components/schemas/ssh"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "ssh_key": {
                        "id": "3b8066a7-b438-455a-9688-44afc9a3597f",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "name": "Example SSH Key",
                        "ssh_key": "ssh-rsa AA... user@example.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-ssh-key",
        "description": "Get information about an SSH Key.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update SSH Key",
        "tags": [
          "ssh"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/ssh-keys/{ssh-key-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Example SSH Key\",\n    \"ssh_key\" : \"ssh-rsa AA... user@example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-ssh-key",
        "description": "Update an SSH Key. The attributes `name` and `ssh_key` are optional. If not set, the attributes will retain their original values. New deployments will use the updated key, but this action does not update previously deployed instances.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The user-supplied name for this SSH Key."
                  },
                  "ssh_key": {
                    "type": "string",
                    "description": "The SSH Key."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Example SSH Key",
                    "ssh_key": "ssh-rsa AA... user@example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete SSH Key",
        "tags": [
          "ssh"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/ssh-keys/{ssh-key-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-ssh-key",
        "description": "Delete an SSH Key.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "ssh-key-id",
          "in": "path",
          "required": true,
          "description": "The [SSH Key id](#operation/list-ssh-keys)."
        }
      ]
    },
    "/ssh-keys": {
      "get": {
        "summary": "List SSH Keys",
        "tags": [
          "ssh"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/ssh-keys\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ssh_keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ssh"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "ssh_keys": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "name": "Example SSH Key",
                          "ssh_key": "ssh-rsa AA... user@example.com"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-ssh-keys",
        "description": "List all SSH Keys in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create SSH key",
        "tags": [
          "ssh"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/ssh-keys\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Example SSH Key\",\n    \"ssh_key\" : \"ssh-rsa AA... user@example.com\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ssh_key": {
                      "$ref": "#/components/schemas/ssh"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "ssh_key": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "name": "Example SSH Key",
                        "ssh_key": "ssh-rsa AA... user@example.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "create-ssh-key",
        "description": "Create a new SSH Key for use with future instances. This does not update any running instances.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The user-supplied name for this SSH Key."
                  },
                  "ssh_key": {
                    "type": "string",
                    "description": "The SSH Key."
                  }
                },
                "required": [
                  "name",
                  "ssh_key"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Example SSH Key",
                    "ssh_key": "ssh-rsa AA... user@example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/snapshots/{snapshot-id}": {
      "delete": {
        "summary": "Delete Snapshot",
        "tags": [
          "snapshot"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots/{snapshot-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-snapshot",
        "description": "Delete a Snapshot.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "snapshot-id",
          "in": "path",
          "required": true,
          "description": "The [Snapshot id](#operation/list-snapshots)."
        }
      ],
      "get": {
        "summary": "Get Snapshot",
        "tags": [
          "snapshot"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots/{snapshot-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot": {
                      "$ref": "#/components/schemas/snapshot"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "snapshot": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "description": "Example Snapshot",
                        "size": 42949672960,
                        "compressed_size": 949678560,
                        "status": "complete",
                        "os_id": 215,
                        "app_id": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-snapshot",
        "description": "Get information about a Snapshot.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Snapshot",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots/{snapshot-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\": \"Example Snapshot\"\n  }'"
          }
        ],
        "operationId": "put-snapshots-snapshot-id",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update the description for a Snapshot.",
        "tags": [
          "snapshot"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "The user-supplied description for the Snapshot."
                  }
                },
                "required": [
                  "description"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Example Snapshot"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/snapshots": {
      "get": {
        "summary": "List Snapshots",
        "tags": [
          "snapshot"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshots": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/snapshot"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "snapshots": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "description": "Example Snapshot",
                          "size": 42949672960,
                          "compressed_size": 949678560,
                          "status": "complete",
                          "os_id": 215,
                          "app_id": 0
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-snapshots",
        "description": "Get information about all Snapshots in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "description",
            "description": "Filter the list of Snapshots by `description`"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Snapshot",
        "tags": [
          "snapshot"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_id\" : \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n    \"description\" : \"Example Snapshot\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot": {
                      "$ref": "#/components/schemas/snapshot"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "snapshot": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "description": "Example Snapshot",
                        "size": 0,
                        "compressed_size": 0,
                        "status": "pending",
                        "os_id": 215,
                        "app_id": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "create-snapshot",
        "description": "Create a new Snapshot for `instance_id`.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_id": {
                    "type": "string",
                    "description": "Create a Snapshot for this [Instance id](#operation/list-instances)."
                  },
                  "description": {
                    "type": "string",
                    "description": "The user-supplied description of the Snapshot."
                  }
                },
                "required": [
                  "instance_id"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                    "description": "Example Snapshot"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/snapshots/create-from-url": {
      "post": {
        "summary": "Create Snapshot from URL",
        "tags": [
          "snapshot"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/snapshots/create-from-url\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"url\" : \"https://example.com/disk_image.raw\",\n    \"description\" : \"Example Snapshot\",\n    \"uefi\": false\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot": {
                      "$ref": "#/components/schemas/snapshot"
                    }
                  }
                },
                "examples": {
                  "snapshot": {
                    "value": {
                      "snapshot": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "description": "Example Snapshot",
                        "size": 0,
                        "compressed_size": 0,
                        "status": "pending",
                        "os_id": 215,
                        "app_id": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-snapshot-create-from-url",
        "description": "Create a new Snapshot from a RAW image located at `url`.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The public URL containing a RAW image."
                  },
                  "description": {
                    "type": "string",
                    "description": "The user-supplied description of the Snapshot."
                  },
                  "uefi": {
                    "type": "boolean",
                    "description": "Whether or not the snapshot uses UEFI."
                  }
                },
                "required": [
                  "url"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "url": "http://example.com/disk_image.raw",
                    "description": "Example Snapshot",
                    "uefi": false
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/subaccounts": {
      "get": {
        "summary": "List Sub-Accounts",
        "tags": [
          "subaccount"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/subaccounts\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subaccounts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/subaccount"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "subaccounts": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "email": "subaccount@vultr.com",
                          "subaccount_name": "Acme Widgets LLC",
                          "subaccount_id": 472924,
                          "activated": false,
                          "balance": 0,
                          "pending_charges": 0
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-subaccounts",
        "description": "Get information about all sub-accounts for your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Sub-Account",
        "tags": [
          "subaccount"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/subaccounts\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"email\" : \"subaccount@vultr.com\",\n    \"subaccount_name\" : \"Acme Widgets LLC\"\n    \"subaccount_id\" : \"472924\"\n\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subaccount": {
                      "$ref": "#/components/schemas/subaccount"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "subaccount": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "email": "subaccount@vultr.com",
                        "subaccount_name": "Acme Widgets LLC",
                        "subaccount_id": 472924,
                        "activated": false,
                        "balance": 0,
                        "pending_charges": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "create-subaccount",
        "description": "Create a new subaccount.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "Create a new sub-account with this email address."
                  },
                  "subaccount_name": {
                    "type": "string",
                    "description": "Your name for this sub-account."
                  },
                  "subaccount_id": {
                    "type": "string",
                    "description": "Your ID for this sub-account."
                  }
                },
                "required": [
                  "email"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "email": "subaccount@vultr.com",
                    "subaccount_name": "Acme Widgets LLC",
                    "subaccount_id": 472924
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/reserved-ips/{reserved-ip}": {
      "get": {
        "summary": "Get Reserved IP",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/{reserved-ip}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserved_ip": {
                      "$ref": "#/components/schemas/reserved-ip"
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "reserved_ip": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "region": "ewr",
                        "ip_type": "v4",
                        "subnet": "192.0.2.123",
                        "subnet_size": 32,
                        "label": "Example Reserved IPv4",
                        "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-reserved-ip",
        "description": "Get information about a Reserved IP.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "reserved-ip",
          "in": "path",
          "required": true,
          "description": "The [Reserved IP id](#operation/list-reserved-ips)."
        }
      ],
      "delete": {
        "summary": "Delete Reserved IP",
        "operationId": "delete-reserved-ip",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "description": "Delete a Reserved IP.",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/{reserved-ip}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Reserved IP",
        "operationId": "patch-reserved-ips-reserved-ip",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserved_ip": {
                      "$ref": "#/components/schemas/reserved-ip"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update information on a Reserved IP.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "Example Label"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/{reserved-ip}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Example Label\"\n  }'"
          }
        ],
        "tags": [
          "reserved-ip"
        ]
      }
    },
    "/reserved-ips": {
      "get": {
        "summary": "List Reserved IPs",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserved_ips": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/reserved-ip"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "reserved_ips": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "region": "ewr",
                          "ip_type": "v4",
                          "subnet": "192.0.2.123",
                          "subnet_size": 32,
                          "label": "Example Reserved IPv4",
                          "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                        },
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "region": "ewr",
                          "ip_type": "v6",
                          "subnet": "2001:0db8:5:5157::",
                          "subnet_size": 64,
                          "label": "Example Reserved IPv6",
                          "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                        }
                      ],
                      "meta": {
                        "total": 2,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-reserved-ips",
        "description": "List all Reserved IPs in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Reserved IP",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"ip_type\" : \"v4\",\n    \"label\" : \"Example Reserved IPv4\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserved_ip": {
                      "$ref": "#/components/schemas/reserved-ip"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "reserved_ip": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "region": "ewr",
                        "ip_type": "v4",
                        "subnet": "192.0.2.123",
                        "subnet_size": 32,
                        "label": "Example Reserved IPv4",
                        "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-reserved-ip",
        "description": "Create a new Reserved IP. The `region` and `ip_type` attributes are required.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Reserved IP will be created."
                  },
                  "ip_type": {
                    "type": "string",
                    "description": "The type of IP address.\n\n* v4\n* v6"
                  },
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  }
                },
                "required": [
                  "region",
                  "ip_type"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ewr",
                    "ip_type": "v4",
                    "label": "Example Reserved IPv4"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/reserved-ips/{reserved-ip}/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "reserved-ip",
          "in": "path",
          "required": true,
          "description": "The [Reserved IP id](#operation/list-reserved-ips)"
        }
      ],
      "post": {
        "summary": "Attach Reserved IP",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/{reserved-ip}/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_id\" : \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-reserved-ip",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_id": {
                    "type": "string",
                    "description": "Attach the Reserved IP to a [Compute Instance id](#operation/list-instances) or a [Bare Metal Instance id](#operation/list-baremetals)."
                  }
                },
                "required": [
                  "instance_id"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Attach a Reserved IP to an compute instance or a baremetal instance - `instance_id`."
      }
    },
    "/reserved-ips/{reserved-ip}/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "reserved-ip",
          "in": "path",
          "required": true,
          "description": "The [Reserved IP id](#operation/list-reserved-ips)"
        }
      ],
      "post": {
        "summary": "Detach Reserved IP",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/{reserved-ip}/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-reserved-ip",
        "description": "Detach a Reserved IP.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/reserved-ips/convert": {
      "post": {
        "summary": "Convert Instance IP to Reserved IP",
        "tags": [
          "reserved-ip"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/reserved-ips/convert\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip_address\": \"192.0.2.123\",\n    \"label\": \"Example Reserved IPv4\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reserved_ip": {
                      "$ref": "#/components/schemas/reserved-ip"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "reserved_ip": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "region": "ewr",
                        "ip_type": "v4",
                        "subnet": "192.0.2.123",
                        "subnet_size": 64,
                        "label": "Example Reserved IPv4",
                        "instance_id": "3f26dfe9-6a18-4f3d-a543-0cbca7a3e496"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "convert-reserved-ip",
        "description": "Convert the `ip_address` of an existing [instance](#operation/list-instances) into a Reserved IP.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip_address": {
                    "type": "string",
                    "description": "The IP address to convert."
                  },
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this IP address."
                  }
                },
                "required": [
                  "ip_address"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip_address": "192.0.2.123",
                    "label": "Example Reserved IPv4"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/os": {
      "get": {
        "summary": "List OS",
        "tags": [
          "os"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/os\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "os": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/os"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "os": [
                        {
                          "id": 127,
                          "name": "CentOS 6 x64",
                          "arch": "x64",
                          "family": "centos"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-os",
        "description": "List the OS images available for installation at Vultr.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": []
      }
    },
    "/apikeys/{apikey-id}": {
      "get": {
        "summary": "Get API Key",
        "tags": [
          "api-keys"
        ],
        "operationId": "get-api-key",
        "description": "Gets information about an API key for the currently authenticated user. API keys returned by this method are masked.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/apikeys/{apikey-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "api_key": {
                      "$ref": "#/components/schemas/apikey"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "api_key": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "api_key": "*******************************00000",
                        "name": "Default",
                        "expire": true,
                        "date_expire": "2030-01-01T00:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete API Key",
        "tags": [
          "api-keys"
        ],
        "operationId": "delete-api-key",
        "description": "Delete an API key from the currently authenticated user's API key list.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/apikeys/{apikey-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/apikeys": {
      "get": {
        "summary": "List API Keys",
        "tags": [
          "api-keys"
        ],
        "operationId": "list-api-keys",
        "description": "Gets all API keys for the currently authenticated user. API keys returned by this method are masked.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/apikeys\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "api_keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/apikey"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "api_keys": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "api_key": "*******************************00000",
                          "name": "Default",
                          "expire": true,
                          "date_expire": "2030-01-01T00:00:00Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create API Key",
        "tags": [
          "api-keys"
        ],
        "operationId": "create-api-key",
        "description": "Adds an API key to the currently authenticated user's API key list.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/apikeys\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"Production\",\n    \"expire\" : true,\n    \"date_expire\" : \"2030-01-01T00:00:00Z\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "api_key": {
                      "$ref": "#/components/schemas/apikey"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "api_key": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "api_key": "000000000000000000000000000000012345",
                        "name": "Production",
                        "expire": true,
                        "date_expire": "2030-01-01T00:00:00Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Custom name of the API key."
                  },
                  "expire": {
                    "type": "boolean",
                    "description": "Will the API key expire?"
                  },
                  "date_expire": {
                    "type": "string",
                    "description": "Date when the API key expires. Only valid when `expire` is `true`."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "Production",
                    "expire": true,
                    "date_expire": "2030-01-01T00:00:00Z"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/applications": {
      "get": {
        "summary": "List Applications",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/applications\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "",
                  "properties": {
                    "applications": {
                      "type": "array",
                      "description": "",
                      "items": {
                        "$ref": "#/components/schemas/application"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "applications": [
                        {
                          "id": 1,
                          "name": "LEMP",
                          "short_name": "lemp",
                          "deploy_name": "LEMP on CentOS 6 x64",
                          "type": "one-click",
                          "vendor": "vultr",
                          "image_id": ""
                        },
                        {
                          "id": 1028,
                          "name": "OpenLiteSpeed WordPress",
                          "short_name": "openlitespeedwordpress",
                          "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
                          "type": "marketplace",
                          "vendor": "LiteSpeed_Technologies",
                          "image_id": "openlitespeed-wordpress"
                        }
                      ],
                      "meta": {
                        "total": 2,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-applications",
        "description": "Get a list of all available Applications.",
        "tags": [
          "application"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "type",
            "description": "Filter the results by type.\n\n|   | Type | Description |\n| - | ------ | ------------- |\n|   | all | All available application types |\n|   | marketplace | Marketplace applications |\n|   | one-click | Vultr One-Click applications |"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": []
      }
    },
    "/account": {
      "get": {
        "summary": "Get Account Info",
        "tags": [
          "account"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/account\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "account": {
                      "$ref": "#/components/schemas/account"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "account": {
                        "name": "Example Account",
                        "email": "admin@example.com",
                        "acls": [
                          "manage_users",
                          "subscriptions_view",
                          "subscriptions",
                          "billing",
                          "support",
                          "provisioning",
                          "dns",
                          "abuse",
                          "upgrade",
                          "firewall",
                          "alerts",
                          "objstore",
                          "loadbalancer"
                        ],
                        "balance": -100.55,
                        "pending_charges": 60.25,
                        "last_payment_date": "2020-10-10T01:56:20+00:00",
                        "last_payment_amount": -1.25
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-account",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get your Vultr account, permission, and billing information."
      }
    },
    "/account/bgp": {
      "get": {
        "summary": "Get Account BGP Info",
        "tags": [
          "account"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/account/bgp\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account-bgp"
                },
                "examples": {
                  "response": {
                    "value": {
                      "enabled": true,
                      "asn": 20473,
                      "pasword": "12345"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "operationId": "get-account-bgp",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get your Vultr account BGP information."
      }
    },
    "/account/bandwidth": {
      "get": {
        "summary": "Get Account Bandwidth Info",
        "tags": [
          "account"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/account/bandwidth\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bandwidth": {
                      "$ref": "#/components/schemas/account-bandwidth"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "bandwidth": {
                        "previous_month": {
                          "timestamp_start": "1701388800",
                          "timestamp_end": "1704067200",
                          "gb_in": 0,
                          "gb_out": 0,
                          "total_instance_hours": 8736,
                          "total_instance_count": 13,
                          "instance_bandwidth_credits": 3099648,
                          "free_bandwidth_credits": 2048,
                          "purchased_bandwidth_credits": 0,
                          "overage": 0,
                          "overage_unit_cost": 0.01,
                          "overage_cost": 0
                        },
                        "current_month_to_date": {
                          "timestamp_start": "1704067200",
                          "timestamp_end": "1706212679",
                          "gb_in": 0,
                          "gb_out": 0,
                          "total_instance_hours": 7748,
                          "total_instance_count": 13,
                          "instance_bandwidth_credits": 2749086,
                          "free_bandwidth_credits": 2048,
                          "purchased_bandwidth_credits": 0,
                          "overage": 0,
                          "overage_unit_cost": 0.01,
                          "overage_cost": 0
                        },
                        "current_month_projected": {
                          "timestamp_start": "1704067200",
                          "timestamp_end": "1706745600",
                          "gb_in": 0,
                          "gb_out": 0,
                          "total_instance_hours": 8736,
                          "total_instance_count": 13,
                          "instance_bandwidth_credits": 3099648,
                          "free_bandwidth_credits": 2048,
                          "purchased_bandwidth_credits": 0,
                          "overage": 0,
                          "overage_unit_cost": 0.01,
                          "overage_cost": 0
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "operationId": "get-account-bandwidth",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get your Vultr account bandwidth information."
      }
    },
    "/backups": {
      "get": {
        "summary": "List Backups",
        "tags": [
          "backup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/backups\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "backups": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/backup"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "backups": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "description": "Example Automatic Backup",
                          "size": 10000000,
                          "status": "complete",
                          "os_id": 215,
                          "app_id": 0
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-backups",
        "description": "Get information about Backups in your account.",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "instance_id",
            "description": "Filter the backup list by [Instance id](#operation/list-instances)."
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/blocks": {
      "get": {
        "summary": "List Block storages",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "blocks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/blockstorage"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "block storage list": {
                    "value": {
                      "blocks": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "cost": 5,
                          "status": "pending",
                          "size_gb": 50,
                          "region": "ewr",
                          "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
                          "label": "Example Block Storage",
                          "mount_id": "ewr-example112233"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "operationId": "list-blocks",
        "description": "List all Block Storage in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Block Storage",
        "operationId": "create-block",
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "block": {
                      "$ref": "#/components/schemas/blockstorage"
                    }
                  }
                },
                "examples": {
                  "created block storage": {
                    "value": {
                      "block": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "cost": 5,
                        "status": "active",
                        "size_gb": 50,
                        "region": "ewr",
                        "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
                        "label": "Example Block Storage",
                        "mount_id": "ewr-example112233",
                        "block_type": "high_perf"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Create new Block Storage in a `region` with a size of `size_gb`. Size may range between 10 and 40000 depending on the `block_type`.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Block Storage will be created."
                  },
                  "size_gb": {
                    "type": "integer",
                    "description": "Size in GB may range between 10 and 40000, depending on the `block_type`."
                  },
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "block_type": {
                    "type": "string",
                    "description": "An optional parameter, that determines on the type of block storage volume that will be created.\nSoon to become a required parameter.\n\n* `high_perf` from 10GB to 10,000GB\n* `storage_opt` from 40GB to 40,000GB"
                  }
                },
                "required": [
                  "region",
                  "size_gb"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ewr",
                    "size_gb": 50,
                    "label": "Example Block Storage"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"size_gb\" : 50,\n    \"label\" : \"Example Block Storage\",\n    \"block_type\": \"high_perf\"\n  }'"
          }
        ]
      },
      "parameters": []
    },
    "/blocks/{block-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "block-id",
          "in": "path",
          "required": true,
          "description": "The [Block Storage id](#operation/list-blocks)."
        }
      ],
      "get": {
        "summary": "Get Block Storage",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks/{block-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "block": {
                      "$ref": "#/components/schemas/blockstorage"
                    }
                  }
                },
                "examples": {
                  "single block storage": {
                    "value": {
                      "block": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "cost": 5,
                        "status": "active",
                        "size_gb": 50,
                        "region": "ewr",
                        "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
                        "label": "Example Block Storage",
                        "mount_id": "ewr-example112233",
                        "block_type": "high_perf"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "operationId": "get-block",
        "description": "Get information for Block Storage.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Block Storage",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks/{block-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-block",
        "description": "Delete Block Storage.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Block Storage",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks/{block-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Updated Block Storage Label\",\n    \"size_gb\": 50\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-block",
        "description": "Update information for Block Storage.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "size_gb": {
                    "type": "integer",
                    "description": "New size of the Block Storage in GB. Size may range between 10 and 40000 depending on the `block_type`."
                  }
                }
              },
              "examples": {
                "patch request": {
                  "value": {
                    "label": "Updated Block Storage Label",
                    "size_gb": 50
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/blocks/{block-id}/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "block-id",
          "in": "path",
          "required": true,
          "description": "The [Block Storage id](#operation/list-blocks)."
        }
      ],
      "post": {
        "summary": "Attach Block Storage",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks/{block-id}/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_id\" : \"a632673e-2fd5-4ff1-b251-2e28e7b65504\",\n    \"live\" : true\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-block",
        "description": "Attach Block Storage to Instance `instance_id`.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_id": {
                    "description": "Attach the Block Storage to this [Instance id](#operation/list-instances).",
                    "type": "string"
                  },
                  "live": {
                    "type": "boolean",
                    "description": "Attach Block Storage without restarting the Instance.\n\n|   | Value | Description |\n| - | ----- | ----------- |\n|   | true | Attach live, do not restart the instance. |\n|   | false | Restart the instance and attach the Block Storage. |"
                  }
                },
                "required": [
                  "instance_id"
                ]
              },
              "examples": {
                "post request": {
                  "value": {
                    "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                    "live": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/blocks/{block-id}/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "block-id",
          "in": "path",
          "required": true,
          "description": "The [Block Storage id](#operation/list-blocks)."
        }
      ],
      "post": {
        "summary": "Detach Block Storage",
        "tags": [
          "block"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/blocks/{block-id}/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"live\" : true\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-block",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Detach Block Storage.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "live": {
                    "type": "boolean",
                    "description": "Detach Block Storage without restarting the Instance.\n\n|   | Value | Description |\n| - | ----- | ----------- |\n|   | true | Detach live, do not restart the instance. |\n|   | false | Restart the instance and detach the Block Storage. |"
                  }
                }
              },
              "examples": {
                "post request": {
                  "value": {
                    "live": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/firewalls": {
      "get": {
        "summary": "List Firewall Groups",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_groups": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/firewall-group"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "firewall_groups": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "description": "Example Firewall Group",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "date_modified": "2020-10-10T01:59:20+00:00",
                          "instance_count": 0,
                          "rule_count": 0,
                          "max_rule_count": 50
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-firewall-groups",
        "description": "Get a list of all Firewall Groups.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Firewall Group",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\" : \"Example Firewall Group\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_group": {
                      "$ref": "#/components/schemas/firewall-group"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "firewall_group": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "description": "Example Firewall Group",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "date_modified": "2020-10-10T01:56:20+00:00",
                        "instance_count": 0,
                        "rule_count": 0,
                        "max_rule_count": 50
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-firewall-group",
        "description": "Create a new Firewall Group.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "User-supplied description of this Firewall Group."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Example Firewall Group"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/firewalls/{firewall-group-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "firewall-group-id",
          "in": "path",
          "required": true,
          "description": "The [Firewall Group id](#operation/list-firewall-groups)."
        }
      ],
      "get": {
        "summary": "Get Firewall Group",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_group": {
                      "$ref": "#/components/schemas/firewall-group"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "firewall_group": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "description": "Example Firewall Group",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "date_modified": "2020-10-10T01:56:20+00:00",
                        "instance_count": 0,
                        "rule_count": 0,
                        "max_rule_count": 50
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-firewall-group",
        "description": "Get information for a Firewall Group.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Firewall Group",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"description\" : \"Updated Firewall Group Name\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-firewall-group",
        "description": "Update information for a Firewall Group.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "User-supplied description of this Firewall Group."
                  }
                },
                "required": [
                  "description"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "description": "Updated Firewall Group Name"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Firewall Group",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-firewall-group",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Delete a Firewall Group."
      }
    },
    "/firewalls/{firewall-group-id}/rules": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "firewall-group-id",
          "in": "path",
          "required": true,
          "description": "The [Firewall Group id](#operation/list-firewall-groups)."
        }
      ],
      "get": {
        "summary": "List Firewall Rules",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_rules": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/firewall-rule"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "firewall_rules": [
                        {
                          "id": 1,
                          "type": "v4",
                          "ip_type": "v4",
                          "action": "accept",
                          "protocol": "tcp",
                          "port": "80",
                          "subnet": "192.0.2.0",
                          "subnet_size": 24,
                          "source": "",
                          "notes": "Example Firewall Rule"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-firewall-group-rules",
        "description": "Get the Firewall Rules for a Firewall Group.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Firewall Rules",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip_type\" : \"v4\",\n    \"protocol\" : \"tcp\",\n    \"port\" : \"80\",\n    \"subnet\" : \"192.0.2.0\",\n    \"subnet_size\" : 24,\n    \"source\" : \"\",\n    \"notes\" : \"Example Firewall Rule\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_rule": {
                      "$ref": "#/components/schemas/firewall-rule"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "firewall_rule": {
                        "id": 1,
                        "type": "v4",
                        "ip_type": "v4",
                        "action": "accept",
                        "protocol": "tcp",
                        "port": "80",
                        "subnet": "192.0.2.0",
                        "subnet_size": 24,
                        "source": "",
                        "notes": "Example Firewall Rule"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "post-firewalls-firewall-group-id-rules",
        "description": "Create a Firewall Rule for a Firewall Group. The attributes `ip_type`, `protocol`, `subnet`, and `subnet_size` are required.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip_type": {
                    "type": "string",
                    "description": "The type of IP rule.\n\n* v4\n* v6"
                  },
                  "protocol": {
                    "type": "string",
                    "description": "The protocol for this rule.\n\n* ICMP\n* TCP\n* UDP\n* GRE\n* ESP\n* AH\n"
                  },
                  "subnet": {
                    "type": "string",
                    "description": "IP address representing a subnet. The IP address format must match with the \"ip_type\" parameter value."
                  },
                  "subnet_size": {
                    "type": "integer",
                    "description": "The number of bits for the netmask in CIDR notation. Example: 32"
                  },
                  "port": {
                    "type": "string",
                    "description": "TCP/UDP only. This field can be a specific port or a colon separated port range."
                  },
                  "source": {
                    "type": "string",
                    "description": "If the source string is given a value of \"cloudflare\" subnet and subnet_size will both be ignored.\nPossible values:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | \"\" | Use the value from `subnet` and `subnet_size`. |\n|   | cloudflare | Allow all of Cloudflare's IP space through the firewall |\n|   | [Load Balancer id](#operation/list-load-balancers) | Provide a load balancer ID to use its IPs |\n"
                  },
                  "notes": {
                    "type": "string",
                    "description": "User-supplied notes for this rule."
                  }
                },
                "required": [
                  "ip_type",
                  "protocol",
                  "subnet",
                  "subnet_size"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip_type": "v4",
                    "protocol": "tcp",
                    "port": "80",
                    "subnet": "192.0.2.0",
                    "subnet_size": 24,
                    "source": "",
                    "notes": "Example Firewall Rule"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/firewalls/{firewall-group-id}/rules/{firewall-rule-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "firewall-group-id",
          "in": "path",
          "required": true,
          "description": "The [Firewall Group id](#operation/list-firewall-groups)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "firewall-rule-id",
          "in": "path",
          "required": true,
          "description": "The [Firewall Rule id](#operation/list-firewall-group-rules)."
        }
      ],
      "delete": {
        "summary": "Delete Firewall Rule",
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules/{firewall-rule-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-firewall-group-rule",
        "description": "Delete a Firewall Rule.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "get": {
        "summary": "Get Firewall Rule",
        "operationId": "get-firewall-group-rule",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "firewall_rule": {
                      "$ref": "#/components/schemas/firewall-rule"
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "firewall_rule": {
                        "id": 1,
                        "type": "v4",
                        "ip_type": "v4",
                        "action": "accept",
                        "protocol": "tcp",
                        "port": "80",
                        "subnet": "192.0.2.0",
                        "subnet_size": 24,
                        "source": "",
                        "notes": "Example Firewall Rule"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Get a Firewall Rule.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "firewall"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules/{firewall-rule-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/iso": {
      "get": {
        "summary": "List ISOs",
        "tags": [
          "iso"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/iso\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "isos": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/iso"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "isos": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "filename": "my-iso.iso",
                          "size": 120586240,
                          "md5sum": "77ba289bdc966ec996278a5a740d96d8",
                          "sha512sum": "2b31b6fcab34d6ea9a6b293601c39b90cb044e5679fcc5",
                          "status": "complete"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-isos",
        "description": "Get the ISOs in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create ISO",
        "tags": [
          "iso"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/iso\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"url\" : \"https://example.com/my-iso.iso\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iso": {
                      "$ref": "#/components/schemas/iso"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "iso": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "filename": "my-iso.iso",
                        "status": "pending"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-iso",
        "description": "Create a new ISO in your account from `url`.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "Public URL location of the ISO image to download. Example: https://example.com/my-iso.iso"
                  }
                },
                "required": [
                  "url"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "url": "http://example.com/my-iso.iso"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/iso/{iso-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "iso-id",
          "in": "path",
          "required": true,
          "description": "The [ISO id](#operation/list-isos)."
        }
      ],
      "get": {
        "summary": "Get ISO",
        "tags": [
          "iso"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/iso/{iso-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iso": {
                      "$ref": "#/components/schemas/iso"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "iso": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "filename": "my-iso.iso",
                        "size": 120586240,
                        "md5sum": "77ba289bdc966ec996278a5a740d96d8",
                        "sha512sum": "2b31b6fcab34d6ea9a6b293601c39b90cb044e5679fcc5",
                        "status": "complete"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "iso-get",
        "description": "Get information for an ISO.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete ISO",
        "tags": [
          "iso"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/iso/{iso-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-iso",
        "description": "Delete an ISO.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/iso-public": {
      "get": {
        "summary": "List Public ISOs",
        "tags": [
          "iso"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/iso-public\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "public_isos": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/iso-public"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "public_isos": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b604",
                          "name": "CentOS 7",
                          "description": "7 x86_64 Minimal",
                          "md5sum": "7f4df50f42ee1b52b193e79855a3aa19"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-public-isos",
        "description": "List all Vultr Public ISOs.",
        "security": []
      }
    },
    "/object-storage": {
      "get": {
        "summary": "List Object Storages",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object_storages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/object-storages"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "list of object-storages": {
                    "value": {
                      "object_storages": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "cluster_id": 2,
                          "region": "ewr",
                          "label": "Example Object Storage",
                          "status": "active",
                          "s3_hostname": "ewr1.vultrobjects.com",
                          "s3_access_key": "00example11223344",
                          "s3_secret_key": "00example1122334455667788990011",
                          "tier": {
                            "OBJSTORETIERID": 5,
                            "bw_gb_price": 0.01,
                            "disk_gb_price": 0.05,
                            "is_default": "no",
                            "price": 50,
                            "ratelimit_ops_bytes": 1048576000,
                            "ratelimit_ops_secs": 4000,
                            "sales_desc": "Low-latency storage for datacenter workloads.",
                            "sales_name": "Performance",
                            "slug": "tier_004k_1000m"
                          }
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "operationId": "list-object-storages",
        "description": "Get a list of all Object Storage in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Object Storage",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Example Object Storage\",\n    \"cluster_id\" : 2,\n    \"tier_id\" : 4\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object_storage": {
                      "$ref": "#/components/schemas/object-storage"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "object_storage": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "cluster_id": 2,
                        "region": "ewr",
                        "location": "New Jersey",
                        "label": "Example Object Storage",
                        "status": "pending",
                        "s3_hostname": "ewr1.vultrobjects.com",
                        "s3_access_key": "00example11223344",
                        "s3_secret_key": "00example1122334455667788990011"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "operationId": "create-object-storage",
        "description": "Create new Object Storage. The `cluster_id` attribute is required.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cluster_id": {
                    "type": "integer",
                    "description": "The [Cluster id](#operation/list-object-storage-clusters) where the Object Storage will be created."
                  },
                  "tier_id": {
                    "type": "integer",
                    "description": "The [Tier id](#operation/list-object-storage-tiers) of the tier to set up for. Must be one of available tiers for the cluster."
                  },
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label for this Object Storage."
                  }
                },
                "required": [
                  "cluster_id",
                  "tier_id"
                ]
              },
              "examples": {
                "example request": {
                  "value": {
                    "label": "Example Object Storage",
                    "cluster_id": 2,
                    "tier_id": 4
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/object-storage/{object-storage-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "object-storage-id",
          "in": "path",
          "required": true,
          "description": "The [Object Storage id](#operation/list-object-storages)."
        }
      ],
      "get": {
        "summary": "Get Object Storage",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/{object-storage-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object_storage": {
                      "$ref": "#/components/schemas/object-storage"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "object_storage": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "cluster_id": 2,
                        "region": "ewr",
                        "label": "Example Object Storage",
                        "status": "active",
                        "s3_hostname": "ewr1.vultrobjects.com",
                        "s3_access_key": "00example11223344",
                        "s3_secret_key": "00example1122334455667788990011"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-object-storage",
        "description": "Get information about an Object Storage.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Object Storage",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/{object-storage-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-object-storage",
        "description": "Delete an Object Storage.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Object Storage",
        "operationId": "update-object-storage",
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {}
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update the label for an Object Storage.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label for the Object Storage."
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "Updated Object Storage Label"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/{object-storage-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Updated Object Storage Label\"\n  }'"
          }
        ]
      }
    },
    "/object-storage/{object-storage-id}/regenerate-keys": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "object-storage-id",
          "in": "path",
          "required": true,
          "description": "The [Object Storage id](#operation/list-object-storages)."
        }
      ],
      "post": {
        "summary": "Regenerate Object Storage Keys",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/{object-storage-id}/regenerate-keys\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "s3_credentials": {
                      "type": "object",
                      "properties": {
                        "s3_hostname": {
                          "type": "string",
                          "description": "The [Cluster hostname](#operation/list-object-storage-clusters) for this Object Storage."
                        },
                        "s3_access_key": {
                          "type": "string",
                          "description": "The new Object Storage access key."
                        },
                        "s3_secret_key": {
                          "type": "string",
                          "description": "The new Object Storage secret key."
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "s3_credentials": {
                        "s3_hostname": "ewr1.vultrobjects.com",
                        "s3_access_key": "00example11223344",
                        "s3_secret_key": "00example1122334455667788990011"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "regenerate-object-storage-keys",
        "description": "Regenerate the keys for an Object Storage.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/object-storage/clusters": {
      "get": {
        "summary": "Get All Clusters",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/clusters\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "clusters": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/clusters"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "clusters": [
                        {
                          "id": 2,
                          "region": "ewr",
                          "hostname": "ewr1.vultrobjects.com",
                          "deploy": "yes"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        },
        "operationId": "list-object-storage-clusters",
        "description": "Get a list of all Object Storage Clusters.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": []
      }
    },
    "/object-storage/tiers": {
      "get": {
        "summary": "Get All Tiers",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/tiers\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tiers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/tiers"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "tiers": [
                        {
                          "id": 1,
                          "bw_gb_price": 0.01,
                          "disk_gb_price": 0.006,
                          "is_default": "yes",
                          "locations": [
                            {
                              "hostname": "ewr1.vultrobjects.com",
                              "id": 2,
                              "name": "New Jersey",
                              "region": "ewr"
                            }
                          ],
                          "price": 6,
                          "ratelimit_ops_bytes": 314572800,
                          "ratelimit_ops_secs": 400,
                          "sales_desc": "Vultr's historic object storage solution.",
                          "sales_name": "Legacy",
                          "slug": "tier_004h_0300m"
                        }
                      ]
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        },
        "operationId": "list-object-storage-tiers",
        "description": "Get a list of all Object Storage Tiers.",
        "parameters": [],
        "security": []
      }
    },
    "/object-storage/clusters/{cluster-id}/tiers": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "cluster-id",
          "in": "path",
          "required": true,
          "description": "The [Cluster id](#operation/list-object-storage-clusters)."
        }
      ],
      "get": {
        "summary": "Get All Cluster Tiers",
        "tags": [
          "s3"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/object-storage/clusters/{cluster-id}/tiers\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tiers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/cluster-tiers"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "tiers": [
                        {
                          "id": 1,
                          "bw_gb_price": 0.01,
                          "disk_gb_price": 0.006,
                          "is_default": "yes",
                          "price": 6,
                          "ratelimit_ops_bytes": 314572800,
                          "ratelimit_ops_secs": 400,
                          "sales_desc": "Vultr's historic object storage solution.",
                          "sales_name": "Legacy",
                          "slug": "tier_004h_0300m"
                        }
                      ]
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        },
        "operationId": "list-object-storage-cluster-tiers",
        "description": "Get a list of all Object Storage Tiers for a given Cluster.",
        "parameters": [],
        "security": []
      }
    },
    "/storage-gateways": {
      "get": {
        "summary": "List storage gateways",
        "tags": [
          "storage-gateways"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateways\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "description": "Get a list of all Storage Gateways in your account.",
        "operationId": "list-storage-gateways",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "storage_gateway": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/storage-gateway"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "summary": "Create Storage Gateway",
        "tags": [
          "storage-gateways"
        ],
        "operationId": "create-storage-gateway",
        "security": [
          {
            "API Key": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateways\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"my_storage_gateway\",\n    \"type\" : \"nfs4\",\n    \"region\" : \"ewr\",\n    \"network_config\" : {\n      \"primary\": {\n        \"ipv4_public_enabled\": true,\n        \"ipv6_public_enabled\": false,\n      }\n    },\n    \"export_config\": {\n      \"label\": \"my_export_1\",\n      \"vfs_uuid\" : \"a632673e-2fd5-4ff1-b251-2e28e7b65504\",\n      \"pseudo_root_path\": \"/\",\n      \"allowed_ips\": [\"192.0.2.123\"]\n    }\n  }'"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "label",
                  "type",
                  "region",
                  "export_config",
                  "network_config"
                ],
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label for this Storage Gateway."
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "nfs4"
                    ],
                    "description": "The gateway type"
                  },
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) for this Storage Gateway."
                  },
                  "export_config": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/storage-gateway-export"
                    }
                  },
                  "network_config": {
                    "items": {
                      "$ref": "#/components/schemas/storage-gateway-network"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "storage_gateway": {
                      "$ref": "#/components/schemas/storage-gateway"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/storage-gateways/{storage-gateway-id}/exports/{export-id}": {
      "parameters": [
        {
          "schema": null,
          "type": "string",
          "name": "storage-gateway-id",
          "in": "path",
          "required": true,
          "description": "The [Storage Gateway id](#operation/list-storage-gateways)."
        },
        {
          "schema": null,
          "type": "int",
          "name": "export-id",
          "in": "path",
          "required": true,
          "description": "The [Storage Gateway export id](#operation/list-storage-gateways)."
        }
      ],
      "delete": {
        "summary": "Delete Storage Gateway Export",
        "tags": [
          "storage-gateways"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateways/{storage-gateway-id}/exports/{export-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-storage-gateway-export",
        "description": "Delete a Storage Gateway Export.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/storage-gateways/{storage-gateway-id}/exports": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "storage-gateway-id",
          "in": "path",
          "required": true,
          "description": "The [Storage Gateway id](#operation/list-storage-gateways)."
        }
      ],
      "post": {
        "summary": "Add a new export to this storage gateway",
        "tags": [
          "storage-gateways"
        ],
        "operationId": "add-storage-gateway-export",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/storage-gateway-export"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpc": {
                      "$ref": "#/components/schemas/storage-gateway-export"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/storage-gateways/{storage-gateway-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "storage-gateway-id",
          "in": "path",
          "required": true,
          "description": "The [Storage Gateway id](#operation/list-storage-gateways)."
        }
      ],
      "get": {
        "summary": "Get Storage Gateway",
        "tags": [
          "storage-gateways"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateways/{storage-gateway-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "storage_gateway": {
                      "$ref": "#/components/schemas/storage-gateway"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-storage-gateway",
        "description": "Get information about a Storage Gateway.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Storage Gateway",
        "tags": [
          "storage-gateways"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateways/{storage-gateway-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-storage-gateway",
        "description": "Delete a Storage Gateway.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Storage Gateway",
        "tags": [
          "storage-gateways"
        ],
        "operationId": "update-storage-gateway",
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {}
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Update the label for a Storage Gateway.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label for the Storage Gateway."
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "Updated Storage Gateway Label"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/storage-gateway/{storage-gateway-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Updated Storage Gateway Label\"\n  }'"
          }
        ]
      }
    },
    "/domains": {
      "get": {
        "summary": "List DNS Domains",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "domains": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/domain"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "list of domains": {
                    "value": {
                      "domains": [
                        {
                          "domain": "example.com",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "dns_sec": "enabled"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-dns-domains",
        "description": "List all DNS Domains in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create DNS Domain",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"domain\" : \"example.com\",\n    \"ip\" : \"192.0.2.123\",\n    \"dns_sec\" : \"enabled\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "domain": {
                      "$ref": "#/components/schemas/domain"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "domain": {
                        "domain": "example.com",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "dns_sec": "enabled"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "create-dns-domain",
        "description": "Create a DNS Domain for `domain`. If no `ip` address is supplied a domain with no records will be created.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string",
                    "description": "Your registered DNS Domain name."
                  },
                  "ip": {
                    "type": "string",
                    "description": "The default IP address for your DNS Domain. If omitted an empty domain zone will be created."
                  },
                  "dns_sec": {
                    "type": "string",
                    "description": "Enable or disable DNSSEC.\n\n* enabled\n* disabled (default)"
                  }
                },
                "required": [
                  "domain"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "domain": "example.com",
                    "ip": "192.0.2.123",
                    "dns_sec": "enabled"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/domains/{dns-domain}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "dns-domain",
          "in": "path",
          "required": true,
          "description": "The [DNS Domain](#operation/list-dns-domains)."
        }
      ],
      "get": {
        "summary": "Get DNS Domain",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "domain": {
                      "$ref": "#/components/schemas/domain"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "domain": {
                        "domain": "example.com",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "dns_sec": "enabled"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-dns-domain",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information for the DNS Domain."
      },
      "delete": {
        "summary": "Delete Domain",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-dns-domain",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Delete the DNS Domain."
      },
      "put": {
        "summary": "Update a DNS Domain",
        "operationId": "update-dns-domain",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"dns_sec\" : \"enabled\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dns_sec": {
                    "type": "string",
                    "description": "Enable or disable DNSSEC.\n\n* enabled\n* disabled"
                  }
                },
                "required": [
                  "dns_sec"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "dns_sec": "enabled"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Update the DNS Domain. ",
        "tags": [
          "dns"
        ]
      }
    },
    "/domains/{dns-domain}/soa": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "dns-domain",
          "in": "path",
          "required": true,
          "description": "The [DNS Domain](#operation/list-dns-domains)."
        }
      ],
      "get": {
        "summary": "Get SOA information",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/soa\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dns_soa": {
                      "$ref": "#/components/schemas/dns-soa"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "dns_soa": {
                        "nsprimary": "ns1.vultr.com",
                        "email": "admin@example.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-dns-domain-soa",
        "description": "Get SOA information for the DNS Domain.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update SOA information",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/soa\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"nsprimary\" : \"ns1.vultr.com\",\n    \"email\" : \"admin@example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-dns-domain-soa",
        "description": "Update the SOA information for the DNS Domain. All attributes are optional. If not set, the attributes will retain their original values.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nsprimary": {
                    "type": "string",
                    "description": "Set the primary nameserver."
                  },
                  "email": {
                    "type": "string",
                    "description": "Set the contact email address."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "nsprimary": "ns1.vultr.com",
                    "email": "admin@example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/domains/{dns-domain}/dnssec": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "dns-domain",
          "in": "path",
          "required": true,
          "description": "The [DNS Domain](#operation/list-dns-domains)."
        }
      ],
      "get": {
        "summary": "Get DNSSec Info",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/dnssec\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dns_sec": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "dns_sec": [
                        "example.com IN DNSKEY 257 3 13 kRrxANp7YTGqVbaWtMy8hhsK0jcG4ajjICZKMb4fKv79Vx/RSn76vNjzIT7/Uo0BXil01Fk8RRQc4nWZctGJBA==",
                        "example.com IN DS 27933 13 1 2d9ac457e5c11a104e25d971d0a6254562bddde7",
                        "example.com IN DS 27933 13 2 8858e7b0dfb881280ce2ca1e0eafcd93d5b53687c21da284d4f8799ba82208a9"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-dns-domain-dnssec",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the DNSSEC information for the DNS Domain."
      }
    },
    "/domains/{dns-domain}/records": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "dns-domain",
          "in": "path",
          "required": true,
          "description": "The [DNS Domain](#operation/list-dns-domains)."
        }
      ],
      "post": {
        "summary": "Create Record",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/records\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"www\",\n    \"type\" : \"A\",\n    \"data\" : \"192.0.2.123\",\n    \"ttl\" : 300,\n    \"priority\" : 0\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "record": {
                      "$ref": "#/components/schemas/dns-record"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "record": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "type": "A",
                        "name": "www",
                        "data": "192.0.2.123",
                        "priority": 0,
                        "ttl": 300
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-dns-domain-record",
        "description": "Create a DNS record.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The hostname for this DNS record."
                  },
                  "type": {
                    "type": "string",
                    "description": "The DNS record type.\n\n* A\n* AAAA\n* CNAME\n* NS\n* MX\n* SRV\n* TXT\n* CAA\n* SSHFP"
                  },
                  "data": {
                    "type": "string",
                    "description": "The DNS data for this record type."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to Live in seconds."
                  },
                  "priority": {
                    "type": "integer",
                    "description": "DNS priority. Does not apply to all record types. (Only required for MX and SRV)"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "data"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "www",
                    "type": "A",
                    "data": "192.0.2.123",
                    "ttl": 300,
                    "priority": 0
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "get": {
        "summary": "List Records",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/records\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "records": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dns-record"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "records": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "type": "A",
                          "name": "foo.example.com",
                          "data": "192.0.2.123",
                          "priority": 0,
                          "ttl": 300
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-dns-domain-records",
        "description": "Get the DNS records for the Domain.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      }
    },
    "/domains/{dns-domain}/records/{record-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "dns-domain",
          "in": "path",
          "required": true,
          "description": "The [DNS Domain](#operation/list-dns-domains)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "record-id",
          "in": "path",
          "required": true,
          "description": "The [DNS Record id](#operation/list-dns-domain-records)."
        }
      ],
      "get": {
        "summary": "Get Record",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "record": {
                      "$ref": "#/components/schemas/dns-record"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "record": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "type": "A",
                        "name": "www",
                        "data": "192.0.2.123",
                        "priority": 0,
                        "ttl": 300
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-dns-domain-record",
        "description": "Get information for a DNS Record.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Record",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"CNAME\",\n    \"data\" : \"foo.example.com\",\n    \"ttl\" : 300,\n    \"priority\" : 0\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "operationId": "update-dns-domain-record",
        "description": "Update the information for a DNS record. All attributes are optional. If not set, the attributes will retain their original values.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The hostname for this DNS record."
                  },
                  "data": {
                    "type": "string",
                    "description": "The DNS data for this record type."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to Live in seconds."
                  },
                  "priority": {
                    "type": "integer",
                    "description": "DNS priority. Does not apply to all record types."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "CNAME",
                    "data": "foo.example.com",
                    "ttl": 300,
                    "priority": 0
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Record",
        "tags": [
          "dns"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-dns-domain-record",
        "description": "Delete the DNS record.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/regions": {
      "get": {
        "summary": "List Regions",
        "tags": [
          "region"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/regions\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "regions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/region"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "region": {
                    "value": {
                      "regions": [
                        {
                          "id": "ams",
                          "city": "Amsterdam",
                          "country": "NL",
                          "continent": "Europe",
                          "options": [
                            "ddos_protection",
                            "block_storage_high_perf",
                            "block_storage_storage_opt",
                            "kubernetes",
                            "load_balancers"
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-regions",
        "description": "List all Regions at Vultr.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": []
      }
    },
    "/regions/{region-id}/availability": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "region-id",
          "in": "path",
          "required": true,
          "description": "The [Region id](#operation/list-regions)."
        }
      ],
      "get": {
        "summary": "List available plans in region",
        "tags": [
          "region"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/regions/{region-id}/availability\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available_plans": {
                      "type": "array",
                      "description": "An array of Plans available in this Region.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "plans": {
                    "value": {
                      "available_plans": [
                        "vc2-1c-1gb",
                        "vc2-1c-2gb",
                        "vc2-2c-4gb",
                        "vc2-4c-8gb",
                        "vc2-6c-16gb",
                        "vc2-8c-32gb",
                        "vc2-16c-64gb",
                        "vc2-24c-96gb",
                        "vdc-4vcpu-8gb",
                        "vdc-4vcpu-16gb",
                        "vdc-6vcpu-24gb",
                        "vdc-8vcpu-32gb",
                        "vhf-1c-1gb",
                        "vhf-1c-2gb",
                        "vhf-2c-4gb",
                        "vhf-3c-8gb",
                        "vhf-4c-16gb",
                        "vhf-6c-24gb",
                        "vhf-8c-32gb",
                        "vhf-12c-48gb"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-available-plans-region",
        "description": "Get a list of the available plans in Region `region-id`. Not all plans are available in all regions.",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "type",
            "description": "Filter the results by type.\n\n| **Type** | **Description** |\n|----------|-----------------|\n| all | All available types |\n| vc2 | Cloud Compute |\n| vdc | Dedicated Cloud |\n| vhf | High Frequency Compute |\n| vhp | High Performance |\n| voc | All Optimized Cloud types |\n| voc-g | General Purpose Optimized Cloud |\n| voc-c | CPU Optimized Cloud |\n| voc-m | Memory Optimized Cloud |\n| voc-s | Storage Optimized Cloud |\n| vbm | Bare Metal |\n| vcg | Cloud GPU |\n"
          }
        ],
        "security": []
      }
    },
    "/load-balancers": {
      "get": {
        "summary": "List Load Balancers",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "operationId": "list-load-balancers",
        "description": "List the Load Balancers in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "load_balancers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/loadbalancer"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "load_balancers": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "region": "ewr",
                          "label": "Example Load Balancer",
                          "status": "active",
                          "ipv4": "192.0.2.123",
                          "ipv6": "2001:0db8:5:4973:ffff:ffff:ffff:ffff",
                          "generic_info": {
                            "balancing_algorithm": "roundrobin",
                            "ssl_redirect": false,
                            "sticky_sessions": {
                              "cookie_name": "example-cookie"
                            },
                            "proxy_protocol": false,
                            "timeout": 600,
                            "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406"
                          },
                          "health_check": {
                            "protocol": "http",
                            "port": 80,
                            "path": "/health",
                            "check_interval": 10,
                            "response_timeout": 5,
                            "unhealthy_threshold": 3,
                            "healthy_threshold": 3
                          },
                          "has_ssl": false,
                          "http2": false,
                          "http3": false,
                          "nodes": 1,
                          "forwarding_rules": [
                            {
                              "id": "73d85156c2c3129d",
                              "frontend_protocol": "http",
                              "frontend_port": 80,
                              "backend_protocol": "http",
                              "backend_port": 80
                            }
                          ],
                          "firewall_rules": [
                            {
                              "id": "abcd123b93016eafb",
                              "port": 80,
                              "source": "198.51.100.0/24",
                              "ip_type": "v4"
                            }
                          ],
                          "instances": [],
                          "node_ips": {
                            "v4": [],
                            "v6": []
                          },
                          "auto_ssl": {
                            "domain_zone": "",
                            "domain": ""
                          },
                          "global_parent_id": "",
                          "global_regions": [],
                          "global_children_ids": [],
                          "ssl_cert_b64": "",
                          "pending_charges": 0
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Load Balancer",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"balancing_algorithm\" : \"roundrobin\",\n    \"ssl_redirect\" : false,\n    \"http2\": false,\n    \"http3\": false,\n    \"proxy_protocol\" : false,\n    \"timeout\" : 600,\n    \"label\" : \"Example Load Balancer\",\n    \"nodes\" : 1,\n    \"health_check\" : {\n      \"protocol\" : \"http\",\n      \"port\" : 80,\n      \"path\" : \"/health\",\n      \"check_interval\" : 10,\n      \"response_timeout\" : 5,\n      \"unhealthy_threshold\" : 3,\n      \"healthy_threshold\" : 3\n    },\n    \"forwarding_rules\": [\n      {\n        \"frontend_protocol\" : \"http\",\n        \"frontend_port\" : 80,\n        \"backend_protocol\" : \"http\",\n        \"backend_port\" : 80\n      }\n    ],\n    \"ssl\": {\n      \"private_key\": \"-----BEGIN RSA ... \",\n      \"certificate\": \"-----BEGIN RSA ... \",\n      \"chain\": \"-----BEGIN RSA ... \"\n    },\n    \"firewall_rules\": [\n      {\n        \"port\" : 80,\n        \"source\" : \"0.0.0.0/0\",\n        \"ip_type\" : \"v4\",\n      }\n    ],\n    \"auto_ssl\": {\n      \"domain_zone\" : \"example.com\",\n      \"domain_sub\" : \"sub\"\n    },\n    \"global_regions\": [\n      {\n        \"region_id\": \"ewr\",\n        \"vpc_id\": \"6c97149f-e340-453a-b3eb-67eaf6fb93b1\"\n      },\n      {\n        \"region_id\": \"atl\"\n      }\n    ],\n    \"ssl_cert_b64\": \"\",\n    \"pending_charges\": 0\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "load_balancer": {
                      "$ref": "#/components/schemas/loadbalancer"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "load_balancer": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "label": "Example Load Balancer",
                        "status": "pending",
                        "ipv4": "",
                        "ipv6": "",
                        "generic_info": {
                          "balancing_algorithm": "roundrobin",
                          "ssl_redirect": false,
                          "sticky_sessions": {
                            "cookie_name": "example-cookie"
                          },
                          "proxy_protocol": false,
                          "timeout": 600,
                          "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406",
                          "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406"
                        },
                        "health_check": {
                          "protocol": "http",
                          "port": 80,
                          "path": "/health",
                          "check_interval": 10,
                          "response_timeout": 5,
                          "unhealthy_threshold": 3,
                          "healthy_threshold": 3
                        },
                        "has_ssl": true,
                        "http2": false,
                        "http3": false,
                        "nodes": 1,
                        "forwarding_rules": [
                          {
                            "id": "73d85156c2c3129d",
                            "frontend_protocol": "http",
                            "frontend_port": 80,
                            "backend_protocol": "http",
                            "backend_port": 80
                          }
                        ],
                        "firewall_rules": [
                          {
                            "id": "abcd123b93016eafb",
                            "port": 80,
                            "source": "24.187.16.196/16",
                            "ip_type": "v4"
                          }
                        ],
                        "instances": [],
                        "node_ips": {
                          "v4": [],
                          "v6": []
                        },
                        "auto_ssl": {
                          "domain_zone": "",
                          "domain": ""
                        },
                        "global_regions": [
                          "atl"
                        ],
                        "ssl_cert_b64": "",
                        "pending_charges": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "create-load-balancer",
        "description": "Create a new Load Balancer in a particular `region`.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) to create this Load Balancer."
                  },
                  "balancing_algorithm": {
                    "type": "string",
                    "description": "The balancing algorithm.\n\n* roundrobin (default)\n* leastconn"
                  },
                  "ssl_redirect": {
                    "type": "boolean",
                    "description": "If `true`, this will redirect all HTTP traffic to HTTPS. You must have an HTTPS rule and SSL certificate installed on the load balancer to enable this option.\n\n* true\n* false"
                  },
                  "http2": {
                    "type": "boolean",
                    "description": "If `true`, this will enable HTTP2 traffic. You must have an HTTPS forwarding rule combo (HTTPS -> HTTPS) to enable this option.\n\n* true\n* false"
                  },
                  "http3": {
                    "type": "boolean",
                    "description": "If `true`, this will enable HTTP3/QUIC traffic. You must have HTTP2 enabled.\n\n* true\n* false"
                  },
                  "nodes": {
                    "type": "integer",
                    "description": "The number of nodes to add to the load balancer (1-99), must be an odd number. This defaults to 1."
                  },
                  "proxy_protocol": {
                    "description": "If `true`, you must configure backend nodes to accept Proxy protocol.\n\n* true\n* false (Default)",
                    "type": "boolean"
                  },
                  "timeout": {
                    "type": "integer",
                    "description": "The maximum time allowed for the connection to remain inactive before timing out in seconds. This defaults to 600."
                  },
                  "health_check": {
                    "type": "object",
                    "description": "The health check configuration. See [Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration).",
                    "properties": {
                      "protocol": {
                        "type": "string",
                        "description": "The protocol to use for health checks.\n\n* HTTPS\n* HTTP\n* TCP"
                      },
                      "port": {
                        "type": "integer",
                        "description": "The port to use for health checks."
                      },
                      "path": {
                        "type": "string",
                        "description": "HTTP Path to check. Only applies if protocol is HTTP, or HTTPS."
                      },
                      "check_interval": {
                        "type": "integer",
                        "description": "Interval between health checks."
                      },
                      "response_timeout": {
                        "type": "integer",
                        "description": "Timeout before health check fails."
                      },
                      "unhealthy_threshold": {
                        "type": "integer",
                        "description": "Number times a check must fail before becoming unhealthy."
                      },
                      "healthy_threshold": {
                        "type": "integer",
                        "description": "Number of times a check must succeed before returning to healthy status."
                      }
                    }
                  },
                  "forwarding_rules": {
                    "type": "array",
                    "description": "An array of forwarding rule objects.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "frontend_protocol": {
                          "type": "string",
                          "description": "The protocol on the Load Balancer to forward to the backend.\n\n* HTTP\n* HTTPS\n* TCP"
                        },
                        "frontend_port": {
                          "type": "integer",
                          "description": "The port number on the Load Balancer to forward to the backend."
                        },
                        "backend_protocol": {
                          "type": "string",
                          "description": "The protocol destination on the backend server.\n\n* HTTP\n* HTTPS\n* TCP"
                        },
                        "backend_port": {
                          "type": "integer",
                          "description": "The port number destination on the backend server."
                        }
                      }
                    }
                  },
                  "sticky_session": {
                    "type": "object",
                    "description": "Enables sticky sessions for your load balancer when a cookie_name is provided.",
                    "properties": {
                      "cookie_name": {
                        "type": "string",
                        "description": "The cookie name to make sticky. See [Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration)."
                      }
                    }
                  },
                  "ssl": {
                    "type": "object",
                    "description": "An SSL certificate to install on the Load Balancer.",
                    "properties": {
                      "private_key": {
                        "type": "string",
                        "description": "The private key."
                      },
                      "certificate": {
                        "type": "string",
                        "description": "The SSL certificate."
                      },
                      "chain": {
                        "type": "string",
                        "description": "The certificate chain."
                      },
                      "private_key_b64": {
                        "type": "string",
                        "description": "The private key base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      },
                      "certificate_b64": {
                        "type": "string",
                        "description": "The SSL certificate base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      },
                      "chain_b64": {
                        "type": "string",
                        "description": "The certificate chain base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      }
                    }
                  },
                  "label": {
                    "type": "string",
                    "description": "Label for your Load Balancer."
                  },
                  "instances": {
                    "type": "array",
                    "description": "An array of instances IDs that you want attached to the load balancer.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "firewall_rules": {
                    "type": "array",
                    "description": "An array of firewall rule objects.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Port for this rule."
                        },
                        "source": {
                          "type": "string",
                          "description": "If the source string is given a value of \"cloudflare\" then cloudflare IPs will be supplied. Otherwise enter a IP address with subnet size that you wish to permit through the firewall.\n\nPossible values:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | \"192.168.1.1/16\" | Ip address with a subnet size. |\n|   | cloudflare | Allow all of Cloudflare's IP space through the firewall |"
                        },
                        "ip_type": {
                          "type": "string",
                          "description": "The type of IP rule.\n\n* v4\n* v6"
                        }
                      }
                    }
                  },
                  "private_network": {
                    "type": "string",
                    "description": "Use `vpc` instead. ID of the private network you wish to use. If private_network is omitted it will default to the public network.",
                    "deprecated": true
                  },
                  "vpc": {
                    "type": "string",
                    "description": "ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network."
                  },
                  "auto_ssl": {
                    "type": "object",
                    "description": "The Auto SSL configuration. Must be using Vultr DNS for Auto SSL.",
                    "properties": {
                      "domain_zone": {
                        "type": "string",
                        "description": "The domain zone. (example.com)"
                      },
                      "domain_sub": {
                        "type": "string",
                        "description": "(optional) Subdomain to append to the domain zone."
                      }
                    }
                  },
                  "global_regions": {
                    "type": "array",
                    "description": "List of region objects with VPC information.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "region_id": {
                          "type": "string",
                          "description": "A [Region id](#operation/list-regions) to deploy child Load Balancers to."
                        },
                        "vpc_id": {
                          "type": "string",
                          "description": "ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network."
                        }
                      },
                      "required": [
                        "region_id"
                      ]
                    }
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ewr",
                    "balancing_algorithm": "roundrobin",
                    "ssl_redirect": false,
                    "http2": false,
                    "http3": false,
                    "nodes": 1,
                    "proxy_protocol": false,
                    "timeout": 600,
                    "label": "Example Load Balancer",
                    "health_check": {
                      "protocol": "http",
                      "port": 80,
                      "path": "/health",
                      "check_interval": 10,
                      "response_timeout": 5,
                      "unhealthy_threshold": 3,
                      "healthy_threshold": 3
                    },
                    "forwarding_rules": [
                      {
                        "frontend_protocol": "http",
                        "frontend_port": 80,
                        "backend_protocol": "http",
                        "backend_port": 80
                      }
                    ],
                    "ssl": {
                      "private_key": "-----BEGIN RSA ... ",
                      "certificate": "-----BEGIN RSA ... ",
                      "chain": "-----BEGIN RSA ... "
                    },
                    "firewall_rules": [
                      {
                        "port": 80,
                        "source": "24.187.16.196/16",
                        "ip_type": "v4"
                      }
                    ],
                    "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406",
                    "auto_ssl": {
                      "domain_zone": "example.com",
                      "domain_sub": "sub"
                    },
                    "global_regions": [
                      {
                        "region_id": "ewr",
                        "vpc_id": "6c97149f-e340-453a-b3eb-67eaf6fb93b1"
                      },
                      {
                        "region_id": "atl"
                      }
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/load-balancers/{load-balancer-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "load-balancer-id",
          "in": "path",
          "required": true,
          "description": "The [Load Balancer id](#operation/list-load-balancers)."
        }
      ],
      "get": {
        "summary": "Get Load Balancer",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "load_balancer": {
                      "$ref": "#/components/schemas/loadbalancer"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "load_balancer": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "region": "ewr",
                        "label": "Example Load Balancer",
                        "status": "active",
                        "ipv4": "192.0.2.123",
                        "ipv6": "2001:0db8:5:4973:ffff:ffff:ffff:ffff",
                        "generic_info": {
                          "balancing_algorithm": "roundrobin",
                          "ssl_redirect": false,
                          "sticky_sessions": {
                            "cookie_name": "example-cookie"
                          },
                          "proxy_protocol": false,
                          "timeout": 600,
                          "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406",
                          "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406"
                        },
                        "health_check": {
                          "protocol": "http",
                          "port": 80,
                          "path": "/health",
                          "check_interval": 10,
                          "response_timeout": 5,
                          "unhealthy_threshold": 3,
                          "healthy_threshold": 3
                        },
                        "has_ssl": false,
                        "http2": false,
                        "http3": false,
                        "nodes": 1,
                        "forwarding_rules": [
                          {
                            "id": "73d85156c2c3129d",
                            "frontend_protocol": "http",
                            "frontend_port": 80,
                            "backend_protocol": "http",
                            "backend_port": 80
                          }
                        ],
                        "firewall_rules": [
                          {
                            "id": "abcd123b93016eafb",
                            "port": 80,
                            "source": "198.51.100.0/24",
                            "ip_type": "v4"
                          }
                        ],
                        "instances": [],
                        "node_ips": {
                          "v4": [],
                          "v6": []
                        },
                        "auto_ssl": {
                          "domain_zone": "",
                          "domain": ""
                        },
                        "global_parent_id": "",
                        "global_regions": [
                          "sea",
                          "atl"
                        ],
                        "global_children_ids": [
                          "c613df4-de1e-491a-abd5-ee0aa7d46340"
                        ],
                        "ssl_cert_b64": "",
                        "pending_charges": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "get-load-balancer",
        "description": "Get information for a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Load Balancer",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ssl\": {\n      \"private_key\": \"-----BEGIN RSA ... \",\n      \"certificate\": \"-----BEGIN RSA ... \",\n      \"chain\": \"-----BEGIN RSA ... \"\n    },\n    \"sticky_session\": {\n      \"cookie_name\": \"example-cookie\"\n    },\n    \"forwarding_rules\": [\n      {\n        \"frontend_protocol\": \"http\",\n        \"frontend_port\": 80,\n        \"backend_protocol\": \"http\",\n        \"backend_port\": 80\n      }\n    ],\n    \"health_check\": {\n      \"protocol\": \"http\",\n      \"port\": 80,\n      \"path\": \"/health\",\n      \"check_interval\": \"10\",\n      \"response_timeout\": \"5\",\n      \"unhealthy_threshold\": \"3\",\n      \"healthy_threshold\": \"3\"\n    },\n    \"proxy_protocol\": true,\n    \"timeout\": 600,\n    \"ssl_redirect\": true,\n    \"http2\": true,\n    \"http3\": true,\n    \"nodes\": 1,\n    \"balancing_algorithm\": \"roundrobin\",\n    \"instances\": [\n      \"73d85156c2c3129d\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "update-load-balancer",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Update information for a Load Balancer. All attributes are optional. If not set, the attributes will retain their original values.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ssl": {
                    "type": "object",
                    "description": "An SSL certificate to install on the Load Balancer.",
                    "properties": {
                      "private_key": {
                        "type": "string",
                        "description": "The private key."
                      },
                      "certificate": {
                        "type": "string",
                        "description": "The SSL certificate."
                      },
                      "chain": {
                        "type": "string",
                        "description": "The certificate chain."
                      },
                      "private_key_b64": {
                        "type": "string",
                        "description": "The private key base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      },
                      "certificate_b64": {
                        "type": "string",
                        "description": "The SSL certificate base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      },
                      "chain_b64": {
                        "type": "string",
                        "description": "The certificate chain base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values)"
                      }
                    }
                  },
                  "sticky_session": {
                    "type": "object",
                    "description": "Enables sticky sessions for your load balancer when a cookie_name is provided.",
                    "properties": {
                      "cookie_name": {
                        "type": "string",
                        "description": "The cookie name to make sticky. See [Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration)."
                      }
                    }
                  },
                  "forwarding_rules": {
                    "type": "array",
                    "description": "An array of forwarding rule objects.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "frontend_protocol": {
                          "type": "string",
                          "description": "The protocol on the Load Balancer to forward to the backend.\n\n* HTTP\n* HTTPS\n* TCP"
                        },
                        "frontend_port": {
                          "type": "integer",
                          "description": "The port number on the Load Balancer to forward to the backend."
                        },
                        "backend_protocol": {
                          "type": "string",
                          "description": "The protocol destination on the backend server.\n\n* HTTP\n* HTTPS\n* TCP"
                        },
                        "backend_port": {
                          "type": "integer",
                          "description": "The port number destination on the backend server."
                        }
                      }
                    }
                  },
                  "health_check": {
                    "type": "object",
                    "description": "The health check configuration. [See Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration).",
                    "properties": {
                      "protocol": {
                        "type": "string",
                        "description": "The protocol to use for health checks.\n\n* HTTPS\n* HTTP\n* TCP"
                      },
                      "port": {
                        "type": "integer",
                        "description": "The port to use for health checks."
                      },
                      "path": {
                        "type": "string",
                        "description": "HTTP Path to check. Only applies if protocol is HTTP, or HTTPS."
                      },
                      "check_interval": {
                        "type": "string",
                        "description": "Interval between health checks."
                      },
                      "response_timeout": {
                        "type": "string",
                        "description": "Timeout before health check fails."
                      },
                      "unhealthy_threshold": {
                        "type": "string",
                        "description": "Number times a check must fail before becoming unhealthy."
                      },
                      "healthy_threshold": {
                        "type": "string",
                        "description": "Number of times a check must succeed before returning to healthy status."
                      }
                    }
                  },
                  "proxy_protocol": {
                    "type": "boolean",
                    "description": "If `true`, you must configure backend nodes to accept Proxy protocol.\n\n* true\n* false (Default)"
                  },
                  "timeout": {
                    "type": "integer",
                    "description": "The maximum time allowed for the connection to remain inactive before timing out in seconds. This defaults to 600."
                  },
                  "ssl_redirect": {
                    "type": "boolean",
                    "description": "If `true`, this will redirect all HTTP traffic to HTTPS. You must have an HTTPS rule and SSL certificate installed on the load balancer to enable this option.\n\n* true\n* false"
                  },
                  "http2": {
                    "type": "boolean",
                    "description": "If `true`, this will enable HTTP2 traffic. You must have an HTTPS forwarding rule combo (HTTPS -> HTTPS) to enable this option.\n\n* true\n* false"
                  },
                  "http3": {
                    "type": "boolean",
                    "description": "If `true`, this will enable HTTP3/QUIC traffic. You must have HTTP2 enabled.\n\n* true\n* false"
                  },
                  "nodes": {
                    "type": "integer",
                    "description": "The number of nodes to add to the load balancer (1-99), must be an odd number. This defaults to 1."
                  },
                  "balancing_algorithm": {
                    "type": "string",
                    "description": "The balancing algorithm.\n\n* roundrobin (default)\n* leastconn"
                  },
                  "instances": {
                    "type": "array",
                    "description": "Send the complete array of Instances IDs that should be attached to this Load Balancer. Instances will be attached or detached to match your array. For example, if Instances **X**, **Y**, and **Z** are currently attached, and you send [A,B,Z], then Instance **A** and **B** will be attached,  **X** and **Y** will be detached, and **Z** will remain attached.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "label": {
                    "type": "string",
                    "description": "The label for your Load Balancer"
                  },
                  "private_network": {
                    "type": "string",
                    "description": "Use `vpc` instead. ID of the private network you wish to use. If private_network is omitted it will default to the public network.",
                    "deprecated": true
                  },
                  "vpc": {
                    "type": "string",
                    "description": "ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network."
                  },
                  "firewall_rules": {
                    "type": "array",
                    "description": "An array of firewall rule objects.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Port for this rule."
                        },
                        "source": {
                          "type": "string",
                          "description": "If the source string is given a value of \"cloudflare\" then cloudflare IPs will be supplied. Otherwise enter a IP address with subnet size that you wish to permit through the firewall.\n\nPossible values:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | \"192.168.1.1/16\" | Ip address with a subnet size. |\n|   | cloudflare | Allow all of Cloudflare's IP space through the firewall |"
                        },
                        "ip_type": {
                          "type": "string",
                          "description": "The type of IP rule.\n\n* v4\n* v6"
                        }
                      }
                    }
                  },
                  "auto_ssl": {
                    "type": "object",
                    "description": "The Auto SSL configuration. Must be using Vultr DNS for Auto SSL.",
                    "properties": {
                      "domain_zone": {
                        "type": "string",
                        "description": "The domain zone. (example.com)"
                      },
                      "domain_sub": {
                        "type": "string",
                        "description": "(optional) Subdomain to append to the domain zone."
                      }
                    }
                  },
                  "global_regions": {
                    "type": "array",
                    "description": "Array of [Region ids](#operation/list-regions) to deploy child Load Balancers to.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "ssl": {
                      "private_key": "-----BEGIN RSA ... ",
                      "certificate": "-----BEGIN RSA ... ",
                      "chain": "-----BEGIN RSA ... "
                    },
                    "sticky_session": {
                      "cookie_name": "example-cookie"
                    },
                    "forwarding_rules": [
                      {
                        "frontend_protocol": "http",
                        "frontend_port": 80,
                        "backend_protocol": "http",
                        "backend_port": 80
                      }
                    ],
                    "firewall_rules": [
                      {
                        "port": 80,
                        "source": "192.168.1.1/16",
                        "ip_type": "v4"
                      }
                    ],
                    "health_check": {
                      "protocol": "http",
                      "port": 80,
                      "path": "/health",
                      "check_interval": "10",
                      "response_timeout": "5",
                      "unhealthy_threshold": "3",
                      "healthy_threshold": "3"
                    },
                    "proxy_protocol": true,
                    "timeout": 600,
                    "ssl_redirect": true,
                    "http2": true,
                    "http3": true,
                    "nodes": 1,
                    "balancing_algorithm": "roundrobin",
                    "instances": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                    ],
                    "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406",
                    "auto_ssl": {
                      "domain_zone": "example.com",
                      "domain_sub": "sub"
                    },
                    "global_regions": [
                      "sea",
                      "atl"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Load Balancer",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "delete-load-balancer",
        "description": "Delete a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/load-balancers/{load-balancer-id}/ssl": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "load-balancer-id",
          "in": "path",
          "required": true,
          "description": "The [Load Balancer id](#operation/list-load-balancers)."
        }
      ],
      "delete": {
        "summary": "Delete Load Balancer SSL",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/ssl\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "delete-load-balancer-ssl",
        "description": "Delete a Load Balancer SSL.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/load-balancers/{load-balancer-id}/auto_ssl": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "load-balancer-id",
          "in": "path",
          "required": true,
          "description": "The [Load Balancer id](#operation/list-load-balancers)."
        }
      ],
      "delete": {
        "summary": "Disable Load Balancer Auto SSL",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/auto_ssl\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "delete-load-balancer-auto-ssl",
        "description": "Disable a Load Balancer Auto SSL. This will not remove an ssl certificate from the load balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/load-balancers/{load-balancer-id}/forwarding-rules": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "load-balancer-id",
          "in": "path",
          "required": true,
          "description": "The [Load Balancer id](#operation/list-load-balancers)."
        }
      ],
      "get": {
        "summary": "List Forwarding Rules",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "forwarding_rules": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/forwarding-rule"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "forwarding_rules": [
                        {
                          "id": "443f2e6c0b60",
                          "frontend_protocol": "http",
                          "frontend_port": 80,
                          "backend_protocol": "http",
                          "backend_port": 80
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "list-load-balancer-forwarding-rules",
        "description": "List the fowarding rules for a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Forwarding Rule",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"frontend_protocol\" : \"http\",\n    \"frontend_port\" : 8080,\n    \"backend_protocol\" : \"http\",\n    \"backend_port\" : 80\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "create-load-balancer-forwarding-rules",
        "description": "Create a new forwarding rule for a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "frontend_protocol": {
                    "type": "string",
                    "description": "The protocol on the Load Balancer to forward to the backend.\n\n* HTTP\n* HTTPS\n* TCP"
                  },
                  "frontend_port": {
                    "type": "integer",
                    "description": "The port number on the Load Balancer to forward to the backend."
                  },
                  "backend_protocol": {
                    "type": "string",
                    "description": "The protocol destination on the backend server.\n\n* HTTP\n* HTTPS\n* TCP"
                  },
                  "backend_port": {
                    "type": "integer",
                    "description": "The port number destination on the backend server."
                  }
                },
                "required": [
                  "frontend_protocol",
                  "frontend_port",
                  "backend_protocol",
                  "backend_port"
                ]
              },
              "examples": {
                "response": {
                  "value": {
                    "frontend_protocol": "http",
                    "frontend_port": 8080,
                    "backend_protocol": "http",
                    "backend_port": 80
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "load-balancer-id",
          "in": "path",
          "required": true,
          "description": "The [Load Balancer id](#operation/list-load-balancers)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "forwarding-rule-id",
          "in": "path",
          "required": true,
          "description": "The [Forwarding Rule id](#operation/list-load-balancer-forwarding-rules)."
        }
      ],
      "get": {
        "summary": "Get Forwarding Rule",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "forwarding_rule": {
                      "$ref": "#/components/schemas/forwarding-rule"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "forwarding_rule": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "frontend_protocol": "http",
                        "frontend_port": 8080,
                        "backend_protocol": "http",
                        "backend_port": 80
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "get-load-balancer-forwarding-rule",
        "description": "Get information for a Forwarding Rule on a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Forwarding Rule",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity"
          }
        },
        "operationId": "delete-load-balancer-forwarding-rule",
        "description": "Delete a Forwarding Rule on a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/logs": {
      "get": {
        "summary": "List Logs",
        "tags": [
          "logs"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/logs\"\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "operationId": "list-logs",
        "description": "List the Logs for your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "logs": {
                      "type": "array",
                      "description": "Maximum of 5,000 log records returned per request",
                      "items": {
                        "$ref": "#/components/schemas/log"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/log-meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "logs": [
                        {
                          "resource_id": "xb671a46-66ed-4dfb-b839-543f2c6c0b63",
                          "resource_type": "instances",
                          "log_level": "debug",
                          "message": "Success",
                          "timestamp": "2025-06-26T16:45:06+00:00",
                          "metadata": {}
                        }
                      ],
                      "meta": {
                        "next_page_url": "https://api.vultr.com/v2/logs?end_time=2025-09-18T10:21:20Z&start_time=2025-09-18T00:00:00Z&resource_type=kubernetes",
                        "continue_time": "2025-06-26T12:24:03Z",
                        "returned_count": 5000,
                        "unreturned_count": 3524,
                        "total_count": 8524
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "start_time",
            "description": "A UTC timestamp for the start of the time period from which to return logs. `start_time` is an inclusive endpoint. Logs with a timestamp equal to, or after `start_time` are included in the response<br>\n<span style=\"color: red\">This field is required if the end_time field is not provided.</span></br>\n**Expected Format:** yyyy-mm-ddThh:mm:ssZ<br>\n**EX:** `2025-06-26T00:00:00Z`<br>\n*start_time must be after to the date added for start_time*<br>\n*start_time and end_time may not be more than 30 days and 1 hour apart*<br>\n*If no start_time is provided a time 30 days and 1 hour prior to the end_time will be used by default*\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "end_time",
            "description": "A UTC timestamp for the end of the time period from which to return logs. `end_time` is an exclusive endpoint.  Only logs with a timestamp before the `end_time` are included in the response. <br>\n<span style=\"color: red\">This field is required if the start_time field is not provided.</span></br>\n**Expected Format:** yyyy-mm-ddThh:mm:ssZ<br>\n**EX:** `2025-06-26T00:00:00Z`<br>\n*end_time must be before the date added for start_time*<br>\n*start_time and end_time may not be more than 30 days and 1 hour apart*<br>\n*If no end_time is provided the current time will be used  by default*"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "log_level",
            "description": "Filter the logs by the level assigned to the log.\n* `info`\n* `debug`\n* `warning`\n* `error`\n* `critical`"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "resource_type",
            "description": "Filter the logs by the type of a resource such as an instances, bare-metals, kubernetes, etc.<br>\n*resource_type must be an exact match to the value of the resource type set in the log.*\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "resource_id",
            "description": "Filter the logs by the UUID of a specific resource such as an instance."
          }
        ]
      }
    },
    "/plans": {
      "get": {
        "summary": "List Plans",
        "tags": [
          "plans"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/plans\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "plans": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/plans"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "plans": [
                        {
                          "id": "vhf-8c-32gb",
                          "vcpu_count": 8,
                          "ram": 32768,
                          "disk": 512,
                          "disk_count": 1,
                          "bandwidth": 6144,
                          "monthly_cost": 192,
                          "type": "vhf",
                          "locations": [
                            "sea"
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-plans",
        "description": "Get a list of all VPS plans at Vultr.\n\nThe response is an array of JSON `plan` objects, with unique `id` with sub-fields in the general format of:\n\n  <type>-<number of cores>-<memory size>-<optional modifier>\n\nFor example: `vc2-24c-96gb-sc1`\n\nMore about the sub-fields:\n\n* `<type>`: The Vultr type code. For example, `vc2`, `vhf`, `vdc`, etc.\n* `<number of cores>`: The number of cores, such as `4c` for \"4 cores\", `8c` for \"8 cores\", etc.\n* `<memory size>`: Size in GB, such as `32gb`.\n* `<optional modifier>`: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges.\n\n> Note: This information about plan id format is for general education. Vultr may change the sub-field format or values at any time. You should not attempt to parse the plan ID sub-fields in your code for any specific purpose.\n",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "type",
            "description": "Filter the results by type.\n\n| **Type** | **Description** |\n|----------|-----------------|\n| all | All available types |\n| vc2 | Cloud Compute |\n| vdc | Dedicated Cloud |\n| vhf | High Frequency Compute |\n| vhp | High Performance |\n| voc | All Optimized Cloud types |\n| voc-g | General Purpose Optimized Cloud |\n| voc-c | CPU Optimized Cloud |\n| voc-m | Memory Optimized Cloud |\n| voc-s | Storage Optimized Cloud |\n| vcg | Cloud GPU |"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "os",
            "description": "Filter the results by operating system.\n\n|   | Type | Description |\n| - | ------ | ------------- |\n|   | windows | All available plans that support windows |"
          }
        ],
        "security": []
      }
    },
    "/plans-metal": {
      "get": {
        "summary": "List Bare Metal Plans",
        "tags": [
          "plans"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/plans-metal\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "plans": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/plans-metal"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "bare metal": {
                    "value": {
                      "plans_metal": [
                        {
                          "id": "vbm-4c-32gb",
                          "cpu_count": 4,
                          "cpu_threads": 8,
                          "cpu_model": "E3-1270v6",
                          "ram": 32768,
                          "disk": 240,
                          "disk_count": 2,
                          "bandwidth": 5120,
                          "monthly_cost": 300,
                          "monthly_cost_preemptible": 300,
                          "type": "SSD",
                          "locations": [
                            "ewr"
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "list-metal-plans",
        "description": "Get a list of all Bare Metal plans at Vultr.\n\nThe response is an array of JSON `plan` objects, with unique `id` with sub-fields in the general format of:\n\n  <type>-<number of cores>-<memory size>-<optional modifier>\n\nFor example: `vc2-24c-96gb-sc1`\n\nMore about the sub-fields:\n\n* `<type>`: The Vultr type code. For example, `vc2`, `vhf`, `vdc`, etc.\n* `<number of cores>`: The number of cores, such as `4c` for \"4 cores\", `8c` for \"8 cores\", etc.\n* `<memory size>`: Size in GB, such as `32gb`.\n* `<optional modifier>`: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges.\n\n> Note: This information about plan id format is for general education. Vultr may change the sub-field format or values at any time. You should not attempt to parse the plan ID sub-fields in your code for any specific purpose.\n",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "security": []
      }
    },
    "/bare-metals": {
      "get": {
        "summary": "List Bare Metal Instances",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bare_metals": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/baremetal-get"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "bare metal": {
                    "value": {
                      "bare_metals": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "os": "Application",
                          "ram": "32768 MB",
                          "disk": "2x 240GB SSD",
                          "main_ip": "192.0.2.123",
                          "cpu_count": 4,
                          "region": "ams",
                          "default_password": "example-password",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "status": "active",
                          "netmask_v4": "255.255.254.0",
                          "gateway_v4": "192.0.2.1",
                          "plan": "vbm-4c-32gb",
                          "v6_network": "2001:0db8:5001:3990::",
                          "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
                          "v6_network_size": 64,
                          "label": "Example Bare Metal",
                          "internal_ip": "",
                          "vpcs": [
                            {
                              "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                              "version": 1,
                              "subnet": "10.1.96.3"
                            }
                          ],
                          "mac_address": 2199756823533,
                          "os_id": 186,
                          "app_id": 3,
                          "image_id": "",
                          "snapshot_id": "",
                          "features": [
                            "ipv6"
                          ],
                          "tags": [
                            "a tag",
                            "another"
                          ],
                          "user_scheme": "root",
                          "mdisk_mode": "raid1"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-baremetals",
        "description": "List all Bare Metal instances in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create Bare Metal Instance",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ams\",\n    \"plan\" : \"vbm-4c-32gb\",\n    \"label\" : \"Example Bare Metal\",\n    \"app_id\" : 3,\n    \"enable_ipv6\" : true\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "baremetal": {
                      "$ref": "#/components/schemas/baremetal"
                    }
                  }
                },
                "examples": {
                  "bare metal": {
                    "value": {
                      "bare_metal": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Application",
                        "ram": "32768 MB",
                        "disk": "2x 240GB SSD",
                        "main_ip": "",
                        "cpu_count": 4,
                        "region": "ams",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "pending",
                        "netmask_v4": "",
                        "gateway_v4": "",
                        "plan": "vbm-4c-32gb",
                        "v6_network": "",
                        "v6_main_ip": "",
                        "v6_network_size": 0,
                        "label": "Example Bare Metal",
                        "mac_address": 2199756823533,
                        "tag": "Example Tag",
                        "tags": [
                          "Another tag"
                        ],
                        "os_id": 186,
                        "app_id": 3,
                        "image_id": "",
                        "snapshot_id": "",
                        "features": [
                          "ipv6"
                        ],
                        "user_scheme": "root",
                        "mdisk_mode": "raid1"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-baremetal",
        "description": "Create a new Bare Metal instance in a `region` with the desired `plan`. Choose one of the following to deploy the instance:\n\n* `os_id`\n* `snapshot_id`\n* `app_id`\n* `image_id`\n\nSupply other attributes as desired.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) to create the instance."
                  },
                  "plan": {
                    "type": "string",
                    "description": "The [Bare Metal plan id](#operation/list-metal-plans) to use for this instance."
                  },
                  "script_id": {
                    "type": "string",
                    "description": "The [Startup Script id](#operation/list-startup-scripts) to use for this instance."
                  },
                  "enable_ipv6": {
                    "type": "boolean",
                    "description": "Enable IPv6.\n\n* true"
                  },
                  "sshkey_id": {
                    "type": "array",
                    "description": "The [SSH Key id](#operation/list-ssh-keys) to install on this instance.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) for this Instance."
                  },
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "activation_email": {
                    "type": "boolean",
                    "description": "Notify by email after deployment.\n\n* true\n* false (default)"
                  },
                  "hostname": {
                    "type": "string",
                    "description": "The user-supplied hostname to use when deploying this instance."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Use `tags` instead. The user-supplied tag.",
                    "deprecated": true
                  },
                  "reserved_ipv4": {
                    "type": "string",
                    "description": "The [Reserved IP id](#operation/list-reserved-ips) for this instance."
                  },
                  "os_id": {
                    "type": "integer",
                    "description": "If supplied, deploy the instance using this [Operating System id](#operation/list-os)."
                  },
                  "snapshot_id": {
                    "type": "string",
                    "description": "If supplied, deploy the instance using this [Snapshot ID](#operation/list-snapshots)."
                  },
                  "app_id": {
                    "type": "integer",
                    "description": "If supplied, deploy the instance using this [Application id](#operation/list-applications)."
                  },
                  "image_id": {
                    "type": "string",
                    "description": "If supplied, deploy the instance using this [Application image_id](#operation/list-applications)."
                  },
                  "ipxe_chain_url": {
                    "type": "string",
                    "description": "The URL location of the iPXE chainloader. If used, `os_id` must be set to 159."
                  },
                  "persistent_pxe": {
                    "type": "boolean",
                    "description": "Enable persistent PXE.\n\n* true\n* false (default)"
                  },
                  "attach_vpc2": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpc2) to attach to this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "detach_vpc2": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpc2) to detach from this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "enable_vpc2": {
                    "type": "boolean",
                    "description": "If `true`, VPC 2.0 support will be added to the new server.\n\nThis parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created.\n\nIf there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network.",
                    "deprecated": true
                  },
                  "tags": {
                    "type": "array",
                    "description": "Tags to apply to the instance.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "user_scheme": {
                    "type": "string",
                    "description": "Linux-only: The user scheme used for logging into this instance. By default, the \"root\" user is configured. Alternatively, a limited user with sudo permissions can be selected.\n\n* root\n* limited"
                  },
                  "mdisk_mode": {
                    "type": "string",
                    "description": "The RAID configuration used for the disks on this instance. The instance must be reinstalled for this change to take effect.\n\n* raid1\n* jbod\n* none (default)"
                  },
                  "app_variables": {
                    "type": "object",
                    "description": "The [app variable inputs](#operation/list-marketplace-app-variables) for configuring the marketplace app (name/value pairs)."
                  }
                },
                "required": [
                  "region",
                  "plan"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ams",
                    "plan": "vbm-4c-32gb",
                    "label": "Example Bare Metal",
                    "app_id": 3,
                    "enable_ipv6": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "parameters": []
    },
    "/bare-metals/{baremetal-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Get Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bare_metal": {
                      "$ref": "#/components/schemas/baremetal-get"
                    }
                  }
                },
                "examples": {
                  "bare-metal": {
                    "value": {
                      "bare_metal": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Application",
                        "ram": "32768 MB",
                        "disk": "2x 240GB SSD",
                        "main_ip": "192.0.2.123",
                        "cpu_count": 4,
                        "region": "ams",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "pending",
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "plan": "vbm-4c-32gb",
                        "v6_network": "2001:0db8:5001:3990::",
                        "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
                        "v6_network_size": 64,
                        "mac_address": 2199756823533,
                        "label": "Example Bare Metal",
                        "internal_ip": "",
                        "vpcs": [
                          {
                            "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                            "version": 1,
                            "subnet": "10.1.96.3"
                          }
                        ],
                        "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344",
                        "os_id": 183,
                        "app_id": 3,
                        "image_id": "",
                        "snapshot_id": "",
                        "features": [
                          "ipv6"
                        ],
                        "tags": [
                          "a tag",
                          "another"
                        ],
                        "user_scheme": "root"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-baremetal",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get information for a Bare Metal instance."
      },
      "patch": {
        "summary": "Update Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Updated Bare Metal Label\",\n    \"tags\" : [\"a tag\", \"another\"],\n    \"user_data\" : \"QmFzZTY0IEV4YW1wbGUgRGF0YQ==\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bare_metal": {
                      "$ref": "#/components/schemas/baremetal"
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "bare_metal": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Application",
                        "ram": "32768 MB",
                        "disk": "2x 240GB SSD",
                        "main_ip": "192.0.2.123",
                        "cpu_count": 4,
                        "region": "ams",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "pending",
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "plan": "vbm-4c-32gb",
                        "v6_network": "2001:0db8:5001:3990::",
                        "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
                        "v6_network_size": 64,
                        "mac_address": 2199756823533,
                        "label": "Updated Bare Metal Label",
                        "os_id": 183,
                        "app_id": 3,
                        "image_id": "",
                        "snapshot_id": "",
                        "features": [
                          "ipv6"
                        ],
                        "tags": [
                          "a tag",
                          "another"
                        ],
                        "user_scheme": "root",
                        "mdisk_mode": "raid1"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-baremetal",
        "description": "Update a Bare Metal instance. All attributes are optional. If not set, the attributes will retain their original values.\n\n**Note:** Changing `os_id`, `app_id` or `image_id` may take a few extra seconds to complete.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) to attach to this instance."
                  },
                  "label": {
                    "type": "string",
                    "description": "The user-supplied label."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Use `tags` instead. The user-supplied tag.",
                    "deprecated": true
                  },
                  "os_id": {
                    "type": "integer",
                    "description": "If supplied, reinstall the instance using this [Operating System id](#operation/list-os)."
                  },
                  "app_id": {
                    "type": "integer",
                    "description": "If supplied, reinstall the instance using this [Application id](#operation/list-applications)."
                  },
                  "image_id": {
                    "type": "string",
                    "description": "If supplied, reinstall the instance using this [Application image_id](#operation/list-applications)."
                  },
                  "enable_ipv6": {
                    "type": "boolean",
                    "description": "Enable IPv6.\n\n* true"
                  },
                  "attach_vpc2": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpc2) to attach to this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "detach_vpc2": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpc2) to detach from this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "enable_vpc2": {
                    "type": "boolean",
                    "description": "If `true`, VPC 2.0 support will be added to the new server.\n\nThis parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created.\n\nIf there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network.",
                    "deprecated": true
                  },
                  "tags": {
                    "type": "array",
                    "description": "Tags to apply to the instance.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "user_scheme": {
                    "type": "string",
                    "description": "Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect.\n\n* root\n* limited"
                  },
                  "mdisk_mode": {
                    "type": "string",
                    "description": "The RAID configuration used for the disks on this instance. The instance must be reinstalled for this change to take effect.\n\n* raid1\n* jbod\n* none (default)"
                  },
                  "ipxe_chain_url": {
                    "type": "string",
                    "description": "The URL location of the iPXE chainloader."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "Updated Bare Metal Label",
                    "tags": [
                      "a tag",
                      "another"
                    ],
                    "user_data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-baremetal",
        "description": "Delete a Bare Metal instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/ipv4": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Bare Metal IPv4 Addresses",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv4\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ipv4s": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/baremetal-ipv4"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "ipv4s": {
                    "value": {
                      "ipv4s": [
                        {
                          "ip": "192.0.2.123",
                          "netmask": "255.255.254.0",
                          "gateway": "192.0.2.1",
                          "type": "main_ip",
                          "reverse": "192.0.2.123.vultr.com"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-ipv4-baremetal",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the IPv4 information for the Bare Metal instance."
      }
    },
    "/bare-metals/{baremetal-id}/ipv6": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Bare Metal IPv6 Addresses",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv6\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ipv6s": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/baremetal-ipv6"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "ipv6s": {
                    "value": {
                      "ipv6s": [
                        {
                          "ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
                          "network": "2001:0db8:5001:3990::",
                          "network_size": 64,
                          "type": "main_ip"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-ipv6-baremetal",
        "description": "Get the IPv6 information for the Bare Metal instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/ipv4/reverse": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/baremetals)."
        }
      ],
      "post": {
        "summary": "Create Baremetal Reverse IPv4",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv4/reverse\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"192.0.2.123\",\n    \"reverse\" : \"foo.example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-baremetal-reverse-ipv4",
        "description": "Create a reverse IPv4 entry for a Bare Metal Instance. The `ip` and `reverse` attributes are required. ",
        "parameters": [],
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "The IPv4 address."
                  },
                  "reverse": {
                    "type": "string",
                    "description": "The IPv4 reverse entry."
                  }
                },
                "required": [
                  "ip",
                  "reverse"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip": "192.0.2.123",
                    "reverse": "foo.example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/ipv6/reverse": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare metal ID](#operation/baremetals)."
        }
      ],
      "post": {
        "summary": "Create Baremetal Reverse IPv6",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv6/reverse\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"2001:0db8:5:6bb:5400:2ff:fee5:2\",\n    \"reverse\" : \"foo.example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-baremetal-reverse-ipv6",
        "description": "Create a reverse IPv6 entry for a Bare Metal Instance. The `ip` and `reverse` attributes are required. IP address must be in full, expanded format.",
        "parameters": [],
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "The IPv6 address in full, expanded format."
                  },
                  "reverse": {
                    "type": "string",
                    "description": "The IPv6 reverse entry."
                  }
                },
                "required": [
                  "ip",
                  "reverse"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip": "2001:0db8:0005:6bb0:5400:2ff0:fee5:0002",
                    "reverse": "foo.example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/ipv4/reverse/default": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Set Default Reverse DNS Entry",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/reverse/default\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"192.0.2.123\"\n  }'"
          }
        ],
        "operationId": "post-baremetal-instance-id-ipv4-reverse-default",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Set a reverse DNS entry for an IPv4 address",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string"
                  }
                },
                "required": [
                  "ip"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "ip": "192.0.2.123"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "baremetal"
        ]
      }
    },
    "/bare-metals/{baremetal-id}/ipv6/reverse/{ipv6}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "ipv6",
          "in": "path",
          "required": true,
          "description": "The IPv6 address."
        }
      ],
      "delete": {
        "summary": "Delete BareMetal Reverse IPv6",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/baremetal/{baremetal-id}/ipv6/reverse/{ipv6}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "operationId": "delete-baremetal-reverse-ipv6",
        "description": "Delete the reverse IPv6 for a Bare metal instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/start": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Start Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/start\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-baremetal",
        "description": "Start the Bare Metal instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/reboot": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Reboot Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/reboot\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reboot-baremetal",
        "description": "Reboot the Bare Metal instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/reinstall": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Reinstall Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/reinstall\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n  --data '{\n    \"hostname\" : \"my_new_hostname\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bare_metal": {
                      "$ref": "#/components/schemas/baremetal"
                    }
                  }
                },
                "examples": {
                  "bare_metal": {
                    "value": {
                      "bare_metal": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Application",
                        "ram": "32768 MB",
                        "disk": "2x 240GB SSD",
                        "main_ip": "192.0.2.123",
                        "cpu_count": 4,
                        "region": "ams",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "pending",
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "plan": "vbm-4c-32gb",
                        "v6_network": "2001:0db8:5001:3990::",
                        "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
                        "v6_network_size": 64,
                        "label": "Example Bare Metal",
                        "mac_address": 2199756823533,
                        "tag": "Example Tag",
                        "os_id": 183,
                        "app_id": 3,
                        "image_id": "",
                        "snapshot_id": ""
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reinstall-baremetal",
        "description": "Reinstall the Bare Metal instance using an optional `hostname`.\n\n\n**Note:** This action may take some time to complete.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hostname": {
                    "type": "string",
                    "description": "The hostname to use when reinstalling this bare metal server."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "hostname": "my_new_hostname"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/halt": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Halt Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/halt\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "halt-baremetal",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Halt the Bare Metal instance."
      }
    },
    "/bare-metals/{baremetal-id}/bandwidth": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Bare Metal Bandwidth",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/bandwidth\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bandwidth": {
                      "type": "object",
                      "description": "This object will contain objects that represent days in the month (UTC). The date is denoted by the nested objects keys.",
                      "properties": {
                        "2020-10-10": {
                          "$ref": "#/components/schemas/bandwidth"
                        },
                        "2020-10-11": {
                          "$ref": "#/components/schemas/bandwidth"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "bandwidth": {
                    "value": {
                      "bandwidth": {
                        "2020-07-25": {
                          "incoming_bytes": 15989787,
                          "outgoing_bytes": 25327729
                        },
                        "2020-07-26": {
                          "incoming_bytes": 13964112,
                          "outgoing_bytes": 22257069
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-bandwidth-baremetal",
        "description": "Get bandwidth information for the Bare Metal instance.<br><br>The `bandwidth` object in a successful response contains objects representing a day in the month. The date is denoted by the nested object keys. Days begin and end in the UTC timezone. Bandwidth utilization data contained within the date object is refreshed periodically. We do not recommend using this endpoint to gather real-time metrics.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/halt": {
      "post": {
        "summary": "Halt Bare Metals",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/halt\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"baremetal_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"7f6f84ea-8f87-4d9e-af01-ac44db05911c\",\n      \"54a83807-64ce-42e8-a0da-4d6c31c5b93b\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "halt-baremetals",
        "description": "Halt Bare Metals.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baremetal_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "baremetal_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "7f6f84ea-8f87-4d9e-af01-ac44db05911c",
                      "54a83807-64ce-42e8-a0da-4d6c31c5b93b"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/reboot": {
      "post": {
        "summary": "Reboot Bare Metals",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/reboot\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"baremetal_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"54a83807-64ce-42e8-a0da-4d6c31c5b93b\",\n      \"d092ee75-a113-480c-ae2e-e24cc6f588c3\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reboot-bare-metals",
        "description": "Reboot Bare Metals.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baremetal_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "baremetal_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "54a83807-64ce-42e8-a0da-4d6c31c5b93b",
                      "d092ee75-a113-480c-ae2e-e24cc6f588c3"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/start": {
      "post": {
        "summary": "Start Bare Metals",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/start\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"baremetal_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"1d651bd2-b93c-4bb6-8b91-0546fd765f15\",\n      \"c2790719-278d-474c-8dff-cb35d6e5503f\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-bare-metals",
        "description": "Start Bare Metals.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baremetal_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "baremetal_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
                      "c2790719-278d-474c-8dff-cb35d6e5503f"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/user-data": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Get Bare Metal User Data",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/user-data\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user_data": {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "string",
                          "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) attached to this bare metal."
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "user_data": {
                        "data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-bare-metal-userdata",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) for a Bare Metal."
      }
    },
    "/instances": {
      "get": {
        "summary": "List Instances",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instances": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/instance-get"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "instance": {
                    "value": {
                      "instances": [
                        {
                          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                          "os": "CentOS SELinux 8 x64",
                          "ram": 2048,
                          "disk": 55,
                          "main_ip": "192.0.2.123",
                          "vcpu_count": 1,
                          "region": "atl",
                          "plan": "vc2-6c-16gb",
                          "date_created": "2020-10-10T01:56:20+00:00",
                          "status": "active",
                          "allowed_bandwidth": 2000,
                          "netmask_v4": "255.255.252.0",
                          "gateway_v4": "192.0.2.1",
                          "power_status": "running",
                          "server_status": "ok",
                          "v6_network": "2001:0db8:1112:18fb::",
                          "v6_main_ip": "2001:0db8:1112:18fb:0200:00ff:fe00:0000",
                          "v6_network_size": 64,
                          "label": "Example Instance",
                          "internal_ip": "",
                          "vpcs": [
                            {
                              "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                              "version": 1,
                              "subnet": "10.1.96.3"
                            },
                            {
                              "id": "090a49c0-a1a2-4aab-a263-5d58f180c905",
                              "version": 2,
                              "subnet": "10.1.128.3"
                            }
                          ],
                          "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344",
                          "hostname": "my_hostname",
                          "os_id": 215,
                          "app_id": 0,
                          "image_id": "",
                          "snapshot_id": "",
                          "firewall_group_id": "",
                          "features": [
                            "ddos_protection",
                            "ipv6",
                            "auto_backups"
                          ],
                          "tags": [
                            "a tag",
                            "another"
                          ],
                          "user_scheme": "root",
                          "pending_charges": 5.42
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "list-instances",
        "description": "List all VPS instances in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tag",
            "description": "Filter by specific tag.",
            "deprecated": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "label",
            "description": "Filter by label."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "main_ip",
            "description": "Filter by main ip address."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "region",
            "description": "Filter by [Region id](#operation/list-regions)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "firewall_group_id",
            "description": "Filter by [Firewall group id](#operation/list-firewall-groups)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "hostname",
            "description": "Filter by hostname."
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "show_pending_charges",
            "description": "Set to `true` to show pending charges."
          }
        ]
      },
      "post": {
        "summary": "Create Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"plan\" : \"vc2-6c-16gb\",\n    \"label\" : \"Example Instance\",\n    \"os_id\" : 215,\n    \"user_data\" : \"QmFzZTY0IEV4YW1wbGUgRGF0YQ==\",\n    \"backups\" : \"enabled\",\n    \"hostname\": \"my_hostname\",\n    \"tags\": [\n      \"a tag\",\n      \"another\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instance": {
                      "$ref": "#/components/schemas/instance"
                    }
                  }
                },
                "examples": {
                  "instance": {
                    "value": {
                      "instance": {
                        "id": "4f0f12e5-1f84-404f-aa84-85f431ea5ec2",
                        "os": "CentOS 8 Stream",
                        "ram": 1024,
                        "disk": 0,
                        "main_ip": "0.0.0.0",
                        "vcpu_count": 1,
                        "region": "ewr",
                        "plan": "vc2-1c-1gb",
                        "date_created": "2021-09-14T13:22:20+00:00",
                        "status": "pending",
                        "allowed_bandwidth": 1000,
                        "netmask_v4": "",
                        "gateway_v4": "0.0.0.0",
                        "power_status": "running",
                        "server_status": "none",
                        "v6_network": "",
                        "v6_main_ip": "",
                        "v6_network_size": 0,
                        "label": "",
                        "internal_ip": "",
                        "kvm": "",
                        "hostname": "my_hostname",
                        "os_id": 401,
                        "app_id": 0,
                        "image_id": "",
                        "snapshot_id": "",
                        "firewall_group_id": "",
                        "features": [],
                        "default_password": "v5{Fkvb#2ycPGwHs",
                        "tags": [
                          "a tag",
                          "another"
                        ],
                        "user_scheme": "root"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-instance",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Instance is located."
                  },
                  "plan": {
                    "type": "string",
                    "description": "The [Plan id](#operation/list-plans) to use when deploying this instance."
                  },
                  "os_id": {
                    "type": "integer",
                    "description": "The [Operating System id](#operation/list-os) to use when deploying this instance."
                  },
                  "ipxe_chain_url": {
                    "type": "string",
                    "description": "The URL location of the iPXE chainloader."
                  },
                  "iso_id": {
                    "type": "string",
                    "description": "The [ISO id](#operation/list-isos) to use when deploying this instance."
                  },
                  "script_id": {
                    "type": "string",
                    "description": "The [Startup Script id](#operation/list-startup-scripts) to use when deploying this instance."
                  },
                  "snapshot_id": {
                    "type": "string",
                    "description": "The [Snapshot id](#operation/list-snapshots) to use when deploying the instance."
                  },
                  "enable_ipv6": {
                    "type": "boolean",
                    "description": "Enable IPv6.\n\n* true"
                  },
                  "disable_public_ipv4": {
                    "type": "boolean",
                    "description": "Don't set up a public IPv4 address when IPv6 is enabled. Will not do anything unless `enable_ipv6` is also `true`.\n\n* true"
                  },
                  "attach_private_network": {
                    "type": "array",
                    "description": "Use `attach_vpc` instead. An array of [Private Network ids](#operation/list-networks) to attach to this Instance. This parameter takes precedence over `enable_private_network`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "attach_vpc": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpcs) to attach to this Instance. This parameter takes precedence over `enable_vpc`. Please choose one parameter.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "attach_vpc2": {
                    "type": "array",
                    "description": "Use `attach_vpc` instead. An array of [VPC IDs](#operation/list-vpc2) to attach to this Instance. This parameter takes precedence over `enable_vpc2`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this instance."
                  },
                  "sshkey_id": {
                    "type": "array",
                    "description": "The [SSH Key id](#operation/list-ssh-keys) to install on this instance.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "backups": {
                    "type": "string",
                    "description": "Enable automatic backups for the instance (does not work for VX1 block storage).\n\n* enabled\n* disabled"
                  },
                  "block_devices": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "Available for VX1 instances: Define your block devices, create bootable block devices, use local storage (if plan has local storage) as scratch disk.\nLocal Only:\n```\n\"block_devices\": [\n  {\n    \"block_id\": \"local\",\n    \"bootable\": true\n  }\n]\n```\nLocal Boot + New Block:\n```\n\"block_devices\": [\n  {\n    \"block_id\": \"local\",\n    \"bootable\": true\n  },\n  {\n    \"disk_size\": 50,\n    \"label\": \"New Block Label\"\n  }\n]\n```\nBootable Block (new):\n```\n\"block_devices\": [\n  {\n    \"disk_size\": 50,\n    \"label\": \"New Bootable Block\",\n    \"bootable\": true\n  }\n]\n```\nBootable Block (existing):\n```\n\"block_devices\": [\n  {\n    \"block_id\": \"BLOCK_DEVICE_UUID\",\n    \"bootable\": true\n  }\n]\n```\nBootable Block (existing) and Local NVMe:\n```\n\"block_devices\": [\n  {\n    \"block_id\": \"local\"\n  },\n  {\n    \"block_id\": \"BLOCK_DEVICE_UUID\",\n    \"bootable\": true\n  }\n]\n```"
                  },
                  "app_id": {
                    "type": "integer",
                    "description": "The [Application id](#operation/list-applications) to use when deploying this instance."
                  },
                  "image_id": {
                    "type": "string",
                    "description": "The [Application image_id](#operation/list-applications) to use when deploying this instance."
                  },
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) to attach to this instance."
                  },
                  "ddos_protection": {
                    "type": "boolean",
                    "description": "Enable DDoS protection (there is an additional charge for this).\n\n* true\n* false"
                  },
                  "activation_email": {
                    "type": "boolean",
                    "description": "Notify by email after deployment.\n\n* true\n* false (default)"
                  },
                  "hostname": {
                    "type": "string",
                    "description": "The hostname to use when deploying this instance."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Use `tags` instead. The user-supplied tag.",
                    "deprecated": true
                  },
                  "firewall_group_id": {
                    "type": "string",
                    "description": "The [Firewall Group id](#operation/list-firewall-groups) to attach to this Instance."
                  },
                  "reserved_ipv4": {
                    "type": "string",
                    "description": "ID of the floating IP to use as the main IP of this server."
                  },
                  "enable_private_network": {
                    "type": "boolean",
                    "description": "Use `enable_vpc` instead.\n\nIf `true`, private networking support will be added to the new server.\n\nThis parameter attaches a single network. When no network exists in the region, it will be automatically created.\n\nIf there are multiple private networks in the instance's region, use `attach_private_network` instead to specify a network.",
                    "deprecated": true
                  },
                  "enable_vpc": {
                    "type": "boolean",
                    "description": "If `true`, VPC support will be added to the new server.\n\nThis parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created.\n\nIf there are multiple VPCs in the instance's region, use `attach_vpc` instead to specify a network."
                  },
                  "enable_vpc2": {
                    "type": "boolean",
                    "description": "Use `enable_vpc` instead.\n\nIf `true`, VPC 2.0 support will be added to the new server.\n\nThis parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created.\n\nIf there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a network.",
                    "deprecated": true
                  },
                  "tags": {
                    "type": "array",
                    "description": "Tags to apply to the instance",
                    "items": {
                      "type": "string"
                    }
                  },
                  "user_scheme": {
                    "type": "string",
                    "description": "Linux-only: The user scheme used for logging into this instance. By default, the \"root\" user is configured. Alternatively, a limited user with sudo permissions can be selected.\n\n* root\n* limited"
                  },
                  "app_variables": {
                    "type": "object",
                    "description": "The [app variable inputs](#operation/list-marketplace-app-variables) for configuring the marketplace app (name/value pairs)."
                  }
                },
                "required": [
                  "region",
                  "plan"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ewr",
                    "plan": "vc2-6c-16gb",
                    "label": "Example Instance",
                    "os_id": 215,
                    "user_data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ==",
                    "backups": "enabled",
                    "hostname": "my_hostname",
                    "tags": [
                      "a tag",
                      "another"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new VPS Instance in a `region` with the desired `plan`. Choose one of the following to deploy the instance:\n\n* `os_id`\n* `iso_id`\n* `snapshot_id`\n* `app_id`\n* `image_id`\n\nSupply other attributes as desired."
      }
    },
    "/instances/{instance-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instance": {
                      "$ref": "#/components/schemas/instance-get"
                    }
                  }
                },
                "examples": {
                  "instance": {
                    "value": {
                      "instance": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Ubuntu 20.04 x64",
                        "ram": 16384,
                        "disk": 384,
                        "main_ip": "192.0.2.123",
                        "vcpu_count": 4,
                        "region": "ewr",
                        "plan": "vc2-6c-16gb",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "active",
                        "allowed_bandwidth": 5000,
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "power_status": "running",
                        "server_status": "ok",
                        "v6_network": "",
                        "v6_main_ip": "",
                        "v6_network_size": 0,
                        "label": "Example Instance",
                        "internal_ip": "",
                        "vpcs": [
                          {
                            "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                            "version": 1,
                            "subnet": "10.1.96.3"
                          },
                          {
                            "id": "090a49c0-a1a2-4aab-a263-5d58f180c905",
                            "version": 2,
                            "subnet": "10.1.128.3"
                          }
                        ],
                        "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344",
                        "hostname": "my_hostname",
                        "os_id": 215,
                        "app_id": 0,
                        "image_id": "",
                        "snapshot_id": "",
                        "firewall_group_id": "",
                        "features": [
                          "ddos_protection",
                          "ipv6",
                          "auto_backups"
                        ],
                        "tags": [
                          "a tag",
                          "another"
                        ],
                        "user_scheme": "root",
                        "pending_charges": 5.42
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance",
        "description": "Get information about an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"Example Instance\",\n    \"tags\" : [\"a tag\", \"another\"],\n    \"plan\" : \"vc2-24c-97gb\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instance": {
                      "$ref": "#/components/schemas/instance"
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "instance": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Ubuntu 20.04 x64",
                        "ram": 16384,
                        "disk": 384,
                        "main_ip": "192.0.2.123",
                        "vcpu_count": 4,
                        "region": "ewr",
                        "plan": "vc2-24c-97gb",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "active",
                        "allowed_bandwidth": 5000,
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "power_status": "running",
                        "server_status": "ok",
                        "v6_network": "",
                        "v6_main_ip": "",
                        "v6_network_size": 0,
                        "label": "Example Instance",
                        "internal_ip": "",
                        "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344",
                        "hostname": "my_hostname",
                        "os_id": 215,
                        "app_id": 0,
                        "image_id": "",
                        "snapshot_id": "",
                        "firewall_group_id": "",
                        "features": [
                          "ddos_protection",
                          "ipv6",
                          "auto_backups"
                        ],
                        "tags": [
                          "a tag",
                          "another"
                        ],
                        "user_scheme": "root"
                      },
                      "job_ids": [
                        "b3123d06-ec83-456c-ac71-ae8c4bc95e18"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-instance",
        "description": "Update information for an Instance. All attributes are optional. If not set, the attributes will retain their original values.\n\n**Note:** Changing `os_id`, `app_id` or `image_id` may take a few extra seconds to complete.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "app_id": {
                    "type": "integer",
                    "description": "Reinstall the instance with this [Application id](#operation/list-applications)."
                  },
                  "image_id": {
                    "type": "string",
                    "description": "Reinstall the instance with this [Application image_id](#operation/list-applications)."
                  },
                  "backups": {
                    "description": "Enable automatic backups for the instance.\n\n* enabled\n* disabled",
                    "type": "string"
                  },
                  "firewall_group_id": {
                    "type": "string",
                    "description": "The [Firewall Group id](#operation/list-firewall-groups) to attach to this Instance."
                  },
                  "enable_ipv6": {
                    "type": "boolean",
                    "description": "Enable IPv6.\n\n* true"
                  },
                  "os_id": {
                    "type": "string",
                    "description": "Reinstall the instance with this [ISO id](#operation/list-isos)."
                  },
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) to attach to this instance."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Use `tags` instead. The user-supplied tag.",
                    "deprecated": true
                  },
                  "plan": {
                    "type": "string",
                    "description": "Upgrade the instance with this [Plan id](#operation/list-plans)."
                  },
                  "ddos_protection": {
                    "description": "Enable DDoS Protection (there is an additional charge for this).\n\n* true\n* false",
                    "type": "boolean"
                  },
                  "attach_private_network": {
                    "type": "array",
                    "description": "Use `attach_vpc` instead. An array of [Private Network ids](#operation/list-networks) to attach to this Instance. This parameter takes precedence over `enable_private_network`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "attach_vpc": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpcs) to attach to this Instance. This parameter takes precedence over `enable_vpc`. Please choose one parameter.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "attach_vpc2": {
                    "type": "array",
                    "description": "Use `attach_vpc` instead. An array of [VPC IDs](#operation/list-vpc2) to attach to this Instance. This parameter takes precedence over `enable_vpc2`. Please choose one parameter.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "detach_private_network": {
                    "type": "array",
                    "description": "Use `detach_vpc` instead. An array of [Private Network ids](#operation/list-networks) to detach from this Instance. This parameter takes precedence over `enable_private_network`.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "detach_vpc": {
                    "type": "array",
                    "description": "An array of [VPC IDs](#operation/list-vpcs) to detach from this Instance. This parameter takes precedence over `enable_vpc`.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "detach_vpc2": {
                    "type": "array",
                    "description": "Use `detach_vpc` instead. An array of [VPC IDs](#operation/list-vpc2) to detach from this Instance. This parameter takes precedence over `enable_vpc2`.",
                    "deprecated": true,
                    "items": {
                      "type": "string"
                    }
                  },
                  "enable_private_network": {
                    "type": "boolean",
                    "description": "Use `enable_vpc` instead.\n\nIf `true`, private networking support will be added to the new server.\n\nThis parameter attaches a single network. When no network exists in the region, it will be automatically created.\n\nIf there are multiple private networks in the instance's region, use `attach_private_network` instead to specify a network.",
                    "deprecated": true
                  },
                  "enable_vpc": {
                    "type": "boolean",
                    "description": "If `true`, VPC support will be added to the new server.\n\nThis parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created.\n\nIf there are multiple VPCs in the instance's region, use `attach_vpc` instead to specify a VPC."
                  },
                  "enable_vpc2": {
                    "type": "boolean",
                    "description": "Use `enable_vpc` instead.\n\nIf `true`, VPC 2.0 support will be added to the new server.\n\nThis parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created.\n\nIf there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network.",
                    "deprecated": true
                  },
                  "label": {
                    "type": "string",
                    "description": "The user supplied label."
                  },
                  "tags": {
                    "type": "array",
                    "description": "Tags to apply to the instance.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "user_scheme": {
                    "type": "string",
                    "description": "Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect.\n\n* root\n* limited"
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "Example Instance",
                    "tags": [
                      "a tag",
                      "another"
                    ],
                    "plan": "vc2-24c-97gb"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-instance",
        "description": "Delete an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/halt": {
      "post": {
        "summary": "Halt Instances",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/halt\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"1d651bd2-b93c-4bb6-8b91-0546fd765f15\",\n      \"c2790719-278d-474c-8dff-cb35d6e5503f\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "halt-instances",
        "description": "Halt Instances.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_ids": {
                    "type": "array",
                    "description": "The [Instance IDs](#operation/list-instances) to halt.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "instance_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
                      "c2790719-278d-474c-8dff-cb35d6e5503f"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/reboot": {
      "post": {
        "summary": "Reboot instances",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/reboot\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"1d651bd2-b93c-4bb6-8b91-0546fd765f15\",\n      \"c2790719-278d-474c-8dff-cb35d6e5503f\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reboot-instances",
        "description": "Reboot Instances.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_ids": {
                    "type": "array",
                    "description": "The [Instance IDs](#operation/list-instances) to reboot.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "instance_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
                      "c2790719-278d-474c-8dff-cb35d6e5503f"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/start": {
      "post": {
        "summary": "Start instances",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/start\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"instance_ids\" : [\n      \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\",\n      \"1d651bd2-b93c-4bb6-8b91-0546fd765f15\",\n      \"c2790719-278d-474c-8dff-cb35d6e5503f\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-instances",
        "description": "Start Instances.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instance_ids": {
                    "type": "array",
                    "description": "The [Instance IDs](#operation/list-instances) to start.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "instance_ids": [
                      "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                      "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
                      "c2790719-278d-474c-8dff-cb35d6e5503f"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/{instance-id}/start": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Start instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/start\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-instance",
        "description": "Start an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/reboot": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Reboot Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/reboot\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reboot-instance",
        "description": "Reboot an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/reinstall": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Reinstall Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/reinstall\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"hostname\" : \"my_new_hostname\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instance": {
                      "$ref": "#/components/schemas/instance"
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "instance": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "os": "Ubuntu 20.04 x64",
                        "ram": 16384,
                        "disk": 384,
                        "main_ip": "192.0.2.123",
                        "vcpu_count": 4,
                        "region": "ewr",
                        "plan": "vc2-6c-16gb",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "status": "active",
                        "allowed_bandwidth": 5000,
                        "netmask_v4": "255.255.254.0",
                        "gateway_v4": "192.0.2.1",
                        "power_status": "running",
                        "server_status": "ok",
                        "v6_network": "",
                        "v6_main_ip": "",
                        "v6_network_size": 0,
                        "label": "Example Instance",
                        "internal_ip": "",
                        "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344",
                        "hostname": "my_new_hostname",
                        "tag": "Example Tag",
                        "os_id": 215,
                        "app_id": 0,
                        "image_id": "",
                        "snapshot_id": "",
                        "firewall_group_id": "",
                        "features": [
                          "ddos_protection",
                          "ipv6",
                          "auto_backups"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "reinstall-instance",
        "description": "Reinstall an Instance using an optional `hostname`.\n\n**Note:** This action may take a few extra seconds to complete.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hostname": {
                    "type": "string",
                    "description": "The hostname to use when reinstalling this instance."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "hostname": "my_new_hostname"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/bandwidth": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        },
        {
          "schema": {
            "type": "integer"
          },
          "in": "query",
          "name": "date_range",
          "description": "The range of days to include, represented as the number of days relative to the current date. Default 30, Minimum 1 and Max 180."
        }
      ],
      "get": {
        "summary": "Instance Bandwidth",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/bandwidth\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bandwidth": {
                      "type": "object",
                      "description": "This object will contain objects that represent days in the month (UTC). The date is denoted by the nested objects keys.",
                      "properties": {
                        "2020-10-10": {
                          "$ref": "#/components/schemas/bandwidth"
                        },
                        "2020-10-11": {
                          "$ref": "#/components/schemas/bandwidth"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "bandwidth": {
                    "value": {
                      "bandwidth": {
                        "2020-07-25": {
                          "incoming_bytes": 15989787,
                          "outgoing_bytes": 25327729
                        },
                        "2020-07-26": {
                          "incoming_bytes": 13964112,
                          "outgoing_bytes": 22257069
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-bandwidth",
        "description": "Get bandwidth information about an Instance.<br><br>The `bandwidth` object in a successful response contains objects representing a day in the month. The date is denoted by the nested object keys. Days begin and end in the UTC timezone. The bandwidth utilization data contained within the date object is refreshed periodically. We do not recommend using this endpoint to gather real-time metrics.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/neighbors": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Instance neighbors",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/neighbors\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "neighbors": {
                      "type": "array",
                      "description": "An array of [Instance ids](#operation/list-instances) in the same location as this Instance.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "neighbors": [
                        "478dbfe7-43f8-4dc8-940c-8bb61f547400",
                        "a8047e6b-16bd-42be-8351-58df7e5ab89c"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-neighbors",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get a list of other instances in the same location as this Instance."
      }
    },
    "/instances/{instance-id}/private-networks": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "List instance Private Networks",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/private-networks\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "private_networks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/private-networks"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "private_networks": [
                        {
                          "network_id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
                          "mac_address": "00:00:5e:00:53:5e",
                          "ip_address": "10.99.0.123"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-instance-private-networks",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "**Deprecated**: use [List Instance VPCs](#operation/list-instance-vpcs) instead.<br><br>List the private networks for an Instance.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ],
        "deprecated": true
      }
    },
    "/instances/{instance-id}/vpcs": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "List instance VPCs",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpcs\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/instance-vpc"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
                          "mac_address": "00:00:5e:00:53:5e",
                          "ip_address": "10.99.0.123"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-instance-vpcs",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List the VPCs for an Instance.",
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      }
    },
    "/instances/{instance-id}/vpc2": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "List Instance VPC 2.0 Networks",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpc2\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/instance-vpc2"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
                          "mac_address": "00:00:5e:00:53:5e",
                          "ip_address": "10.99.0.123"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-instance-vpc2",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List the VPC 2.0 networks for an Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [List Instance VPCs](#operation/list-instance-vpcs) instead.",
        "deprecated": true,
        "parameters": [
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      }
    },
    "/instances/{instance-id}/iso": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Instance ISO Status",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/iso\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iso_status": {
                      "type": "object",
                      "properties": {
                        "iso_id": {
                          "description": "The [ISO id](#operation/list-isos).",
                          "type": "string"
                        },
                        "state": {
                          "type": "string",
                          "description": "The status of this ISO.\n* ready\n* attached"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "iso_status": {
                        "state": "ready",
                        "iso_id": "0532a75b-14e8-48b8-b27e-1ebcf382a804"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-iso-status",
        "description": "Get the ISO status for an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/iso/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true
        }
      ],
      "post": {
        "summary": "Attach ISO to Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/iso/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"iso_id\" : \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iso_status": {
                      "type": "object",
                      "properties": {
                        "state": {
                          "type": "string",
                          "description": "State of the ISO\n\n* ismounting"
                        },
                        "iso_id": {
                          "type": "string",
                          "description": "The [ISO id](#operation/list-isos) being attached."
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "iso_status": {
                        "status": "ismounting",
                        "iso_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-instance-iso",
        "description": "Attach an ISO to an Instance.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "iso_id": {
                    "description": "The [ISO id](#operation/list-isos) to attach to this Instance.",
                    "type": "string"
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "iso_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/iso/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Detach ISO from instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/iso/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iso_status": {
                      "type": "object",
                      "properties": {
                        "state": {
                          "type": "string",
                          "description": "State of the ISO\n\n* isunmounting"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "iso_status": {
                        "status": "isunmounting"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-instance-iso",
        "description": "Detach the ISO from an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/private-networks/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Attach Private Network to Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/private-networks/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"network_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-instance-network",
        "description": "Attach Private Network to an Instance.<br><br>**Deprecated**: use [Attach VPC to Instance](#operation/attach-instance-vpc) instead.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_id": {
                    "type": "string",
                    "description": "The [Private Network id](#operation/list-networks) to attach to this Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "deprecated": true
      }
    },
    "/instances/{instance-id}/private-networks/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Detach Private Network from Instance.",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/private-networks/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"network_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-instance-network",
        "description": "Detach Private Network from an Instance.<br><br>**Deprecated**: use [Detach VPC from Instance](#operation/detach-instance-vpc) instead.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_id": {
                    "type": "string",
                    "description": "The [Private Network id](#operation/list-networks) to detach from this Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "deprecated": true
      }
    },
    "/instances/{instance-id}/vpcs/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Attach VPC to Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpcs/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-instance-vpc",
        "description": "Attach a VPC to an Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpcs) to attach to this Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/{instance-id}/vpcs/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Detach VPC from Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpcs/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-instance-vpc",
        "description": "Detach a VPC from an Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpcs) to detach from this Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/{instance-id}/vpc2/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Attach VPC 2.0 Network to Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpc2/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n    \"ip_address\": \"10.1.144.4\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-instance-vpc2",
        "description": "Attach a VPC 2.0 Network to an Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [Attach VPC to Instance](#operation/attach-instance-vpc) instead.",
        "deprecated": true,
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpc2) to attach to this Instance."
                  },
                  "ip_address": {
                    "type": "string",
                    "description": "The IP address to use for this instance on the attached VPC 2.0 network.  "
                  }
                },
                "required": [
                  "vpc_id"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                    "ip_address": "10.1.144.4"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/{instance-id}/vpc2/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Detach VPC 2.0 Network from Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/vpc2/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-instance-vpc2",
        "description": "Detach a VPC 2.0 Network from an Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [Detach VPC from Instance](#operation/detach-instance-vpc) instead.",
        "deprecated": true,
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpc2) to detach from this Instance."
                  }
                },
                "required": [
                  "vpc_id"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/instances/{instance-id}/backup-schedule": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Set Instance Backup Schedule",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/backup-schedule\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"type\": \"daily\",\n    \"hour\": 10,\n    \"dow\": 1,\n    \"dom\": 1\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-instance-backup-schedule",
        "description": "Set the backup schedule for an Instance in UTC. The `type` is required.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "Type of backup schedule:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | daily | Back up once per day at `hour`. |\n|   | weekly | Back up once per week on `dow` at `hour`. |\n|   | monthly | Back up each month at `dom` at `hour`. |\n|   | daily\\_alt\\_even | Back up on even dates at `hour`. |\n|   | daily\\_alt\\_odd | Back up on odd dates at `hour`. |"
                  },
                  "hour": {
                    "description": "Hour of day to run in UTC.",
                    "type": "integer"
                  },
                  "dow": {
                    "description": "Day of week to run.\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | 1 | Sunday |\n|   | 2 | Monday |\n|   | 3 | Tuesday |\n|   | 4 | Wednesday |\n|   | 5 | Thursday |\n|   | 6 | Friday |\n|   | 7 | Saturday |",
                    "type": "integer"
                  },
                  "dom": {
                    "description": "Day of month to run. Use values between 1 and 28.",
                    "type": "integer"
                  }
                },
                "required": [
                  "type"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "type": "daily",
                    "hour": 10,
                    "dow": 1,
                    "dom": 1
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "get": {
        "summary": "Get Instance Backup Schedule",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/backup-schedule\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "backup_schedule": {
                      "$ref": "#/components/schemas/backup-schedule"
                    }
                  }
                },
                "examples": {
                  "backup-schedule": {
                    "value": {
                      "backup_schedule": {
                        "enabled": true,
                        "type": "daily",
                        "next_scheduled_time_utc": "2020-07-28 00:00:00",
                        "hour": 10,
                        "dow": 1,
                        "dom": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-backup-schedule",
        "description": "Get the backup schedule for an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/restore": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Restore Instance",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/restore\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"backup_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "object",
                      "properties": {
                        "restore_type": {
                          "type": "string"
                        },
                        "restore_id": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "status": {
                        "restore_type": "backup_id",
                        "restore_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "status": "inprogress"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "restore-instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "backup_id": {
                    "type": "string",
                    "description": "The [Backup id](#operation/list-backups) used to restore this instance."
                  },
                  "snapshot_id": {
                    "type": "string",
                    "description": "The [Snapshot id](#operation/list-snapshots) used to restore this instance."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "backup_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Restore an Instance from either `backup_id` or `snapshot_id`.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/ipv4": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "List Instance IPv4 Information",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv4\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ipv4s": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/baremetal-ipv4"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "ipv4": {
                    "value": {
                      "ipv4s": [
                        {
                          "ip": "192.0.2.123",
                          "netmask": "255.255.254.0",
                          "gateway": "192.0.2.1",
                          "type": "main_ip",
                          "reverse": "host1.example.com"
                        },
                        {
                          "ip": "203.0.113.123",
                          "netmask": "255.255.255.255",
                          "gateway": "",
                          "type": "secondary_ip",
                          "reverse": "host2.example.com"
                        },
                        {
                          "ip": "10.99.0.123",
                          "netmask": "255.255.0.0",
                          "gateway": "",
                          "type": "private",
                          "reverse": ""
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-ipv4",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List the IPv4 information for an Instance.",
        "parameters": [
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "public_network",
            "description": "If `true`, includes information about the public network adapter (such as MAC address) with the `main_ip` entry."
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500.\n"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      },
      "post": {
        "summary": "Create IPv4",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv4\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"reboot\" : true\n  }'"
          }
        ],
        "operationId": "create-instance-ipv4",
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                },
                "examples": {
                  "example": {
                    "value": {
                      "ipv4": {
                        "ip": "192.0.2.123",
                        "netmask": "255.255.254.0",
                        "gateway": "192.0.2.1",
                        "type": "secondary_ip",
                        "reverse": "192.0.2.123.vultr.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Create an IPv4 address for an Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reboot": {
                    "type": "boolean",
                    "description": "Set if the server is rebooted immediately after the IPv4 address is created.\n\n* true (default)\n* false"
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "reboot": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "instances"
        ]
      }
    },
    "/instances/{instance-id}/ipv6": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Instance IPv6 Information",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv6\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ipv6s": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/baremetal-ipv6"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "ipv6": {
                    "value": {
                      "ipv6s": [
                        {
                          "ip": "2001:0db8:5:6bb:5400:02ff:fee5:3fe3",
                          "network": "2001:0db8:5:6bb::",
                          "network_size": 64,
                          "type": "main_ip"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-ipv6",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the IPv6 information for an VPS Instance."
      }
    },
    "/instances/{instance-id}/ipv6/reverse": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Create Instance Reverse IPv6",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"2001:0db8:5:6bb:5400:2ff:fee5:2\",\n    \"reverse\" : \"foo.example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-instance-reverse-ipv6",
        "description": "Create a reverse IPv6 entry for an Instance. The `ip` and `reverse` attributes are required. IP address must be in full, expanded format.",
        "parameters": [],
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "The IPv6 address in full, expanded format."
                  },
                  "reverse": {
                    "type": "string",
                    "description": "The IPv6 reverse entry."
                  }
                },
                "required": [
                  "ip",
                  "reverse"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip": "2001:0db8:0005:6bb0:5400:2ff0:fee5:0002",
                    "reverse": "foo.example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "get": {
        "summary": "List Instance IPv6 Reverse",
        "operationId": "list-instance-ipv6-reverse",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reverse_ipv6s": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "reverse": {
                            "type": "string",
                            "description": "The IPv6 reverse entry."
                          },
                          "ip": {
                            "type": "string",
                            "description": "The IPv6 address."
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "reverse_ipv6s": [
                        {
                          "ip": "2001:0db8:5:6bb:5400:2ff:fee5:1",
                          "reverse": "foo.example.com"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "description": "List the reverse IPv6 information for an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/ipv4/reverse": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Create Instance Reverse IPv4",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv4/reverse\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"192.0.2.123\",\n    \"reverse\" : \"foo.example.com\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-instance-reverse-ipv4",
        "description": "Create a reverse IPv4 entry for an Instance. The `ip` and `reverse` attributes are required. ",
        "parameters": [],
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "The IPv4 address."
                  },
                  "reverse": {
                    "type": "string",
                    "description": "The IPv4 reverse entry."
                  }
                },
                "required": [
                  "ip",
                  "reverse"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "ip": "192.0.2.123",
                    "reverse": "foo.example.com"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/backups/{backup-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "backup-id",
          "in": "path",
          "required": true,
          "description": "The [Backup id](#operation/list-backups)."
        }
      ],
      "get": {
        "summary": "Get a Backup",
        "tags": [
          "backup"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/backups/{backup-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "backup": {
                      "$ref": "#/components/schemas/backup"
                    }
                  }
                },
                "examples": {
                  "backup": {
                    "value": {
                      "backup": {
                        "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                        "date_created": "2020-10-10T01:56:20+00:00",
                        "description": "Example Description",
                        "size": 10000000,
                        "status": "complete",
                        "os_id": 215,
                        "app_id": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-backup",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the information for the Backup."
      }
    },
    "/instances/{instance-id}/user-data": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Instance User Data",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/user-data\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user_data": {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "string",
                          "description": "The user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) attached to this instance."
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "user_data": {
                        "data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-instance-userdata",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get the user-supplied, base64 encoded [user data](https://docs.vultr.com/manage-instance-user-data-with-the-vultr-metadata-api/) for an Instance."
      }
    },
    "/instances/{instance-id}/halt": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Halt Instance",
        "operationId": "halt-instance",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Halt an Instance.",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/halt\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "instances"
        ]
      }
    },
    "/instances/{instance-id}/ipv4/reverse/default": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "post": {
        "summary": "Set Default Reverse DNS Entry",
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/reverse/default\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"ip\" : \"192.0.2.123\"\n  }'"
          }
        ],
        "operationId": "post-instances-instance-id-ipv4-reverse-default",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Set a reverse DNS entry for an IPv4 address",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "string"
                  }
                },
                "required": [
                  "ip"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "ip": "192.0.2.123"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "tags": [
          "instances"
        ]
      }
    },
    "/instances/{instance-id}/ipv4/{ipv4}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "ipv4",
          "in": "path",
          "required": true,
          "description": "The IPv4 address."
        }
      ],
      "delete": {
        "summary": "Delete IPv4 Address",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv4/{ipv4}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "operationId": "delete-instance-ipv4",
        "description": "Delete an IPv4 address from an Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": []
      }
    },
    "/instances/{instance-id}/ipv6/reverse/{ipv6}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "ipv6",
          "in": "path",
          "required": true,
          "description": "The IPv6 address."
        }
      ],
      "delete": {
        "summary": "Delete Instance Reverse IPv6",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse/{ipv6}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "operationId": "delete-instance-reverse-ipv6",
        "description": "Delete the reverse IPv6 for an Instance.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/instances/{instance-id}/upgrades": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "instance-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "get": {
        "summary": "Get Available Instance Upgrades",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/{instance-id}/upgrades\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upgrades": {
                      "type": "object",
                      "properties": {
                        "applications": {
                          "type": "array",
                          "items": {}
                        },
                        "plans": {
                          "type": "array",
                          "items": {}
                        },
                        "os": {
                          "type": "array",
                          "items": {}
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "upgrades": {
                        "os": [
                          {
                            "id": 900,
                            "name": "Example CentOS 6 x64",
                            "arch": "x64",
                            "family": "centos"
                          },
                          {
                            "id": 901,
                            "name": "Example CentOS 6 i386",
                            "arch": "i386",
                            "family": "centos"
                          }
                        ],
                        "applications": [
                          {
                            "id": 1,
                            "name": "LEMP",
                            "short_name": "lemp",
                            "deploy_name": "LEMP on CentOS 6 x64",
                            "type": "one-click",
                            "vendor": "vultr",
                            "image_id": ""
                          },
                          {
                            "id": 39,
                            "name": "LEMP",
                            "short_name": "lemp",
                            "deploy_name": "LEMP on CentOS 7 x64",
                            "type": "one-click",
                            "vendor": "vultr",
                            "image_id": ""
                          },
                          {
                            "id": 1028,
                            "name": "OpenLiteSpeed WordPress",
                            "short_name": "openlitespeedwordpress",
                            "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
                            "type": "marketplace",
                            "vendor": "LiteSpeed_Technologies",
                            "image_id": "openlitespeed-wordpress"
                          }
                        ],
                        "plans": [
                          "vc2-2c-4gb",
                          "vc2-4c-8gb",
                          "vc2-6c-16gb",
                          "vc2-8c-64gb",
                          "vc2-16c-64gb",
                          "vc2-24c-97gb"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-upgrades",
        "description": "Get available upgrades for an Instance",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "type",
            "description": "Filter upgrade by type:\n\n- all (applications, os, plans)\n- applications\n- os\n- plans"
          }
        ]
      }
    },
    "/instances/jobs/{job-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "job-id",
          "in": "path",
          "required": true,
          "description": "The [Job ID](#operation/update-instance)."
        }
      ],
      "get": {
        "summary": "Get Instance Job",
        "tags": [
          "instances"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/instances/jobs/{job-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "A unique ID for the instance job."
                        },
                        "vps_id": {
                          "type": "string",
                          "description": "ID of the VPS subscription"
                        },
                        "type": {
                          "type": "string",
                          "description": "The type of job performed on the Instance."
                        },
                        "state": {
                          "type": "string",
                          "description": "Current state of the Instance job."
                        },
                        "info": {
                          "type": "string",
                          "description": "Information on the Instance job."
                        },
                        "added_at": {
                          "type": "string",
                          "description": "The date this job was added."
                        },
                        "updated_at": {
                          "type": "string",
                          "description": "The date this job was updated."
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "job": {
                        "id": "b3123d06-ec83-456c-ac71-ae8c4bc95e18",
                        "vps_id": "243f120d-400a-4060-b864-8b21d5b9cc2b",
                        "type": "UPGRADE",
                        "state": "success",
                        "info": "Upgrade completed successfully!",
                        "added_at": "2025-05-05 14:54:34",
                        "updated_at": "2025-05-05 14:54:44"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-instance-job",
        "description": "Get available information for an Instance job",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/upgrades": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Get Available Bare Metal Upgrades",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/upgrades\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upgrades": {
                      "type": "object",
                      "description": "This object will contain the available Bare Metal Upgrades",
                      "properties": {
                        "applications": {
                          "type": "array",
                          "items": {}
                        },
                        "os": {
                          "type": "array",
                          "items": {}
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "upgrades": {
                        "os": [
                          {
                            "id": 127,
                            "name": "CentOS 6 x64",
                            "arch": "x64",
                            "family": "centos"
                          },
                          {
                            "id": 147,
                            "name": "CentOS 6 i386",
                            "arch": "i386",
                            "family": "centos"
                          }
                        ],
                        "applications": [
                          {
                            "id": 1,
                            "name": "LEMP",
                            "short_name": "lemp",
                            "deploy_name": "LEMP on CentOS 6 x64",
                            "type": "one-click",
                            "vendor": "vultr",
                            "image_id": ""
                          },
                          {
                            "id": 39,
                            "name": "LEMP",
                            "short_name": "lemp",
                            "deploy_name": "LEMP on CentOS 7 x64",
                            "type": "one-click",
                            "vendor": "vultr",
                            "image_id": ""
                          },
                          {
                            "id": 1028,
                            "name": "OpenLiteSpeed WordPress",
                            "short_name": "openlitespeedwordpress",
                            "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
                            "type": "marketplace",
                            "vendor": "LiteSpeed_Technologies",
                            "image_id": "openlitespeed-wordpress"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-bare-metals-upgrades",
        "description": "Get available upgrades for a Bare Metal",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "type",
            "description": "Filter upgrade by type:\n\n- all (applications, plans)\n- applications\n- os"
          }
        ],
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/vnc": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal id](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "Get VNC URL for a Bare Metal",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vnc\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vnc": {
                      "type": "object",
                      "description": "This object will contain the VNC URL for the Bare Metal Instance",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "This is the VNC URL for the Bare Metal Instance"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "vnc": {
                        "url": "https://my.vultr.com/subs/baremetal/novnc/api.php?data=00example11223344"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-bare-metal-vnc",
        "description": "Get the VNC URL for a Bare Metal",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/bare-metals/{baremetal-id}/vpcs/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Attach VPC Network to Bare Metal Instance",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpcs/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-baremetals-vpcs",
        "description": "Attach a VPC Network to a Bare Metal Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpcs) to attach to this Bare Metal Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/vpcs/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [bare-metal ID](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Detach VPC Network from Bare Metal Instance",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpcs/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-baremetal-vpcs",
        "description": "Detach a VPC Network from an Bare Metal Instance.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpcs) to detach from this Bare Metal Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/vpcs": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "List Bare Metal Instance VPC Networks",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpcs\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/instance-vpc"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
                          "mac_address": "00:00:5e:00:53:5e",
                          "ip_address": "10.99.0.123"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-baremetal-vpcs",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List the VPC networks for a Bare Metal Instance."
      }
    },
    "/bare-metals/{baremetal-id}/vpc2/attach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Attach VPC 2.0 Network to Bare Metal Instance",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpc2/attach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n    \"ip_address\": \"10.1.144.4\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "attach-baremetals-vpc2",
        "description": "Attach a VPC 2.0 Network to a Bare Metal Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [Attach VPC Network to Bare Metal Instance](#operation/attach-baremetals-vpcs) instead.",
        "deprecated": true,
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpc2) to attach to this Bare Metal Instance."
                  },
                  "ip_address": {
                    "type": "string",
                    "description": "The IP address to use for this instance on the attached VPC 2.0 network.  "
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
                    "ip_address": "10.1.144.4"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/vpc2/detach": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [bare-metal ID](#operation/list-baremetals)."
        }
      ],
      "post": {
        "summary": "Detach VPC 2.0 Network from Bare Metal Instance",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpc2/detach\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"vpc_id\": \"cb676a46-66fd-4dfb-b839-443f2e6c0b60\"\n  }'"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "detach-baremetal-vpc2",
        "description": "Detach a VPC 2.0 Network from an Bare Metal Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [Detach VPC Network from Bare Metal Instance](#operation/detach-baremetal-vpcs) instead.",
        "deprecated": true,
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC ID](#operation/list-vpc2) to detach from this Bare Metal Instance."
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/bare-metals/{baremetal-id}/vpc2": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "baremetal-id",
          "in": "path",
          "required": true,
          "description": "The [Bare Metal ID](#operation/list-baremetals)."
        }
      ],
      "get": {
        "summary": "List Bare Metal Instance VPC 2.0 Networks",
        "tags": [
          "baremetal"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpc2\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vpcs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/instance-vpc2"
                      }
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "vpcs": [
                        {
                          "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
                          "mac_address": "00:00:5e:00:53:5e",
                          "ip_address": "10.99.0.123"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-baremetal-vpc2",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "List the VPC 2.0 networks for a Bare Metal Instance.<br><br>**Deprecated**: Migrate to VPC Networks and use [List Bare Metal Instance VPC Networks](#operation/list-baremetal-vpcs) instead.",
        "deprecated": true
      }
    },
    "/load-balancers/{loadbalancer-id}/firewall-rules": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "loadbalancer-id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "List Firewall Rules",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/firewall-rules\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loadbalancer-firewall-rule"
                },
                "examples": {
                  "Response": {
                    "value": {
                      "firewall_rules": [
                        {
                          "id": "asb123f2e6c0b60",
                          "port": 80,
                          "source": "24.187.16.196/16",
                          "ip_type": "v4"
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-loadbalancer-firewall-rules",
        "description": "List the firewall rules for a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "per_page",
            "description": "Number of items requested per page. Default is 100 and Max is 500."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "cursor",
            "description": "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)."
          }
        ]
      }
    },
    "/load-balancers/{loadbalancer-id}/firewall-rules/{firewall-rule-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "loadbalancer-id",
          "in": "path",
          "required": true
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "firewall-rule-id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "Get Firewall Rule",
        "tags": [
          "load-balancer"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/load-balancers/{load-balancer-id}/firewall-rules/{firewall-rule-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loadbalancer-firewall-rule"
                },
                "examples": {
                  "Example": {
                    "value": {
                      "firewall_rule": {
                        "id": "asb123f2e6c0b60",
                        "port": 80,
                        "source": "24.187.16.196/16",
                        "ip_type": "v4"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-loadbalancer-firewall-rule",
        "description": "Get a firewall rule for a Load Balancer.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters": {
      "post": {
        "summary": "Create Kubernetes Cluster",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vke_cluster": {
                      "$ref": "#/components/schemas/vke-cluster"
                    }
                  }
                },
                "examples": {
                  "example create response": {
                    "value": {
                      "vke_cluster": {
                        "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
                        "firewall_group_id": "",
                        "label": "vke",
                        "date_created": "2021-07-07T22:57:01+00:00",
                        "cluster_subnet": "10.244.0.0/16",
                        "service_subnet": "10.96.0.0/12",
                        "ip": "0.0.0.0",
                        "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
                        "version": "v1.20.0+1",
                        "region": "lax",
                        "status": "pending",
                        "ha_controlplanes": false,
                        "oidc": {
                          "issuer_url": "https://example.com",
                          "client_id": "my-client-id",
                          "username_claim": "email",
                          "groups_claim": "groups"
                        },
                        "node_pools": [
                          {
                            "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
                            "date_created": "2021-07-07T22:57:01+00:00",
                            "date_updated": "2021-07-07T22:58:44+00:00",
                            "label": "my-label",
                            "tag": "my-tag",
                            "plan": "vc2-1c-2gb",
                            "status": "pending",
                            "node_quantity": 2,
                            "min_nodes": 2,
                            "max_nodes": 5,
                            "auto_scaler": true,
                            "nodes": [
                              {
                                "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
                                "label": "my-label-6ac60e6313dd1",
                                "date_created": "2021-07-07T22:57:01+00:00",
                                "status": "pending"
                              },
                              {
                                "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
                                "label": "my-label-6ac60e6313ddc",
                                "date_created": "2021-07-07T22:57:01+00:00",
                                "status": "pending"
                              }
                            ]
                          }
                        ],
                        "vpcs": [
                          {
                            "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                            "version": 1,
                            "subnet": "10.1.96.3"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-kubernetes-cluster",
        "description": "Create Kubernetes Cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The label for your Kubernetes cluster."
                  },
                  "region": {
                    "type": "string",
                    "description": "Region you want to deploy VKE in. See [Regions](#tag/region) for more information."
                  },
                  "version": {
                    "type": "string",
                    "description": "Version of Kubernetes you want to deploy."
                  },
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC id](#operation/list-vpcs) to use when deploying this VKE. Omitting or leaving this empty will configure a new VPC network with this deployment."
                  },
                  "ha_controlplanes": {
                    "type": "boolean",
                    "description": "Whether a highly available control planes configuration should be deployed\n* true\n* false (default)"
                  },
                  "enable_firewall": {
                    "type": "boolean",
                    "description": "Whether a [Firewall Group](#tag/firewall) should be deployed and managed by this cluster\n* true\n* false (default)"
                  },
                  "oidc": {
                    "type": "object",
                    "description": "Configure OpenID Connect (OIDC) support for this VKE cluster",
                    "properties": {
                      "issuer_url": {
                        "type": "string",
                        "description": "The URL of the OIDC provider that issues authentication tokens."
                      },
                      "client_id": {
                        "type": "string",
                        "description": "The unique identifier assigned to your application by the OIDC provider."
                      },
                      "username_claim": {
                        "type": "string",
                        "description": "The claim in the OIDC token that identifies the end user's username."
                      },
                      "groups_claim": {
                        "type": "string",
                        "description": "The claim in the OIDC token that contains the user's group memberships."
                      }
                    },
                    "required": [
                      "issuer_url",
                      "client_id"
                    ]
                  },
                  "node_pools": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "node_quantity": {
                          "type": "integer",
                          "description": "Number of instances to deploy in this nodepool. Minimum of 1 node required, but at least 3 is recommended."
                        },
                        "label": {
                          "type": "string",
                          "description": "Label for this nodepool. You cannot change the label after a nodepool is created. You cannot have duplicate node pool labels in the same cluster."
                        },
                        "plan": {
                          "type": "string",
                          "description": "Plan you want this nodepool to use. Note: minimum plan must be $10"
                        },
                        "tag": {
                          "type": "string",
                          "description": "Tag for node pool"
                        },
                        "auto_scaler": {
                          "type": "boolean",
                          "description": "Option to use the auto scaler with your cluster. Default false."
                        },
                        "min_nodes": {
                          "type": "integer",
                          "description": "Auto scaler field for minimum nodes you want for your cluster. Default 1."
                        },
                        "max_nodes": {
                          "type": "integer",
                          "description": "Auto scaler field for maximum nodes you want for your cluster. Default 1."
                        },
                        "user_data": {
                          "type": "string",
                          "description": "The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set)."
                        }
                      },
                      "required": [
                        "node_quantity",
                        "label",
                        "plan"
                      ]
                    }
                  }
                },
                "required": [
                  "region",
                  "version"
                ]
              },
              "examples": {
                "example request": {
                  "value": {
                    "label": "vke",
                    "region": "lax",
                    "version": "v1.20.0+1",
                    "node_pools": [
                      {
                        "node_quantity": 2,
                        "min_nodes": 2,
                        "max_nodes": 5,
                        "auto_scaler": true,
                        "label": "my-label",
                        "plan": "vc2-1c-2gb",
                        "tag": "my-tag"
                      }
                    ]
                  }
                }
              }
            }
          },
          "description": "Request Body"
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "get": {
        "summary": "List all Kubernetes Clusters",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vke_clusters": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vke-cluster"
                      }
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "vke_clusters": [
                        {
                          "id": "c907e832-3080-48a6-a54d-7379e645c0b7",
                          "label": "my-vke",
                          "date_created": "2021-07-02T12:12:43+00:00",
                          "cluster_subnet": "10.244.0.0/16",
                          "service_subnet": "10.96.0.0/12",
                          "ip": "8.9.30.155",
                          "endpoint": "c907e832-3080-48a6-a54d-7379e645c0b7.vultr-k8s.com",
                          "version": "v1.20.0+1",
                          "region": "ewr",
                          "status": "active",
                          "ha_controlplanes": false,
                          "oidc": {
                            "issuer_url": "https://example.com",
                            "client_id": "my-client-id",
                            "username_claim": "email",
                            "groups_claim": "groups"
                          },
                          "node_pools": [
                            {
                              "id": "74de1914-63ea-4a78-9da5-b7220063c701",
                              "date_created": "2021-07-02T12:12:44+00:00",
                              "date_updated": "2021-07-03T12:12:44+00:00",
                              "label": "nodepool",
                              "tag": "my-tag",
                              "plan": "vc2-1c-2gb",
                              "status": "active",
                              "node_quantity": 2,
                              "min_nodes": 2,
                              "max_nodes": 5,
                              "auto_scaler": true,
                              "nodes": [
                                {
                                  "id": "cafd4673-2a62-49c4-a045-44d05ecc0a7b",
                                  "label": "nodepool-6a960df02bc1b",
                                  "date_created": "2021-07-02T12:12:44+00:00",
                                  "status": "active"
                                },
                                {
                                  "id": "5fc5ae88-f73e-46b5-9fa1-ac5ed8dcd33c",
                                  "label": "nodepool-6a960df02bc25",
                                  "date_created": "2021-07-02T12:12:44+00:00",
                                  "status": "active"
                                }
                              ]
                            }
                          ],
                          "vpcs": [
                            {
                              "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                              "version": 1,
                              "subnet": "10.1.96.3"
                            }
                          ]
                        },
                        {
                          "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
                          "label": "vke",
                          "date_created": "2021-07-07T22:57:01+00:00",
                          "cluster_subnet": "10.244.0.0/16",
                          "service_subnet": "10.96.0.0/12",
                          "ip": "207.246.109.187",
                          "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
                          "version": "v1.20.0+1",
                          "region": "lax",
                          "status": "active",
                          "oidc": {
                            "issuer_url": "https://example.com",
                            "client_id": "my-client-id",
                            "username_claim": "email",
                            "groups_claim": "groups"
                          },
                          "node_pools": [
                            {
                              "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
                              "date_created": "2021-07-07T22:57:01+00:00",
                              "date_updated": "2021-07-08T12:12:44+00:00",
                              "label": "my-label",
                              "tag": "my-tag",
                              "plan": "vc2-1c-2gb",
                              "status": "active",
                              "node_quantity": 2,
                              "min_nodes": 2,
                              "max_nodes": 5,
                              "auto_scaler": true,
                              "nodes": [
                                {
                                  "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
                                  "label": "my-label-6ac60e6313dd1",
                                  "date_created": "2021-07-07T22:57:01+00:00",
                                  "status": "active"
                                },
                                {
                                  "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
                                  "label": "my-label-6ac60e6313ddc",
                                  "date_created": "2021-07-07T22:57:01+00:00",
                                  "status": "active"
                                }
                              ]
                            }
                          ],
                          "vpcs": [
                            {
                              "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                              "version": 1,
                              "subnet": "10.1.96.3"
                            }
                          ]
                        }
                      ],
                      "meta": {
                        "total": 2,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-kubernetes-clusters",
        "description": "List all Kubernetes clusters currently deployed",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "get": {
        "summary": "Get Kubernetes Cluster",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vke_cluster": {
                      "$ref": "#/components/schemas/vke-cluster"
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "vke_cluster": {
                        "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
                        "firewall_group_id": "",
                        "label": "vke",
                        "date_created": "2021-07-07T22:57:01+00:00",
                        "cluster_subnet": "10.244.0.0/16",
                        "service_subnet": "10.96.0.0/12",
                        "ip": "207.246.109.187",
                        "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
                        "version": "v1.20.0+1",
                        "region": "lax",
                        "status": "active",
                        "ha_controlplanes": false,
                        "oidc": {
                          "issuer_url": "https://example.com",
                          "client_id": "my-client-id",
                          "username_claim": "email",
                          "groups_claim": "groups"
                        },
                        "node_pools": [
                          {
                            "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
                            "date_created": "2021-07-07T22:57:01+00:00",
                            "date_updated": "2021-07-08T12:12:44+00:00",
                            "label": "my-label",
                            "tag": "my-tag",
                            "plan": "vc2-1c-2gb",
                            "status": "active",
                            "node_quantity": 2,
                            "min_nodes": 2,
                            "max_nodes": 5,
                            "auto_scaler": true,
                            "nodes": [
                              {
                                "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
                                "label": "my-label-6ac60e6313dd1",
                                "date_created": "2021-07-07T22:57:01+00:00",
                                "status": "active"
                              },
                              {
                                "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
                                "label": "my-label-6ac60e6313ddc",
                                "date_created": "2021-07-07T22:57:01+00:00",
                                "status": "active"
                              }
                            ]
                          }
                        ],
                        "vpcs": [
                          {
                            "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
                            "version": 1,
                            "subnet": "10.1.96.3"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-kubernetes-clusters",
        "description": "Get Kubernetes Cluster",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Kubernetes Cluster",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {}
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-kubernetes-cluster",
        "description": "Update Kubernetes Cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Label for the Kubernetes cluster"
                  },
                  "oidc": {
                    "type": "object",
                    "description": "Configure OpenID Connect (OIDC) support for this VKE cluster",
                    "properties": {
                      "issuer_url": {
                        "type": "string",
                        "description": "The URL of the OIDC provider that issues authentication tokens."
                      },
                      "client_id": {
                        "type": "string",
                        "description": "The unique identifier assigned to your application by the OIDC provider."
                      },
                      "username_claim": {
                        "type": "string",
                        "description": "The claim in the OIDC token that identifies the end user's username."
                      },
                      "groups_claim": {
                        "type": "string",
                        "description": "The claim in the OIDC token that contains the user's group memberships."
                      }
                    },
                    "required": [
                      "issuer_url",
                      "client_id"
                    ]
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "example-1": {
                  "value": {
                    "label": "my new label",
                    "oidc": {
                      "issuer_url": "https://example.com",
                      "client_id": "my-client-id",
                      "username_claim": "email",
                      "groups_claim": "groups"
                    }
                  }
                }
              }
            }
          },
          "description": "Request Body"
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Kubernetes Cluster",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-kubernetes-cluster",
        "description": "Delete Kubernetes Cluster",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/delete-with-linked-resources": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true
        }
      ],
      "delete": {
        "summary": "Delete VKE Cluster and All Related Resources",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-kubernetes-cluster-vke-id-delete-with-linked-resources",
        "description": "Delete Kubernetes Cluster and all related resources. ",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/resources": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "get": {
        "summary": "Get Kubernetes Resources",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "x-examples": {
                    "example-1": {
                      "resources": {
                        "block_storage": [
                          {
                            "id": "7eb35f6c-c4fa-4835-9548-d4730912cbd4",
                            "label": "track-again3",
                            "date_created": "2021-07-29T16:41:07+00:00",
                            "status": "pending"
                          },
                          {
                            "id": "6d1526c9-2d55-4f6b-a775-0024ec5048f0",
                            "label": "tracking",
                            "date_created": "2021-08-04T15:34:50+00:00",
                            "status": "pending"
                          }
                        ],
                        "load_balancer": [
                          {
                            "id": "04a27709-8d3d-42c2-ae69-c7d8ae6155d8",
                            "label": "tracking8",
                            "date_created": "2021-07-29T16:46:12+00:00",
                            "status": "active"
                          }
                        ]
                      }
                    }
                  },
                  "properties": {
                    "resources": {
                      "type": "object",
                      "properties": {
                        "block_storage": {
                          "type": "array",
                          "uniqueItems": true,
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Unique identifier for the block storage volume"
                              },
                              "label": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Label given to the block storage volume"
                              },
                              "date_created": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Date the block storage volume was created"
                              },
                              "status": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Status of the block storage volume"
                              }
                            }
                          }
                        },
                        "load_balancer": {
                          "type": "array",
                          "uniqueItems": true,
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Unique identifier for the load balancer"
                              },
                              "label": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Label given to the load balancer"
                              },
                              "date_created": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Date the load balancer was created"
                              },
                              "status": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Status of the load balancer"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "resources": {
                        "block_storage": [
                          {
                            "id": "29479a12-6edd-48cf-a883-24eccafab094",
                            "label": "29479a12-6edd-48cf-a883-24eccafab094",
                            "date_created": "2021-07-29T16:41:07+00:00",
                            "status": "active"
                          },
                          {
                            "id": "0fa3097e-aef9-475e-958a-56f697ed3998",
                            "label": "0fa3097e-aef9-475e-958a-56f697ed3998",
                            "date_created": "2021-08-04T15:34:50+00:00",
                            "status": "pending"
                          }
                        ],
                        "load_balancer": [
                          {
                            "id": "369ed902-2ec4-4a22-b959-cb1709394c3a",
                            "label": "369ed902-2ec4-4a22-b959-cb1709394c3a",
                            "date_created": "2021-07-29T16:46:12+00:00",
                            "status": "active"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-kubernetes-resources",
        "description": "Get the block storage volumes and load balancers deployed by the specified Kubernetes cluster.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/available-upgrades": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "get": {
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/kubernetes/clusters/{vke-id}/available-upgrades\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "summary": "Get Kubernetes Available Upgrades",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "x-examples": {
                    "example-1": {
                      "available_upgrades": [
                        "v1.22.8+3",
                        "v1.21.11+3"
                      ]
                    }
                  },
                  "properties": {
                    "available_upgrades": {
                      "type": "array",
                      "description": "Array of available upgrade version strings",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "available_upgrades": [
                        "v1.22.8+3",
                        "v1.21.11+3"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-kubernetes-available-upgrades",
        "description": "Get the available upgrades for the specified Kubernetes cluster.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/upgrades": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "post": {
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/kubernetes/clusters/{vke-id}/upgrades\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"upgrade_version\" : \"v1.22.8+3\"\n  }'"
          }
        ],
        "summary": "Start Kubernetes Cluster Upgrade",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-kubernetes-cluster-upgrade",
        "description": "Start a Kubernetes cluster upgrade.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "upgrade_version": {
                    "type": "string",
                    "description": "The version you're upgrading to."
                  }
                },
                "required": [
                  "upgrade_version"
                ]
              },
              "examples": {
                "example request": {
                  "value": {
                    "upgrade_version": "v1.22.8+3"
                  }
                }
              }
            }
          },
          "description": "Request Body"
        },
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/node-pools": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "post": {
        "summary": "Create NodePool",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "node_pool": {
                      "$ref": "#/components/schemas/nodepools"
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "node_pool": {
                        "id": "4130764b-5276-4552-546f-32513239732b",
                        "date_created": "2021-07-07T23:29:18+00:00",
                        "date_updated": "2021-07-08T23:29:18+00:00",
                        "label": "nodepool",
                        "tag": "my-tag",
                        "plan": "vc2-1c-2gb",
                        "status": "pending",
                        "node_quantity": 2,
                        "min_nodes": 2,
                        "max_nodes": 5,
                        "auto_scaler": true,
                        "nodes": [
                          {
                            "id": "2f863151-d784-4184-804e-31e4e60945bd",
                            "label": "nodepool-6c360e638ce61",
                            "date_created": "2021-07-07T23:29:18+00:00",
                            "status": "pending"
                          },
                          {
                            "id": "73a459dc-293f-4c2b-92f7-61be459a033b",
                            "label": "nodepool-6c360e638ce6c",
                            "date_created": "2021-07-07T23:29:18+00:00",
                            "status": "pending"
                          }
                        ],
                        "labels": {},
                        "taints": []
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "create-nodepools",
        "description": "Create NodePool for a Existing Kubernetes Cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "node_quantity": {
                    "type": "integer",
                    "description": "Number of instances in this nodepool"
                  },
                  "label": {
                    "type": "string",
                    "description": "Label for the nodepool. You cannot change the label after a nodepool is created. You cannot have duplicate node pool labels in the same cluster."
                  },
                  "plan": {
                    "type": "string",
                    "description": "Plan that this nodepool will use"
                  },
                  "tag": {
                    "type": "string",
                    "description": "Tag for node pool"
                  },
                  "auto_scaler": {
                    "type": "boolean",
                    "description": "Option to use the auto scaler with your cluster. Default false."
                  },
                  "min_nodes": {
                    "type": "integer",
                    "description": "Auto scaler field for minimum nodes you want for your cluster. Default 1."
                  },
                  "max_nodes": {
                    "type": "integer",
                    "description": "Auto scaler field for maximum nodes you want for your cluster. Default 1."
                  },
                  "labels": {
                    "type": "object",
                    "description": "Map of key/value pairs defining labels to automatically apply to all nodes in this nodepool. Labels will be applied to both new and existing nodes."
                  },
                  "taints": {
                    "type": "array",
                    "description": "Array of objects containing key, value, and effect."
                  },
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set)."
                  }
                },
                "required": [
                  "node_quantity",
                  "label",
                  "plan"
                ]
              },
              "examples": {
                "request body example": {
                  "value": {
                    "node_quantity": 2,
                    "label": "nodepool",
                    "plan": "vc2-1c-2gb",
                    "tag": "my-tag",
                    "min_nodes": 2,
                    "max_nodes": 5,
                    "auto_scaler": true
                  }
                }
              }
            }
          },
          "description": "Request Body"
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "get": {
        "summary": "List NodePools",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "node_pools": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/nodepools"
                      }
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "node_pools": [
                        {
                          "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
                          "date_created": "2021-07-07T23:27:08+00:00",
                          "date_updated": "2021-07-08T12:12:44+00:00",
                          "label": "my-label",
                          "tag": "my-tag",
                          "plan": "vc2-1c-2gb",
                          "status": "active",
                          "node_quantity": 2,
                          "min_nodes": 2,
                          "max_nodes": 5,
                          "auto_scaler": true,
                          "nodes": [
                            {
                              "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
                              "label": "my-label-44060e6384c45",
                              "date_created": "2021-07-07T23:27:08+00:00",
                              "status": "active"
                            },
                            {
                              "id": "c0a160eb-a7bc-4377-a6fb-52a9531167ca",
                              "label": "my-label-44060e6384c50",
                              "date_created": "2021-07-07T23:27:08+00:00",
                              "status": "active"
                            }
                          ]
                        },
                        {
                          "id": "4130764b-5276-4552-546f-32513239732b",
                          "date_created": "2021-07-07T23:29:18+00:00",
                          "label": "nodepool",
                          "tag": "my-tag",
                          "plan": "vc2-1c-2gb",
                          "status": "active",
                          "node_quantity": 2,
                          "min_nodes": 2,
                          "max_nodes": 5,
                          "auto_scaler": true,
                          "nodes": [
                            {
                              "id": "2f863151-d784-4184-804e-31e4e60945bd",
                              "label": "nodepool-6c360e638ce61",
                              "date_created": "2021-07-07T23:29:18+00:00",
                              "status": "active"
                            },
                            {
                              "id": "73a459dc-293f-4c2b-92f7-61be459a033b",
                              "label": "nodepool-6c360e638ce6c",
                              "date_created": "2021-07-07T23:29:18+00:00",
                              "status": "active"
                            }
                          ]
                        }
                      ],
                      "meta": {
                        "total": 2,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-nodepools",
        "description": "List all available NodePools on a Kubernetes Cluster",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "nodepool-id",
          "in": "path",
          "required": true,
          "description": "The [NodePool ID](#operation/get-nodepools)."
        }
      ],
      "get": {
        "summary": "Get NodePool",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "node_pool": {
                      "$ref": "#/components/schemas/nodepools"
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "node_pool": {
                        "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
                        "date_created": "2021-07-07T23:27:08+00:00",
                        "date_updated": "2021-07-08T12:12:44+00:00",
                        "label": "my-label",
                        "tag": "my-tag",
                        "plan": "vc2-1c-2gb",
                        "status": "active",
                        "node_quantity": 2,
                        "min_nodes": 2,
                        "max_nodes": 5,
                        "auto_scaler": true,
                        "nodes": [
                          {
                            "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
                            "label": "my-label-44060e6384c45",
                            "date_created": "2021-07-07T23:27:08+00:00",
                            "status": "active"
                          },
                          {
                            "id": "c0a160eb-a7bc-4377-a6fb-52a9531167ca",
                            "label": "my-label-44060e6384c50",
                            "date_created": "2021-07-07T23:27:08+00:00",
                            "status": "active"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-nodepool",
        "description": "Get Nodepool from a Kubernetes Cluster",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Nodepool",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "node_pool": {
                      "$ref": "#/components/schemas/nodepools"
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "node_pool": {
                        "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
                        "date_created": "2021-07-07T23:27:08+00:00",
                        "date_updated": "2021-07-08T12:12:44+00:00",
                        "label": "my-label",
                        "tag": "my-tag",
                        "plan": "vc2-1c-2gb",
                        "status": "active",
                        "node_quantity": 1,
                        "min_nodes": 1,
                        "max_nodes": 5,
                        "auto_scaler": true,
                        "labels": {},
                        "taints": [],
                        "nodes": [
                          {
                            "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
                            "label": "my-label-44060e6384c45",
                            "date_created": "2021-07-07T23:27:08+00:00",
                            "status": "active"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "update-nodepool",
        "description": "Update a Nodepool on a Kubernetes Cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "node_quantity": {
                    "type": "integer",
                    "description": "Number of instances in the NodePool. Minimum of 1 is required, but at least 3 is recommended."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Tag for your node pool"
                  },
                  "auto_scaler": {
                    "type": "boolean",
                    "description": "Option to use the auto scaler for your cluster. Default false."
                  },
                  "min_nodes": {
                    "type": "integer",
                    "description": "Auto scaler field for minimum nodes you want for your cluster. Default 1."
                  },
                  "max_nodes": {
                    "description": "Auto scaler field for maximum nodes you want for your cluster. Default 1.",
                    "type": "integer"
                  },
                  "labels": {
                    "type": "object",
                    "description": "Map of key/value pairs defining labels to automatically apply to all nodes in this nodepool. Labels will be applied to both new and existing nodes."
                  },
                  "taints": {
                    "type": "array",
                    "description": "Array of objects containing key, value, and effect."
                  },
                  "user_data": {
                    "type": "string",
                    "description": "The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set)."
                  }
                }
              },
              "examples": {
                "example-1": {
                  "value": {
                    "node_quantity": 1,
                    "tag": "my-tag",
                    "min_nodes": 1,
                    "max_nodes": 5,
                    "auto_scaler": true
                  }
                }
              }
            },
            "application/xml": {
              "schema": {
                "type": "object",
                "properties": {
                  "node_quantity": {
                    "type": "integer",
                    "description": "Number of instances in the nodepool. Minimum of 1 is required, but at least 3 is recommended."
                  }
                },
                "required": [
                  "node_quantity"
                ]
              }
            }
          },
          "description": "Request Body"
        },
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Nodepool",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-nodepool",
        "description": "Delete a NodePool from a Kubernetes Cluster",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}/nodes/{node-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "nodepool-id",
          "in": "path",
          "required": true,
          "description": "The [NodePool ID](#operation/get-nodepools)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "node-id",
          "in": "path",
          "required": true,
          "description": "The [Instance ID](#operation/list-instances)."
        }
      ],
      "delete": {
        "summary": "Delete NodePool Instance",
        "tags": [
          "kubernetes"
        ],
        "operationId": "delete-nodepool-instance",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "description": "Delete a single nodepool instance from a given Nodepool"
      }
    },
    "/kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}/nodes/{node-id}/recycle": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "nodepool-id",
          "in": "path",
          "required": true,
          "description": "The [NodePool ID](#operation/get-nodepools)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "node-id",
          "in": "path",
          "required": true,
          "description": "Node ID"
        }
      ],
      "post": {
        "summary": "Recycle a NodePool Instance",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "recycle-nodepool-instance",
        "description": "Recycle a specific NodePool Instance",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/kubernetes/clusters/{vke-id}/config": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "vke-id",
          "in": "path",
          "required": true,
          "description": "The [VKE ID](#operation/list-kubernetes-clusters)."
        }
      ],
      "get": {
        "summary": "Get Kubernetes Cluster Kubeconfig",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "kube_config": {
                      "type": "string",
                      "description": "Base64 encoded KubeConfig"
                    }
                  }
                },
                "examples": {
                  "example response": {
                    "value": {
                      "kube_config": "YXBpdmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSblZFTkRRVzF0WjBGM1NVSkJaMGxKU2psdFN6bEViRk5pY0RSM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZFVla1ZNVFVGclIwRXhWVVVLUW1oTlExWldUWGhHYWtGVlFtZE9Wa0pCWTFSRVZrNW9ZbWxDUjJOdFJuVlpNbXg2V1RJNGVFVjZRVkpDWjA1V1FrRnZWRU5yZERGWmJWWjVZbTFXTUFwYVdFMTRSWHBCVWtKblRsWkNRVTFVUTJ0ME1WbHRWbmxpYlZZd1dsaE5kMGhvWTA1TmFrVjNUbnBCZVUxVVNYaE5la0Y1VjJoalRrMXFTWGRPZWtGNUNrMVVTWGhOZWtGNVYycENVRTFSYzNkRFVWbEVWbEZSUjBWM1NsWlZla1ZYVFVKUlIwRXhWVVZDZUUxT1ZUSkdkVWxGV25sWlZ6VnFZVmhPYW1KNlJWUUtUVUpGUjBFeFZVVkRhRTFMVXpOV2FWcFlTblZhV0ZKc1kzcEZWRTFDUlVkQk1WVkZRWGhOUzFNelZtbGFXRXAxV2xoU2JHTjZRME5CVTBsM1JGRlpTZ3BMYjFwSmFIWmpUa0ZSUlVKQ1VVRkVaMmRGVUVGRVEwTkJVVzlEWjJkRlFrRk1laTlITXpOaVlWZG5TMU5GVmpKQ2RsQlhZbWd6WkhZclYybEhOVlJqQ2s1bllVTlZNMlJWVm5KdGNtaHVXbVJPYWtkTVl5OUJTR3RIWm1OaVIxQlRXbkJ2UVZCbWFuaGtWRTA0WlVOTFlXdGxkR0Z6YkRsdFNDOVhlVTlETXpnS1pGcEZVWGRSZWpseFIzWnpaa3BTT0RKQ01WWTBWM3AxUVdRMEwxSmtaVGxqU3psaVdIWktkRUZMU2xrNVF6aG9VM2RtTDNNM1drRlNabGxYYTIxb1R3cHZkSHBFUnpaR2JtaFljSFJtUkRZdmRXNXNXRWhyYTNveFVHSjZhR1Z2ZG5adU9GUkNUamR2UWpkTVdUaG9kRE5tVTBJeFEwSlRTMGxxV1hsaGJEaHJDbU5XZVU1R1MyUndVRVoxV0ZvelkyYzRaMHN2ZUROS1VXZHBLMGxqVTA0Mk9GZDJaa3gxYXpjM2JXOXNWWE5IY25neWNWRkZTa2RwU2k5SGEzUm5kMndLWlVnNU1FbHpMMkZDZERjd1dsaG9aM2cyTnpkSmVuTnVWMnN3UWpWSFlVeGpaRk5oYUN0WlNraGthbkpMU0N0R01qVTNWekpvTUVOQmQwVkJRV0ZPYUFwTlJqaDNSR2RaUkZaU01GQkJVVWd2UWtGUlJFRm5TMFZOUWpCSFFURlZaRXBSVVZkTlFsRkhRME56UjBGUlZVWkNkMDFEUW1kbmNrSm5SVVpDVVdORUNrRlVRVkJDWjA1V1NGSk5Ra0ZtT0VWQ1ZFRkVRVkZJTDAxQ01FZEJNVlZrUkdkUlYwSkNVME5EVWtoSmFERm1XbnBzU210MFMwVmtOalpITVZWWGRqQUtNRVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJjMFpCUVU5RFFWRkZRV0V3VG1SUVlYa3dPREp0YVcxWllUa3ZOVVpMY1hWa1YwSmpabVpHVkVScFdrTmljUXA1YVUxNFZXeEVTQzl6Tm1Od1YzbEJORXRuY0ZGRWMySXdiM0pzYTNwTk1ERjNieTlsTUc1clUxTTFVVkIyWVZvNU9FaFNObFlyTUV4a0swZzViM1JCQ2xZM2VUbEdlQzlJVUhCdldGWTJhVWswYWpCaVpFdFBNMHQ0VUZKVWRsaDFRMUZETTNRd2FHc3pjVnBRSzFSalNEaHhWRTV6VkVwb1JGTnlSMWRLUjNvS1dqZ3liMGwwY0c5RVRsaEJZVUpqYmxSRmNUUkNXRzFoTTJVNVJHSkpVMU5SZW5aaGFIYzBWMkZwVTFWNGVYUllVakJ5Um1oaFpFUnpkbFJuVVhZNGF3cEdlbkV5TjNkS2RUaHZUV2hIWTJWb2VGUlRXVUpyWjNGWVUzYzNPR2xsTVZadk1XVlBMMGxTYlhsM1ZtMWlhM2M1TWswcldtZFdOV0Z3VERCNlNYRnNDbFEzWmtkekszWTViREkwYkM4eGFIbExVekZCU1ZKTmVrRkljMGw1YVdWdE1GUkZUM0Z6WVVVNVFYWjBlWEZZZEZKblBUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIHNlcnZlcjogaHR0cHM6Ly9jOTA3ZTgzMi0zMDgwLTQ4YTYtYTU0ZC03Mzc5ZTY0NWMwYjcudnVsdHItazhzLmNvbTo2NDQzCiAgbmFtZTogdmtlCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiB2a2UKICAgIHVzZXI6IGFkbWluCiAgbmFtZTogdmtlCmN1cnJlbnQtY29udGV4dDogdmtlCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJWUkVORFFXcHBaMEYzU1VKQlowbEpUVmg0VTFOSGRFRnliR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkVWVrVk1UVUZyUjBFeFZVVUtRbWhOUTFaV1RYaEdha0ZWUW1kT1ZrSkJZMVJFVms1b1ltbENSMk50Um5WWk1teDZXVEk0ZUVWNlFWSkNaMDVXUWtGdlZFTnJkREZaYlZaNVltMVdNQXBhV0UxNFJYcEJVa0puVGxaQ1FVMVVRMnQwTVZsdFZubGliVll3V2xoTmQwaG9ZMDVOYWtWM1RucEJlVTFVU1hoTmVrRjVWMmhqVGsxcVNYZE9la0Y1Q2sxVVNYaE5la0Y1VjJwQ1QwMVJjM2REVVZsRVZsRlJSMFYzU2xaVmVrVlhUVUpSUjBFeFZVVkNlRTFPVlRKR2RVbEZXbmxaVnpWcVlWaE9hbUo2UlZnS1RVSlZSMEV4VlVWRGFFMVBZek5zZW1SSFZuUlBiVEZvWXpOU2JHTnVUWGhFYWtGTlFtZE9Wa0pCVFZSQ1YwWnJZbGRzZFUxSlNVSkpha0ZPUW1kcmNRcG9hMmxIT1hjd1FrRlJSVVpCUVU5RFFWRTRRVTFKU1VKRFowdERRVkZGUVhselRIVndNSHBvYXpsUFVHODVWa05TTUZSbmJ6UTFORThyV0hOTVEyUXhDbE5CWVdKNmFtMVJaM1pEVVZKeFdEaEZUa0Z0VW5kbVdFUjNaRkJMWTFkbmFtcHpRaTlQU2pSR2F6TmpWWFZIVVdkNmFrRkRXVVJYVjNBM1RWaG1TM1VLVm5GeVNGTmtZMnhQWVV0dEwwbGpNMEkxWVd0a1pYcGxRVFJ4UzFGRlRrbFVSbXR1VkdSWVJ6RTFVV3MxU2tNMGNIWXpaa3M1ZUhVMldqZHhjVmRXVlFwdmVFMXdjR2huV1hGWFVsUkNSMnByT0hSRk5sbDZOazVZZGs5NkwxVXpNWEprV0ZOVFluYzRWakpxTUdnNU1FTlRMMkZLVkN0U01sRmxNRWh3YkZNeUNsSjBWek0yYlRjMFVGaHpXRGQ2Ym1aTVZWZEpaMGQxYjBvNVdYTkJNRFphUTFSVllrdFNTekV2V0haRmFGZHVPSGRtWTFCblRHTXlRWEJRTnpsMVlYa0taV0phZVV4SmFXOWFXRXRNVERWQ05tcEZaVkZWV2pGWlRFTjNSV0pCTXpWYVdYSm1lRTVCUmsxcFUwcDFTMnhhUlRWSGNYRlJTVVJCVVVGQ2IzcEZkd3BNZWtGUFFtZE9Wa2hST0VKQlpqaEZRa0ZOUTBGdlVYZElVVmxFVmxJd2JFSkNXWGRHUVZsSlMzZFpRa0pSVlVoQmQwbEhRME56UjBGUlZVWkNkMDFDQ2sxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUWpWbUwwdHJVVGxRV1d4WE1uQllUek13V1dSYVZHMUlhbWRhTm10RlFUUmhVelJvVWs4S2NqSldSbHBwUjBoUVluZGFZMjVuZFc1UVRXTnJaRmh2UWs5a1dsVkhkelpoYkUxaVFVOUZhRlpIUVVOSU5IcEhkM2RUUlZrMk5HRTJVV0ZsVFVaSWF3cHZkalU1UW1GclJIZFJkVlprTVdoMk1rcFZkMXB3WTFsTVZUZE5PWGRLWTI5a09FODBNM0EyVGxwTmNrVjBObHB2YmtsSWJGbEpkMGhFTWxWaGVYcHZDamhUVkhWeWNXVm5jakJvYzAwd1ltWlFRbkZzY25CdE9VTXZOV2hVVjJVemJ6STJiRFpNUTBabWFFdzBaamN5VURSaWFYWnNkVTVoYVc5UFp6QXZXVVlLZFVwd09WUjZkMnRuUWtSVE9DOU5hVTFUVDFwSFpVdHlia2hWYlhKa2FGbHpSbTFCVVRCRVRYWlJiMnh1TWtwVlRYSXlkWE4yU0VGcFJGWm9PVkZMWlFwM1lrSlRMMlJ3UW04M09UbEZRWHBpWkdaclpIcG5iVWhDU2k5WU4wVjNNR3B4Tm5Nek5YTkRNMUpqY0dNNFJrd0tMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGYjJkSlFrRkJTME5CVVVWQmVYTk1kWEF3ZW1ock9VOVFiemxXUTFJd1ZHZHZORFUwVHl0WWMweERaREZUUVdGaWVtcHRVV2QyUTFGU2NWZzRDa1ZPUVcxU2QyWllSSGRrVUV0alYyZHFhbk5DTDA5S05FWnJNMk5WZFVkUlozcHFRVU5aUkZkWGNEZE5XR1pMZFZaeGNraFRaR05zVDJGTGJTOUpZek1LUWpWaGEyUmxlbVZCTkhGTFVVVk9TVlJHYTI1VVpGaEhNVFZSYXpWS1F6Undkak5tU3psNGRUWmFOM0Z4VjFaVmIzaE5jSEJvWjFseFYxSlVRa2RxYXdvNGRFVTJXWG8yVGxoMlQzb3ZWVE14Y21SWVUxTmlkemhXTW1vd2FEa3dRMU12WVVwVUsxSXlVV1V3U0hCc1V6SlNkRmN6Tm0wM05GQlljMWczZW01bUNreFZWMGxuUjNWdlNqbFpjMEV3TmxwRFZGVmlTMUpMTVM5WWRrVm9WMjQ0ZDJaalVHZE1ZekpCY0ZBM09YVmhlV1ZpV25sTVNXbHZXbGhMVEV3MVFqWUtha1ZsVVZWYU1WbE1RM2RGWWtFek5WcFpjbVo0VGtGR1RXbFRTblZMYkZwRk5VZHhjVkZKUkVGUlFVSkJiMGxDUVVKaWN6VXpUQzlJUm5CTmFESmpjd3A1Tm5WdVVFRmpRMHQwU1VzNGVVMXBObll6VkRCWVdVWjVSRTFzTlVGdk5EVnJSVFJhTjNWTlVsZExjbTUxV0VsT1NtdG5WSFE0Tmpndk1FSnVURWMyQ2xVd05tazRaMDlvUkRWME4ySlFkMHRZYlM5eFN6RktUVUY1WkRkSWIzQmhPVE4yYVV0dlNYa3pMemxwWjB4Tk0yRkZkRXB2Vlc5S2NUaDJaMDFxVDNRS2MxWk5aMVJWVmpKVVVYZGFUR056ZEdFNU5YTlphamh1V214S2QyczNhSHBFTmtFemNUSTBhRVJ0YUU1a2FUZ3dSSEJEVDJjMk1IbFpTaXQ2Y0dab1dBcHZORkJPTlhsTVZGaFhkSG80SzJ0UllqaDZaR3B0Wms5a1pHVnJaeTlOTTA1T1pUY3JPRVZHV2tJMWExWkRkbEV3UmxoSVIxRlZPREUzV1dNdlNEZHZDamhpVFZsM2QySlZRbEppTkdobmVWWnZkemxVV2s5YVkwMXVMM2xoYVd3M1JtVmljblpGU2s5dVJtdG9Wa3BoUlRKdVlWSlJjbEJ1TmtORWRVdEdXRGdLUTJNM2JHZGhSVU5uV1VWQmVuZEVURlpFY1UxWlYxcHNiWFJUYzJGdWVGaEJhMnBwUW5GVWFreFhTbGRIZVZSTk0xZEtUM2RzZG1GWk9FTlRiSHB5TkFwelMyOTNOMXByT0doQ1ZXSm1WRFJCV1ZWTlpVRlBSV0p2UkhCTVpYQTBURmxYU0hSUmJuQkpWakY1ZURSMVdWZHlSM28yZVhSemVGbE1MMnRvYTBSMENtUnVRVTFDVTBOdlZXOW1VVWczSzBWa2NHdFpZbGxrYW05bFZuWXdlalpPVG1SQ1ZYSk9VbFpQWlc1NFR6WkllR1JIZDNwSFUxVkRaMWxGUVN0elJXVUtVMk5wU0RSbWIybDVkRlZNWW5VMVJVVmtaM0YwTDFseUszTmtVMjl6TURGTWVtOXpSVU4wZGpFMGJrNHZWVlpIYTI5WE5UUTRVVEpOYmtkeUswSTFLd3BvUkRCME1XTXpXQ3RPT1dOc2FYRXdWVzVGZVhad09DOXhWblJUZGxSYWFscEdOVTFKTXpadWJqWXhVVkkxV0hOcFNEVmhWbWQyUlRoYWNFNTBSbHBsQ21sWlRVNHpRM2R6VjNCb1drMUJTV2hVZDI1S1RVOVZlVXhHVlhWT05rTjNhelJFUlhacVZVTm5XVUZ2UWs5R1MxVldPV1ZZVTNRM1pWYzBlakJCU1VzS1VWRnFhR1V2VFc1cVVVWlZhMmhNUWtsbldsUTRUMjlTY1hWTmMwNVplSEZ4ZUhneVkzTXJUMUZZTld4QmFESlZjME5OVjNwSE5Va3hZbmhPTkd0M1ZRbzRXbVZ4TmtoVlpqTndNMDVZWlc4MFVEUkdhM2R0WlZSaGMxaEdXbkozUW5vM2RXcExhVTFuWjFnd2RFSm9kVmg1YUZVNE5UVllUbU5OZG1weVVUUnFDblo2YWk5cFRGWktWWFkzSzBwc2NrWjRWREZFZFZGTFFtZEhZbkJrVmxoUk1FUjJiRmhtZDJrellrNXJXa1pzZVdZeU0wdDNXbWRHTUVKMGVUTjJORWtLUVU5bFRpOUVVRmx2WTNKMFkwbzFXRGxqWms0d2JsSXphRW95Y2xocU9VWnZTbU5qUTFOU2FDOHllU3RGUVRJMU1scHhNRmgyZEZKMVN6Vm9UVkFyVkFwV0szQkdXU3RSTjNwRVVHeERlRTlzZWpoME5uWjRVblJSVEVSbWRHRk1ORkF5Y2paVmFWaEpWM1Z3UTBwWmREZDBOaXQ1YTFKdWVYZzJiMkUzTHpGS0NtNTJWakZCYjBkQlRtRkZSV1VyZERoNGFXUlFaeXRIUm5FemN6VkhUa1pPU0VKQmMzcG1NV3BxVFdwdmF6ZEtiMmxyWWxaVU1FNUJWVmhLZEdWclNra0taekZPVUd0UVQxSjRWakZWY0dKUGVsUXJhMWhyTjBwVmExTTNiVE0zV0VneWRuUm1abVIxTlhFNVEzWkhObkZaYW1OcVpVOHZSRWhzYUZWRmNrMUpXUXBsVHpSQk9FOUNWRWgwUVRkM01XTjVVa2hIVUZWUE1VRlFiRXRTTWtWVU9XMXVOeXROV0hSRU1GQmxjRWh2TVV0UU9VRTlDaTB0TFMwdFJVNUVJRkpUUVNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQo="
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-kubernetes-clusters-config",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Get Kubernetes Cluster Kubeconfig"
      }
    },
    "/kubernetes/versions": {
      "get": {
        "summary": "Get Kubernetes Versions",
        "tags": [
          "kubernetes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "versions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "versions": [
                        "v1.20.0+1"
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-kubernetes-versions",
        "description": "Get a list of supported Kubernetes versions",
        "security": []
      }
    },
    "/billing/history": {
      "get": {
        "summary": "List Billing History",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "billing_history": {
                      "type": "array",
                      "description": "List of all billing history.",
                      "items": {
                        "$ref": "#/components/schemas/billing"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "billing_history": [
                        {
                          "id": 123456,
                          "date": "2020-10-10T01:56:20+00:00",
                          "type": "invoice",
                          "description": "Invoice #123456",
                          "amount": 100.03,
                          "balance": 79.48
                        },
                        {
                          "id": 123457,
                          "date": "2020-10-10T01:46:05+00:00",
                          "type": "credit",
                          "description": "Account Credit",
                          "amount": 50.55,
                          "balance": -20.55
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-billing-history",
        "description": "Retrieve list of billing history",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/history\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "parameters": []
    },
    "/billing/invoices": {
      "get": {
        "summary": "List Invoices",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "x-examples": {
                    "example-1": {
                      "billing_invoice": [
                        {
                          "id": 123456,
                          "billing_period": "09-01-2021",
                          "amount": 5
                        }
                      ]
                    }
                  },
                  "properties": {
                    "billing_invoices": {
                      "type": "array",
                      "description": "List of billing invoices.",
                      "items": {
                        "$ref": "#/components/schemas/invoice"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "billing_invoices": [
                        {
                          "id": 123456,
                          "date": "2021-10-10T00:00:00+00:00",
                          "description": "Invoice #123456",
                          "amount": 5.25,
                          "balance": 10.25
                        }
                      ],
                      "meta": {
                        "total": 1,
                        "links": {
                          "next": "",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-invoices",
        "description": "Retrieve a list of invoices",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/invoices\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "parameters": []
    },
    "/billing/invoices/{invoice-id}": {
      "get": {
        "summary": "Get Invoice",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "x-examples": {
                    "example-1": {
                      "billing_invoice": {
                        "id": 123456,
                        "description": "Account Credit",
                        "billing_period": "09-01-2021",
                        "amount": 5
                      }
                    }
                  },
                  "properties": {
                    "billing_invoice": {
                      "$ref": "#/components/schemas/invoice"
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "billing_invoice": {
                        "id": 123456,
                        "description": "Account Credit",
                        "date": "09-01-2021T00:00:00+00:00",
                        "amount": 5.25
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-invoice",
        "description": "Retrieve specified invoice",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/invoices/{invoice-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "invoice-id",
          "in": "path",
          "required": true,
          "description": "ID of invoice"
        }
      ]
    },
    "/billing/invoices/{invoice-id}/items": {
      "get": {
        "summary": "Get Invoice Items",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "x-examples": {
                    "example-1": {
                      "invoice_items": [
                        {
                          "description": "Load Balancer (my-loadbalancer)",
                          "product": "Load Balancer",
                          "start_date": "2021-08-31 20:00:00",
                          "end_date": "2021-09-30 20:00:00",
                          "units": 720,
                          "unit_type": "hours",
                          "unit_price": 0.0149,
                          "total": 10
                        },
                        {
                          "description": "1.1.1.1 (8192 MB) [my-instance]",
                          "product": "Vultr Cloud Compute",
                          "start_date": "2021-09-15 09:13:15",
                          "end_date": "2021-09-30 20:00:00",
                          "units": 371,
                          "unit_type": "hours",
                          "unit_price": 0.0595,
                          "total": 22.09
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  },
                  "properties": {
                    "invoice_items": {
                      "type": "array",
                      "description": "List of invoice items.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "description": {
                            "type": "string",
                            "description": "Invoice item description"
                          },
                          "product": {
                            "type": "string",
                            "description": "Product name"
                          },
                          "start_date": {
                            "type": "string",
                            "description": "Start date of item"
                          },
                          "end_date": {
                            "type": "string",
                            "description": "End date of item"
                          },
                          "units": {
                            "type": "number",
                            "description": "Number of units item consumed in billing period"
                          },
                          "unit_type": {
                            "type": "string",
                            "description": "Unit type. Options include \"hours\", \"overage\", and \"discount\""
                          },
                          "unit_price": {
                            "type": "number",
                            "description": "Price per unit in dollars"
                          },
                          "total": {
                            "type": "number",
                            "description": "Total amount due in dollars"
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "number"
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "next": {
                              "type": "string"
                            },
                            "prev": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "invoice_items": [
                        {
                          "description": "Load Balancer (my-loadbalancer)",
                          "product": "Load Balancer",
                          "start_date": "2021-08-31T00:00:00+00:00",
                          "end_date": "2021-09-30T00:00:00+00:00",
                          "units": 720,
                          "unit_type": "hours",
                          "unit_price": 0.0149,
                          "total": 10
                        },
                        {
                          "description": "1.1.1.1 (8192 MB) [my-instance]",
                          "product": "Vultr Cloud Compute",
                          "start_date": "2021-09-15T00:00:00+00:00",
                          "end_date": "2021-09-30T00:00:00+00:00",
                          "units": 371,
                          "unit_type": "hours",
                          "unit_price": 0.0595,
                          "total": 22.09
                        }
                      ],
                      "meta": {
                        "total": 3,
                        "links": {
                          "next": "WxYzExampleNext",
                          "prev": ""
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-invoice-items",
        "description": "Retrieve full specified invoice",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/invoices/{invoice-id}/items\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "invoice-id",
          "in": "path",
          "required": true,
          "description": "ID of invoice"
        }
      ]
    },
    "/billing/pending-charges": {
      "get": {
        "summary": "List Pending Charges",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pending_charges": {
                      "type": "array",
                      "description": "List of pending charges.",
                      "items": {
                        "$ref": "#/components/schemas/billing"
                      }
                    }
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "pending_charges": [
                        {
                          "description": "Load Balancer (my-loadbalancer)",
                          "start_date": "2020-10-10T01:56:20+00:00",
                          "end_date": "2020-10-10T01:56:20+00:00",
                          "units": 720,
                          "unit_type": "hours",
                          "unit_price": 0.0149,
                          "total": 10,
                          "product": "Load Balancer"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "pending-charges",
        "description": "Retrieve list of billing pending charges",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/pending-charges\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "parameters": []
    },
    "/billing/pending-charges/csv": {
      "get": {
        "summary": "Get Pending Charges CSV",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                },
                "example": "\"Start Date\",\"End Date\",\"Description\",\"Unit Price\",\"Units\",\"Amount\"\n\"2020-10-01 00:00\",\"2020-10-31 23:59\",\"Load Balancer (my-loadbalancer)\",\"0.0149\",\"720\",\"10.73\"\n\"2020-10-01 00:00\",\"2020-10-31 23:59\",\"Cloud Compute (192.0.2.1)\",\"0.0059\",\"744\",\"4.39\"\n"
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "pending-charges-csv",
        "description": "Get pending charges as CSV file. Returns all current month charges.",
        "security": [
          {
            "API Key": []
          }
        ],
        "tags": [
          "billing"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/billing/pending-charges/csv\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -o estimated_charges.csv"
          }
        ]
      },
      "parameters": []
    },
    "/databases/plans": {
      "get": {
        "summary": "List Managed Database Plans",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/plans\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "plans": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-plan"
                      }
                    }
                  }
                },
                "examples": {
                  "plans": {
                    "value": {
                      "plans": [
                        {
                          "id": "vultr-dbaas-hobbyist-cc-1-25-1",
                          "number_of_nodes": 1,
                          "type": "vc2",
                          "vcpu_count": 1,
                          "ram": 1024,
                          "disk": 25,
                          "monthly_cost": 15,
                          "supported_engines": {
                            "mysql": true,
                            "pg": true,
                            "valkey": false,
                            "kafka": false
                          },
                          "max_connections": {
                            "mysql": 75,
                            "pg": 22
                          },
                          "locations": [
                            "DEV",
                            "ICN",
                            "SEA"
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-plans",
        "description": "List all Managed Databases plans.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "engine",
            "description": "Filter by engine type\n\n* `mysql`\n* `pg`\n* `valkey`\n* `kafka`"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "nodes",
            "description": "Filter by number of nodes."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "region",
            "description": "Filter by [Region id](#operation/list-regions)."
          }
        ]
      }
    },
    "/databases": {
      "get": {
        "summary": "List Managed Databases",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "databases": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "databases": [
                        {
                          "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                          "date_created": "2022-05-09 10:13:31",
                          "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                          "plan_disk": 25,
                          "plan_ram": 1024,
                          "plan_vcpus": 1,
                          "plan_replicas": 0,
                          "region": "EWR",
                          "database_engine": "mysql",
                          "database_engine_version": 8,
                          "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                          "status": "Running",
                          "label": "some label",
                          "tag": "some tag",
                          "dbname": "defaultdb",
                          "host": "HOSTNAME_GOES_HERE",
                          "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                          "user": "vultradmin",
                          "password": "PASSWORD_GOES_HERE",
                          "port": 16751,
                          "maintenance_dow": "sunday",
                          "maintenance_time": "06:00:00",
                          "backup_hour": "23",
                          "backup_minute": "57",
                          "latest_backup": "2022-11-02 12:58:18\"",
                          "trusted_ips": [
                            "..."
                          ],
                          "ca_certificate": "-----BEGIN CERTIFICATE ...",
                          "mysql_sql_modes": [
                            "ANSI",
                            "ERROR_FOR_DIVISION_BY_ZERO",
                            "NO_ENGINE_SUBSTITUTION",
                            "NO_ZERO_DATE",
                            "NO_ZERO_IN_DATE",
                            "STRICT_ALL_TABLES"
                          ],
                          "mysql_require_primary_key": true,
                          "mysql_slow_query_log": false,
                          "cluster_time_zone": "America/New_York",
                          "read_replicas": [
                            "..."
                          ]
                        }
                      ],
                      "meta": {
                        "total": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-databases",
        "description": "List all Managed Databases in your account.",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "label",
            "description": "Filter by label."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tag",
            "description": "Filter by specific tag."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "region",
            "description": "Filter by [Region id](#operation/list-regions)."
          }
        ]
      },
      "post": {
        "summary": "Create Managed Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"database_engine\" : \"mysql\",\n    \"database_engine_version\" : \"8\"\n    \"region\" : \"ewr\",\n    \"plan\" : \"vultr-dbaas-hobbyist-cc-1-25-1\",\n    \"label\" : \"Example Managed Database\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                        "plan_disk": 25,
                        "plan_ram": 1024,
                        "plan_vcpus": 1,
                        "plan_replicas": 0,
                        "region": "EWR",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "some label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York",
                        "read_replicas": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "database_engine": {
                    "type": "string",
                    "description": "The database engine type for the Managed Database.\n* `mysql`\n* `pg`\n* `valkey`\n* `kafka`"
                  },
                  "database_engine_version": {
                    "type": "string",
                    "description": "The version of the chosen database engine type for the Managed Database.\n* MySQL: `8`\n* PostgreSQL: `13` - `17`\n* Valkey: `7`\n* Kafka: `3.8`"
                  },
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Managed Database is located."
                  },
                  "plan": {
                    "type": "string",
                    "description": "The [Plan id](#operation/list-database-plans) to use when deploying this Managed Database."
                  },
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Managed Database."
                  },
                  "tag": {
                    "type": "string",
                    "description": "The user-supplied tag for this Managed Database."
                  },
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC id](#operation/list-vpcs) to use when deploying this Managed Database. It can also be set to `new` to configure a new VPC network with this deployment."
                  },
                  "maintenance_dow": {
                    "type": "string",
                    "description": "The day of week for routine maintenance updates.\n* `monday`\n* `tuesday`\n* `wednesday`\n* `thursday`\n* `friday`\n* `saturday`\n* `sunday`"
                  },
                  "maintenance_time": {
                    "type": "string",
                    "description": "The preferred time (UTC) for routine maintenance updates to occur in 24-hour HH:00 format (e.g. `01:00`, `13:00`, `23:00`, etc.)."
                  },
                  "backup_hour": {
                    "type": "string",
                    "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types)."
                  },
                  "backup_minute": {
                    "type": "string",
                    "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types)."
                  },
                  "trusted_ips": {
                    "type": "array",
                    "description": "A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded).",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mysql_sql_modes": {
                    "type": "array",
                    "description": "A list of SQL modes to enable on the Managed Database (MySQL engine types only).\n* `ALLOW_INVALID_DATES`\n* `ANSI` (Combination Mode)\n* `ANSI_QUOTES`\n* `ERROR_FOR_DIVISION_BY_ZERO`\n* `HIGH_NOT_PRECEDENCE`\n* `IGNORE_SPACE`\n* `NO_AUTO_VALUE_ON_ZERO`\n* `NO_DIR_IN_CREATE`\n* `NO_ENGINE_SUBSTITUTION`\n* `NO_UNSIGNED_SUBTRACTION`\n* `NO_ZERO_DATE`\n* `NO_ZERO_IN_DATE`\n* `ONLY_FULL_GROUP_BY`\n* `PIPES_AS_CONCAT`\n* `REAL_AS_FLOAT`\n* `STRICT_ALL_TABLES`\n* `STRICT_TRANS_TABLES`\n* `TIME_TRUNCATE_FRACTIONAL`\n* `TRADITIONAL` (Combination Mode)",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mysql_require_primary_key": {
                    "type": "boolean",
                    "description": "Require a primary key for all tables on the Managed Database (MySQL engine types only)."
                  },
                  "mysql_slow_query_log": {
                    "type": "boolean",
                    "description": "Enable or disable slow query logging on the Managed Database (MySQL engine types only)."
                  },
                  "mysql_long_query_time": {
                    "type": "integer",
                    "description": "The number of seconds to denote a slow query when logging is enabled (MySQL engine types only)."
                  },
                  "redis_eviction_policy": {
                    "type": "string",
                    "description": "Set the data eviction policy for the Managed Database (Redis engine types only)",
                    "deprecated": true
                  },
                  "eviction_policy": {
                    "type": "string",
                    "description": "Set the data eviction policy for the Managed Database (Valkey engine types only)"
                  },
                  "enable_kafka_rest": {
                    "type": "boolean",
                    "description": "Enable or disable Kafka REST support on the Managed Database (Kafka engine types only on business plans or higher)."
                  },
                  "enable_schema_registry": {
                    "type": "boolean",
                    "description": "Enable or disable Schema Registry support on the Managed Database (Kafka engine types only on business plans or higher)."
                  },
                  "enable_kafka_connect": {
                    "type": "boolean",
                    "description": "Enable or disable Kafka Connect support on the Managed Database (Kafka engine types only on business plans or higher)."
                  }
                },
                "required": [
                  "database_engine",
                  "database_engine_version",
                  "region",
                  "plan",
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "database_engine": "mysql",
                    "database_engine_version": "8",
                    "region": "ewr",
                    "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                    "label": "Example Managed Database"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new Managed Database in a `region` with the desired `plan`. Supply optional attributes as desired."
      }
    },
    "/databases/{database-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "Get Managed Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                        "plan_disk": 25,
                        "plan_ram": 1024,
                        "plan_vcpus": 1,
                        "plan_replicas": 0,
                        "region": "EWR",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "some label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York",
                        "read_replicas": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database",
        "description": "Get information about a Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Managed Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"plan\" : \"vultr-dbaas-startup-cc-1-55-2\",\n    \"label\" : \"Example Managed Database\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                        "plan_disk": 25,
                        "plan_ram": 1024,
                        "plan_vcpus": 1,
                        "plan_replicas": 0,
                        "region": "EWR",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "some label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York",
                        "read_replicas": [
                          "..."
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-database",
        "description": "Update information for a Managed Database. All attributes are optional. If not set, the attributes will retain their original values.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Managed Database is located."
                  },
                  "plan": {
                    "type": "string",
                    "description": "The [Plan id](#operation/list-database-plans) for this Managed Database."
                  },
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Managed Database."
                  },
                  "tag": {
                    "type": "string",
                    "description": "The user-supplied tag for this Managed Database."
                  },
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC id](#operation/list-vpcs) for this Managed Database."
                  },
                  "maintenance_dow": {
                    "type": "string",
                    "description": "The day of week for routine maintenance updates.\n* `monday`\n* `tuesday`\n* `wednesday`\n* `thursday`\n* `friday`\n* `saturday`\n* `sunday`"
                  },
                  "maintenance_time": {
                    "type": "string",
                    "description": "The preferred time (UTC) for routine maintenance updates to occur in 24-hour HH:00 format (e.g. `01:00`, `13:00`, `23:00`, etc.)."
                  },
                  "backup_hour": {
                    "type": "string",
                    "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types)."
                  },
                  "backup_minute": {
                    "type": "string",
                    "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types)."
                  },
                  "cluster_time_zone": {
                    "type": "string",
                    "description": "The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`, etc.)."
                  },
                  "trusted_ips": {
                    "type": "array",
                    "description": "A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded).",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mysql_sql_modes": {
                    "type": "array",
                    "description": "A list of SQL modes to enable on the Managed Database (MySQL engine types only).\n* `ALLOW_INVALID_DATES`\n* `ANSI` (Combination Mode)\n* `ANSI_QUOTES`\n* `ERROR_FOR_DIVISION_BY_ZERO`\n* `HIGH_NOT_PRECEDENCE`\n* `IGNORE_SPACE`\n* `NO_AUTO_VALUE_ON_ZERO`\n* `NO_DIR_IN_CREATE`\n* `NO_ENGINE_SUBSTITUTION`\n* `NO_UNSIGNED_SUBTRACTION`\n* `NO_ZERO_DATE`\n* `NO_ZERO_IN_DATE`\n* `ONLY_FULL_GROUP_BY`\n* `PIPES_AS_CONCAT`\n* `REAL_AS_FLOAT`\n* `STRICT_ALL_TABLES`\n* `STRICT_TRANS_TABLES`\n* `TIME_TRUNCATE_FRACTIONAL`\n* `TRADITIONAL` (Combination Mode)",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mysql_require_primary_key": {
                    "type": "boolean",
                    "description": "Require a primary key for all tables on the Managed Database (MySQL engine types only)."
                  },
                  "mysql_slow_query_log": {
                    "type": "boolean",
                    "description": "Enable or disable slow query logging on the Managed Database (MySQL engine types only)."
                  },
                  "mysql_long_query_time": {
                    "type": "integer",
                    "description": "The number of seconds to denote a slow query when logging is enabled (MySQL engine types only)."
                  },
                  "redis_eviction_policy": {
                    "type": "string",
                    "description": "Set the data eviction policy for the Managed Database (Redis engine types only)",
                    "deprecated": true
                  },
                  "eviction_policy": {
                    "type": "string",
                    "description": "Set the data eviction policy for the Managed Database (Valkey engine types only)"
                  },
                  "enable_kafka_rest": {
                    "type": "boolean",
                    "description": "Enable or disable Kafka REST support on the Managed Database (Kafka engine types only on business plans or higher)."
                  },
                  "enable_schema_registry": {
                    "type": "boolean",
                    "description": "Enable or disable Schema Registry support on the Managed Database (Kafka engine types only on business plans or higher)."
                  },
                  "enable_kafka_connect": {
                    "type": "boolean",
                    "description": "Enable or disable Kafka Connect support on the Managed Database (Kafka engine types only on business plans or higher)."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "plan": "vultr-dbaas-startup-cc-1-55-2",
                    "label": "Example Managed Database"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Managed Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database",
        "description": "Delete a Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/usage": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "Get Database Usage Information",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/usage\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "usage": {
                      "$ref": "#/components/schemas/database-usage"
                    }
                  }
                },
                "examples": {
                  "usage": {
                    "value": {
                      "usage": {
                        "disk": {
                          "current_gb": 1.25,
                          "max_gb": 55,
                          "percentage": 2.27
                        },
                        "memory": {
                          "current_mb": 768,
                          "max_mb": 2048,
                          "percentage": 37.5
                        },
                        "cpu": {
                          "percentage": 4.65
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-usage",
        "description": "Get disk, memory, and vCPU usage information for a Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/users": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Database Users",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "users": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-user"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "users": {
                    "value": {
                      "users": [
                        {
                          "username": "vultradmin",
                          "password": "PASSWORD_GOES_HERE",
                          "encryption": "Default (MySQL 8+)"
                        },
                        {
                          "username": "ANOTHER_USER_HERE",
                          "password": "PASSWORD_GOES_HERE",
                          "encryption": "Legacy (MySQL 5.x)"
                        }
                      ],
                      "meta": {
                        "total": 2
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-users",
        "description": "List all database users within the Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Database User",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"username\" : \"some_new_user\",\n    \"password\" : \"some_secure_password\",\n    \"encryption\" : \"ewrcaching_sha2_password\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "$ref": "#/components/schemas/database-user"
                    }
                  }
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "username": "some_new_user",
                        "password": "some_secure_password",
                        "encryption": "Default (MySQL 8+)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database-user",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string",
                    "description": "The username of the database user."
                  },
                  "password": {
                    "type": "string",
                    "description": "The password for the database user. This can be omitted to auto-generate a secure password."
                  },
                  "encryption": {
                    "type": "string",
                    "description": "The password encryption type for the database user (MySQL engine types only).\n* `caching_sha2_password` (default if omitted)\n* `mysql_native_password`"
                  },
                  "permission": {
                    "type": "string",
                    "description": "The permission level for the database user (Kafka engine types only).\n* `admin`\n* `read`\n* `write`\n* `readwrite`"
                  }
                },
                "required": [
                  "username"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "username": "some_new_user",
                    "password": "some_secure_password",
                    "encryption": "caching_sha2_password"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new database user within the Managed Database. Supply optional attributes as desired."
      }
    },
    "/databases/{database-id}/users/{username}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "username",
          "in": "path",
          "required": true,
          "description": "The [database user](#operation/list-database-users)."
        }
      ],
      "get": {
        "summary": "Get Database User",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users/{username}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "$ref": "#/components/schemas/database-user"
                    }
                  }
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "username": "some_username",
                        "password": "some_secure_password",
                        "encryption": "Default (MySQL 8+)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-user",
        "description": "Get information about a Managed Database user.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Database User",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users/{username}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"password\" : \"some_new_password_here\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "$ref": "#/components/schemas/database-user"
                    }
                  }
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "username": "some_username",
                        "password": "some_secure_password",
                        "encryption": "Default (MySQL 8+)"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-database-user",
        "description": "Update database user information within a Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "password": {
                    "type": "string",
                    "description": "The password for the database user. This can be empty to auto-generate a new secure password."
                  }
                },
                "required": [
                  "password"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "password": "some_new_password_here"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Database User",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users/{username}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database-user",
        "description": "Delete a database user within a Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/users/{username}/access-control": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "username",
          "in": "path",
          "required": true,
          "description": "The [database user](#operation/list-database-users)."
        }
      ],
      "put": {
        "summary": "Set Database User Access Control",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/users/{username}/access-control\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"acl_categories\" : [\n      \"+@all\"\n    ],\n    \"acl_channels\" : [\n      \"*\"\n    ],\n    \"acl_commands\" : [],\n    \"acl_keys\" : [\n      \"*\"\n    ]\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "$ref": "#/components/schemas/database-user"
                    }
                  }
                },
                "examples": {
                  "user": {
                    "value": {
                      "user": {
                        "username": "some_username",
                        "password": "some_secure_password",
                        "access_control": {
                          "acl_categories": [
                            "+@all"
                          ],
                          "acl_channels": [
                            "*"
                          ],
                          "acl_commands": [],
                          "acl_keys": [
                            "*"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "set-database-user-acl",
        "description": "Configure access control settings for a Managed Database user (Valkey and Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/access-control"
                  },
                  {
                    "$ref": "#/components/schemas/kafka-permissions"
                  }
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "acl_categories": [
                      "+@all"
                    ],
                    "acl_channels": [
                      "*"
                    ],
                    "acl_commands": [],
                    "acl_keys": [
                      "*"
                    ]
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      }
    },
    "/databases/{database-id}/dbs": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Logical Databases",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/dbs\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dbs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-db"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "dbs": {
                    "value": {
                      "dbs": [
                        {
                          "name": "defaultdb"
                        },
                        {
                          "name": "another_db"
                        }
                      ],
                      "meta": {
                        "total": 2
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-dbs",
        "description": "List all logical databases within the Managed Database (MySQL and PostgreSQL only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Logical Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/dbs\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"new_db_name\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "db": {
                      "$ref": "#/components/schemas/database-db"
                    }
                  }
                },
                "examples": {
                  "db": {
                    "value": {
                      "db": {
                        "name": "new_db_name"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database-db",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the logical database."
                  }
                },
                "required": [
                  "name"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "new_db_name"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new logical database within the Managed Database (MySQL and PostgreSQL only)."
      }
    },
    "/databases/{database-id}/dbs/{db-name}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "db-name",
          "in": "path",
          "required": true,
          "description": "The [logical database name](#operation/list-database-dbs)."
        }
      ],
      "get": {
        "summary": "Get Logical Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "db": {
                      "$ref": "#/components/schemas/database-db"
                    }
                  }
                },
                "examples": {
                  "db": {
                    "value": {
                      "db": {
                        "name": "some_db_name"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-db",
        "description": "Get information about a logical database within a Managed Database (MySQL and PostgreSQL only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Logical Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database-db",
        "description": "Delete a logical database within a Managed Database (MySQL and PostgreSQL only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/topics": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Database Topics",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/topics\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topics": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-topic"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "topics": {
                    "value": {
                      "topics": [
                        {
                          "name": "some_topic",
                          "partitions": 3,
                          "replication": 2,
                          "retention_hours": 160,
                          "retention_bytes": -1
                        },
                        {
                          "name": "some_topic_2",
                          "partitions": 5,
                          "replication": 3,
                          "retention_hours": 120,
                          "retention_bytes": 150000
                        }
                      ],
                      "meta": {
                        "total": 2
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-topics",
        "description": "List all topics within the Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Database Topic",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/topics\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"some_new_topic\",\n    \"partitions\" : 3,\n    \"replication\" : 2,\n    \"retention_hours\" : 160,\n    \"retention_bytes\" : -1\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topic": {
                      "$ref": "#/components/schemas/database-topic"
                    }
                  }
                },
                "examples": {
                  "topic": {
                    "value": {
                      "topic": {
                        "name": "some_new_topic",
                        "partitions": 3,
                        "replication": 2,
                        "retention_hours": 160,
                        "retention_bytes": -1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database-topic",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name for the database topic."
                  },
                  "partitions": {
                    "type": "integer",
                    "description": "The number of partitions for the database topic."
                  },
                  "replication": {
                    "type": "integer",
                    "description": "The replication factor for the database topic."
                  },
                  "retention_hours": {
                    "type": "integer",
                    "description": "The retention hours for the database topic."
                  },
                  "retention_bytes": {
                    "type": "integer",
                    "description": "The retention bytes for the database topic."
                  }
                },
                "required": [
                  "name",
                  "partitions",
                  "replication",
                  "retention_hours",
                  "retention_bytes"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "some_new_topic",
                    "partitions": 3,
                    "replication": 2,
                    "retention_hours": 160,
                    "retention_bytes": -1
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new topic within the Managed Database (Kafka engine types only)."
      }
    },
    "/databases/{database-id}/topics/{topic-name}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "topic-name",
          "in": "path",
          "required": true,
          "description": "The [database topic](#operation/list-database-topics)."
        }
      ],
      "get": {
        "summary": "Get Database Topic",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/topics/{topic-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topic": {
                      "$ref": "#/components/schemas/database-topic"
                    }
                  }
                },
                "examples": {
                  "topic": {
                    "value": {
                      "topic": {
                        "name": "some_topic",
                        "partitions": 3,
                        "replication": 2,
                        "retention_hours": 160,
                        "retention_bytes": -1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-topic",
        "description": "Get information about a Managed Database topic (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Database Topic",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/topics/{topic-name}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"partitions\" : 5,\n    \"replication\" : 3,\n    \"retention_hours\" : 120,\n    \"retention_bytes\" : 150000\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topic": {
                      "$ref": "#/components/schemas/database-topic"
                    }
                  }
                },
                "examples": {
                  "topic": {
                    "value": {
                      "topic": {
                        "name": "some_topic",
                        "partitions": 5,
                        "replication": 3,
                        "retention_hours": 120,
                        "retention_bytes": 150000
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-database-topic",
        "description": "Update topic information within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "partitions": {
                    "type": "integer",
                    "description": "The number of partitions for the database topic."
                  },
                  "replication": {
                    "type": "integer",
                    "description": "The replication factor for the database topic."
                  },
                  "retention_hours": {
                    "type": "integer",
                    "description": "The retention hours for the database topic."
                  },
                  "retention_bytes": {
                    "type": "integer",
                    "description": "The retention bytes for the database topic."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "partitions": 5,
                    "replication": 3,
                    "retention_hours": 120,
                    "retention_bytes": 150000
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Database Topic",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/topics/{topic-name}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database-topic",
        "description": "Delete a topic within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/quotas": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Database Quotas",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/quotas\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quotas": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-quota"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "quotas": {
                    "value": {
                      "quotas": [
                        {
                          "client_id": "some_client",
                          "user": "vultradmin",
                          "consumer_byte_rate": 12345,
                          "producer_byte_rate": 23456,
                          "request_percentage": 20
                        }
                      ],
                      "meta": {
                        "total": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-quotas",
        "description": "List all quotas within the Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Database Quota",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/quotas\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"client_id\" : \"some_new_client\",,\n    \"user\" : \"vultradmin\"\n    \"consumer_byte_rate\" : 12345,\n    \"producer_byte_rate\" : 23456,\n    \"request_percentage\" : 20\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quota": {
                      "$ref": "#/components/schemas/database-quota"
                    }
                  }
                },
                "examples": {
                  "quota": {
                    "value": {
                      "quota": {
                        "client_id": "some_new_quota",
                        "user": "vultradmin",
                        "consumer_byte_rate": 12345,
                        "producer_byte_rate": 23456,
                        "request_percentage": 20
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database-quota",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "client_id": {
                    "type": "string",
                    "description": "The client ID for the database quota. Note: Creating a new quota with the same client ID and user will overwrite the previous record."
                  },
                  "user": {
                    "type": "string",
                    "description": "The [user](#operation/list-database-users) for the database quota."
                  },
                  "consumer_byte_rate": {
                    "type": "integer",
                    "description": "The consumer byte rate for the database quota."
                  },
                  "producer_byte_rate": {
                    "type": "integer",
                    "description": "The producer byte rate for the database quota."
                  },
                  "request_percentage": {
                    "type": "integer",
                    "description": "The CPU request percentage for the database quota."
                  }
                },
                "required": [
                  "client_id",
                  "user",
                  "consumer_byte_rate",
                  "producer_byte_rate",
                  "request_percentage"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "client_id": "some_new_client",
                    "user": "vultradmin",
                    "consumer_byte_rate": 12345,
                    "producer_byte_rate": 23456,
                    "request_percentage": 20
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new quota within the Managed Database (Kafka engine types only)."
      }
    },
    "/databases/{database-id}/quotas/{client-id}/{username}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "client-id",
          "in": "path",
          "required": true,
          "description": "The [database quota's client ID](#operation/list-database-quotas)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "username",
          "in": "path",
          "required": true,
          "description": "The [database quota's user](#operation/list-database-quotas)."
        }
      ],
      "get": {
        "summary": "Get Database Quota",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/quotas/{client-id}/{username}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quota": {
                      "$ref": "#/components/schemas/database-quota"
                    }
                  }
                },
                "examples": {
                  "quota": {
                    "value": {
                      "quota": {
                        "client_id": "some_quota",
                        "user": "vultradmin",
                        "consumer_byte_rate": 12345,
                        "producer_byte_rate": 23456,
                        "request_percentage": 20
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-quota",
        "description": "Get information about a Managed Database quota (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Database Quota",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/quotas/{client-id}/{username}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"consumer_byte_rate\" : 12345,\n    \"producer_byte_rate\" : 23456,\n    \"request_percentage\" : 20\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quota": {
                      "$ref": "#/components/schemas/database-quota"
                    }
                  }
                },
                "examples": {
                  "quota": {
                    "value": {
                      "quota": {
                        "client_id": "some_quota",
                        "user": "vultradmin",
                        "consumer_byte_rate": 12345,
                        "producer_byte_rate": 23456,
                        "request_percentage": 20
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-database-quota",
        "description": "Update quota information within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "consumer_byte_rate": {
                    "type": "integer",
                    "description": "The consumer byte rate for the database quota."
                  },
                  "producer_byte_rate": {
                    "type": "integer",
                    "description": "The producer byte rate for the database quota."
                  },
                  "request_percentage": {
                    "type": "integer",
                    "description": "The CPU request percentage for the database quota."
                  }
                },
                "required": [
                  "consumer_byte_rate",
                  "producer_byte_rate",
                  "request_percentage"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "consumer_byte_rate": 12345,
                    "producer_byte_rate": 23456,
                    "request_percentage": 20
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Database Quota",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/quotas/{client-id}/{username}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database-quota",
        "description": "Delete a quota within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/available-connectors": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Database Available Connectors",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/available-connectors\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available_connectors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-available-connector"
                      }
                    }
                  }
                },
                "examples": {
                  "available_connectors": {
                    "value": {
                      "available_connectors": [
                        {
                          "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                          "title": "Couchbase Sink",
                          "version": "4.1.11",
                          "type": "sink",
                          "doc_url": "https://github.com/couchbase/kafka-connect-couchbase"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-available-connectors",
        "description": "List all available connectors for the Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/available-connectors/{connector-class}/configuration": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-class",
          "in": "path",
          "required": true,
          "description": "The [database connector's identifying class](#operation/list-database-available-connectors)."
        }
      ],
      "get": {
        "summary": "Get Database Connector Configuration Schema",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/available-connectors/{connector-class}/configuration\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configuration_schema": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-connector-configuration-schema"
                      }
                    }
                  }
                },
                "examples": {
                  "configuration_schema": {
                    "value": {
                      "configuration_schema": [
                        {
                          "name": "couchbase.seed.nodes",
                          "type": "LIST",
                          "required": true,
                          "default_value": "",
                          "description": "Addresses of Couchbase Server nodes, delimited by commas.\n\nIf a custom port is specified, it must be the KV port (which is normally 11210 for insecure connections, or 11207 for secure connections)."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-connector-configuration-schema",
        "description": "Get the configuration schema for the Managed Database connector (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Database Connectors",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connectors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/database-connector"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "connectors": {
                    "value": {
                      "connectors": [
                        {
                          "name": "some_connector",
                          "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                          "topics": "some_topic",
                          "config": {
                            "couchbase.seed.nodes": 3,
                            "couchbase.username": "some_username",
                            "couchbase.password": "some_password"
                          }
                        }
                      ],
                      "meta": {
                        "total": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-database-connectors",
        "description": "List all connectors within the Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"some_connector\",\n    \"class\" : \"com.couchbase.connect.kafka.CouchbaseSinkConnector\",\n    \"topics\" : \"some_topic\",\n    \"config\" : {\n      \"couchbase.seed.nodes\": 3,\n      \"couchbase.username\": \"some_username\",\n      \"couchbase.password\": \"some_password\"\n    }\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connector": {
                      "$ref": "#/components/schemas/database-connector"
                    }
                  }
                },
                "examples": {
                  "connector": {
                    "value": {
                      "connector": {
                        "name": "some_connector",
                        "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                        "topics": "some_topic",
                        "config": {
                          "couchbase.seed.nodes": 3,
                          "couchbase.username": "some_username",
                          "couchbase.password": "some_password"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-database-connector",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name for the database connector."
                  },
                  "class": {
                    "type": "string",
                    "description": "The class for the database connector."
                  },
                  "topics": {
                    "type": "string",
                    "description": "A comma-separated list of topics to use with the database connector."
                  },
                  "config": {
                    "type": "object",
                    "description": "A JSON object containing the configuration properties you wish to use with this database connector. See [Get Database Connector Configuration Schema](#operation/get-database-connector-configuration-schema) for a list of available/required options for a connector."
                  }
                },
                "required": [
                  "name",
                  "class",
                  "topics"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "some_connector",
                    "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                    "topics": "some_topic",
                    "config": {
                      "couchbase.seed.nodes": 3,
                      "couchbase.username": "some_username",
                      "couchbase.password": "some_password"
                    }
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new connector within the Managed Database (Kafka engine types only)."
      }
    },
    "/databases/{database-id}/connectors/{connector-name}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        }
      ],
      "get": {
        "summary": "Get Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connector": {
                      "$ref": "#/components/schemas/database-connector"
                    }
                  }
                },
                "examples": {
                  "connector": {
                    "value": {
                      "connector": {
                        "name": "some_connector",
                        "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                        "topics": "some_topic",
                        "config": {
                          "couchbase.seed.nodes": 3,
                          "couchbase.username": "some_username",
                          "couchbase.password": "some_password"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-connector",
        "description": "Get information about a Managed Database connector (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"topics\" : \"some_topic\",\n    \"config\" : {\n      \"couchbase.seed.nodes\": 3,\n      \"couchbase.username\": \"some_username\",\n      \"couchbase.password\": \"some_password\"\n    }\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connector": {
                      "$ref": "#/components/schemas/database-connector"
                    }
                  }
                },
                "examples": {
                  "connector": {
                    "value": {
                      "connector": {
                        "name": "some_connector",
                        "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
                        "topics": "some_topic",
                        "config": {
                          "couchbase.seed.nodes": 3,
                          "couchbase.username": "some_username",
                          "couchbase.password": "some_password"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-database-connector",
        "description": "Update connector information within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "topics": {
                    "type": "string",
                    "description": "A comma-separated list of topics to use with the database connector."
                  },
                  "config": {
                    "type": "object",
                    "description": "A JSON object containing the configuration properties you wish to use with this database connector. See [Get Database Connector Configuration Schema](#operation/get-database-connector-configuration-schema) for a list of available/required options for a connector. Updating this will replace the entire configuration object currently set."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "topics": "some_topic",
                    "config": {
                      "couchbase.seed.nodes": 3,
                      "couchbase.username": "some_username",
                      "couchbase.password": "some_password"
                    }
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-database-connector",
        "description": "Delete a connector within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors/{connector-name}/status": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        }
      ],
      "get": {
        "summary": "Get Database Connector Status",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/status\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connector_status": {
                      "$ref": "#/components/schemas/database-connector-status"
                    }
                  }
                },
                "examples": {
                  "connector_status": {
                    "value": {
                      "connector_status": {
                        "state": "RUNNING",
                        "tasks": [
                          {
                            "id": 0,
                            "state": "RUNNING",
                            "trace": ""
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-database-connector-status",
        "description": "Get status information about a Managed Database connector (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors/{connector-name}/restart": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        }
      ],
      "post": {
        "summary": "Restart Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/restart\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "restart-database-connector",
        "description": "Restart a connector within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors/{connector-name}/pause": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        }
      ],
      "post": {
        "summary": "Pause Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/pause\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "pause-database-connector",
        "description": "Pause a connector within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors/{connector-name}/resume": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        }
      ],
      "post": {
        "summary": "Resume Database Connector",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/resume\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "resume-database-connector",
        "description": "Resume a paused connector within a Managed Database (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/connectors/{connector-name}/tasks/{task-id}/restart": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "connector-name",
          "in": "path",
          "required": true,
          "description": "The [database connector's name](#operation/list-database-connectors)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "task-id",
          "in": "path",
          "required": true,
          "description": "The [connector task's ID](#operation/get-database-connector-status)."
        }
      ],
      "post": {
        "summary": "Restart Database Connector Task",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/tasks/{task-id}/restart\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "restart-database-connector-task",
        "description": "Restart a task within a Managed Database connector (Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/maintenance": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Maintenance Updates",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/maintenance\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available_updates": {
                      "type": "array",
                      "description": "A list of available maintenance updates for the Managed Database.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "available_updates": {
                    "value": {
                      "available_updates": [
                        "update_description_here",
                        "another_description_here"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-maintenance-updates",
        "description": "List all available maintenance updates within the Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Start Maintenance Updates",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/maintenance\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "A message indicating whether the maintenance updates were successfully initialized."
                    }
                  }
                },
                "examples": {
                  "message": {
                    "value": {
                      "message": "Maintenance updates initialized. Please note the maintenance consists of switching to a new server that will host the service and all pending updates will be applied. This will cause a short service interruption."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "start-maintenance-updates",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Start maintenance updates for the Managed Database."
      }
    },
    "/databases/{database-id}/alerts": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "post": {
        "summary": "List Service Alerts",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/alerts\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"period\" : \"day\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "alerts": {
                      "$ref": "#/components/schemas/dbaas-alerts"
                    }
                  }
                },
                "examples": {
                  "alerts": {
                    "value": {
                      "alerts": [
                        {
                          "timestamp": "2023-02-10 12:40:19",
                          "message_type": "RESOURCE USAGE DISK",
                          "description": "Disk usage is critically high for a database service, service is not performing normally.",
                          "recommendation": "We recommend you review your application or upgrade to the next plan size.",
                          "resource_type": "disk"
                        },
                        {
                          "timestamp": "2023-02-09 15:41:20",
                          "message_type": "MAINTENANCE SCHEDULED",
                          "description": "Mandatory maintenance has been scheduled for a database service.",
                          "maintenance_scheduled": "2023-02-12 01:00:00 (UTC)"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "list-service-alerts",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "string",
                    "description": "The time range to list Managed Database service alerts from."
                  }
                },
                "required": [
                  "period"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "period": "day"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "List service alert messages for the Managed Database."
      }
    },
    "/databases/{database-id}/migration": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "Get Migration Status",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/migration\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "migration": {
                      "$ref": "#/components/schemas/dbaas-migration"
                    }
                  }
                },
                "examples": {
                  "migration": {
                    "value": {
                      "migration": {
                        "status": "complete",
                        "method": "replication",
                        "credentials": {
                          "host": "some_host",
                          "port": 3306,
                          "username": "some_username",
                          "password": "some_password",
                          "database": "some_database",
                          "ignored_databases": "",
                          "ssl": true
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "view-migration-status",
        "description": "View the status of a migration attached to the Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Start Migration",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/migration\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"host\" : \"some_host\",\n    \"port\" : 3306,\n    \"username\" : \"some_username\",\n    \"password\" : \"some_password\",\n    \"database\" : \"some_database\",\n    \"ssl\" : true\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "migration": {
                      "$ref": "#/components/schemas/dbaas-migration"
                    }
                  }
                },
                "examples": {
                  "migration": {
                    "value": {
                      "migration": {
                        "status": "pending",
                        "credentials": {
                          "host": "some_host",
                          "port": 3306,
                          "username": "some_username",
                          "password": "some_password",
                          "database": "some_database",
                          "ignored_databases": "",
                          "ssl": true
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "database-start-migration",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "host": {
                    "type": "string",
                    "description": "The host name of the source server."
                  },
                  "port": {
                    "type": "integer",
                    "description": "The connection port of the source server."
                  },
                  "username": {
                    "type": "string",
                    "description": "The username of the source server. Uses `default` for Valkey if left empty or unset."
                  },
                  "password": {
                    "type": "string",
                    "description": "The password of the source server."
                  },
                  "database": {
                    "type": "string",
                    "description": "The database of the source server. Required for MySQL/PostgreSQL engine types, but excluded for Valkey."
                  },
                  "ignored_databases": {
                    "type": "string",
                    "description": "Comma-separated list of ignored databases on the source server. Excluded for Valkey engine types."
                  },
                  "ssl": {
                    "type": "boolean",
                    "description": "The true/false value for whether SSL is needed to connect to the source server."
                  }
                },
                "required": [
                  "host",
                  "port",
                  "username",
                  "password",
                  "ssl"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "host": "some_host",
                    "port": 3306,
                    "username": "some_username",
                    "password": "some_password",
                    "database": "some_database",
                    "ignored_databases": "",
                    "ssl": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Start a migration to the Managed Database."
      },
      "delete": {
        "summary": "Detach Migration",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/migration\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "database-detach-migration",
        "description": "Detach a migration from the Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/read-replica": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "post": {
        "summary": "Add Read-Only Replica",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/read-replica\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"region\" : \"ewr\",\n    \"label\" : \"new_read_replica_label\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                        "plan_disk": 25,
                        "plan_ram": 1024,
                        "plan_vcpus": 1,
                        "plan_replicas": 0,
                        "region": "EWR",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "some label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "database-add-read-replica",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Managed Database is located."
                  },
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Managed Database."
                  }
                },
                "required": [
                  "region",
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "region": "ewr",
                    "label": "new_read_replica_label"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a read-only replica node for the Managed Database."
      }
    },
    "/databases/{database-id}/promote-read-replica": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "post": {
        "summary": "Promote Read-Only Replica",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/promote-read-replica\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "database-promote-read-replica",
        "security": [
          {
            "API Key": []
          }
        ],
        "description": "Promote a read-only replica node to its own primary Managed Database."
      }
    },
    "/databases/{database-id}/backups": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "Get Backup Information",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/backups \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "latest_backup": {
                      "$ref": "#/components/schemas/database-latest-backup"
                    },
                    "oldest_backup": {
                      "$ref": "#/components/schemas/database-oldest-backup"
                    }
                  }
                },
                "examples": {
                  "backups": {
                    "value": {
                      "latest_backup": {
                        "date": "2023-02-07",
                        "time": "20:51:05"
                      },
                      "oldest_backup": {
                        "date": "2023-02-05",
                        "time": "20:51:07"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-backup-information",
        "description": "Get backup information for the Managed Database.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/restore": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "post": {
        "summary": "Restore from Backup",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/restore\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"new_restore_label\",\n    \"type\" : \"pitr\",\n    \"date\" : \"2023-02-06\",\n    \"time\" : \"08:00:00\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
                        "plan_disk": 25,
                        "plan_ram": 1024,
                        "plan_vcpus": 1,
                        "plan_replicas": 0,
                        "region": "EWR",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "some label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "database-restore-from-backup",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Managed Database."
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of backup restoration to use for this Managed Database.\n* `pitr`: Point-in-time recovery\n* `basebackup`: Latest backup (default if omitted)"
                  },
                  "date": {
                    "type": "string",
                    "description": "The [backup date](#operation/get-backup-information) to use when restoring the Managed Database in YYYY-MM-DD date format. Required for `pitr` type requests."
                  },
                  "time": {
                    "type": "string",
                    "description": "The [backup time](#operation/get-backup-information) to use when restoring the Managed Database in HH-MM-SS time format (24-hour UTC). Required for `pitr` type requests."
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "new_restore_label",
                    "type": "pitr",
                    "date": "2023-02-06",
                    "time": "08:00:00"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new Managed Database from a backup."
      }
    },
    "/databases/{database-id}/fork": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "post": {
        "summary": "Fork Managed Database",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/fork\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"new_fork_label\",\n    \"region\" : \"sea\",\n    \"plan\" : \"vultr-dbaas-startup-cc-2-80-4\",\n    \"type\" : \"pitr\",\n    \"date\" : \"2023-02-06\",\n    \"time\" : \"08:00:00\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "database": {
                      "$ref": "#/components/schemas/database"
                    }
                  }
                },
                "examples": {
                  "database": {
                    "value": {
                      "database": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2022-05-09 10:13:31",
                        "plan": "vultr-dbaas-startup-cc-2-80-4",
                        "plan_disk": 80,
                        "plan_ram": 4096,
                        "plan_vcpus": 2,
                        "plan_replicas": 0,
                        "region": "SEA",
                        "database_engine": "mysql",
                        "database_engine_version": 8,
                        "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
                        "status": "Running",
                        "label": "new_fork_label",
                        "tag": "some tag",
                        "dbname": "defaultdb",
                        "host": "HOSTNAME_GOES_HERE",
                        "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
                        "user": "vultradmin",
                        "password": "PASSWORD_GOES_HERE",
                        "port": 16751,
                        "maintenance_dow": "sunday",
                        "maintenance_time": "06:00:00",
                        "backup_hour": "23",
                        "backup_minute": "57",
                        "latest_backup": "2022-11-02 12:58:18\"",
                        "trusted_ips": [
                          "..."
                        ],
                        "ca_certificate": "-----BEGIN CERTIFICATE ...",
                        "mysql_sql_modes": [
                          "ANSI",
                          "ERROR_FOR_DIVISION_BY_ZERO",
                          "NO_ENGINE_SUBSTITUTION",
                          "NO_ZERO_DATE",
                          "NO_ZERO_IN_DATE",
                          "STRICT_ALL_TABLES"
                        ],
                        "mysql_require_primary_key": true,
                        "mysql_slow_query_log": false,
                        "cluster_time_zone": "America/New_York"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "database-fork",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Managed Database."
                  },
                  "region": {
                    "type": "string",
                    "description": "The [Region id](#operation/list-regions) where the Managed Database is located."
                  },
                  "plan": {
                    "type": "string",
                    "description": "The [Plan id](#operation/list-database-plans) to use when deploying this Managed Database."
                  },
                  "vpc_id": {
                    "type": "string",
                    "description": "The [VPC id](#operation/list-vpcs) to use when deploying this Managed Database. It can also be set to `new` to configure a new VPC network with this deployment."
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of backup restoration to use for this Managed Database.\n* `pitr`: Point-in-time recovery\n* `basebackup`: Latest backup (default if omitted)"
                  },
                  "date": {
                    "type": "string",
                    "description": "The [backup date](#operation/get-backup-information) to use when restoring the Managed Database in YYYY-MM-DD date format. Required for `pitr` type requests."
                  },
                  "time": {
                    "type": "string",
                    "description": "The [backup time](#operation/get-backup-information) to use when restoring the Managed Database in HH-MM-SS time format (24-hour UTC). Required for `pitr` type requests."
                  }
                },
                "required": [
                  "label",
                  "region",
                  "plan"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "new_fork_label",
                    "region": "sea",
                    "plan": "vultr-dbaas-startup-cc-2-80-4",
                    "type": "pitr",
                    "date": "2023-02-06",
                    "time": "08:00:00"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Fork a Managed Database to a new subscription from a backup."
      }
    },
    "/databases/{database-id}/connection-pools": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Connection Pools",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connection-pools\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connections": {
                      "$ref": "#/components/schemas/database-connections"
                    },
                    "connection_pools": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/connection-pool"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/dbaas-meta"
                    }
                  }
                },
                "examples": {
                  "connection_pools": {
                    "value": {
                      "connections": {
                        "used": 12,
                        "available": 10,
                        "max": 22
                      },
                      "connection_pools": [
                        {
                          "name": "first_pool_name",
                          "database": "some_db_name",
                          "username": "some_username",
                          "mode": "transaction",
                          "size": 5
                        },
                        {
                          "name": "second_pool_name",
                          "database": "another_db_name",
                          "username": "another_username",
                          "mode": "session",
                          "size": 7
                        }
                      ],
                      "meta": {
                        "total": 2
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-connection-pools",
        "description": "List all connection pools within the Managed Database (PostgreSQL engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Connection Pool",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connection-pools\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"name\" : \"new_connection_pool\",\n    \"database\" : \"some_database\",\n    \"username\" : \"some_user\",\n    \"mode\" : \"transaction\",\n    \"size\" : 5\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connection_pool": {
                      "$ref": "#/components/schemas/connection-pool"
                    }
                  }
                },
                "examples": {
                  "connection_pool": {
                    "value": {
                      "connection_pool": {
                        "name": "new_connection_pool",
                        "database": "some_database",
                        "username": "some_user",
                        "mode": "transaction",
                        "size": 5
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-connection-pool",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the connection pool."
                  },
                  "database": {
                    "type": "string",
                    "description": "The logical database associated with the connection pool."
                  },
                  "username": {
                    "type": "string",
                    "description": "The database user associated with the connection pool."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The mode for the connection pool.\n* `session`\n* `transaction`\n* `statement`"
                  },
                  "size": {
                    "type": "integer",
                    "description": "The size of the connection pool."
                  }
                },
                "required": [
                  "name",
                  "database",
                  "username",
                  "mode",
                  "size"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "name": "new_connection_pool",
                    "database": "some_database",
                    "username": "some_user",
                    "mode": "transaction",
                    "size": 5
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new connection pool within the Managed Database (PostgreSQL engine types only)."
      }
    },
    "/databases/{database-id}/connection-pools/{pool-name}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        },
        {
          "schema": {
            "type": "string"
          },
          "name": "pool-name",
          "in": "path",
          "required": true,
          "description": "The [connection pool name](#operation/list-connection-pools)."
        }
      ],
      "get": {
        "summary": "Get Connection Pool",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connection-pools/{pool-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connection_pool": {
                      "$ref": "#/components/schemas/connection-pool"
                    }
                  }
                },
                "examples": {
                  "connection_pool": {
                    "value": {
                      "connection_pool": {
                        "name": "some_connection_pool",
                        "database": "some_database",
                        "username": "some_user",
                        "mode": "transaction",
                        "size": 5
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-connection-pool",
        "description": "Get information about a Managed Database connection pool (PostgreSQL engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Connection Pool",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connection-pools/{pool-name}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"mode\" : \"session\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connection_pool": {
                      "$ref": "#/components/schemas/connection-pool"
                    }
                  }
                },
                "examples": {
                  "connection_pool": {
                    "value": {
                      "connection_pool": {
                        "name": "some_connection_pool",
                        "database": "some_database",
                        "username": "some_user",
                        "mode": "transaction",
                        "size": 5
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-connection-pool",
        "description": "Update connection-pool information within a Managed Database (PostgreSQL engine types only).",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "database": {
                    "type": "string",
                    "description": "The logical database associated with the connection pool."
                  },
                  "username": {
                    "type": "string",
                    "description": "The database user associated with the connection pool."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The mode for the connection pool.\n* `session`\n* `transaction`\n* `statement`"
                  },
                  "size": {
                    "type": "integer",
                    "description": "The size of the connection pool."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "mode": "session"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Connection Pool",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/connection-pools/{pool-name}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-connection-pool",
        "description": "Delete a connection pool within a Managed Database (PostgreSQL engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/databases/{database-id}/advanced-options": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "jit": false,
                        "temp_file_limit": 10000,
                        "track_io_timing": "off"
                      },
                      "available_options": [
                        {
                          "name": "autovacuum_analyze_scale_factor",
                          "type": "float",
                          "min_value": 0,
                          "max_value": 1
                        },
                        {
                          "name": "autovacuum_analyze_threshold",
                          "type": "int",
                          "min_value": 0,
                          "max_value": 2147483647
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-advanced-options",
        "description": "List all configured and available advanced options for the Managed Database (MySQL, PostgreSQL, and Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"jit\" : false,\n    \"temp_file_limit\" : 10000,\n    \"track_io_timing\" : \"off\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "jit": false,
                        "temp_file_limit": 10000,
                        "track_io_timing": "off"
                      },
                      "available_options": [
                        {
                          "name": "autovacuum_analyze_scale_factor",
                          "type": "float",
                          "min_value": 0,
                          "max_value": 1
                        },
                        {
                          "name": "autovacuum_analyze_threshold",
                          "type": "int",
                          "min_value": 0,
                          "max_value": 2147483647
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-advanced-options",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/pg-advanced-options"
                  },
                  {
                    "$ref": "#/components/schemas/mysql-advanced-options"
                  },
                  {
                    "$ref": "#/components/schemas/kafka-advanced-options"
                  }
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "jit": false,
                    "temp_file_limit": 10000,
                    "track_io_timing": "off"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Updates an advanced configuration option for the Managed Database (MySQL, PostgreSQL, and Kafka engine types only)."
      }
    },
    "/databases/{database-id}/advanced-options/kafka-rest": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Kafka REST Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-rest\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "producer_acks": "1",
                        "producer_compression_type": "none"
                      },
                      "available_options": [
                        {
                          "name": "consumer_enable_auto_commit",
                          "type": "bool"
                        },
                        {
                          "name": "consumer_request_max_bytes",
                          "type": "int",
                          "min_value": 1,
                          "max_value": 671088640,
                          "unit": "bytes"
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-advanced-options-kafka-rest",
        "description": "List all configured and available Kafka REST advanced options for the Managed Database (Kafka engine types only on business plans or higher).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Kafka REST Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-rest\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"producer_acks\" : \"1\",\n    \"producer_compression_type\" : \"none\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "producer_acks": "1",
                        "producer_compression_type": "none"
                      },
                      "available_options": [
                        {
                          "name": "consumer_enable_auto_commit",
                          "type": "bool"
                        },
                        {
                          "name": "consumer_request_max_bytes",
                          "type": "int",
                          "min_value": 1,
                          "max_value": 671088640,
                          "unit": "bytes"
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-advanced-options-kafka-rest",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/kafka-rest-advanced-options"
              },
              "examples": {
                "request": {
                  "value": {
                    "producer_acks": "1",
                    "producer_compression_type": "none"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Updates a Kafka REST advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher)."
      }
    },
    "/databases/{database-id}/advanced-options/schema-registry": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Schema Registry Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/schema-registry\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "leader_eligibility": true,
                        "retriable_errors_silenced": true
                      },
                      "available_options": [
                        {
                          "name": "schema_reader_strict_mode",
                          "type": "bool"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-advanced-options-schema-registry",
        "description": "List all configured and available Schema Registry advanced options for the Managed Database (Kafka engine types only on business plans or higher).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Schema Registry Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/schema-registry\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"leader_eligibility\" : true,\n    \"retriable_errors_silenced\" : true\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "leader_eligibility": true,
                        "retriable_errors_silenced": true
                      },
                      "available_options": [
                        {
                          "name": "schema_reader_strict_mode",
                          "type": "bool"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-advanced-options-schema-registry",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/schema-registry-advanced-options"
              },
              "examples": {
                "request": {
                  "value": {
                    "leader_eligibility": true,
                    "retriable_errors_silenced": true
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Updates a Schema Registry advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher)."
      }
    },
    "/databases/{database-id}/advanced-options/kafka-connect": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Kafka Connect Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-connect\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "consumer_max_poll_records": 500,
                        "offset_flush_timeout_ms": 5000
                      },
                      "available_options": [
                        {
                          "name": "connector_client_config_override_policy",
                          "type": "string"
                        },
                        {
                          "name": "consumer_auto_offset_reset",
                          "type": "string"
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-advanced-options-kafka-connect",
        "description": "List all configured and available Kafka Connect advanced options for the Managed Database (Kafka engine types only on business plans or higher).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "put": {
        "summary": "Update Kafka Connect Advanced Options",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-connect\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"consumer_max_poll_records\" : 500,\n    \"offset_flush_timeout_ms\" : 5000\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "configured_options": {
                      "type": "object"
                    },
                    "available_options": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/dbaas-available-options"
                      }
                    }
                  }
                },
                "examples": {
                  "advanced_options": {
                    "value": {
                      "configured_options": {
                        "consumer_max_poll_records": 500,
                        "offset_flush_timeout_ms": 5000
                      },
                      "available_options": [
                        {
                          "name": "connector_client_config_override_policy",
                          "type": "string"
                        },
                        {
                          "name": "consumer_auto_offset_reset",
                          "type": "string"
                        },
                        "..."
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-advanced-options-kafka-connect",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/kafka-connect-advanced-options"
              },
              "examples": {
                "request": {
                  "value": {
                    "consumer_max_poll_records": 500,
                    "offset_flush_timeout_ms": 5000
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Updates a Kafka Connect advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher)."
      }
    },
    "/databases/{database-id}/version-upgrade": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "database-id",
          "in": "path",
          "required": true,
          "description": "The [Managed Database ID](#operation/list-databases)."
        }
      ],
      "get": {
        "summary": "List Available Versions",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/version-upgrade\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available_versions": {
                      "type": "array",
                      "description": "A list of available versions greater than the current version of the Managed Database.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "examples": {
                  "available_versions": {
                    "value": {
                      "available_versions": [
                        "12",
                        "13",
                        "14",
                        "15"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-available-versions",
        "description": "List all available version upgrades within the Managed Database (PostgreSQL and Kafka engine types only).",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Start Version Upgrade",
        "tags": [
          "managed-databases"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/databases/{database-id}/version-upgrade\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"version\" : \"15\"\n  }'"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "A message indicating whether the version upgrade was successfully initialized."
                    }
                  }
                },
                "examples": {
                  "message": {
                    "value": {
                      "message": "Version upgrade successfully initialized."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "start-version-upgrade",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "version": {
                    "type": "string",
                    "description": "The version number to upgrade the Managed Database to."
                  }
                },
                "required": [
                  "version"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "version": "15"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Start a version upgrade for the Managed Database (PostgreSQL and Kafka engine types only)."
      }
    },
    "/inference": {
      "get": {
        "summary": "List Serverless Inference",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscriptions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/inference-subscription"
                      }
                    }
                  }
                },
                "examples": {
                  "inference-subscription": {
                    "value": {
                      "subscriptions": [
                        {
                          "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                          "date_created": "2024-06-05T10:13:31+00:00",
                          "label": "example-inference",
                          "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-inference",
        "description": "List all Serverless Inference subscriptions in your account.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "post": {
        "summary": "Create Serverless Inference",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"example-inference\"\n  }'"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscription": {
                      "$ref": "#/components/schemas/inference-subscription"
                    }
                  }
                },
                "examples": {
                  "inference-subscription": {
                    "value": {
                      "subscription": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2024-06-05T10:13:31+00:00",
                        "label": "example-inference",
                        "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "create-inference",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Serverless Inference subscription."
                  }
                },
                "required": [
                  "label"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "example-inference"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        },
        "description": "Create a new Serverless Inference subscription."
      }
    },
    "/inference/{inference-id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "inference-id",
          "in": "path",
          "required": true,
          "description": "The [Inference ID](#operation/list-inference)."
        }
      ],
      "get": {
        "summary": "Get Serverless Inference",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference/{inference-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscription": {
                      "$ref": "#/components/schemas/inference-subscription"
                    }
                  }
                },
                "examples": {
                  "inference-subscription": {
                    "value": {
                      "subscription": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2024-06-05T10:13:31+00:00",
                        "label": "example-inference",
                        "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-inference",
        "description": "Get information about a Serverless Inference subscription.",
        "security": [
          {
            "API Key": []
          }
        ]
      },
      "patch": {
        "summary": "Update Serverless Inference",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference/{inference-id}\" \\\n  -X PATCH \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\n    \"label\" : \"example-inference-updated\"\n  }'"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscription": {
                      "$ref": "#/components/schemas/inference-subscription"
                    }
                  }
                },
                "examples": {
                  "inference-subscription": {
                    "value": {
                      "subscription": {
                        "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
                        "date_created": "2024-06-05T10:13:31+00:00",
                        "label": "example-inference-updated",
                        "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update-inference",
        "description": "Update information for a Serverless Inference subscription.",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "A user-supplied label for this Serverless Inference subscription."
                  }
                }
              },
              "examples": {
                "request": {
                  "value": {
                    "label": "example-inference-udpated"
                  }
                }
              }
            }
          },
          "description": "Include a JSON object in the request body with a content type of **application/json**."
        }
      },
      "delete": {
        "summary": "Delete Serverless Inference",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference/{inference-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "delete-inference",
        "description": "Delete a Serverless Inference subscription.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/inference/{inference-id}/usage": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "inference-id",
          "in": "path",
          "required": true,
          "description": "The [Inference ID](#operation/list-inference)."
        }
      ],
      "get": {
        "summary": "Get Serverless Inference Usage Information",
        "tags": [
          "serverless-inference"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/inference/{inference-id}/usage\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "usage": {
                      "$ref": "#/components/schemas/inference-usage"
                    }
                  }
                },
                "examples": {
                  "inference-usage": {
                    "value": {
                      "usage": {
                        "chat": {
                          "current_tokens": 1234567,
                          "monthly_allotment": 50000000,
                          "overage": 0
                        },
                        "audio": {
                          "tts_characters": 45678,
                          "tts_sm_characters": 23456
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "get-inference-usage",
        "description": "Get usage information for a Serverless Inference subscription.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/marketplace/apps/{image-id}/variables": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "image-id",
          "in": "path",
          "required": true,
          "description": "The application's [Image ID](#operation/list-applications)."
        }
      ],
      "get": {
        "summary": "List Marketplace App Variables",
        "tags": [
          "marketplace"
        ],
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/marketplace/apps/{image-id}/variables\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "variables": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/app-variable"
                      }
                    }
                  }
                },
                "examples": {
                  "variables": {
                    "value": {
                      "variables": [
                        {
                          "name": "some_required_field",
                          "description": "This is an example required variable field for this marketplace app.",
                          "required": true
                        },
                        {
                          "name": "some_optional_field",
                          "description": "This is an example optional variable field for this marketplace app.",
                          "required": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "operationId": "list-marketplace-app-variables",
        "description": "List all user-supplied variables for a Marketplace App.",
        "security": [
          {
            "API Key": []
          }
        ]
      }
    },
    "/registries": {
      "get": {
        "summary": "List Container Registries",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Container Registry Subscriptions for this account",
        "operationId": "list-registries",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "registries": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/registry"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registries\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry": {
      "post": {
        "summary": "Create Container Registry",
        "tags": [
          "Container Registry"
        ],
        "description": "Create a new Container Registry Subscription",
        "operationId": "create-registry",
        "security": [
          {
            "API Key": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/components/schemas/registry/properties/name"
                  },
                  "public": {
                    "$ref": "#/components/schemas/registry/properties/public"
                  },
                  "region": {
                    "type": "string",
                    "description": "The name of the region you'd like to deploy this Registry in. Can get list of regions from /registry/region/list endpoint i.e. sjc"
                  },
                  "plan": {
                    "type": "string",
                    "description": "The key of the plan you'd like to select which dictates how much storage you're allocated and the monthly cost. Can get list of plans from /plan/list endpoint i.e. start_up"
                  }
                },
                "required": [
                  "name",
                  "public",
                  "region",
                  "plan"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "name": "charizard",
                    "public": false,
                    "region": "sjc",
                    "plan": "business"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registries\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"region\" : \"sjc\",\n      \"name\" : \"charizard\",\n      \"plan\" : \"business\",\n      \"public\" : false\n    }'"
          }
        ]
      }
    },
    "/registry/{registry-id}": {
      "get": {
        "summary": "Read Container Registry",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Container Registry Subscription",
        "operationId": "read-registry",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "put": {
        "summary": "Update Container Registry",
        "tags": [
          "Container Registry"
        ],
        "description": "Update a Container Registry Subscription",
        "operationId": "update-registry",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "public": {
                    "$ref": "#/components/schemas/registry/properties/public"
                  },
                  "plan": {
                    "type": "string",
                    "description": "The key of the plan you'd like to upgrade to which dictates how much storage you're allocated and the monthly cost. Can get list of plans from /plan/list endpoint i.e. business"
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "public": true,
                    "plan": "business"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"region\" : \"sjc\",\n      \"name\" : \"charizard\",\n      \"plan\" : \"business\",\n      \"public\" : false\n    }'"
          }
        ]
      },
      "delete": {
        "summary": "Delete Container Registry",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes a Container Registry Subscription",
        "operationId": "delete-registry",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/replications": {
      "get": {
        "summary": "List Replication Policies",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Replication Policies in a Container Registry Subscription",
        "operationId": "list-replications",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "replications": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/replication"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/replications\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/replication": {
      "post": {
        "summary": "Create Replication Policy",
        "tags": [
          "Container Registry"
        ],
        "description": "Create a new Replication Policy for a Container Registry Subscription",
        "operationId": "create-replication",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "The name of the region you'd like to replicate this Container Registry in. Get a list of regions from /registry/region/list endpoint, i.e. sjc"
                  }
                },
                "required": [
                  "region"
                ]
              },
              "examples": {
                "example": {
                  "value": {
                    "region": "sjc"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/replication"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/replication\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"region\" : \"sjc\"\n    }'"
          }
        ]
      }
    },
    "/registry/{registry-id}/replication/{region}": {
      "get": {
        "summary": "Read Replication Policy",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Replication Policy in a Container Registry Subscription",
        "operationId": "read-replication",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/vcr_region"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/replication"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/replication/{region}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "delete": {
        "summary": "Delete Replication Policy",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes a Replication Policy from a Container Registry Subscription",
        "operationId": "delete-replication",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/vcr_region"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/replication/{region}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/retention/schedule": {
      "put": {
        "summary": "Update Retention Policy Schedule",
        "tags": [
          "Container Registry"
        ],
        "description": "Update when a Retention Policy is scheduled to run in a Container Registry Subscription",
        "operationId": "update-retention-schedule",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cron": {
                    "type": "string",
                    "description": "The schedule in which the Retention Policy is triggered\n\nPossible values:\n\n* 'hourly'\n* 'daily'\n* 'weekly'\n* 'monthly'"
                  }
                },
                "required": [
                  "cron"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "cron": "monthly"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "schedule": {
                      "type": "string",
                      "description": "The schedule in which the Retention Policy is triggered\n\nPossible values:\n\n* 'hourly'\n* 'daily'\n* 'weekly'\n* 'monthly'"
                    },
                    "next_scheduled_time": {
                      "type": "string",
                      "description": "The next scheduled time the Retention Policy will be triggered"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/schedule\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"cron\" : \"monthly\"\n    }'"
          }
        ]
      }
    },
    "/registry/{registry-id}/retention/executions": {
      "post": {
        "summary": "Trigger Retention Policy Execution",
        "tags": [
          "Container Registry"
        ],
        "description": "Manually initiate the execution of a Retention Policy in a Container Registry Subscription",
        "operationId": "execute-retention-policy",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dry_run": {
                    "type": "boolean",
                    "description": "If true, simulates the retention policy execution without deleting any artifacts"
                  }
                },
                "required": [
                  "dry_run"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "dry_run": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dry_run": {
                      "type": "boolean",
                      "description": "If true, simulates the retention policy execution without deleting any artifacts"
                    },
                    "end_time": {
                      "type": "string",
                      "description": "The end time of the Retention Policy execution"
                    },
                    "start_time": {
                      "type": "string",
                      "description": "The start time of the Retention Policy execution"
                    },
                    "trigger": {
                      "type": "string",
                      "description": "Trigger type of the Retention Policy execution\n\nFor example:\n\n* Manual\n* Schedule"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/executions\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"dry_run\": true\n    }'"
          }
        ]
      }
    },
    "/registry/{registry-id}/retention/rules": {
      "get": {
        "summary": "List Retention Rules",
        "tags": [
          "Container Registry"
        ],
        "description": "List all Retention Rules for a Container Registry Subscription",
        "operationId": "list-retention-rules",
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "retention_rules": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/retention-rule"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/rules\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "post": {
        "summary": "Create Retention Rule",
        "tags": [
          "Container Registry"
        ],
        "description": "Create a new Retention Rule for a Container Regsitry Subscription",
        "operationId": "create-retention-rule",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rule_type": {
                    "type": "string",
                    "description": "The type of retention rule logic to apply.\n\nPossible values:\n\n* 'artifacts pushed'\n* 'artifacts pulled'\n* 'days pushed'\n* 'days pulled'\n* 'always retain'"
                  },
                  "count": {
                    "type": "integer",
                    "description": "The numeric parameter for the rule, for example, if `rule_type` is \"artifacts pushed\", this defines how many artifacts to retain"
                  },
                  "repository_action": {
                    "type": "string",
                    "description": "Specifies whether to match or exclude repositories.\n- 'matches': include repositories matching the pattern\n- 'excludes': exclude repositories matching the pattern",
                    "enum": [
                      "matches",
                      "excludes"
                    ]
                  },
                  "repository_match": {
                    "type": "string",
                    "description": "The glob-style pattern to match repository names, supports wildcards like `*` and `**`."
                  },
                  "tag_action": {
                    "type": "string",
                    "description": "Specifies whether to match or exclude tags.\n- 'matches': include tags matching the pattern\n- 'excludes': exclude tags matching the pattern",
                    "enum": [
                      "matches",
                      "excludes"
                    ]
                  },
                  "tag_match": {
                    "type": "string",
                    "description": "Glob-style pattern to match tag names.\nCommon patterns include:\n  - `**`: match all\n  - `release-*`: match tags starting with 'release-'"
                  },
                  "untagged": {
                    "type": "boolean",
                    "description": "Whether to include untagged artifacts when applying the rule"
                  }
                },
                "required": [
                  "rule_type",
                  "repository_action",
                  "repository_match",
                  "tag_action",
                  "tag_match",
                  "untagged"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "rule_type": "artifacts pulled",
                    "count": 10,
                    "repository_action": "matches",
                    "repository_match": "myapp/*",
                    "tag_action": "excludes",
                    "tag_match": "v.1.3.*",
                    "untagged": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/retention-rule"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/rules\" \\\n  -X POST \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"rule_type\": \"artifacts pulled\",\n      \"count\": 10,\n      \"repository_action\": \"matches\",\n      \"repository_match\": \"myapp/*\",\n      \"tag_action\": \"excludes\",\n      \"tag_match\": \"v.1.3.*\",\n      \"untagged\": true\n    }'"
          }
        ]
      }
    },
    "/registry/{registry-id}/retention/rules/{retention-rule-id}": {
      "get": {
        "summary": "Read Retention Rule",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Retention Rule in a Container Registry Subscription",
        "operationId": "read-retention-rule",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/retention-rule-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/retention-rule"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/rules/{retention-rule-id}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "put": {
        "summary": "Update Retention Rule",
        "tags": [
          "Container Registry"
        ],
        "description": "Update a Retention Rule in a Container Registry Subscription",
        "operationId": "update-retention-rule",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/retention-rule-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "disabled": {
                    "$ref": "#/components/schemas/retention-rule/properties/disabled"
                  }
                },
                "required": [
                  "disabled"
                ]
              },
              "examples": {
                "request": {
                  "value": {
                    "disabled": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/retention-rule"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/rules/{retention-rule-id}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"disabled\": true\n    }'"
          }
        ]
      },
      "delete": {
        "summary": "Delete Retention Rule",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes a Retention Rule from a Container Registry Subscription",
        "operationId": "delete-retention-rule",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/retention-rule-id"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/retention/rules/{retention-rule-id}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/repositories": {
      "get": {
        "summary": "List Repositories",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Repositories in a Container Registry Subscription",
        "operationId": "list-registry-repositories",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "repositories": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/registry-repository"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repositories\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/repository/{repository-image}": {
      "get": {
        "summary": "Read Repository",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Repository in a Container Registry Subscription",
        "operationId": "read-registry-repository",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-repository"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "put": {
        "summary": "Update Repository",
        "tags": [
          "Container Registry"
        ],
        "description": "Update a Repository in a Container Registry Subscription",
        "operationId": "update-repository",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "$ref": "#/components/schemas/registry-repository/properties/description"
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "description": "This is my super cool hello-world project"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-repository"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\" \\\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"description\" : \"his is my super cool hello-world project\"\n    }'"
          }
        ]
      },
      "delete": {
        "summary": "Delete Repository",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes a Repository from a Container Registry Subscription",
        "operationId": "delete-repository",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}\" \\\n  -X DELETE \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/docker-credentials?expiry_seconds=0&read_write=false": {
      "options": {
        "summary": "Create Docker Credentials",
        "tags": [
          "Container Registry"
        ],
        "description": "Create a fresh set of Docker Credentials for this Container Registry Subscription",
        "operationId": "create-registry-docker-credentials",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/docker-credentials-expiry-seconds"
          },
          {
            "$ref": "#/components/parameters/docker-credentials-read-write"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-docker-credentials"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/docker-credentials\" \\\n  -X OPTIONS \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/docker-credentials/kubernetes?expiry_seconds=0&read_write=false&base64_encode=false": {
      "options": {
        "summary": "Create Docker Credentials for Kubernetes",
        "tags": [
          "Container Registry"
        ],
        "description": "Create a fresh set of Docker Credentials for this Container Registry Subscription and return them in a Kubernetes friendly YAML format",
        "operationId": "create-registry-kubernetes-docker-credentials",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/docker-credentials-expiry-seconds"
          },
          {
            "$ref": "#/components/parameters/docker-credentials-read-write"
          },
          {
            "$ref": "#/components/parameters/kubernetes-docker-credentials-base64-encode"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/yaml": {
                "schema": {
                  "$ref": "#/components/schemas/registry-kubernetes-docker-credentials"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/docker-credentials/kubernetes\" \\\n  -X OPTIONS \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/user/password": {
      "put": {
        "summary": "Update Container Registry Password",
        "tags": [
          "Container Registry"
        ],
        "description": "Update the Container Registy Password for this Container Registry Subscription",
        "operationId": "update-container-registry-password",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "old_password": {
                    "type": "string",
                    "format": "password",
                    "description": "The API Key provided on Container Registry Subscription creation if the password has not been updated yet"
                  },
                  "new_password": {
                    "type": "string",
                    "format": "password",
                    "description": "The new user provided password"
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "old_password": "12345abc456ABC123ABcd6789efgH1234abc",
                    "new_password": "sup3rh4rdt0cr4ck"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "string",
                      "description": "A success message"
                    }
                  }
                },
                "examples": {
                  "example": {
                    "value": {
                      "success": "Password update successfully"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/user/password\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/robots": {
      "get": {
        "summary": "List Robots",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Robots in a Conainer Registry Subscription",
        "operationId": "list-registry-robots",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "robots": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/registry-robot"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/robots\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/robot/{robot-name}": {
      "get": {
        "summary": "Read Robot",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Robot in a Container Registry Subscription",
        "operationID": "read-registry-robot",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/robot-name"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-robot"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/robot/{robot-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "put": {
        "summary": "Update Robot",
        "tags": [
          "Container Registry"
        ],
        "description": "Update the description, disable, duration, and add or remove access, in a Container Registry Subscription Robot",
        "operationId": "update-robot",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/robot-name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "$ref": "#/components/schemas/registry-robot/properties/description"
                  },
                  "disable": {
                    "$ref": "#/components/schemas/registry-robot/properties/disable"
                  },
                  "duration": {
                    "$ref": "#/components/schemas/registry-robot/properties/duration"
                  },
                  "access": {
                    "$ref": "#/components/schemas/registry-robot/properties/permissions/properties/access"
                  }
                }
              },
              "examples": {
                "example": {
                  "value": {
                    "description": "Robot user auto generated by Vultr - enter only what you want to update in the request body",
                    "disable": true,
                    "duration": -1,
                    "access": [
                      {
                        "action": "pull",
                        "resource": "repository",
                        "effect": "allow"
                      },
                      {
                        "action": "delete",
                        "resource": "artifact",
                        "effect": "deny"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-robot"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/robot/{robot-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n  -H \"Content-Type: application/json\" \\\n    --data '{\n      \"disable\": true\n    }'"
          }
        ]
      },
      "delete": {
        "summary": "Delete Robot",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes a Robot from a Container Registry Subscription",
        "operationId": "delete-robot",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/robot-name"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/robot/{robot-name}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/repository/{repository-image}/artifacts": {
      "get": {
        "summary": "List Artifacts",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Artifacts in a Container Registry Repository",
        "operationId": "list-registry-repository-artifacts",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "artifacts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/registry-repository-artifact"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifacts\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/{registry-id}/repository/{repository-image}/artifact/{artifact-digest}": {
      "get": {
        "summary": "Read Artifact",
        "tags": [
          "Container Registry"
        ],
        "description": "Get a single Artifact in a Container Registry Repository",
        "operationID": "read-registry-repository-artifact",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          },
          {
            "$ref": "#/components/parameters/artifact-digest"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/registry-repository-artifact"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifact/{artifact-digest}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      },
      "delete": {
        "summary": "Delete Artifact",
        "tags": [
          "Container Registry"
        ],
        "description": "Deletes an Artifact from a Container Registry Repository",
        "operationID": "delete-registry-repository-artifact",
        "security": [
          {
            "API Key": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/registry-id"
          },
          {
            "$ref": "#/components/parameters/repository-image"
          },
          {
            "$ref": "#/components/parameters/artifact-digest"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifact/{artifact-digest}\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/region/list": {
      "get": {
        "summary": "List Registry Regions",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Regions where a Container Registry can be deployed",
        "operationId": "list-registry-regions",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "regions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/registry-region"
                      }
                    },
                    "meta": {
                      "$ref": "#/components/schemas/meta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/region/list\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/registry/plan/list": {
      "get": {
        "summary": "List Registry Plans",
        "tags": [
          "Container Registry"
        ],
        "description": "List All Plans to help choose which one is the best fit for your Container Registry",
        "operationId": "list-registry-plans",
        "security": [
          {
            "API Key": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "plans": {
                      "type": "object",
                      "properties": {
                        "start_up": {
                          "$ref": "#/components/schemas/registry-plan"
                        },
                        "business": {
                          "$ref": "#/components/schemas/registry-plan"
                        },
                        "premium": {
                          "$ref": "#/components/schemas/registry-plan"
                        },
                        "enterprise": {
                          "$ref": "#/components/schemas/registry-plan"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad Request"
          }
        },
        "x-codeSamples": [
          {
            "lang": "Curl",
            "source": "curl \"https://api.vultr.com/v2/registry/plan/list\" \\\n  -X GET \\\n  -H \"Authorization: Bearer ${VULTR_API_KEY}\""
          }
        ]
      }
    },
    "/vfs/regions": {
      "get": {
        "summary": "List VFS Regions",
        "description": "Retrieve a list of all regions where VFS can be deployed",
        "operationId": "listRegions",
        "tags": [
          "VFS"
        ],
        "responses": {
          "200": {
            "description": "List of available regions retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "regions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vfs_region"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/vfs": {
      "get": {
        "summary": "List VFSs",
        "description": "Retrieve a list of all VFS subscriptions for the account",
        "operationId": "listVFS",
        "tags": [
          "VFS"
        ],
        "responses": {
          "200": {
            "description": "List of VFS subscriptions retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vfs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vfs"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      },
      "post": {
        "summary": "Create VFS",
        "description": "Create a new VFS subscription with the specified configuration",
        "operationId": "createVFS",
        "tags": [
          "VFS"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string",
                    "description": "Region identifier where to create the VFS",
                    "example": "ewr"
                  },
                  "label": {
                    "type": "string",
                    "description": "User-defined label for the VFS subscription",
                    "example": "my-production-storage"
                  },
                  "storage_size": {
                    "type": "object",
                    "properties": {
                      "gb": {
                        "type": "integer",
                        "description": "Size in gigabytes for the VFS",
                        "example": 100
                      }
                    },
                    "required": [
                      "gb"
                    ]
                  },
                  "disk_type": {
                    "type": "string",
                    "enum": [
                      "nvme"
                    ],
                    "description": "Type of storage disk (defaults to nvme if not specified)",
                    "example": "nvme"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Optional tags to apply to the VFS subscription",
                    "example": [
                      "prod",
                      "web"
                    ]
                  }
                },
                "required": [
                  "region",
                  "label",
                  "storage_size"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "VFS subscription created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vfs"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/vfs/{vfs_id}": {
      "get": {
        "summary": "Get VFS",
        "description": "Retrieve a specific VFS subscription by ID",
        "operationId": "getVFS",
        "tags": [
          "VFS"
        ],
        "parameters": [
          {
            "name": "vfs_id",
            "in": "path",
            "description": "ID of the VFS subscription to retrieve",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "vfs-123abc"
          }
        ],
        "responses": {
          "200": {
            "description": "VFS subscription retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vfs"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      },
      "put": {
        "summary": "Update VFS",
        "description": "Update a VFS subscription's label or storage size",
        "operationId": "updateVFS",
        "tags": [
          "VFS"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "New label for the VFS subscription",
                    "example": "updated-production-storage"
                  },
                  "storage_size": {
                    "type": "object",
                    "description": "New storage size (can only increase, not decrease)",
                    "properties": {
                      "gb": {
                        "type": "integer",
                        "description": "Size in gigabytes for the VFS",
                        "example": 200
                      }
                    },
                    "required": [
                      "gb"
                    ]
                  }
                },
                "minProperties": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vfs"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      },
      "delete": {
        "summary": "Delete VFS",
        "description": "Delete a specific VFS subscription by ID",
        "operationId": "deleteVFS",
        "tags": [
          "VFS"
        ],
        "parameters": [
          {
            "name": "vfs_id",
            "in": "path",
            "description": "ID of the VFS subscription to retrieve",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "vfs-123abc"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Subscription Already Closed"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/vfs/{vfs_id}/attachments": {
      "parameters": [
        {
          "name": "vfs_id",
          "in": "path",
          "description": "ID of the VFS subscription",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "vfs-123abc"
        }
      ],
      "get": {
        "summary": "List VFS Attachments",
        "description": "Retrieve a list of all attachments for a specific VFS subscription",
        "operationId": "listVFSAttachments",
        "tags": [
          "VFS"
        ],
        "responses": {
          "200": {
            "description": "List of VFS attachments retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "attachments": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/vfs_attachment"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/vfs/{vfs_id}/attachments/{vps_id}": {
      "parameters": [
        {
          "name": "vfs_id",
          "in": "path",
          "description": "ID of the VFS subscription",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "123e4567-e89b-12d3-a456-123ab4567c89"
        },
        {
          "name": "vps_id",
          "in": "path",
          "description": "ID of the VPS subscription to attach",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "123e4567-e89b-12d3-a456-123ab4567c89"
        }
      ],
      "put": {
        "summary": "Attach VPS Instance to VFS",
        "description": "Attach a VPS instance to a VFS subscription",
        "operationId": "createVFSAttachment",
        "tags": [
          "VFS"
        ],
        "responses": {
          "201": {
            "description": "VFS attachment created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vfs_attachment"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Target Subscription Already Attached to This VFS Subscription"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      },
      "get": {
        "summary": "Get VFS Attachment",
        "description": "Retrieve details about a specific VFS-VPS attachment",
        "operationId": "getVFSAttachment",
        "tags": [
          "VFS"
        ],
        "responses": {
          "200": {
            "description": "VFS attachment retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vfs_attachment"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      },
      "delete": {
        "summary": "Delete VFS Attachment",
        "description": "Detach a VPS instance from a VFS subscription",
        "operationId": "deleteVFSAttachment",
        "tags": [
          "VFS"
        ],
        "responses": {
          "204": {
            "description": "No Content - Successfully Deleted"
          },
          "403": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Bad Request"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "retention-rule-id": {
        "name": "retention-rule-id",
        "in": "path",
        "required": true,
        "description": "The [Retention Rule ID](#components/schemas/retention-rule/properties/id). Which can be found by [List Retention Rules](#operation/list-retention-rules).",
        "schema": {
          "type": "integer"
        }
      },
      "registry-id": {
        "name": "registry-id",
        "in": "path",
        "required": true,
        "description": "The [Registry ID](#components/schemas/registry/properties/id). Which can be found by [List Registries](#operation/list-registries).",
        "schema": {
          "type": "string"
        }
      },
      "vcr_region": {
        "name": "VCR Region",
        "required": true,
        "description": "The [VCR Region](#components/schemas/replication/properties/region). Which can be found by [List Region](#operation/list-registry-regions)."
      },
      "repository-image": {
        "name": "repository-image",
        "in": "path",
        "required": true,
        "description": "The [Repository Image](#components/schemas/registry-repository/properties/image). Which can be found by [List Repositories](#operation/list-registry-repositories).",
        "schema": {
          "type": "string"
        }
      },
      "artifact-digest": {
        "name": "artifact-digest",
        "in": "path",
        "required": true,
        "description": "The [Artifact Digest](#components/schemas/registry-repository-artifact/properties/digest). Which can be found by [List Artifacts](#operation/list-registry-repository-artifacts)."
      },
      "harbor-user-id": {
        "name": "harbor-user-id",
        "in": "path",
        "required": true,
        "description": "The [Harbor User ID](#components/schemas/registry-user/properties/id). Which can be found by [Get Current User](#operation/get-current-harbor-user)."
      },
      "robot-name": {
        "name": "robot-name",
        "in": "path",
        "required": true,
        "description": "The [Robot Name](#components/schemas/registry-robot/properties/name). Which can be found by [List Robots](#operation/list-registry-robots)."
      },
      "docker-credentials-expiry-seconds": {
        "name": "expiry_seconds",
        "in": "query",
        "description": "The seconds until these credentials expire. When set to 0, credentials do not expire. The default value is 0",
        "default": 0,
        "schema": {
          "type": "integer"
        }
      },
      "docker-credentials-read-write": {
        "name": "read_write",
        "in": "query",
        "description": "Whether these credentials will have only PULL access or PUSH access as well. If true these credentials can PUSH to repos in this registry. If false, these credentials can only PULL. Default is false.",
        "default": false,
        "schema": {
          "type": "boolean"
        }
      },
      "kubernetes-docker-credentials-base64-encode": {
        "name": "base64_encode",
        "in": "query",
        "description": "Whether this YAML will be returned in a base64 encoded string for ease of downloading. If true, the response will be a base64 encoded string. Default is false.",
        "default": false,
        "schema": {
          "type": "boolean"
        }
      }
    },
    "schemas": {
      "vfs_region": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the region",
            "example": "ewr"
          },
          "country": {
            "type": "string",
            "description": "Country where the region is located",
            "example": "US"
          },
          "continent": {
            "type": "string",
            "description": "Continent where the region is located",
            "example": "North America"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the region",
            "example": "New Jersey"
          },
          "price_per_gb": {
            "type": "object",
            "description": "Price per GB for different storage types",
            "properties": {
              "nvme": {
                "type": "number",
                "format": "float",
                "description": "Price per GB for NVMe storage",
                "example": 0.1
              },
              "hdd": {
                "type": "number",
                "format": "float",
                "description": "Price per GB for HDD storage",
                "example": 0.025
              }
            }
          },
          "min_size_gb": {
            "type": "object",
            "description": "Minimum size in GB for different storage types",
            "properties": {
              "nvme": {
                "type": "integer",
                "description": "Minimum size in GB for NVMe storage",
                "example": 10
              },
              "hdd": {
                "type": "integer",
                "description": "Minimum size in GB for HDD storage",
                "example": 40
              }
            }
          }
        }
      },
      "vfs_storage_size": {
        "type": "object",
        "properties": {
          "bytes": {
            "type": "integer",
            "format": "int64",
            "description": "Size in bytes",
            "example": 10737418240
          },
          "gb": {
            "type": "integer",
            "description": "Size in gigabytes",
            "example": 10
          }
        }
      },
      "vfs_billing": {
        "type": "object",
        "properties": {
          "charges": {
            "type": "number",
            "format": "float",
            "description": "Current billing charges",
            "example": 10.5
          },
          "monthly": {
            "type": "number",
            "format": "float",
            "description": "Monthly billing amount",
            "example": 30
          }
        }
      },
      "vfs": {
        "type": "object",
        "description": "Vultr File System subscription entity",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the VFS subscription",
            "example": "123e4567-e89b-12d3-a456-123ab4567c89"
          },
          "region": {
            "type": "string",
            "description": "Region identifier where the VFS is located",
            "example": "ewr"
          },
          "date_created": {
            "type": "string",
            "format": "date-time",
            "description": "Creation timestamp of the VFS subscription",
            "example": "2024-01-01T12:00:00Z"
          },
          "status": {
            "type": "string",
            "description": "Current status of the VFS subscription",
            "example": "active"
          },
          "label": {
            "type": "string",
            "description": "User-defined label for the VFS subscription",
            "example": "my-storage"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags associated with the VFS subscription",
            "example": [
              "prod",
              "web"
            ]
          },
          "disk_type": {
            "type": "string",
            "enum": [
              "nvme"
            ],
            "description": "Type of storage disk",
            "example": "nvme"
          },
          "storage_size": {
            "$ref": "#/components/schemas/vfs_storage_size"
          },
          "storage_used": {
            "$ref": "#/components/schemas/vfs_storage_size"
          },
          "billing": {
            "$ref": "#/components/schemas/vfs_billing"
          }
        }
      },
      "vfs_attachment": {
        "type": "object",
        "description": "Represents an attachment between a VFS and a target resource",
        "properties": {
          "state": {
            "type": "string",
            "description": "Current state of the attachment",
            "example": "ATTACHED"
          },
          "vfs_id": {
            "type": "string",
            "description": "ID of the VFS subscription",
            "example": "123e4567-e89b-12d3-a456-123ab4567c89"
          },
          "target_id": {
            "type": "string",
            "description": "ID of the target resource",
            "example": "inst-456def"
          },
          "mount_tag": {
            "type": "integer",
            "description": "Mount tag of the VFS subscription",
            "example": 12345
          }
        }
      },
      "pullzone": {
        "title": "pull_zone",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "d0d92597-b94f-49dd-86b7-4d895d324d49,",
            "date_created": "2024-01-25 09:41:05,",
            "status": "active,",
            "label": "my-pullzone,",
            "origin_scheme": "https,",
            "origin_domain": "constant.com,",
            "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com,",
            "vanity_domain": "my.domain.com",
            "cache_size": "50000000,",
            "requests": "null,",
            "in_bytes": "null,",
            "out_bytes": "null,",
            "packets_per_sec": "50,",
            "last_purge": "2024-01-25 11:39:04,",
            "cors": "false,",
            "gzip": "true,",
            "block_ai": "false,",
            "block_bad_bots": "true,",
            "regions": [
              "..."
            ]
          }
        },
        "description": "CDN Pull Zone information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the CDN Pull Zone."
          },
          "date_created": {
            "type": "string",
            "description": "The date this CDN Pull Zone was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending"
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label."
          },
          "origin_scheme": {
            "type": "string",
            "description": "The URI scheme of the origin domain.",
            "enum": [
              "http",
              "https"
            ]
          },
          "origin_domain": {
            "type": "string",
            "description": "The domain name from which the content stored in the CDN will be pulled."
          },
          "cdn_url": {
            "type": "string",
            "description": "The Vultr CDN endpoint to access your cached files."
          },
          "vanity_domain": {
            "type": "string",
            "description": "A custom domain provided by the user which can be used to access the cached files."
          },
          "cache_size": {
            "type": "number",
            "description": "How much data may be cached on each CDN node."
          },
          "requests": {
            "type": "number",
            "description": "The amount of requests to limit to the CDN."
          },
          "in_bytes": {
            "type": "number",
            "description": "The amount of inbound bytes allowed to the CDN."
          },
          "out_bytes": {
            "type": "number",
            "description": "The amount of outbound bytes allowed from the CDN."
          },
          "packets_per_sec": {
            "type": "number",
            "description": "Per CDN rate limiting per requests/sec."
          },
          "last_purge": {
            "type": "string",
            "description": "The last date and time that the cached content on server proxies was cleared"
          },
          "cors": {
            "type": "boolean",
            "description": "Cross-origin resource sharing."
          },
          "gzip": {
            "type": "boolean",
            "description": "Optional feature to compress files, reduce the amount of data that's transferred."
          },
          "block_ai": {
            "type": "boolean",
            "description": "Optional feature to block AI bots."
          },
          "block_bad_bots": {
            "type": "boolean",
            "description": "Optional feature to block potentially malicious bots."
          },
          "regions": {
            "type": "array",
            "description": "A list of [Region ids](#operation/list-regions) for locations to be used for content delivery."
          }
        }
      },
      "pushzone": {
        "title": "push_zone",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "d0d92597-b94f-49dd-86b7-4d895d324d49,",
            "date_created": "2024-01-25 09:41:05,",
            "status": "active,",
            "label": "my-pushzone,",
            "cdn_url": "https://cdn-wdghak5h67sm.vultrcdn.com,",
            "vanity_domain": "my.domain.com",
            "cache_size": "50000000,",
            "requests": "null,",
            "in_bytes": "null,",
            "out_bytes": "null,",
            "packets_per_sec": "50,",
            "cors": "false,",
            "gzip": "true,",
            "block_ai": "false,",
            "block_bad_bots": "true,",
            "regions": [
              "..."
            ]
          }
        },
        "description": "CDN Push Zone information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the CDN Push Zone."
          },
          "date_created": {
            "type": "string",
            "description": "The date this CDN Push Zone was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending"
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label."
          },
          "cdn_url": {
            "type": "string",
            "description": "The Vultr CDN endpoint to access your cached files."
          },
          "vanity_domain": {
            "type": "string",
            "description": "A custom domain provided by the user which can be used to access the cached files."
          },
          "cache_size": {
            "type": "number",
            "description": "How much data may be cached on each CDN node."
          },
          "requests": {
            "type": "number",
            "description": "The amount of requests to limit to the CDN."
          },
          "in_bytes": {
            "type": "number",
            "description": "The amount of inbound bytes allowed to the CDN."
          },
          "out_bytes": {
            "type": "number",
            "description": "The amount of outbound bytes allowed from the CDN."
          },
          "packets_per_sec": {
            "type": "number",
            "description": "Per CDN rate limiting per requests/sec."
          },
          "cors": {
            "type": "boolean",
            "description": "Cross-origin resource sharing."
          },
          "gzip": {
            "type": "boolean",
            "description": "Optional feature to compress files, reduce the amount of data that's transferred."
          },
          "block_ai": {
            "type": "boolean",
            "description": "Optional feature to block AI bots."
          },
          "block_bad_bots": {
            "type": "boolean",
            "description": "Optional feature to block potentially malicious bots."
          },
          "regions": {
            "type": "array",
            "description": "A list of [Region ids](#operation/list-regions) for locations to be used for content delivery."
          }
        }
      },
      "pushzonefile": {
        "title": "file",
        "type": "object",
        "x-examples": {
          "example": {
            "name": "my-image.jpg,",
            "mime": "image/jpeg,",
            "size": "patch.jpg,",
            "content": "/9j/2wBDAAQDAwQDAwQEA...,",
            "last_modified": "2024-04-18T13:07:15+00:00,"
          }
        },
        "description": "CDN Push Zone file information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the file."
          },
          "mime": {
            "type": "string",
            "description": "The mime type of the file."
          },
          "size": {
            "type": "string",
            "description": "The size of the file."
          },
          "content": {
            "type": "string",
            "description": "Base64 encoded string of the file's binary content."
          },
          "last_modified": {
            "type": "string",
            "description": "The date the file was last modified."
          }
        }
      },
      "pushzonefilemeta": {
        "title": "file",
        "type": "object",
        "x-examples": {
          "example": {
            "name": "my-image.jpg,",
            "size": "patch.jpg,",
            "last_modified": "2024-04-18T13:07:15+00:00,"
          }
        },
        "description": "CDN Push Zone file meta information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the file."
          },
          "size": {
            "type": "string",
            "description": "the size of the file."
          },
          "last_modified": {
            "type": "string",
            "description": "The date the file was last modified."
          }
        }
      },
      "uploadendpoint": {
        "title": "upload_endpoint",
        "type": "object",
        "x-examples": {
          "example": {
            "URL": "https://cdn.s3-ewr-000.vultr.dev/v-cdn-agent-assets,",
            "inputs": {
              "acl": "public-read,",
              "key": "cdn-ady5dwsa6mdh.vultrcdn.com/my-file.jpg,",
              "X-Amz-Credential": "kNCaYoUJZ6szuajKsgN/20240418/us-east-1/s3/aws4_request,",
              "X-Amz-Algorithm": "AWS4-HMAC-SHA256,",
              "Policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0wNC0xOFQxMzowNzo0MloiLCJjb25kaXRpb25zIjpbeyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsiYnVja2V0Ijoidi1jZG4tYWdlbnQtYXNzZXRzIn0seyJrZXkiOiJjZG4tYWR5NWR3c2E2bWRoLnZ1bHRyY2RuLmNvbVwvcGF0Y2guanBnIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsODU3NzczLDg1Nzc3M10seyJYLUFtei1EYXRlIjoiMjAyNDA0MThUMTMwMjQyWiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6InlrTkNhWW9VSlo2c3p1YWpLc2dOXC8yMDI0MDQxOFwvdXMtZWFzdC0xXC9zM1wvYXdzNF9yZXF1ZXN0In0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==,",
              "X-Amz-Signature": "8cc2328bf9bd9531ccae5f8b156e7f578f3ee4414bb60f5eac97bbb62a0f2536,"
            }
          }
        },
        "description": "CDN Push Zone file meta information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "URL": {
            "type": "string",
            "description": "The URL used to upload the file."
          },
          "inputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nodepool-instances"
            }
          }
        }
      },
      "uploadendpoint-inputs": {
        "title": "inputs",
        "type": "object",
        "x-examples": {
          "example": {
            "acl": "public-read,",
            "key": "cdn-ady5dwsa6mdh.vultrcdn.com/my-file.jpg,",
            "X-Amz-Credential": "kNCaYoUJZ6szuajKsgN/20240418/us-east-1/s3/aws4_request,",
            "X-Amz-Algorithm": "AWS4-HMAC-SHA256,",
            "Policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0wNC0xOFQxMzowNzo0MloiLCJjb25kaXRpb25zIjpbeyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsiYnVja2V0Ijoidi1jZG4tYWdlbnQtYXNzZXRzIn0seyJrZXkiOiJjZG4tYWR5NWR3c2E2bWRoLnZ1bHRyY2RuLmNvbVwvcGF0Y2guanBnIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsODU3NzczLDg1Nzc3M10seyJYLUFtei1EYXRlIjoiMjAyNDA0MThUMTMwMjQyWiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6InlrTkNhWW9VSlo2c3p1YWpLc2dOXC8yMDI0MDQxOFwvdXMtZWFzdC0xXC9zM1wvYXdzNF9yZXF1ZXN0In0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==,",
            "X-Amz-Signature": "8cc2328bf9bd9531ccae5f8b156e7f578f3ee4414bb60f5eac97bbb62a0f2536,"
          }
        },
        "description": "CDN Push Zone file meta information.",
        "x-tags": [
          "CDNs"
        ],
        "properties": {
          "acl": {
            "type": "string",
            "description": "The access control list rule assigned to requst.  Include this in the upload request from data"
          },
          "key": {
            "type": "string",
            "description": "The key used to upload the file.  Include this in the upload request from data."
          },
          "X-Amz-Credential": {
            "type": "string",
            "description": "The credentials linked to the presigned request.  Include this in the upload request from data"
          },
          "X-Amz-Algorithm": {
            "type": "string",
            "description": "The algorithm that was used to create the request signature.  Include this in the upload request from data"
          },
          "Policy": {
            "type": "string",
            "description": "The encrypted policy linked to the presigned request.  Include this in the upload request from data"
          },
          "X-Amz-Signature": {
            "type": "string",
            "description": "The signature of the presigned request.  Include this in the upload request from data"
          }
        }
      },
      "billing": {
        "description": "Invoice",
        "type": "object",
        "x-examples": {
          "example": {
            "id": 123456,
            "date": "2020-10-10T01:56:20+00:00",
            "type": "invoice",
            "description": "Invoice #123456",
            "amount": 100.25,
            "balance": 100.25
          }
        },
        "x-tags": [
          "billing"
        ],
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of the billing history item"
          },
          "date": {
            "type": "string",
            "description": "Date billing history item was generated"
          },
          "type": {
            "type": "string",
            "description": "Type of billing history item"
          },
          "description": {
            "type": "string",
            "description": "Description of billing history item"
          },
          "amount": {
            "type": "number",
            "description": "Amount for the billing history item in dollars"
          },
          "balance": {
            "type": "number",
            "description": "The accounts balance in dollars"
          }
        },
        "title": "billing"
      },
      "invoice": {
        "title": "invoice",
        "type": "object",
        "x-examples": {
          "example-1": {
            "id": 123456,
            "date": "2021-11-02T00:48:13+00:00",
            "description": "Invoice #132456",
            "amount": 0.25,
            "balance": -197.88
          }
        },
        "properties": {
          "id": {
            "type": "integer",
            "description": "ID of the invoice"
          },
          "date": {
            "type": "string",
            "description": "Date invoice was generated"
          },
          "description": {
            "type": "string",
            "description": "description of item"
          },
          "amount": {
            "type": "number",
            "description": "Amount due in dollars"
          },
          "balance": {
            "type": "number",
            "description": "Account balance amount in dollars"
          }
        }
      },
      "vke-cluster": {
        "title": "vke-cluster",
        "type": "object",
        "x-examples": {
          "example vke cluster": {
            "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
            "firewall_group_id": "",
            "label": "vke",
            "date_created": "2021-07-07T22:57:01+00:00",
            "cluster_subnet": "10.244.0.0/16",
            "service_subnet": "10.96.0.0/12",
            "ip": "0.0.0.0",
            "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
            "version": "v1.20.0+1",
            "region": "lax",
            "status": "pending",
            "ha_controlplanes": false,
            "oidc": {
              "issuer_url": "https://example.com",
              "client_id": "my-client-id",
              "username_claim": "email",
              "groups_claim": "groups"
            },
            "node_pools": [
              {
                "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
                "date_created": "2021-07-07T22:57:01+00:00",
                "label": "my-label",
                "tag": "my-tag",
                "plan": "vc2-1c-2gb",
                "status": "pending",
                "node_quantity": 2,
                "nodes": [
                  {
                    "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
                    "label": "my-label-6ac60e6313dd1",
                    "date_created": "2021-07-07T22:57:01+00:00",
                    "status": "pending"
                  },
                  {
                    "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
                    "label": "my-label-6ac60e6313ddc",
                    "date_created": "2021-07-07T22:57:01+00:00",
                    "status": "pending"
                  }
                ]
              }
            ]
          }
        },
        "x-tags": [
          "kubernetes"
        ],
        "description": "VKE Cluster",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID for the VKE cluster"
          },
          "firewall_group_id": {
            "type": "string",
            "description": "The [Firewall Group id](#operation/list-firewall-groups) linked to this cluster."
          },
          "label": {
            "type": "string",
            "description": "Label for your cluster"
          },
          "date_created": {
            "type": "string",
            "description": "Date of creation"
          },
          "cluster_subnet": {
            "type": "string",
            "description": "IP range that your pods will run on in this cluster"
          },
          "service_subnet": {
            "type": "string",
            "description": "IP range that services will run on this cluster"
          },
          "ip": {
            "type": "string",
            "description": "IP for your Kubernetes Clusters Control Plane"
          },
          "endpoint": {
            "type": "string",
            "description": "Domain for your Kubernetes Clusters Control Plane"
          },
          "version": {
            "type": "string",
            "description": "Version of Kubernetes this cluster is running on"
          },
          "region": {
            "type": "string",
            "description": "Region this Kubernetes Cluster is running in"
          },
          "status": {
            "type": "string",
            "description": "Status for VKE cluster"
          },
          "ha_controlplanes": {
            "type": "boolean",
            "description": "Whether a highly available control planes configuration has been deployed\n* true\n* false (default)"
          },
          "oidc": {
            "type": "object",
            "description": "The OpenID Connect (OIDC) configuration for this VKE cluster",
            "properties": {
              "issuer_url": {
                "type": "string",
                "description": "The URL of the OIDC provider that issues authentication tokens."
              },
              "client_id": {
                "type": "string",
                "description": "The unique identifier assigned to your application by the OIDC provider."
              },
              "username_claim": {
                "type": "string",
                "description": "The claim in the OIDC token that identifies the end user's username."
              },
              "groups_claim": {
                "type": "string",
                "description": "The claim in the OIDC token that contains the user's group memberships."
              }
            }
          },
          "node_pools": {
            "type": "array",
            "description": "NodePools in this cluster",
            "items": {
              "$ref": "#/components/schemas/nodepools"
            }
          },
          "vpcs": {
            "type": "array",
            "description": "List of VPC Networks to which the instance is attached.",
            "items": {
              "$ref": "#/components/schemas/attached-vpcs"
            }
          }
        }
      },
      "nodepool-instances": {
        "title": "nodepool-instances",
        "type": "object",
        "description": "Instance that belongs to a nodepool",
        "x-examples": {
          "example nodepool": {
            "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
            "label": "my-label-48770259-6ac60e6313dd1",
            "date_created": "2021-07-07T22:57:01+00:00",
            "status": "pending"
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the nodepool instance"
          },
          "label": {
            "type": "string",
            "description": "Label of the nodepool instance"
          },
          "date_created": {
            "type": "string",
            "description": "Date of creation"
          }
        }
      },
      "nodepools": {
        "title": "nodepools",
        "type": "object",
        "x-examples": {
          "example nodepool": {
            "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
            "date_created": "2021-07-07T22:57:01+00:00",
            "label": "my-label",
            "tag": "my-tag",
            "plan": "vc2-1c-2gb",
            "status": "pending",
            "node_quantity": 2,
            "min_nodes": 2,
            "max_nodes": 5,
            "auto_scaler": true,
            "labels": {},
            "taints": [],
            "nodes": [
              {
                "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
                "label": "my-label-48770259-6ac60e6313dd1",
                "date_created": "2021-07-07T22:57:01+00:00",
                "status": "pending"
              },
              {
                "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
                "label": "my-label-48770259-6ac60e6313ddc",
                "date_created": "2021-07-07T22:57:01+00:00",
                "status": "pending"
              }
            ]
          }
        },
        "description": "NodePool",
        "x-tags": [
          "kubernetes"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The [NodePool ID](#operation/get-nodepools)."
          },
          "date_created": {
            "type": "string",
            "description": "Date of creation"
          },
          "label": {
            "type": "string",
            "description": "Label for nodepool"
          },
          "tag": {
            "type": "string",
            "description": "Tag for node pool"
          },
          "plan": {
            "type": "string",
            "description": "Plan used for nodepool"
          },
          "status": {
            "type": "string",
            "description": "Status for nodepool"
          },
          "node_quantity": {
            "type": "integer",
            "description": "Number of nodes in nodepool"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/nodepool-instances"
            }
          },
          "date_updated": {
            "type": "string",
            "description": "Date the nodepool was updated."
          },
          "auto_scaler": {
            "type": "boolean",
            "description": "Displays if the auto scaler is enabled or disabled for your cluster."
          },
          "min_nodes": {
            "type": "integer",
            "description": "Auto scaler field that displays the minimum nodes you want for your cluster."
          },
          "max_nodes": {
            "description": "Auto scaler field that displays the maximum nodes you want for your cluster."
          },
          "labels": {
            "type": "object",
            "description": "Map of key/value pairs defining labels to automatically apply to all nodes in this nodepool."
          },
          "taints": {
            "type": "array",
            "description": "Array of objects containing key, value, and effect."
          },
          "user_data": {
            "type": "string",
            "description": "The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set)."
          }
        }
      },
      "attached-vpcs": {
        "title": "attached-vpcs",
        "type": "object",
        "description": "Information about a specific VPC Network to which the instance is attached.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the VPC Network."
          },
          "version": {
            "type": "integer",
            "description": "The version of VPC (1 or 2).",
            "deprecated": true
          },
          "subnet": {
            "type": "string",
            "description": "The IP subnet used for the instance on the VPC Network."
          }
        }
      },
      "network": {
        "title": "network",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "region": "ewr",
            "description": "Example Private Network",
            "v4_subnet": "10.99.0.0",
            "v4_subnet_mask": 24
          }
        },
        "description": "Network information.",
        "x-tags": [
          "Private Networks"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Private Network."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the network is located."
          },
          "date_created": {
            "type": "string",
            "description": "Date the network was created."
          },
          "description": {
            "type": "string",
            "description": "A description of the private network."
          },
          "v4_subnet": {
            "type": "string",
            "description": "The IPv4 network address. For example: 10.99.0.0"
          },
          "v4_subnet_mask": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 24"
          }
        },
        "required": [
          "id"
        ],
        "deprecated": true
      },
      "vpc": {
        "title": "vpc",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "region": "ewr",
            "description": "Example VPC",
            "v4_subnet": "10.99.0.0",
            "v4_subnet_mask": 24
          }
        },
        "description": "VPC information.",
        "x-tags": [
          "VPCs"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPC."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the VPC is located."
          },
          "date_created": {
            "type": "string",
            "description": "Date the VPC was created."
          },
          "description": {
            "type": "string",
            "description": "A description of the VPC."
          },
          "v4_subnet": {
            "type": "string",
            "description": "The IPv4 VPC address. For example: 10.99.0.0"
          },
          "v4_subnet_mask": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 24"
          },
          "nodes": {
            "type": "array",
            "description": "List of attached nodes",
            "items": {
              "$ref": "#/components/schemas/vpc-node"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "vpc-node": {
        "title": "vpc-node",
        "type": "object",
        "description": "VPC node information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique ID of the node server."
          },
          "type": {
            "type": "string",
            "description": "The type of server used for the node."
          },
          "subnet": {
            "type": "string",
            "description": "The internal subnet IP used for the node."
          }
        }
      },
      "instance-vpc": {
        "title": "instance-vpc",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "mac_address": "00:00:5e:00:53:5e",
            "ip_address": "10.99.0.0"
          }
        },
        "description": "VPC information.",
        "x-tags": [
          "VPC"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPC."
          },
          "mac_address": {
            "type": "string",
            "description": "The MAC address to use for this instance on the attached VPC network."
          },
          "ip_address": {
            "type": "string",
            "description": "The IP address to use for this instance on the attached VPC network."
          }
        }
      },
      "vpc2": {
        "title": "vpc2",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "region": "ewr",
            "description": "Example VPC",
            "ip_block": "10.99.0.0",
            "prefix_length": 24
          }
        },
        "description": "VPC 2.0 information.",
        "x-tags": [
          "VPC"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPC."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the VPC is located."
          },
          "date_created": {
            "type": "string",
            "description": "Date the VPC was created."
          },
          "description": {
            "type": "string",
            "description": "A description of the VPC."
          },
          "ip_block": {
            "type": "string",
            "description": "The VPC subnet IP address. For example: 10.99.0.0"
          },
          "prefix_length": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 24"
          }
        },
        "required": [
          "id"
        ]
      },
      "vpc2nodes": {
        "title": "vpc2-node",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "ip_address": "10.1.96.3",
            "mac_address": "98964710968448",
            "description": "Example-Description",
            "type": "vps",
            "node_status": "active"
          }
        },
        "description": "VPC 2.0 node information.",
        "x-tags": [
          "VPC"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the attached instance."
          },
          "ip_address": {
            "type": "string",
            "description": "The IP address to use for the attached instance."
          },
          "mac_address": {
            "type": "string",
            "description": "The MAC address to use for the attached instance."
          },
          "description": {
            "type": "string",
            "description": "The user-supplied label for the attached instance."
          },
          "type": {
            "type": "string",
            "description": "The type of the attached instance."
          },
          "node_status": {
            "type": "string",
            "description": "The status of the attached instance."
          }
        }
      },
      "instance-vpc2": {
        "title": "instance-vpc2",
        "type": "object",
        "x-examples": {
          "example": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "mac_address": "00:00:5e:00:53:5e",
            "ip_block": "10.99.0.0"
          }
        },
        "description": "VPC 2.0 information.",
        "x-tags": [
          "VPC"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPC."
          },
          "mac_address": {
            "type": "string",
            "description": "The MAC address to use for this instance on the attached VPC 2.0 network."
          },
          "ip_address": {
            "type": "string",
            "description": "The IP address to use for this instance on the attached VPC 2.0 network."
          }
        },
        "required": [
          "id"
        ]
      },
      "user": {
        "title": "user",
        "type": "object",
        "x-tags": [
          "users"
        ],
        "description": "User information.",
        "x-examples": {
          "user": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "email": "user@example.com",
            "api_enabled": true,
            "acls": [
              "manage_users",
              "subscriptions_view",
              "subscriptions",
              "provisioning",
              "billing",
              "support",
              "abuse",
              "dns",
              "upgrade",
              "objstore",
              "loadbalancer"
            ]
          }
        },
        "properties": {
          "user": {
            "type": "object",
            "description": "An array of Users.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The User's id."
              },
              "name": {
                "type": "string",
                "description": "The User's full name."
              },
              "first_name": {
                "type": "string",
                "description": "The User's first name."
              },
              "last_name": {
                "type": "string",
                "description": "The User's last name."
              },
              "api_enabled": {
                "type": "boolean",
                "description": "Permit API access for this User.\n\n* true\n* false"
              },
              "email": {
                "type": "string",
                "description": "The User's email address."
              },
              "password": {
                "type": "string",
                "description": "The User's password."
              },
              "acls": {
                "type": "array",
                "description": "An array of permission granted.\n\n* abuse\n* activity_logs\n* alerts\n* billing\n* dns\n* firewall\n* loadbalancer\n* manage\\_users\n* objstore\n* provisioning\n* subscriptions\n* subscriptions\\_view\n* support\n* upgrade",
                "items": {
                  "type": "string"
                }
              },
              "service_user": {
                "type": "boolean",
                "description": "Indicates if this is a service user (API-only access, no portal login).\n\n* true\n* false"
              },
              "api_key": {
                "type": "string",
                "description": "The API key for this user. Only returned when creating service users."
              }
            }
          }
        }
      },
      "ip-whitelist-entry": {
        "title": "ip-whitelist-entry",
        "type": "object",
        "x-tags": [
          "users"
        ],
        "description": "IP whitelist entry information.",
        "properties": {
          "subnet": {
            "type": "string",
            "description": "The IP address or subnet."
          },
          "subnet_size": {
            "type": "integer",
            "description": "The subnet size."
          },
          "date_added": {
            "type": "string",
            "description": "Date the entry was added."
          },
          "ip_type": {
            "type": "string",
            "description": "The IP type (v4 or v6).",
            "enum": [
              "v4",
              "v6"
            ]
          }
        }
      },
      "startup": {
        "title": "startup",
        "type": "object",
        "x-tags": [
          "startup"
        ],
        "description": "Startup Script information.",
        "x-examples": {
          "startup": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "date_modified": "2020-10-10T01:59:20+00:00",
            "name": "Example Startup Script",
            "type": "pxe",
            "script": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Startup Script."
          },
          "date_created": {
            "type": "string",
            "description": "The date the Startup Script was created."
          },
          "date_modified": {
            "type": "string",
            "description": "The date the Startup Script was last modified."
          },
          "name": {
            "type": "string",
            "description": "The user-supplied name of the Startup Script."
          },
          "script": {
            "type": "string",
            "description": "The base-64 encoded Startup Script."
          },
          "type": {
            "type": "string",
            "description": "The Startup Script type.\n\n* boot\n* pxe"
          }
        }
      },
      "ssh": {
        "title": "ssh",
        "type": "object",
        "x-examples": {
          "ssh-key": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "name": "Example SSH Key",
            "ssh_key": "ssh-rsa AA... user@example.com"
          }
        },
        "description": "SSH Key information.",
        "x-tags": [
          "ssh"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the SSH Key."
          },
          "date_created": {
            "type": "string",
            "description": "The date this SSH Key was created."
          },
          "name": {
            "type": "string",
            "description": "The user-supplied name for this SSH Key."
          },
          "ssh_key": {
            "type": "string",
            "description": "The SSH Key."
          }
        }
      },
      "snapshot": {
        "title": "snapshot",
        "type": "object",
        "x-examples": {
          "snapshot": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "description": "Example Snapshot",
            "size": 42949672960,
            "status": "complete",
            "os_id": 215,
            "app_id": 0
          }
        },
        "description": "Snapshot information.",
        "x-tags": [
          "snapshot"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Snapshot."
          },
          "date_created": {
            "type": "string",
            "description": "The date this snapshot was created."
          },
          "description": {
            "type": "string",
            "description": "The user-supplied description of the Snapshot."
          },
          "size": {
            "type": "integer",
            "description": "The snapshot size in bytes."
          },
          "status": {
            "type": "string",
            "description": "The Snapshot status.\n\n* pending\n* complete\n* deleted"
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os) for this Snapshot."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications) for this snapshot."
          }
        }
      },
      "subaccount": {
        "title": "subaccount",
        "type": "object",
        "x-examples": {
          "subaccount": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "email": "subaccount@vultr.com",
            "subaccount_name": "Acme Widgets LLC",
            "subaccount_id": 472924,
            "activated": false,
            "balance": 0,
            "pending_charges": 0
          }
        },
        "description": "Sub-account information.",
        "x-tags": [
          "subaccount"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the sub-account."
          },
          "email": {
            "type": "string",
            "description": "The email address of this sub-account."
          },
          "subaccount_name": {
            "type": "string",
            "description": "Your name for this sub-account."
          },
          "subaccount_id": {
            "type": "string",
            "description": "Your ID for this sub-account."
          },
          "activated": {
            "type": "boolean",
            "description": "Has this sub-account been activated or not."
          },
          "balance": {
            "type": "number",
            "description": "The current balance of the sub-account.",
            "format": "float"
          },
          "pending_charges": {
            "type": "number",
            "description": "Charges due for this sub-account at the end of the billing period.",
            "format": "float"
          }
        }
      },
      "reserved-ip": {
        "title": "reserved-ip",
        "type": "object",
        "x-examples": {
          "reserved ip": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "region": "ewr",
            "ip_type": "v6",
            "subnet": "2001:db8:9999::",
            "subnet_size": 64,
            "label": "Example Reserved IPv6",
            "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
          }
        },
        "description": "Reserved IP information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Reserved IP."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Reserved IP is located."
          },
          "ip_type": {
            "type": "string",
            "description": "The type of IP address.\n\n* v4\n* v6"
          },
          "subnet": {
            "type": "string",
            "description": "The IP subnet."
          },
          "subnet_size": {
            "type": "integer",
            "description": "The IP network size in bits."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label."
          },
          "instance_id": {
            "type": "string",
            "description": "The [Instance id](#operation/list-instances) attached to this Reserved IP."
          }
        }
      },
      "os": {
        "title": "os",
        "type": "object",
        "x-tags": [
          "os"
        ],
        "x-examples": {
          "os": {
            "id": 127,
            "name": "CentOS 6 x64",
            "arch": "x64",
            "family": "centos"
          }
        },
        "description": "Operating System information.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Operating System id."
          },
          "name": {
            "type": "string",
            "description": "The Operating System description."
          },
          "arch": {
            "type": "string",
            "description": "The Operating System architecture."
          },
          "family": {
            "type": "string",
            "description": "The Operating System family. "
          }
        }
      },
      "application": {
        "title": "application",
        "type": "object",
        "x-examples": {
          "application": [
            {
              "id": 1,
              "name": "LEMP",
              "short_name": "lemp",
              "deploy_name": "LEMP on CentOS 6 x64",
              "type": "one-click",
              "vendor": "vultr",
              "image_id": ""
            },
            {
              "id": 10008,
              "name": "OpenLiteSpeed WordPress",
              "short_name": "",
              "deploy_name": "",
              "type": "marketplace",
              "vendor": "LiteSpeed_Technologies",
              "image_id": "openlitespeed-wordpress"
            }
          ]
        },
        "description": "Application information.",
        "x-tags": [
          "application"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique ID for the application."
          },
          "name": {
            "type": "string",
            "description": "The application name."
          },
          "short_name": {
            "type": "string",
            "description": "The short application name."
          },
          "deploy_name": {
            "type": "string",
            "description": "A long description of the application."
          },
          "type": {
            "type": "string",
            "description": "The type of application.\n\n* one-click - use app_id to deploy one-click applications.\n* marketplace - use image_id to deploy marketplace applications."
          },
          "vendor": {
            "type": "string",
            "description": "The application vendor name."
          },
          "image_id": {
            "type": "string",
            "description": "A unique ID for marketplace applications."
          }
        }
      },
      "account": {
        "title": "account",
        "type": "object",
        "x-tags": [
          "account"
        ],
        "description": "Account information.",
        "x-examples": {
          "account": {
            "account": {
              "name": "Example User",
              "email": "user@example.com",
              "acls": [
                "manage_users",
                "subscriptions_view",
                "subscriptions",
                "billing",
                "support",
                "provisioning",
                "dns",
                "abuse",
                "upgrade",
                "firewall",
                "alerts",
                "objstore",
                "loadbalancer"
              ],
              "balance": -100.55,
              "pending_charges": 60.25,
              "last_payment_date": "2020-10-10T01:56:20+00:00",
              "last_payment_amount": -1.25
            }
          }
        },
        "properties": {
          "name": {
            "type": "string",
            "description": "Your user name."
          },
          "email": {
            "type": "string",
            "description": "Your email address."
          },
          "acls": {
            "type": "array",
            "description": "An array of permission granted.\n* manage\\_users\n* subscriptions_view\n* subscriptions\n* billing\n* support\n* provisioning\n* dns\n* abuse\n* upgrade\n* firewall\n* alerts\n* objstore\n* loadbalancer",
            "items": {
              "type": "string"
            }
          },
          "balance": {
            "type": "number",
            "description": "Your current account balance."
          },
          "pending_charges": {
            "type": "number",
            "description": "Unbilled charges for this month."
          },
          "last_payment_date": {
            "description": "Date of your last payment.",
            "type": "string"
          },
          "last_payment_amount": {
            "type": "number",
            "description": "The amount of your last payment."
          }
        }
      },
      "account-bgp": {
        "title": "account BGP",
        "type": "object",
        "x-tags": [
          "account"
        ],
        "description": "Account BGP information.",
        "x-examples": {
          "account-bgp": {
            "account-bgp": {
              "asn": 20473,
              "password": "12345",
              "enabled": true
            }
          }
        },
        "properties": {
          "asn": {
            "type": "number",
            "description": "User BGP Autonomous System Number, 0 if disabled."
          },
          "password": {
            "type": "string",
            "description": "Password used to form a BGP neighborship."
          },
          "enabled": {
            "type": "boolean",
            "description": "Is BGP enabled on the user account."
          }
        }
      },
      "account-bandwidth": {
        "title": "bandwidth",
        "type": "object",
        "x-tags": [
          "account"
        ],
        "description": "Account Bandwidth information.",
        "x-examples": {
          "account-bandwidth": {
            "account-bandwidth": {
              "previousMonth": {
                "timestamp_start": "1701388800",
                "timestamp_end": "1704067200",
                "gb_in": 0,
                "gb_out": 0,
                "total_instance_hours": 8736,
                "total_instance_count": 13,
                "instance_bandwidth_credits": 3099648,
                "free_bandwidth_credits": 2048,
                "purchased_bandwidth_credits": 0,
                "overage": 0,
                "overage_unit_cost": 0.01,
                "overage_cost": 0
              },
              "current_month_to_date": {
                "timestamp_start": "1704067200",
                "timestamp_end": "1706212679",
                "gb_in": 0,
                "gb_out": 0,
                "total_instance_hours": 7748,
                "total_instance_count": 13,
                "instance_bandwidth_credits": 2749086,
                "free_bandwidth_credits": 2048,
                "purchased_bandwidth_credits": 0,
                "overage": 0,
                "overage_unit_cost": 0.01,
                "overage_cost": 0
              },
              "current_month_projected": {
                "timestamp_start": "1704067200",
                "timestamp_end": "1706745600",
                "gb_in": 0,
                "gb_out": 0,
                "total_instance_hours": 8736,
                "total_instance_count": 13,
                "instance_bandwidth_credits": 3099648,
                "free_bandwidth_credits": 2048,
                "purchased_bandwidth_credits": 0,
                "overage": 0,
                "overage_unit_cost": 0.01,
                "overage_cost": 0
              }
            }
          }
        },
        "properties": {
          "previous_month": {
            "type": "object",
            "description": "Previous month bandwidth",
            "properties": {
              "timestamp_start": {
                "type": "string",
                "description": "Timestamp start date"
              },
              "timestamp_end": {
                "type": "string",
                "description": "Timestamp end date"
              },
              "gb_in": {
                "type": "number",
                "description": "Gigabytes In"
              },
              "gb_out": {
                "type": "number",
                "description": "Gigabytes Out"
              },
              "total_instance_hours": {
                "type": "number",
                "description": "Total Hours in Instances"
              },
              "total_instance_count": {
                "type": "number",
                "description": "Amount of Instances"
              },
              "instance_bandwidth_credits": {
                "type": "number",
                "description": "Credits for instance bandwidth"
              },
              "free_bandwidth_credits": {
                "type": "number",
                "description": "Free bandwidth credit"
              },
              "purchased_bandwidth_credits": {
                "type": "number",
                "description": "Bandwidth credit purchased"
              },
              "overage": {
                "type": "number",
                "description": "Amount in overages"
              },
              "overage_unit_cost": {
                "type": "number",
                "description": "Unit cost of overage"
              },
              "overage_cost": {
                "type": "number",
                "description": "Total amount due of overages"
              }
            }
          },
          "current_month_to_date": {
            "type": "object",
            "description": "Current month to date of bandwidth data",
            "properties": {
              "timestamp_start": {
                "type": "string",
                "description": "Timestamp start date"
              },
              "timestamp_end": {
                "type": "string",
                "description": "Timestamp end date"
              },
              "gb_in": {
                "type": "number",
                "description": "Gigabytes In"
              },
              "gb_out": {
                "type": "number",
                "description": "Gigabytes Out"
              },
              "total_instance_hours": {
                "type": "number",
                "description": "Total Hours in Instances"
              },
              "total_instance_count": {
                "type": "number",
                "description": "Amount of Instances"
              },
              "instance_bandwidth_credits": {
                "type": "number",
                "description": "Credits for instance bandwidth"
              },
              "free_bandwidth_credits": {
                "type": "number",
                "description": "Free bandwidth credit"
              },
              "purchased_bandwidth_credits": {
                "type": "number",
                "description": "Bandwidth credit purchased"
              },
              "overage": {
                "type": "number",
                "description": "Amount in overages"
              },
              "overage_unit_cost": {
                "type": "number",
                "description": "Unit cost of overage"
              },
              "overage_cost": {
                "type": "number",
                "description": "Total amount due of overages"
              }
            }
          },
          "current_month_projected": {
            "type": "object",
            "description": "Current month projected bandwidth data.",
            "properties": {
              "timestamp_start": {
                "type": "string",
                "description": "Timestamp start date"
              },
              "timestamp_end": {
                "type": "string",
                "description": "Timestamp end date"
              },
              "gb_in": {
                "type": "number",
                "description": "Gigabytes In"
              },
              "gb_out": {
                "type": "number",
                "description": "Gigabytes Out"
              },
              "total_instance_hours": {
                "type": "number",
                "description": "Total Hours in Instances"
              },
              "total_instance_count": {
                "type": "number",
                "description": "Amount of Instances"
              },
              "instance_bandwidth_credits": {
                "type": "number",
                "description": "Credits for instance bandwidth"
              },
              "free_bandwidth_credits": {
                "type": "number",
                "description": "Free bandwidth credit"
              },
              "purchased_bandwidth_credits": {
                "type": "number",
                "description": "Bandwidth credit purchased"
              },
              "overage": {
                "type": "number",
                "description": "Amount in overages"
              },
              "overage_unit_cost": {
                "type": "number",
                "description": "Unit cost of overage"
              },
              "overage_cost": {
                "type": "number",
                "description": "Total amount due of overages"
              }
            }
          }
        }
      },
      "backup": {
        "title": "backup",
        "type": "object",
        "x-examples": {
          "backup": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "description": "Example Automatic Backup",
            "size": 10000000,
            "status": "complete"
          }
        },
        "description": "Backup information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the backup."
          },
          "date_created": {
            "type": "string",
            "description": "The date the backup was created."
          },
          "description": {
            "type": "string",
            "description": "The user-supplied description of this backup."
          },
          "size": {
            "type": "integer",
            "description": "The size of the backup in Bytes."
          },
          "status": {
            "type": "string",
            "description": "The Backup status.\n\n* complete\n* pending"
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os) for this Backup."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications) for this Backup."
          }
        },
        "x-tags": [
          "backup"
        ]
      },
      "blockstorage": {
        "title": "blockstorage",
        "type": "object",
        "x-tags": [
          "block"
        ],
        "description": "Block Storage information.",
        "x-examples": {
          "block structure": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "cost": 10,
            "status": "active",
            "size_gb": 100,
            "region": "ewr",
            "attached_to_instance": "b92f4771-d8cd-480a-b6e6-a14ca31ea2ca",
            "date_created": "2020-10-10T01:56:20+00:00",
            "label": "Example Block Storage"
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Block Storage."
          },
          "cost": {
            "type": "integer",
            "description": "The monthly cost of this Block Storage."
          },
          "status": {
            "type": "string",
            "description": "The current status of this Block Storage.\n\n* active"
          },
          "size_gb": {
            "type": "integer",
            "description": "Size of the Block Storage in GB."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Block Storage is located."
          },
          "attached_to_instance": {
            "type": "string",
            "description": "The [Instance id](#operation/list-instances) with this Block Storage attached."
          },
          "date_created": {
            "type": "string",
            "description": "The date this Block Storage was created."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label."
          },
          "mount_id": {
            "type": "string",
            "description": "An ID associated with the instance, when mounted the ID can be found in /dev/disk/by-id prefixed with virtio."
          }
        }
      },
      "firewall-group": {
        "title": "firewall-group",
        "type": "object",
        "x-tags": [
          "firewall"
        ],
        "x-examples": {
          "group": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "description": "Example Firewall Group",
            "date_created": "2020-10-10T01:56:20+00:00",
            "date_modified": "2020-10-10T01:59:20+00:00",
            "instance_count": 2,
            "rule_count": 2,
            "max_rule_count": 50
          }
        },
        "description": "Firewall Group information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Firewall Group."
          },
          "description": {
            "type": "string",
            "description": "User-supplied description of this Firewall Group."
          },
          "date_created": {
            "type": "string",
            "description": "Date the Firewall Group was originally created."
          },
          "date_modified": {
            "type": "string",
            "description": "Date of the last modification to this Firewall Group."
          },
          "instance_count": {
            "type": "integer",
            "description": "The number of instances linked to this Firewall Group."
          },
          "rule_count": {
            "type": "integer",
            "description": "The number of rules in this Firewall Group."
          },
          "max_rule_count": {
            "type": "integer",
            "description": "The maximum number of rules allowed for this Firewall Group."
          }
        }
      },
      "firewall-rule": {
        "title": "firewall-rule",
        "type": "object",
        "x-tags": [
          "firewall"
        ],
        "description": "Firewall rule information.",
        "x-examples": {
          "firewall rule": {
            "id": 1,
            "type": "v4",
            "ip_type": "v4",
            "action": "accept",
            "protocol": "tcp",
            "port": "80",
            "subnet": "192.0.2.123",
            "subnet_size": 24,
            "source": "",
            "notes": "Example Firewall Rule"
          }
        },
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique ID for the Firewall Rule."
          },
          "type": {
            "type": "string",
            "description": "This field is deprecated. Use `ip_type` instead.\n\nThe type of IP rule.\n\n* v4\n* v6",
            "deprecated": true
          },
          "ip_type": {
            "type": "string",
            "description": "The type of IP rule.\n\n* v4\n* v6"
          },
          "action": {
            "type": "string",
            "description": "Action to take when this rule is met.\n\n* accept"
          },
          "protocol": {
            "type": "string",
            "description": "The protocol for this rule.\n\n* ICMP\n* TCP\n* UDP\n* GRE\n"
          },
          "port": {
            "type": "string",
            "description": "Port or port range for this rule."
          },
          "subnet": {
            "type": "string",
            "description": "IP address representing a subnet. The IP address format must match with the \"ip_type\" parameter value."
          },
          "subnet_size": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 24"
          },
          "source": {
            "type": "string",
            "description": "If the source string is given a value of \"cloudflare\" subnet and subnet_size will both be ignored.\nPossible values:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | \"\" | Use the value from `subnet` and `subnet_size`. |\n|   | cloudflare | Allow all of Cloudflare's IP space through the firewall |"
          },
          "notes": {
            "type": "string",
            "description": "User-supplied notes for this rule."
          }
        }
      },
      "iso": {
        "title": "iso",
        "type": "object",
        "x-tags": [
          "iso"
        ],
        "description": "ISO information.",
        "x-examples": {
          "iso": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "filename": "my-iso.iso",
            "size": 9342976,
            "md5sum": "ec0669895a250f803e1709d0402fc411",
            "sha512sum": "1741f890bce04613f60b4f2b16fb8070c31640c53d4dbb4271b22610150928743eda1207f031b0b5bdd240ef1a6ed21fd5e6a2d192b9c87eff60b6d9698b8260",
            "status": "complete"
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the ISO."
          },
          "date_created": {
            "type": "string",
            "description": "Date the ISO was created."
          },
          "filename": {
            "type": "string",
            "description": "The ISO filename."
          },
          "size": {
            "type": "integer",
            "description": "The ISO size in KB."
          },
          "md5sum": {
            "type": "string",
            "description": "The calculated md5sum of the ISO."
          },
          "sha512sum": {
            "type": "string",
            "description": "The calculated sha512sum of the ISO."
          },
          "status": {
            "type": "string",
            "description": "The current status of the ISO.\n\n* complete\n* pending"
          }
        }
      },
      "iso-public": {
        "title": "iso-public",
        "type": "object",
        "x-tags": [
          "iso"
        ],
        "description": "Public ISO  information.",
        "x-examples": {
          "public iso": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b604",
            "name": "CentOS 7",
            "description": "7 x86_64 Minimal",
            "md5sum": "7f4df50f42ee1b52b193e79855a3aa19"
          }
        },
        "properties": {
          "id": {
            "description": "A unique ID for the Vultr Public ISO.",
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "The short name of the Public ISO."
          },
          "description": {
            "type": "string",
            "description": "The long description of the Public ISO."
          },
          "md5sum": {
            "type": "string"
          }
        }
      },
      "storage-gateway": {
        "title": "storage-gateway",
        "type": "object",
        "tags": [
          "storage-gateways"
        ],
        "x-examples": "TODO",
        "description": "Storage Gateway information",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Storage Gateway."
          },
          "date_created": {
            "type": "string",
            "description": "Date the Storage Gateway was created."
          },
          "status": {
            "type": "string",
            "description": "The status of this Storage Gateway.\n* active\n* pending"
          },
          "type": {
            "type": "string",
            "description": "The type of Storage Gateway."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this Storage Gateway."
          },
          "pending_charges": {
            "type": "number",
            "description": "The current charges for this subscription.",
            "format": "float"
          },
          "tags": {
            "type": "array",
            "description": "Tags to apply to the instance.",
            "items": {
              "type": "string"
            }
          },
          "health": {
            "type": "string",
            "description": "Quick reference variable to ensure your gateway is running."
          },
          "network_config": {
            "$ref": "#/components/schemas/storage-gateway-network"
          },
          "export_config": {
            "type": "array",
            "$ref": "#/components/schemas/storage-gateway-export"
          }
        }
      },
      "storage-gateway-network": {
        "type": "object",
        "tags": [
          "storage-gateways"
        ],
        "properties": {
          "primary": {
            "type": "object",
            "properties": {
              "ipv4_public_enabled": {
                "type": "boolean",
                "description": "Should the storage gateway have a public ipv4 address?"
              },
              "ipv6_public_enabled": {
                "type": "boolean",
                "description": "Should the storage gateway have a public ipv6 address?"
              },
              "vpc": {
                "type": "object",
                "properties": {
                  "vpc_uuid": {
                    "type": "string",
                    "description": "Optional uuid of vfs to provision address from"
                  }
                }
              }
            }
          }
        }
      },
      "storage-gateway-export": {
        "type": "object",
        "tags": [
          "storage-gateways"
        ],
        "properties": {
          "label": {
            "type": "string",
            "description": "A meaningful name for this export"
          },
          "vfs_uuid": {
            "type": "string",
            "description": "Associated VFS uuid"
          },
          "pseudo_root_path": {
            "type": "string",
            "description": "Pseudo root path"
          },
          "allowed_ips": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "object-storages": {
        "title": "object-storage",
        "type": "object",
        "x-tags": [
          "s3"
        ],
        "x-examples": {
          "object storage": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "cluster_id": 2,
            "region": "ewr",
            "label": "Example Object Storage",
            "status": "active",
            "s3_hostname": "ewr1.vultrobjects.com",
            "s3_access_key": "00example11223344",
            "s3_secret_key": "00example1122334455667788990011",
            "tier": {
              "OBJSTORETIERID": 5,
              "bw_gb_price": 0.01,
              "disk_gb_price": 0.05,
              "is_default": "no",
              "price": 50,
              "ratelimit_ops_bytes": 1048576000,
              "ratelimit_ops_secs": 4000,
              "sales_desc": "Low-latency storage for datacenter workloads.",
              "sales_name": "Performance",
              "slug": "tier_004k_1000m"
            }
          }
        },
        "description": "Object Storage information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Object Storage."
          },
          "date_created": {
            "type": "string",
            "description": "Date the Object Store was created."
          },
          "cluster_id": {
            "type": "integer",
            "description": "The [Cluster id](#operation/list-object-storage-clusters)."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) for this Object Storage."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this Object Storage."
          },
          "status": {
            "type": "string",
            "description": "The status of this Object Storage.\n\n* active\n* pending"
          },
          "s3_hostname": {
            "type": "string",
            "description": "The [Cluster hostname](#operation/list-object-storage-clusters) for this Object Storage."
          },
          "s3_access_key": {
            "type": "string",
            "description": "The Object Storage access key."
          },
          "s3_secret_key": {
            "type": "string",
            "description": "The Object Storage secret key."
          },
          "tier": {
            "type": "object",
            "description": "An object containing additional tier info for this object storage.",
            "properties": {
              "OBJSTORETIERID": {
                "type": "integer",
                "description": "Object Storage Tier ID."
              },
              "bw_gb_price": {
                "type": "float",
                "description": "Price per additional gigabyte of bandwidth."
              },
              "disk_gb_price": {
                "type": "float",
                "description": "Price per additional gigabyte of capacity."
              },
              "is_default": {
                "type": "string",
                "description": "Is this tier the default?"
              },
              "price": {
                "type": "float",
                "description": "Monthly price for this tier."
              },
              "ratelimit_ops_bytes": {
                "type": "integer",
                "description": "Rate limit on the number of bytes per second."
              },
              "ratelimit_ops_secs": {
                "type": "integer",
                "description": "Rate limit on the number of operations per second."
              },
              "sales_desc": {
                "type": "string",
                "description": "Sales description."
              },
              "sales_name": {
                "type": "string",
                "description": "Sales name."
              },
              "slug": {
                "type": "string",
                "description": "Slug, unique name."
              }
            }
          }
        }
      },
      "object-storage": {
        "title": "object-storage",
        "type": "object",
        "x-tags": [
          "s3"
        ],
        "x-examples": {
          "object storage": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "cluster_id": 2,
            "region": "ewr",
            "label": "Example Object Storage",
            "status": "active",
            "s3_hostname": "ewr1.vultrobjects.com",
            "s3_access_key": "00example11223344",
            "s3_secret_key": "00example1122334455667788990011"
          }
        },
        "description": "Object Storage information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Object Storage."
          },
          "date_created": {
            "type": "string",
            "description": "Date the Object Store was created."
          },
          "cluster_id": {
            "type": "integer",
            "description": "The [Cluster id](#operation/list-object-storage-clusters)."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) for this Object Storage."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this Object Storage."
          },
          "status": {
            "type": "string",
            "description": "The status of this Object Storage.\n\n* active\n* pending"
          },
          "s3_hostname": {
            "type": "string",
            "description": "The [Cluster hostname](#operation/list-object-storage-clusters) for this Object Storage."
          },
          "s3_access_key": {
            "type": "string",
            "description": "The Object Storage access key."
          },
          "s3_secret_key": {
            "type": "string",
            "description": "The Object Storage secret key."
          }
        }
      },
      "clusters": {
        "title": "clusters",
        "type": "object",
        "x-tags": [
          "s3"
        ],
        "description": "Object Storage Cluster information.",
        "x-examples": {
          "object storage cluster": {
            "id": 1,
            "region": "ewr",
            "hostname": "ewr1.vultrobjects.com",
            "deploy": "yes"
          }
        },
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique ID for the Object Storage cluster."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the cluster is located."
          },
          "hostname": {
            "type": "string",
            "description": "The cluster host name."
          },
          "deploy": {
            "type": "string",
            "description": "The Cluster is eligible for Object Storage deployment.\n\n* yes\n* no"
          }
        }
      },
      "tiers": {
        "title": "tiers",
        "type": "object",
        "description": "Object Storage Tier information.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Object Storage Tier ID."
          },
          "bw_gb_price": {
            "type": "float",
            "description": "Price per additional gigabyte of bandwidth."
          },
          "disk_gb_price": {
            "type": "float",
            "description": "Price per additional gigabyte of capacity."
          },
          "is_default": {
            "type": "string",
            "description": "Is this tier the default?"
          },
          "price": {
            "type": "float",
            "description": "Monthly price for this tier."
          },
          "ratelimit_ops_bytes": {
            "type": "integer",
            "description": "Rate limit on the number of bytes per second."
          },
          "ratelimit_ops_secs": {
            "type": "integer",
            "description": "Rate limit on the number of operations per second."
          },
          "sales_desc": {
            "type": "string",
            "description": "Sales description."
          },
          "sales_name": {
            "type": "string",
            "description": "Sales name."
          },
          "slug": {
            "type": "string",
            "description": "Slug, unique name."
          },
          "locations": {
            "type": "array",
            "description": "Clusters where the tier is available.",
            "items": {
              "type": "object",
              "properties": {
                "hostname": {
                  "type": "string",
                  "description": "Cluster hostname."
                },
                "id": {
                  "type": "integer",
                  "description": "Cluster ID."
                },
                "name": {
                  "type": "string",
                  "description": "Cluster name."
                },
                "region": {
                  "type": "string",
                  "description": "Cluster region."
                }
              }
            }
          }
        }
      },
      "cluster-tiers": {
        "title": "tiers",
        "type": "object",
        "description": "Object Storage Tier information.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Object Storage Tier ID."
          },
          "bw_gb_price": {
            "type": "float",
            "description": "Price per additional gigabyte of bandwidth."
          },
          "disk_gb_price": {
            "type": "float",
            "description": "Price per additional gigabyte of capacity."
          },
          "is_default": {
            "type": "string",
            "description": "Is this tier the default?"
          },
          "price": {
            "type": "float",
            "description": "Monthly price for this tier."
          },
          "ratelimit_ops_bytes": {
            "type": "integer",
            "description": "Rate limit on the number of bytes per second."
          },
          "ratelimit_ops_secs": {
            "type": "integer",
            "description": "Rate limit on the number of operations per second."
          },
          "sales_desc": {
            "type": "string",
            "description": "Sales description."
          },
          "sales_name": {
            "type": "string",
            "description": "Sales name."
          },
          "slug": {
            "type": "string",
            "description": "Slug, unique name."
          }
        }
      },
      "domain": {
        "title": "domain",
        "type": "object",
        "description": "DNS Domain information.",
        "x-tags": [
          "dns"
        ],
        "x-examples": {
          "list of domains": {
            "domain": "example.com",
            "date_created": "2020-10-10T01:56:20+00:00"
          }
        },
        "properties": {
          "domain": {
            "type": "string",
            "description": "Your registered domain name."
          },
          "date_created": {
            "type": "string",
            "description": "Date the DNS Domain was created."
          },
          "dns_sec": {
            "type": "string",
            "description": "The domain's DNSSEC status\n\n* enabled\n* disabled"
          }
        }
      },
      "dns-soa": {
        "title": "dns-soa",
        "type": "object",
        "x-tags": [
          "dns"
        ],
        "description": "SOA Record information.",
        "x-examples": {
          "dns_soa": {
            "dns_soa": {
              "nsprimary": "ns1.vultr.com",
              "email": "admin@example.com"
            }
          }
        },
        "properties": {
          "nsprimary": {
            "type": "string",
            "description": "Primary nameserver for this domain."
          },
          "email": {
            "type": "string",
            "description": "Domain contact email address."
          }
        }
      },
      "dns-record": {
        "title": "dns-record",
        "type": "object",
        "x-tags": [
          "dns"
        ],
        "description": "DNS Record information.",
        "x-examples": {
          "dns-record": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "type": "A",
            "name": "foo.example.com",
            "data": "192.0.2.123",
            "priority": 0,
            "ttl": 300
          }
        },
        "properties": {
          "id": {
            "description": "A unique ID for the DNS Record.",
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "The DNS record type.\n\n* A\n* AAAA\n* CNAME\n* NS\n* MX\n* SRV\n* TXT\n* CAA\n* SSHFP"
          },
          "name": {
            "type": "string",
            "description": "The hostname for this DNS record."
          },
          "data": {
            "type": "string",
            "description": "The DNS data for this record type."
          },
          "priority": {
            "type": "integer",
            "description": "DNS priority. Does not apply to all record types."
          },
          "ttl": {
            "type": "integer",
            "description": "Time to Live in seconds."
          }
        }
      },
      "loadbalancer": {
        "title": "loadbalancer",
        "type": "object",
        "x-tags": [
          "load-balancer"
        ],
        "description": "Load Balancer information.",
        "x-examples": {
          "load balancer": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "date_created": "2020-10-10T01:56:20+00:00",
            "region": "ewr",
            "label": "Example Load Balancer",
            "status": "active",
            "ipv4": "192.0.2.123",
            "ipv6": "2001:0db8:6374:dc29:ffff:ffff:ffff:ffff",
            "generic_info": {
              "balancing_algorithm": "roundrobin",
              "ssl_redirect": true,
              "sticky_sessions": {
                "cookie_name": "example-cookie"
              },
              "proxy_protocol": false,
              "timeout": 600,
              "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406",
              "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406"
            },
            "health_check": {
              "protocol": "http",
              "port": 80,
              "path": "/health",
              "check_interval": 10,
              "response_timeout": 5,
              "unhealthy_threshold": 3,
              "healthy_threshold": 3
            },
            "has_ssl": true,
            "nodes": 1,
            "forward_rules": [
              {
                "id": "73d85156c2c3129d",
                "frontend_protocol": "http",
                "frontend_port": 80,
                "backend_portocol": "http",
                "backend_port": 80
              }
            ],
            "firewall_rules": [
              {
                "id": "abcd123b93016eafb",
                "port": 80,
                "source": "198.51.100.0/24",
                "ip_type": "v4"
              }
            ],
            "instances": [
              "d277caaa-0fab-48cc-9c35-eab056b9b141"
            ]
          }
        },
        "properties": {
          "id": {
            "description": "A unique ID for the Load Balancer.",
            "type": "string"
          },
          "date_created": {
            "type": "string",
            "description": "Date this Load Balancer was created."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Load Balancer is located."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this load-balancer."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active"
          },
          "ipv4": {
            "type": "string",
            "description": "The IPv4 address of this Load Balancer."
          },
          "ipv6": {
            "type": "string",
            "description": "The IPv6 address of this Load Balancer."
          },
          "generic_info": {
            "type": "object",
            "description": "An object containing additional options.",
            "properties": {
              "balancing_algorithm": {
                "type": "string",
                "description": "The balancing algorithm.\n\n* roundrobin (default)\n* leastconn"
              },
              "ssl_redirect": {
                "type": "boolean",
                "description": "If `true`, this will redirect all HTTP traffic to HTTPS. You must have an HTTPS rule and SSL certificate installed on the load balancer to enable this option.\n\n* true\n* false"
              },
              "sticky_sessions": {
                "type": "object",
                "description": "Array of sticky session cookies.",
                "properties": {
                  "cookie_name": {
                    "type": "string",
                    "description": "The cookie name to make sticky. See [Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration)."
                  }
                }
              },
              "proxy_protocol": {
                "type": "boolean",
                "description": "\"If `true`, you must configure backend nodes to accept Proxy protocol. \\n\\n* true\\n* false (Default)\""
              },
              "timeout": {
                "type": "integer",
                "description": "The maximum time allowed for the connection to remain inactive before timing out in seconds. This defaults to 600."
              },
              "private_network": {
                "type": "string",
                "description": "Use `vpc` instead. ID of the private network you wish to use. If private_network is omitted it will default to the public network.",
                "deprecated": true
              },
              "vpc": {
                "type": "string",
                "description": "ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network."
              }
            }
          },
          "health_check": {
            "type": "object",
            "description": "The health check object configuration. See [Load Balancer documentation](https://docs.vultr.com/vultr-load-balancers/#Load_Balancer_Configuration).",
            "properties": {
              "protocol": {
                "type": "string",
                "description": "The protocol to use for health checks.\n\n* HTTPS\n* HTTP\n* TCP"
              },
              "port": {
                "type": "integer",
                "description": "The port to use for health checks."
              },
              "path": {
                "type": "string",
                "description": "HTTP Path to check. Only applies if Protocol is HTTP or HTTPS."
              },
              "check_interval": {
                "type": "integer",
                "description": "Interval between health checks."
              },
              "response_timeout": {
                "type": "integer",
                "description": "Timeout before health check fails."
              },
              "unhealthy_threshold": {
                "type": "integer",
                "description": "Number times a check must fail before becoming unhealthy."
              },
              "healthy_threshold": {
                "type": "integer",
                "description": "Number of times a check must succeed before returning to healthy status."
              }
            }
          },
          "has_ssl": {
            "type": "boolean",
            "description": "Indicates if this Load Balancer has an SSL certificate installed."
          },
          "http2": {
            "type": "boolean",
            "description": "Indicates if this Load Balancer has HTTP2 enabled."
          },
          "http3": {
            "type": "boolean",
            "description": "Indicates if this Load Balancer has HTTP3 enabled."
          },
          "nodes": {
            "type": "integer",
            "description": "The number of nodes to add to the load balancer (1-99), must be an odd number. This defaults to 1."
          },
          "forward_rules": {
            "type": "array",
            "description": "An array of forwarding rule objects.",
            "items": {
              "type": "object",
              "description": "A forwarding rule object.",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "A unique ID for the forwarding rule."
                },
                "frontend_protocol": {
                  "type": "string",
                  "description": "The protocol on the Load Balancer to forward to the backend.\n\n* HTTP\n* HTTPS\n* TCP"
                },
                "frontend_port": {
                  "type": "integer",
                  "description": "The port number on the Load Balancer to forward to the backend."
                },
                "backend_portocol": {
                  "type": "string",
                  "description": "The protocol destination on the backend server.\n\n* HTTP\n* HTTPS\n* TCP"
                },
                "backend_port": {
                  "type": "integer",
                  "description": "The port number destination on the backend server. "
                }
              }
            }
          },
          "instances": {
            "type": "array",
            "description": "Array of [Instance ids](#operation/list-instances) attached to this Load Balancer.",
            "items": {
              "type": "string"
            }
          },
          "firewall_rules": {
            "type": "array",
            "description": "An array of firewall rule objects.",
            "items": {
              "type": "object",
              "description": "",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "A unique ID for the firewall rule."
                },
                "port": {
                  "type": "integer",
                  "description": "Port for this rule."
                },
                "source": {
                  "type": "string",
                  "description": "If the source string is given a value of \"cloudflare\" then cloudflare IPs will be supplied. Otherwise enter a IP address with subnet size that you wish to permit through the firewall.\n\n  Possible values:\n\n  |   | Value | Description |\n  | - | ------ | ------------- |\n  |   | \"192.168.1.1/16\" | Ip address with a subnet size. |\n  |   | cloudflare | Allow all of Cloudflare's IP space through the firewall |"
                },
                "ip_type": {
                  "type": "string",
                  "description": "The type of IP rule.\n\n* v4\n* v6\n"
                }
              }
            }
          },
          "node_ips": {
            "type": "object",
            "description": "Public IP addresses of the load balancer nodes.",
            "properties": {
              "v4": {
                "type": "array",
                "description": "IPV4 addresses of the load balancer nodes.",
                "items": {
                  "type": "string"
                }
              },
              "v6": {
                "type": "array",
                "description": "IPV6 addresses of the load balancer nodes.",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "auto_ssl": {
            "type": "object",
            "description": "The Auto SSL configuration.",
            "properties": {
              "domain_zone": {
                "type": "string",
                "description": "The domain zone. (example.com)"
              },
              "domain": {
                "type": "string",
                "description": "Full domain including domain zone and subdomain. (subdomain.example.com)"
              }
            }
          },
          "global_parent_id": {
            "type": "string",
            "description": "If this load balancer is a child of a global load balancer, this field will display the ID of the parent load balancer."
          },
          "global_regions": {
            "type": "array",
            "description": "Array of [Region ids](#operation/list-regions) to deploy child Load Balancers to.",
            "items": {
              "type": "string"
            }
          },
          "global_children_ids": {
            "type": "array",
            "description": "If this load balancer is the parent of a global load balancer, this filed will display an array of children load balancer ids",
            "items": {
              "type": "string"
            }
          },
          "ssl_cert_b64": {
            "type": "string",
            "description": "Base64 encoded ssl certificate, private key, and chain"
          },
          "pending_charges": {
            "type": "int",
            "description": "Pending charges for the current billing period"
          }
        }
      },
      "log": {
        "title": "log",
        "type": "object",
        "x-tags": [
          "log"
        ],
        "description": "Log line information",
        "required": [
          "resource_id",
          "resource_type",
          "log_level",
          "message",
          "timestamp",
          "metadata"
        ],
        "properties": {
          "resource_id": {
            "type": "string",
            "minLength": 1,
            "description": "The UUID for the resource that was interacted with.  Only set if the logged interaction relates to a specific resource with a UUID."
          },
          "resource_type": {
            "type": "string",
            "minLength": 1,
            "description": "The type of resource that was interacted with."
          },
          "log_level": {
            "type": "string",
            "minLength": 1,
            "description": "The type of the configuration option.\n* `info`\n* `debug`\n* `warning`\n* `error`\n* `critical`"
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "description": "A message relating to the event that is being logged."
          },
          "timestamp": {
            "type": "string",
            "minLength": 1,
            "description": "the UTC timestamp of the time at which the log was generated."
          },
          "metadata": {
            "type": "object",
            "minLength": 1,
            "description": "a set of data that is specific to the logged event.  the properties of this object can varry depending on the source of the log.",
            "required": [
              "user_id",
              "ip_address"
            ],
            "properties": {
              "user_id": {
                "type": "string",
                "minLength": 1,
                "description": "The UUID for the user who triggered the event that is being logged."
              },
              "ip_address": {
                "type": "string",
                "minLength": 1,
                "description": "The IP address from which the request that generated the log originated."
              },
              "username": {
                "type": "string",
                "minLength": 1,
                "description": "The email address of a user who is logging in.<br>*This field is only included in the metadata for logs relating to users logging in.*"
              },
              "http_status_code": {
                "type": "integer",
                "minLength": 1,
                "description": "The status code returned for and API request.<br>*This field is only included in the metadata for logs relating to API requests.*"
              },
              "method": {
                "type": "string",
                "minLength": 1,
                "description": "The HTTP request method of the API request being logged.<br>*This field is only included in the metadata for logs relating to API requests.*\n* `GET`\n* `POST`\n* `PUT`\n* `PATCH`\n* `DELETE`"
              },
              "request_path": {
                "type": "string",
                "minLength": 1,
                "description": "The URI path of the API request being logged.<br>*This field is only included in the metadata for logs relating to API requests.*"
              },
              "request_body": {
                "type": "string",
                "description": "The request body provided for the API request being logged.<br>*This field is only included in the metadata for logs relating to API requests.*"
              },
              "query_parameters": {
                "type": "string",
                "description": "The query string provided for the API request being logged.<br>*This field is only included in the metadata for logs relating to API requests.*"
              }
            }
          }
        }
      },
      "log-meta": {
        "title": "log-meta",
        "type": "object",
        "x-tags": [
          "log-meta"
        ],
        "required": [
          "next_page_url",
          "continue_time",
          "returned_count",
          "unreturned_count",
          "total_count"
        ],
        "properties": {
          "next_page_url": {
            "type": "string",
            "description": "In the event that there are more logs found for a specified time period than can be returned, this field will contain a URL that can be used to request the next block of logs for the time period.\n\nThe new request is inclusive of the timestamp for the last logs from the previous request. This is done to avoid skipping over any logs that may have the same timestamp as the last log in the previous request, but which may not have been included in that response.\n **Be aware that because of this there will be boundary duplicates between this new request and the previous one.**\n"
          },
          "continue_time": {
            "type": "string",
            "description": "In the event that there are more logs found for a specified time period that can be returned, this field will be set with a UTC timestamp of where the logs were left off.\n"
          },
          "returned_count": {
            "type": "integer",
            "minLength": 1,
            "description": "The number of log records that were returned. There is a maximum limit of 5,000 logs returned by any request."
          },
          "unreturned_count": {
            "type": "integer",
            "minLength": 1,
            "description": "The number of log records from the specified time period that were not returned due to the maximum return limit of 5,000 logs."
          },
          "total_count": {
            "type": "integer",
            "minLength": 1,
            "description": "The total number of records that were found for the specified time period."
          }
        }
      },
      "region": {
        "title": "region",
        "type": "object",
        "x-tags": [
          "region"
        ],
        "description": "Region information.",
        "x-examples": {
          "example": {
            "id": "ewr",
            "city": "New Jersey",
            "country": "US",
            "continent": "North America",
            "options": [
              "ddos_protection",
              "load_balancers",
              "object_storage",
              "kubernetes",
              "block_storage"
            ]
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Region."
          },
          "country": {
            "type": "string",
            "description": "The [two-letter country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) for this Region."
          },
          "options": {
            "type": "array",
            "description": "An array of product features available in this Region.",
            "items": {
              "type": "string"
            }
          },
          "continent": {
            "type": "string",
            "description": "The name of the continent for this Region."
          },
          "city": {
            "type": "string",
            "description": "The name of the city for this Region."
          }
        }
      },
      "plans": {
        "title": "plans",
        "type": "object",
        "x-tags": [
          "plans"
        ],
        "description": "Plans for VPS instances.",
        "x-examples": {
          "plans": {
            "id": "vhf-8c-32gb",
            "vcpu_count": 8,
            "ram": 32768,
            "disk": 512,
            "disk_count": 1,
            "bandwidth": 6144,
            "monthly_cost": 192,
            "type": "vhf",
            "locations": [
              "sea"
            ]
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Plan."
          },
          "name": {
            "type": "string",
            "description": "The Plan name."
          },
          "vcpu_count": {
            "type": "integer",
            "description": "The number of vCPUs in this Plan."
          },
          "ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "disk": {
            "type": "integer",
            "description": "The disk size in GB."
          },
          "bandwidth": {
            "type": "integer",
            "description": "The monthly bandwidth quota in GB."
          },
          "monthly_cost": {
            "type": "integer",
            "description": "The monthly cost in US Dollars."
          },
          "type": {
            "type": "string",
            "description": "The plan type.\n\n|   | Type | Description |\n| - | ------ | ------------- |\n|   | vc2 | Cloud Compute |\n|   | vhf | High Frequency Compute |\n|   | vdc | Dedicated Cloud |"
          },
          "locations": {
            "type": "array",
            "description": "An array of Regions where this plan is valid for use.",
            "items": {
              "type": "string"
            }
          },
          "disk_count": {
            "type": "integer",
            "description": "The number of disks that this plan offers."
          }
        }
      },
      "plans-metal": {
        "title": "plans-metal",
        "type": "object",
        "x-tags": [
          "plans"
        ],
        "description": "Plans for Bare Metal instances.",
        "x-examples": {
          "baremetal": {
            "id": "vbm-4c-32gb",
            "cpu_count": 4,
            "cpu_threads": 8,
            "cpu_model": "E3-1270v6",
            "ram": 32768,
            "disk": 240,
            "disk_count": 2,
            "bandwidth": 5120,
            "monthly_cost": 300,
            "monthly_cost_preemptible": 300,
            "type": "SSD",
            "locations": [
              "ewr"
            ]
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Bare Metal Plan."
          },
          "cpu_count": {
            "type": "integer",
            "description": "The number of CPUs in this Plan."
          },
          "cpu_model": {
            "type": "string",
            "description": "The CPU model type for this instance."
          },
          "cpu_threads": {
            "type": "integer",
            "description": "The numner of supported threads for this instance."
          },
          "ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "disk": {
            "type": "string",
            "description": "The disk size in GB."
          },
          "bandwidth": {
            "type": "integer",
            "description": "The monthly bandwidth quota in GB."
          },
          "locations": {
            "type": "array",
            "description": "An array of Regions where this plan is valid for use.",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "description": "The plan type.\n\n* SSD"
          },
          "monthly_cost": {
            "type": "integer",
            "description": "The monthly cost in US Dollars."
          },
          "monthly_cost_preemptible": {
            "type": "integer",
            "description": "The monthly cost in US Dollars for preemptible configurations."
          },
          "disk_count": {
            "type": "integer",
            "description": "The number of disks that this plan offers."
          }
        }
      },
      "baremetal": {
        "title": "baremetal",
        "type": "object",
        "x-tags": [
          "baremetal"
        ],
        "description": "Bare Metal information.",
        "x-examples": {
          "bare metal": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "os": "CentOS 8 x64",
            "ram": "32768 MB",
            "disk": "2x 240GB SSD",
            "main_ip": "192.0.2.123",
            "cpu_count": 4,
            "region": "ewr",
            "default_password": "example-password",
            "date_created": "2020-10-10T01:56:20+00:00",
            "status": "active",
            "netmask_v4": "255.255.254.0",
            "gateway_v4": "192.0.2.123",
            "plan": "vbm-4c-32gb",
            "v6_network": "2001:0db8:1000::",
            "v6_main_ip": "2001:0db8:1000::100",
            "v6_network_size": 64,
            "label": "Example Bare Metal",
            "mac_address": 2199756823533,
            "os_id": 215,
            "app_id": 0,
            "image_id": "",
            "snapshot_id": "",
            "tags": [
              "a tag",
              "another"
            ]
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Bare Metal instance."
          },
          "os": {
            "type": "string",
            "description": "The [Operating System name](#operation/list-os)."
          },
          "ram": {
            "type": "string",
            "description": "Text description of the instances' RAM."
          },
          "disk": {
            "type": "string",
            "description": "Text description of the instances' disk configuration."
          },
          "main_ip": {
            "type": "string",
            "description": "The main IPv4 address."
          },
          "cpu_count": {
            "type": "integer",
            "description": "Number of CPUs."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the instance is located."
          },
          "default_password": {
            "type": "string",
            "description": "The default password assigned at deployment. Only available for ten minutes after deployment."
          },
          "date_created": {
            "type": "string",
            "description": "The date this instance was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending\n* suspended"
          },
          "netmask_v4": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation."
          },
          "gateway_v4": {
            "type": "string",
            "description": "The IPv4 gateway address."
          },
          "plan": {
            "type": "string",
            "description": "The [Bare Metal Plan id](#operation/list-metal-plans) used by this instance."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this instance."
          },
          "tag": {
            "type": "string",
            "description": "Use `tags` instead. The user-supplied tag for this instance.",
            "deprecated": true
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os)."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications)."
          },
          "image_id": {
            "type": "string",
            "description": "The [Application image_id](#operation/list-applications)."
          },
          "snapshot_id": {
            "type": "string",
            "description": "The [Snapshot id](#operation/list-snapshots)."
          },
          "v6_network": {
            "type": "string",
            "description": "The IPv6 network size in bits."
          },
          "v6_main_ip": {
            "type": "string",
            "description": "The main IPv6 network address."
          },
          "v6_network_size": {
            "type": "integer",
            "description": "The IPv6 subnet."
          },
          "mac_address": {
            "type": "integer",
            "description": "The MAC address for a Bare Metal server."
          },
          "tags": {
            "type": "array",
            "description": "Tags to apply to the instance.",
            "items": {
              "type": "string"
            }
          },
          "user_scheme": {
            "type": "string",
            "description": "The user scheme.\n\n* root\n* limited"
          }
        }
      },
      "baremetal-get": {
        "title": "baremetal",
        "type": "object",
        "x-tags": [
          "baremetal"
        ],
        "description": "Bare Metal information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Bare Metal instance."
          },
          "os": {
            "type": "string",
            "description": "The [Operating System name](#operation/list-os)."
          },
          "ram": {
            "type": "string",
            "description": "Text description of the instances' RAM."
          },
          "disk": {
            "type": "string",
            "description": "Text description of the instances' disk configuration."
          },
          "main_ip": {
            "type": "string",
            "description": "The main IPv4 address."
          },
          "cpu_count": {
            "type": "integer",
            "description": "Number of CPUs."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the instance is located."
          },
          "default_password": {
            "type": "string",
            "description": "The default password assigned at deployment. Only available for ten minutes after deployment."
          },
          "date_created": {
            "type": "string",
            "description": "The date this instance was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending\n* suspended"
          },
          "netmask_v4": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation."
          },
          "gateway_v4": {
            "type": "string",
            "description": "The IPv4 gateway address."
          },
          "plan": {
            "type": "string",
            "description": "The [Bare Metal Plan id](#operation/list-metal-plans) used by this instance."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this instance."
          },
          "internal_ip": {
            "type": "string",
            "description": "The internal IP used by this instance, if set. Only relevant when a VPC is attached."
          },
          "vpcs": {
            "type": "array",
            "description": "List of VPC Networks to which the instance is attached.",
            "items": {
              "$ref": "#/components/schemas/attached-vpcs"
            }
          },
          "tag": {
            "type": "string",
            "description": "Use `tags` instead. The user-supplied tag for this instance.",
            "deprecated": true
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os)."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications)."
          },
          "image_id": {
            "type": "string",
            "description": "The [Application image_id](#operation/list-applications)."
          },
          "snapshot_id": {
            "type": "string",
            "description": "The [Snapshot id](#operation/list-snapshots)."
          },
          "v6_network": {
            "type": "string",
            "description": "The IPv6 network size in bits."
          },
          "v6_main_ip": {
            "type": "string",
            "description": "The main IPv6 network address."
          },
          "v6_network_size": {
            "type": "integer",
            "description": "The IPv6 subnet."
          },
          "mac_address": {
            "type": "integer",
            "description": "The MAC address for a Bare Metal server."
          },
          "tags": {
            "type": "array",
            "description": "Tags to apply to the instance.",
            "items": {
              "type": "string"
            }
          },
          "user_scheme": {
            "type": "string",
            "description": "The user scheme.\n\n* root\n* limited"
          }
        }
      },
      "baremetal-ipv4": {
        "title": "baremetal-ipv4",
        "type": "object",
        "x-tags": [
          "baremetal"
        ],
        "description": "Bare Metal IPv4 information.",
        "x-examples": {
          "ipv4 example": {
            "ip": "192.0.2.123",
            "netmask": "255.255.254.0",
            "gateway": "192.0.2.123",
            "type": "main_ip",
            "reverse": "192.0.2.123.vultr.com",
            "mac_address": "00:00:5e:00:53:5e"
          }
        },
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IPv4 address."
          },
          "netmask": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation."
          },
          "gateway": {
            "type": "string",
            "description": "The gateway IP address."
          },
          "type": {
            "type": "string",
            "description": "The type of IP address.\n\n* main_ip"
          },
          "reverse": {
            "type": "string",
            "description": "The reverse DNS information for this IP address."
          },
          "mac_address": {
            "type": "string",
            "description": "The MAC address associated with this IP address."
          }
        }
      },
      "baremetal-ipv6": {
        "title": "baremetal-ipv6",
        "type": "object",
        "x-tags": [
          "baremetal"
        ],
        "description": "Bare Metal IPv6 information.",
        "properties": {
          "ip": {
            "type": "string",
            "description": "A unique ID for the IPv6 address."
          },
          "network": {
            "type": "string",
            "description": "The IPv6 subnet."
          },
          "network_size": {
            "type": "integer",
            "description": "The IPv6 network size in bits."
          },
          "type": {
            "type": "string",
            "description": "The type of IP address.\n\n* main_ip"
          }
        }
      },
      "bandwidth": {
        "title": "bandwidth",
        "type": "object",
        "description": "Bandwidth information.",
        "x-examples": {},
        "x-tags": [
          "bandwidth"
        ],
        "properties": {
          "incoming_bytes": {
            "type": "integer",
            "description": "Total bytes received by this instance on the date (UTC) denoted by the object key."
          },
          "outgoing_bytes": {
            "description": "Total bytes sent by this instance on the date (UTC) denoted by the object key.",
            "type": "integer"
          }
        }
      },
      "instance": {
        "title": "instance",
        "type": "object",
        "x-tags": [
          "instances"
        ],
        "description": "Instance information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPS Instance."
          },
          "os": {
            "type": "string",
            "description": "The [Operating System name](#operation/list-os)."
          },
          "ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "disk": {
            "type": "integer",
            "description": "The size of the disk in GB."
          },
          "main_ip": {
            "type": "string",
            "description": "The main IPv4 address."
          },
          "vcpu_count": {
            "type": "integer",
            "description": "Number of vCPUs."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Instance is located."
          },
          "default_password": {
            "type": "string",
            "description": "The default password assigned at deployment. Only available for ten minutes after deployment."
          },
          "date_created": {
            "type": "string",
            "description": "The date this instance was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending\n* suspended\n* resizing"
          },
          "power_status": {
            "type": "string",
            "description": "The power-on status.\n\n* running\n* stopped"
          },
          "server_status": {
            "type": "string",
            "description": "The server health status.\n\n* none\n* locked\n* installingbooting\n* ok"
          },
          "allowed_bandwidth": {
            "type": "integer",
            "description": "Monthly bandwidth quota in GB."
          },
          "netmask_v4": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation."
          },
          "gateway_v4": {
            "type": "string",
            "description": "The gateway IP address."
          },
          "v6_networks": {
            "type": "array",
            "description": "An array of IPv6 objects.",
            "items": {
              "type": "object",
              "description": "An IPv6 object.",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "The IPv6 subnet."
                },
                "main_ip": {
                  "type": "string",
                  "description": "The main IPv6 network address."
                },
                "network_size": {
                  "description": "The IPv6 network size in bits.",
                  "type": "integer"
                }
              }
            }
          },
          "hostname": {
            "type": "string",
            "description": "The hostname for this instance."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this instance."
          },
          "tag": {
            "type": "string",
            "description": "Use `tags` instead. The user-supplied tag for this instance.",
            "deprecated": true
          },
          "internal_ip": {
            "type": "string",
            "description": "The internal IP used by this instance, if set. Only relevant when a VPC is attached."
          },
          "kvm": {
            "type": "string",
            "description": "HTTPS link to the Vultr noVNC Web Console."
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os) used by this instance."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications) used by this instance."
          },
          "image_id": {
            "type": "string",
            "description": "The [Application image_id](#operation/list-applications) used by this instance."
          },
          "snapshot_id": {
            "type": "string",
            "description": "The [Snapshot id](#operation/list-snapshots) used by this instance."
          },
          "firewall_group_id": {
            "type": "string",
            "description": "The [Firewall Group id](#operation/list-firewall-groups) linked to this Instance."
          },
          "features": {
            "type": "array",
            "description": "\"auto_backups\", \"ipv6\", \"ddos_protection\"",
            "items": {
              "type": "string"
            }
          },
          "plan": {
            "type": "string",
            "description": "A unique ID for the Plan."
          },
          "tags": {
            "type": "array",
            "description": "Tags to apply to the instance.",
            "items": {
              "type": "string"
            }
          },
          "user_scheme": {
            "type": "string",
            "description": "The user scheme.\n\n* root\n* limited"
          }
        }
      },
      "instance-get": {
        "title": "instance",
        "type": "object",
        "x-tags": [
          "instances"
        ],
        "description": "Instance information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the VPS Instance."
          },
          "os": {
            "type": "string",
            "description": "The [Operating System name](#operation/list-os)."
          },
          "ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "disk": {
            "type": "integer",
            "description": "The size of the disk in GB."
          },
          "main_ip": {
            "type": "string",
            "description": "The main IPv4 address."
          },
          "vcpu_count": {
            "type": "integer",
            "description": "Number of vCPUs."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Instance is located."
          },
          "default_password": {
            "type": "string",
            "description": "The default password assigned at deployment. Only available for ten minutes after deployment."
          },
          "date_created": {
            "type": "string",
            "description": "The date this instance was created."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* active\n* pending\n* suspended\n* resizing"
          },
          "power_status": {
            "type": "string",
            "description": "The power-on status.\n\n* running\n* stopped"
          },
          "server_status": {
            "type": "string",
            "description": "The server health status.\n\n* none\n* locked\n* installingbooting\n* ok"
          },
          "allowed_bandwidth": {
            "type": "integer",
            "description": "Monthly bandwidth quota in GB."
          },
          "netmask_v4": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation."
          },
          "gateway_v4": {
            "type": "string",
            "description": "The gateway IP address."
          },
          "v6_networks": {
            "type": "array",
            "description": "An array of IPv6 objects.",
            "items": {
              "type": "object",
              "description": "An IPv6 object.",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "The IPv6 subnet."
                },
                "main_ip": {
                  "type": "string",
                  "description": "The main IPv6 network address."
                },
                "network_size": {
                  "description": "The IPv6 network size in bits.",
                  "type": "integer"
                }
              }
            }
          },
          "hostname": {
            "type": "string",
            "description": "The hostname for this instance."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this instance."
          },
          "tag": {
            "type": "string",
            "description": "Use `tags` instead. The user-supplied tag for this instance.",
            "deprecated": true
          },
          "internal_ip": {
            "type": "string",
            "description": "The internal IP used by this instance, if set. Only relevant when a VPC is attached."
          },
          "vpcs": {
            "type": "array",
            "description": "List of VPC Networks to which the instance is attached.",
            "items": {
              "$ref": "#/components/schemas/attached-vpcs"
            }
          },
          "kvm": {
            "type": "string",
            "description": "HTTPS link to the Vultr noVNC Web Console."
          },
          "os_id": {
            "type": "integer",
            "description": "The [Operating System id](#operation/list-os) used by this instance."
          },
          "app_id": {
            "type": "integer",
            "description": "The [Application id](#operation/list-applications) used by this instance."
          },
          "image_id": {
            "type": "string",
            "description": "The [Application image_id](#operation/list-applications) used by this instance."
          },
          "snapshot_id": {
            "type": "string",
            "description": "The [Snapshot id](#operation/list-snapshots) used by this instance."
          },
          "firewall_group_id": {
            "type": "string",
            "description": "The [Firewall Group id](#operation/list-firewall-groups) linked to this Instance."
          },
          "features": {
            "type": "array",
            "description": "\"auto_backups\", \"ipv6\", \"ddos_protection\"",
            "items": {
              "type": "string"
            }
          },
          "plan": {
            "type": "string",
            "description": "A unique ID for the Plan."
          },
          "tags": {
            "type": "array",
            "description": "Tags to apply to the instance.",
            "items": {
              "type": "string"
            }
          },
          "user_scheme": {
            "type": "string",
            "description": "The user scheme.\n\n* root\n* limited"
          }
        }
      },
      "dbaas-meta": {
        "title": "meta",
        "type": "object",
        "x-examples": {
          "meta response": {
            "meta": {
              "total": 31
            }
          }
        },
        "description": "The meta information object.",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total objects available in the list."
          }
        }
      },
      "database": {
        "title": "database",
        "type": "object",
        "x-tags": [
          "databases"
        ],
        "description": "Managed Database information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Managed Database."
          },
          "date_created": {
            "type": "string",
            "description": "The date this database was created."
          },
          "plan": {
            "type": "string",
            "description": "The name of the Managed Database plan."
          },
          "plan_disk": {
            "type": "integer",
            "description": "The size of the disk in GB (excluded for Valkey engine types)."
          },
          "plan_ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "plan_vcpus": {
            "type": "integer",
            "description": "Number of vCPUs."
          },
          "plan_replicas": {
            "type": "integer",
            "description": "Number of replica nodes (excluded for Kafka engine types)."
          },
          "plan_brokers": {
            "type": "integer",
            "description": "Number of brokers (Kafka engine types only)."
          },
          "region": {
            "type": "string",
            "description": "The [Region id](#operation/list-regions) where the Managed Database is located."
          },
          "database_engine": {
            "type": "string",
            "description": "The database engine type (MySQL, PostgreSQL, Valkey, Kafka)."
          },
          "database_engine_version": {
            "type": "string",
            "description": "The version number of the database engine in use."
          },
          "vpc_id": {
            "type": "string",
            "description": "The ID of the [VPC Network](#operation/get-vpc) attached to the Managed Database."
          },
          "status": {
            "type": "string",
            "description": "The current status.\n\n* Rebuilding\n* Rebalancing\n* Running"
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this managed database."
          },
          "tag": {
            "type": "string",
            "description": "The user-supplied tag for this managed database."
          },
          "dbname": {
            "type": "string",
            "description": "The default database name."
          },
          "host": {
            "type": "string",
            "description": "The public hostname for database connections, or private hostname if this managed database is attached to a VPC network."
          },
          "public_host": {
            "type": "string",
            "description": "The public hostname for database connections. Only visible when the managed database is attached to a VPC network."
          },
          "user": {
            "type": "string",
            "description": "The default user configured on creation."
          },
          "password": {
            "type": "string",
            "description": "The default user's secure password generated on creation."
          },
          "access_key": {
            "type": "string",
            "description": "The private key to authenticate the default user (Kafka engine types only)."
          },
          "access_cert": {
            "type": "string",
            "description": "The certificate to authenticate the default user (Kafka engine types only)."
          },
          "port": {
            "type": "string",
            "description": "The assigned port for connecting to the Managed Database."
          },
          "sasl_port": {
            "type": "string",
            "description": "The port for connecting to the Managed Database via SASL (Kafka engine types only)."
          },
          "enable_kafka_rest": {
            "type": "boolean",
            "description": "Configuration value for Kafka REST support on the Managed Database (Kafka engine types only on business plans or higher)."
          },
          "kafka_rest_uri": {
            "type": "boolean",
            "description": "The URI to access the RESTful interface of your Kafka cluster if Kafka REST is enabled. For more information on how to interact with your cluster's RESTful interface, please refer to the [Confluent REST Proxy API v2 documentation](https://docs.confluent.io/platform/current/kafka-rest/api.html#rest-proxy-v2)."
          },
          "enable_schema_registry": {
            "type": "boolean",
            "description": "Configuration value for Schema Registry support on the Managed Database (Kafka engine types only on business plans or higher)."
          },
          "schema_registry_uri": {
            "type": "boolean",
            "description": "The URI to access the Schema Registry service of your Kafka cluster if Schema Registry is enabled. For more information on how to interact with your cluster's Schema Registry, please refer to the [Confluent Schema Registry API Reference](https://docs.confluent.io/platform/current/schema-registry/develop/api.html)."
          },
          "enable_kafka_connect": {
            "type": "boolean",
            "description": "Configuration value for Kafka Connect support on the Managed Database (Kafka engine types only on business plans or higher)."
          },
          "maintenance_dow": {
            "type": "string",
            "description": "The chosen date of week for routine maintenance updates."
          },
          "maintenance_time": {
            "type": "string",
            "description": "The chosen hour for routine maintenance updates."
          },
          "backup_hour": {
            "type": "string",
            "description": "The chosen hour for daily backups to take place. Excluded for Kafka engine types."
          },
          "backup_minute": {
            "type": "string",
            "description": "The chosen minute of the backup hour for daily backups to take place. Excluded for Kafka engine types."
          },
          "latest_backup": {
            "type": "string",
            "description": "The date for the latest backup stored on the Managed Database."
          },
          "trusted_ips": {
            "type": "array",
            "description": "A list of trusted IP addresses for connecting to this Managed Database (in CIDR notation).",
            "items": {
              "type": "string"
            }
          },
          "ca_certificate": {
            "type": "string",
            "description": "The CA certificate for Managed Databases on this account."
          },
          "mysql_sql_modes": {
            "type": "array",
            "description": "A list names of enabled SQL Modes (MySQL engine types only).",
            "items": {
              "type": "string"
            }
          },
          "mysql_require_primary_key": {
            "type": "boolean",
            "description": "Configuration value for requiring table primary keys (MySQL engine types only)."
          },
          "mysql_slow_query_log": {
            "type": "boolean",
            "description": "Configuration value for slow query logging on the Managed Database (MySQL engine types only)."
          },
          "mysql_long_query_time": {
            "type": "integer",
            "description": "The number of seconds to denote a slow query when logging is enabled (MySQL engine types only)."
          },
          "pg_available_extensions": {
            "type": "array",
            "description": "A list of objects containing names and versions (when applicable) of available extensions for PostgreSQL engine types only.",
            "items": {
              "type": "object"
            }
          },
          "redis_eviction_policy": {
            "type": "string",
            "description": "The current configured data eviction policy for Redis engine types only.",
            "deprecated": true
          },
          "eviction_policy": {
            "type": "string",
            "description": "The current configured data eviction policy for Valkey engine types only."
          },
          "cluster_time_zone": {
            "type": "string",
            "description": "The configured time zone of the Managed Database in TZ database format."
          },
          "read_replicas": {
            "type": "array",
            "description": "A list of database objects containing details for all attached read-only replica nodes.",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "dbaas-plan": {
        "title": "plan",
        "type": "object",
        "x-tags": [
          "database-plans"
        ],
        "description": "Managed Database plan information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the plan."
          },
          "number_of_nodes": {
            "type": "integer",
            "description": "The total number of nodes for this plan."
          },
          "type": {
            "type": "string",
            "description": "The type of plan this is."
          },
          "vcpu_count": {
            "type": "integer",
            "description": "Number of vCPUs."
          },
          "ram": {
            "type": "integer",
            "description": "The amount of RAM in MB."
          },
          "disk": {
            "type": "integer",
            "description": "The size of the disk in GB (excluded for Valkey engine types)."
          },
          "monthly_cost": {
            "type": "integer",
            "description": "The monthly cost of this Managed Database plan."
          },
          "supported_engines": {
            "type": "object",
            "description": "A list of key/value pairs with database engine types and boolean values."
          },
          "max_connections": {
            "type": "object",
            "description": "A list of key/value pairs with database engine types (excluding Valkey and Kafka) and integers of max connection values."
          },
          "locations": {
            "type": "array",
            "description": "A list of available regions in which this plan is currently available.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "database-usage": {
        "title": "usage",
        "type": "object",
        "x-tags": [
          "database-usage"
        ],
        "description": "Managed Database usage information.",
        "x-examples": {},
        "properties": {
          "disk": {
            "type": "object",
            "description": "Metrics for the disk storage of the Managed Database.",
            "properties": {
              "current_gb": {
                "type": "string",
                "description": "The current amount of space used on the Managed Database (in GB)."
              },
              "max_gb": {
                "type": "string",
                "description": "The maximum available space on the Managed Database (in GB)."
              },
              "percentage": {
                "type": "string",
                "description": "The percentage of space used on the Managed Database relative to its capacity."
              }
            }
          },
          "memory": {
            "type": "object",
            "description": "Metrics for the memory of the Managed Database.",
            "properties": {
              "current_mb": {
                "type": "string",
                "description": "The current amount of memory used on the Managed Database (in MB)."
              },
              "max_mb": {
                "type": "string",
                "description": "The maximum available memory on the Managed Database (in MB)."
              },
              "percentage": {
                "type": "string",
                "description": "The average percent of memory utilization for the Managed Database over the last hour."
              }
            }
          },
          "cpu": {
            "type": "object",
            "description": "Metrics for the vCPU(s) of the Managed Database.",
            "properties": {
              "percentage": {
                "type": "string",
                "description": "The average percent of vCPU utilization for the Managed Database over the last hour."
              }
            }
          }
        }
      },
      "database-user": {
        "title": "user",
        "type": "object",
        "x-tags": [
          "database-users"
        ],
        "description": "Managed Database user information.",
        "x-examples": {},
        "properties": {
          "username": {
            "type": "string",
            "description": "The username for the database user."
          },
          "password": {
            "type": "string",
            "description": "The password for the database user."
          },
          "encryption": {
            "type": "string",
            "description": "The password encryption for the database user (MySQL engine types only).\n* `Default (MySQL 8+)`\n* `Legacy (MySQL 5.x)`"
          },
          "access_control": {
            "type": "object",
            "description": "Access control settings for the database user (Valkey engine types only).",
            "properties": {
              "redis_acl_categories": {
                "type": "array",
                "description": "List of configured rules for command categories.",
                "items": {
                  "type": "string"
                },
                "deprecated": true
              },
              "redis_acl_channels": {
                "type": "array",
                "description": "List of configured publish/subscribe channel patterns.",
                "items": {
                  "type": "string"
                },
                "deprecated": true
              },
              "redis_acl_commands": {
                "type": "array",
                "description": "List of configured rules for individual commands.",
                "items": {
                  "type": "string"
                },
                "deprecated": true
              },
              "redis_acl_keys": {
                "type": "array",
                "description": "List of configured key access rules.",
                "items": {
                  "type": "string"
                },
                "deprecated": true
              },
              "acl_categories": {
                "type": "array",
                "description": "List of configured rules for command categories.",
                "items": {
                  "type": "string"
                }
              },
              "acl_channels": {
                "type": "array",
                "description": "List of configured publish/subscribe channel patterns.",
                "items": {
                  "type": "string"
                }
              },
              "acl_commands": {
                "type": "array",
                "description": "List of configured rules for individual commands.",
                "items": {
                  "type": "string"
                }
              },
              "acl_keys": {
                "type": "array",
                "description": "List of configured key access rules.",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "permission": {
            "type": "string",
            "description": "The permission level for the database user (Kafka engine types only)."
          },
          "access_key": {
            "type": "string",
            "description": "The private key to authenticate the database user (Kafka engine types only)."
          },
          "access_cert": {
            "type": "string",
            "description": "The certificate to authenticate the database user (Kafka engine types only)."
          }
        }
      },
      "database-topic": {
        "title": "topic",
        "type": "object",
        "x-tags": [
          "database-topics"
        ],
        "description": "Managed Database topic information.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the database topic."
          },
          "partitions": {
            "type": "integer",
            "description": "The number of partitions for the database topic."
          },
          "replication": {
            "type": "integer",
            "description": "The replication factor for the database topic."
          },
          "retention_hours": {
            "type": "integer",
            "description": "The retention hours for the database topic."
          },
          "retention_bytes": {
            "type": "integer",
            "description": "The retention bytes for the database topic."
          }
        }
      },
      "database-quota": {
        "title": "quota",
        "type": "object",
        "x-tags": [
          "database-quotas"
        ],
        "description": "Managed Database quota information.",
        "x-examples": {},
        "properties": {
          "client_id": {
            "type": "string",
            "description": "The client ID for the database quota."
          },
          "user": {
            "type": "string",
            "description": "The [user](#operation/list-database-users) for the database quota."
          },
          "consumer_byte_rate": {
            "type": "integer",
            "description": "The consumer byte rate for the database quota."
          },
          "producer_byte_rate": {
            "type": "integer",
            "description": "The producer byte rate for the database quota."
          },
          "request_percentage": {
            "type": "integer",
            "description": "The CPU request percentage for the database quota."
          }
        }
      },
      "database-available-connector": {
        "title": "available-connector",
        "type": "object",
        "x-tags": [
          "database-available-connectors"
        ],
        "description": "Managed Database available connector information.",
        "x-examples": {},
        "properties": {
          "class": {
            "type": "string",
            "description": "The identifier class of the available connector."
          },
          "title": {
            "type": "string",
            "description": "The human readable title of the available connector."
          },
          "version": {
            "type": "string",
            "description": "The version of the available connector."
          },
          "type": {
            "type": "string",
            "description": "The type of the available connector (`sink` or `source`)."
          },
          "doc_url": {
            "type": "string",
            "description": "The documentation URL for the available connector."
          }
        }
      },
      "database-connector-configuration-schema": {
        "title": "connector-configuration-schema",
        "type": "object",
        "x-tags": [
          "database-connector-configuration-schema"
        ],
        "description": "Managed Database connector configuration schema.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the configuration option for this database connector."
          },
          "type": {
            "type": "string",
            "description": "The data type of the configuration option for this database connector.\n* `STRING`\n* `INT`\n* `SHORT`\n* `LONG`\n* `DOUBLE`\n* `BOOLEAN`\n* `LIST`\n* `CLASS`\n* `PASSWORD`"
          },
          "required": {
            "type": "boolean",
            "description": "Indicates if the configuration option is required for deploying this database connector."
          },
          "default_value": {
            "type": "string",
            "description": "The default value of the configuration option for this database connector."
          },
          "description": {
            "type": "string",
            "description": "The description of the configuration option for this database connector."
          }
        }
      },
      "database-connector": {
        "title": "connector",
        "type": "object",
        "x-tags": [
          "database-connectors"
        ],
        "description": "Managed Database connector information.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the database connector."
          },
          "class": {
            "type": "string",
            "description": "The class for the database connector."
          },
          "topics": {
            "type": "string",
            "description": "A comma-separated list of topics to use with the database connector."
          },
          "config": {
            "type": "object",
            "description": "A JSON object containing the configuration properties currently set for a database connector. See [Get Database Connector Configuration Schema](#operation/get-database-connector-configuration-schema) for a list of available/required options for a connector."
          }
        }
      },
      "database-connector-status": {
        "title": "connector-status",
        "type": "object",
        "x-tags": [
          "database-connectors"
        ],
        "description": "Managed Database connector status information.",
        "x-examples": {},
        "properties": {
          "state": {
            "type": "string",
            "description": "The current status of the database connector.\n* `FAILED`\n* `PAUSED`\n* `RUNNING`\n* `UNASSIGNED`"
          },
          "tasks": {
            "type": "array",
            "description": "List of currently running tasks for the database connector.",
            "items": {
              "$ref": "#/components/schemas/database-connector-status-task"
            }
          }
        }
      },
      "database-connector-status-task": {
        "title": "connector-status-task",
        "type": "object",
        "x-tags": [
          "database-connectors"
        ],
        "description": "Managed Database connector task status information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "integer",
            "description": "The ID of the database connector task."
          },
          "state": {
            "type": "string",
            "description": "The current status of the database connector task.\n* `FAILED`\n* `PAUSED`\n* `RUNNING`\n* `UNASSIGNED`"
          },
          "trace": {
            "type": "string",
            "description": "Error information for the database connector task."
          }
        }
      },
      "dbaas-alerts": {
        "title": "alert",
        "type": "object",
        "x-tags": [
          "database-alerts"
        ],
        "description": "Managed Database alerts information.",
        "x-examples": {},
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "The date and time in which the alert was sent."
          },
          "message_type": {
            "type": "string",
            "description": "The category of alert that was sent.\n* `DB MASTER PROMOTION`\n* `MAINTENANCE SCHEDULED`\n* `MISSING MYSQL PRIMARY KEYS`\n* `RESOURCE USAGE DISK`\n* `RESOURCE USAGE OOM KILLED`\n* `RESOURCE USAGE PG REPLICATION SLOTS`"
          },
          "description": {
            "type": "string",
            "description": "A verbose description of the associated alert category."
          },
          "recommendation": {
            "type": "string",
            "description": "A description of the recommended action the customer should take. Only included for certain alert types."
          },
          "maintenance_scheduled": {
            "type": "string",
            "description": "The time in which mandatory maintenance has been scheduled with the associated alert. Only included for certain alert types."
          },
          "resource_type": {
            "type": "string",
            "description": "The affected resource related to the associated alert. Only included for certain alert types."
          },
          "table_count": {
            "type": "integer",
            "description": "The number of affected tables related to the associated alert. Only included for certain alert types."
          }
        }
      },
      "dbaas-migration": {
        "title": "migration",
        "type": "object",
        "x-tags": [
          "database-migration"
        ],
        "description": "Managed Database migration information.",
        "x-examples": {},
        "properties": {
          "status": {
            "type": "string",
            "description": "The current status of the attached migration.\n* `complete`\n* `error`\n* `pending`\n* `running`"
          },
          "method": {
            "type": "string",
            "description": "The type of migration performed (dump or replication). Only shows if status is `complete`."
          },
          "error": {
            "type": "string",
            "description": "The verbose error message output for migrations with an `error` status."
          },
          "credentials": {
            "type": "object",
            "description": "Associated list of connection details for the source database server.",
            "properties": {
              "host": {
                "type": "string",
                "description": "The host name of the source server."
              },
              "port": {
                "type": "integer",
                "description": "The connection port of the source server."
              },
              "username": {
                "type": "string",
                "description": "The username of the source server."
              },
              "password": {
                "type": "string",
                "description": "The password of the source server."
              },
              "database": {
                "type": "string",
                "description": "The database of the source server. Excluded for Valkey engine types."
              },
              "ignored_databases": {
                "type": "string",
                "description": "Comma-separated list of ignored databases on the source server. Excluded for Valkey engine types."
              },
              "ssl": {
                "type": "boolean",
                "description": "The true/false value for whether SSL is needed to connect to the source server."
              }
            }
          }
        }
      },
      "database-latest-backup": {
        "title": "backup",
        "type": "object",
        "x-tags": [
          "database-latest-backup"
        ],
        "description": "Managed Database latest backup information.",
        "x-examples": {},
        "properties": {
          "date": {
            "type": "string",
            "description": "The date of the most recently available backup."
          },
          "time": {
            "type": "string",
            "description": "The time of the most recently available backup."
          }
        }
      },
      "database-oldest-backup": {
        "title": "backup",
        "type": "object",
        "x-tags": [
          "database-oldest-backup"
        ],
        "description": "Managed Database oldest backup information.",
        "x-examples": {},
        "properties": {
          "date": {
            "type": "string",
            "description": "The date of the oldest available backup."
          },
          "time": {
            "type": "string",
            "description": "The time of the oldest available backup."
          }
        }
      },
      "database-connections": {
        "title": "connection",
        "type": "object",
        "x-tags": [
          "database-connections"
        ],
        "description": "Managed Database connection information.",
        "x-examples": {},
        "properties": {
          "used": {
            "type": "integer",
            "description": "The number of used database connections."
          },
          "available": {
            "type": "integer",
            "description": "The number of available database connections."
          },
          "max": {
            "type": "integer",
            "description": "The maximum number of database connections."
          }
        }
      },
      "connection-pool": {
        "title": "connection_pool",
        "type": "object",
        "x-tags": [
          "database-connection-pool"
        ],
        "description": "Managed Database connection pool information.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the connection pool."
          },
          "database": {
            "type": "string",
            "description": "The logical database associated with the connection pool."
          },
          "username": {
            "type": "string",
            "description": "The database user associated with the connection pool."
          },
          "mode": {
            "type": "string",
            "description": "The mode for the connection pool.\n* `session`\n* `transaction`\n* `statement`"
          },
          "size": {
            "type": "integer",
            "description": "The size of the connection pool."
          }
        }
      },
      "dbaas-available-options": {
        "title": "available_option",
        "type": "object",
        "x-tags": [
          "database-available-options"
        ],
        "description": "Managed Database PostgreSQL advanced configuration options.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the configuration option."
          },
          "type": {
            "type": "string",
            "description": "The type of the configuration option.\n* `int`\n* `float`\n* `bool`\n* `enum`"
          },
          "enumerals": {
            "type": "array",
            "description": "Valid enumerals for `enum` type configuration options only.",
            "items": {
              "type": "string"
            }
          },
          "min_value": {
            "type": "number",
            "description": "The smallest value accepted for the configuration option."
          },
          "max_value": {
            "type": "number",
            "description": "The largest value accepted for the configuration option."
          },
          "alt_values": {
            "type": "array",
            "description": "Any alternate value accepted for the configuration option.",
            "items": {
              "type": "integer"
            }
          },
          "units": {
            "type": "string",
            "description": "The units associated with the configuration option."
          }
        }
      },
      "database-db": {
        "title": "db",
        "type": "object",
        "x-tags": [
          "database-dbs"
        ],
        "description": "Managed Database logical database information.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the logical database."
          }
        }
      },
      "pg-advanced-options": {
        "title": "pg-advanced-options",
        "type": "object",
        "x-tags": [
          "database-pg-advanced-options"
        ],
        "description": "Managed Database PostgreSQL Advanced Options",
        "x-examples": {},
        "properties": {
          "autovacuum_analyze_scale_factor": {
            "type": "number",
            "description": "Accepted values: 0 - 1",
            "format": "float"
          },
          "autovacuum_analyze_threshold": {
            "type": "integer",
            "description": "Accepted values: 0 - 2147483647"
          },
          "autovacuum_freeze_max_age": {
            "type": "integer",
            "description": "Accepted values: 200000000 - 1500000000"
          },
          "autovacuum_max_workers": {
            "type": "integer",
            "description": "Accepted values: 1 - 20"
          },
          "autovacuum_naptime": {
            "type": "integer",
            "description": "Accepted values: 1 - 86400"
          },
          "autovacuum_vacuum_cost_delay": {
            "type": "integer",
            "description": "Accepted values: -1 - 100"
          },
          "autovacuum_vacuum_cost_limit": {
            "type": "integer",
            "description": "Accepted values: -1 - 10000"
          },
          "autovacuum_vacuum_scale_factor": {
            "type": "number",
            "description": "Accepted values: 0 - 1",
            "format": "float"
          },
          "autovacuum_vacuum_threshold": {
            "type": "integer",
            "description": "Accepted values: 0 - 2147483647"
          },
          "bgwriter_delay": {
            "type": "integer",
            "description": "Accepted values: 10 - 10000"
          },
          "bgwriter_flush_after": {
            "type": "integer",
            "description": "Accepted values: 0 - 2048"
          },
          "bgwriter_lru_maxpages": {
            "type": "integer",
            "description": "Accepted values: 0 - 1073741823"
          },
          "bgwriter_lru_multiplier": {
            "type": "number",
            "description": "Accepted values: 0 - 10",
            "format": "float"
          },
          "deadlock_timeout": {
            "type": "integer",
            "description": "Accepted values: 500 - 1800000"
          },
          "default_toast_compression": {
            "type": "string",
            "enum": [
              "lz4",
              "pglz"
            ]
          },
          "idle_in_transaction_session_timeout": {
            "type": "integer",
            "description": "Accepted values: 0 - 604800000"
          },
          "jit": {
            "type": "boolean"
          },
          "log_autovacuum_min_duration": {
            "type": "integer",
            "description": "Accepted values: -1 - 2147483647"
          },
          "log_error_verbosity": {
            "type": "string",
            "enum": [
              "TERSE",
              "DEFAULT",
              "VERBOSE"
            ]
          },
          "log_line_prefix": {
            "type": "string",
            "enum": [
              "'pid=%p,user=%u,db=%d,app=%a,client=%h '",
              "'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '",
              "'%m [%p] %q[user=%u,db=%d,app=%a] '"
            ]
          },
          "log_min_duration_statement": {
            "type": "integer",
            "description": "Accepted values: -1 - 86400000"
          },
          "max_files_per_process": {
            "type": "integer",
            "description": "Accepted values: 1000 - 4096"
          },
          "max_locks_per_transaction": {
            "type": "integer",
            "description": "Accepted values: 64 - 6400"
          },
          "max_logical_replication_workers": {
            "type": "integer",
            "description": "Accepted values: 4 - 64"
          },
          "max_parallel_workers": {
            "type": "integer",
            "description": "Accepted values: 0 - 96"
          },
          "max_parallel_workers_per_gather": {
            "type": "integer",
            "description": "Accepted values: 0 - 96"
          },
          "max_pred_locks_per_transaction": {
            "type": "integer",
            "description": "Accepted values: 64 - 5120"
          },
          "max_prepared_transactions": {
            "type": "integer",
            "description": "Accepted values: 0 - 10000"
          },
          "max_replication_slots": {
            "type": "integer",
            "description": "Accepted values: 8 - 64"
          },
          "max_stack_depth": {
            "type": "integer",
            "description": "Accepted values: 2097152 - 6291456"
          },
          "max_standby_archive_delay": {
            "type": "integer",
            "description": "Accepted values: 1 - 43200000"
          },
          "max_standby_streaming_delay": {
            "type": "integer",
            "description": "Accepted values: 1 - 43200000"
          },
          "max_wal_senders": {
            "type": "integer",
            "description": "Accepted values: 20 - 64"
          },
          "max_worker_processes": {
            "type": "integer",
            "description": "Accepted values: 8 - 96"
          },
          "pg_partman_bgw.interval": {
            "type": "integer",
            "description": "Accepted values: 3600 - 604800"
          },
          "pg_partman_bgw.role": {
            "type": "string",
            "description": "Maximum length: 64 characters"
          },
          "pg_stat_statements.track": {
            "type": "string",
            "enum": [
              "all",
              "top",
              "none"
            ]
          },
          "temp_file_limit": {
            "type": "integer",
            "description": "Accepted values: -1 - 2147483647"
          },
          "track_activity_query_size": {
            "type": "integer",
            "description": "Accepted values: 1024 - 10240"
          },
          "track_commit_timestamp": {
            "type": "string",
            "enum": [
              "off",
              "on"
            ]
          },
          "track_functions": {
            "type": "string",
            "enum": [
              "all",
              "pl",
              "none"
            ]
          },
          "track_io_timing": {
            "type": "string",
            "enum": [
              "off",
              "on"
            ]
          },
          "wal_sender_timeout": {
            "type": "integer",
            "description": "Accepted values: 0, 5000 - 10800000"
          },
          "wal_writer_delay": {
            "type": "integer",
            "description": "Accepted values: 10 - 200"
          }
        }
      },
      "mysql-advanced-options": {
        "title": "mysql-advanced-options",
        "type": "object",
        "x-tags": [
          "database-mysql-advanced-options"
        ],
        "description": "Managed Database MySQL Advanced Options",
        "x-examples": {},
        "properties": {
          "connect_timeout": {
            "type": "integer",
            "description": "Accepted values: 2 - 3600"
          },
          "group_concat_max_len": {
            "type": "integer",
            "description": "Accepted values: 4 - 18446744073709552000"
          },
          "innodb_change_buffer_max_size": {
            "type": "integer",
            "description": "Accepted values: 0 - 50"
          },
          "innodb_flush_neighbors": {
            "type": "integer",
            "description": "Accepted values: 0 - 2 (0: dirty pages in the same extent are not flushed, 1: flush contiguous dirty pages in the same extent [default], 2: flush dirty pages in the same extent)"
          },
          "innodb_ft_min_token_size": {
            "type": "integer",
            "description": "Accepted values: 0 - 16"
          },
          "innodb_ft_server_stopword_table": {
            "type": "string",
            "description": "This option is used to specify your own InnoDB FULLTEXT index stopword list for all tables."
          },
          "innodb_lock_wait_timeout": {
            "type": "integer",
            "description": "Accepted values: 1 - 3600"
          },
          "innodb_log_buffer_size": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 4294967295"
          },
          "innodb_online_alter_log_max_size": {
            "type": "integer",
            "description": "Accepted values: 65536 - 1099511627776"
          },
          "innodb_print_all_deadlocks": {
            "type": "boolean"
          },
          "innodb_read_io_threads": {
            "type": "integer",
            "description": "Accepted values: 1 - 64"
          },
          "innodb_rollback_on_timeout": {
            "type": "boolean"
          },
          "innodb_thread_concurrency": {
            "type": "integer",
            "description": "Accepted values: 0 - 1000"
          },
          "innodb_write_io_threads": {
            "type": "integer",
            "description": "Accepted values: 1 - 64"
          },
          "internal_tmp_mem_storage_engine": {
            "type": "string",
            "enum": [
              "MEMORY",
              "TempTable"
            ]
          },
          "net_buffer_length": {
            "type": "integer",
            "description": "Accepted values: 1024 - 1048576"
          },
          "net_read_timeout": {
            "type": "integer",
            "description": "Accepted values: 1 - 3600"
          },
          "net_write_timeout": {
            "type": "integer",
            "description": "Accepted values: 1 - 3600"
          },
          "wait_timeout": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483"
          },
          "max_allowed_packet": {
            "type": "integer",
            "description": "Accepted values: 102400 - 1073741824"
          },
          "max_heap_table_size": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 1073741824"
          },
          "sort_buffer_size": {
            "type": "integer",
            "description": "Accepted values: 32768 - 1073741824"
          },
          "tmp_table_size": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 1073741824"
          }
        }
      },
      "kafka-advanced-options": {
        "title": "kafka-advanced-options",
        "type": "object",
        "x-tags": [
          "database-kafka-advanced-options"
        ],
        "description": "Managed Database Kafka Advanced Options",
        "x-examples": {},
        "properties": {
          "compression_type": {
            "type": "string",
            "enum": [
              "producer",
              "gzip",
              "snappy",
              "lz4",
              "zstd",
              "uncompressed"
            ]
          },
          "group_initial_rebalance_delay_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 300000"
          },
          "group_min_session_timeout_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 60000"
          },
          "group_max_session_timeout_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 1800000"
          },
          "connections_max_idle_ms": {
            "type": "integer",
            "description": "Accepted values: 1000 - 3600000"
          },
          "max_incremental_fetch_session_cache_slots": {
            "type": "integer",
            "description": "Accepted values: 1000 - 10000"
          },
          "message_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 1 - 100001200"
          },
          "offsets_retention_minutes": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483647"
          },
          "log_cleaner_delete_retention_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 315569260000"
          },
          "log_cleaner_min_cleanable_ratio": {
            "type": "number",
            "description": "Accepted values: 0.2 - 0.9",
            "format": "float"
          },
          "log_cleaner_max_compaction_lag_ms": {
            "type": "integer",
            "description": "Accepted values: 30000 - 922337203685477600"
          },
          "log_cleaner_min_compaction_lag_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_cleanup_policy": {
            "type": "string",
            "description": "The default cleanup policy for segments beyond the retention window.",
            "default": "delete"
          },
          "log_flush_interval_messages": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_flush_interval_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_index_interval_bytes": {
            "type": "integer",
            "description": "Accepted values: 1 - 104857600"
          },
          "log_index_size_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 104857600"
          },
          "log_local_retention_ms": {
            "type": "integer",
            "description": "TIf set to -2, the value of `log_retention_ms` is used. Accepted values: =2 - 922337203685477600",
            "default": -2
          },
          "log_local_retention_bytes": {
            "type": "integer",
            "description": "If set to -2, the value of `log_retention_bytes` is used. Accepted values: -2 - 922337203685477600",
            "default": -2
          },
          "log_message_downconversion_enable": {
            "type": "boolean"
          },
          "log_message_timestamp_type": {
            "type": "string",
            "description": "Define whether the timestamp in the message is message create time or log append time.",
            "default": "CreateTime"
          },
          "log_message_timestamp_difference_max_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_preallocate": {
            "type": "boolean"
          },
          "log_retention_bytes": {
            "type": "integer",
            "description": "Accepted values: -1 - 922337203685477600"
          },
          "log_retention_hours": {
            "type": "integer",
            "description": "Accepted values: -1 - 2147483647"
          },
          "log_retention_ms": {
            "type": "integer",
            "description": "Accepted values: -1 - 922337203685477600"
          },
          "log_roll_jitter_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_roll_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 922337203685477600"
          },
          "log_segment_bytes": {
            "type": "integer",
            "description": "Accepted values: 10485760 - 1073741824"
          },
          "log_segment_delete_delay_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 3600000"
          },
          "auto_create_topics_enable": {
            "type": "boolean"
          },
          "min_insync_replicas": {
            "type": "integer",
            "description": "Accepted values: 1 - 7"
          },
          "num_partitions": {
            "type": "integer",
            "description": "Accepted values: 1 - 1000"
          },
          "default_replication_factor": {
            "type": "integer",
            "description": "Accepted values: 1 - 10"
          },
          "replica_fetch_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 104857600"
          },
          "replica_fetch_response_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 10485760 - 1048576000"
          },
          "max_connections_per_ip": {
            "type": "integer",
            "description": "Accepted values: 256 - 2147483647"
          },
          "producer_purgatory_purge_interval_requests": {
            "type": "integer",
            "description": "Accepted values: 10 - 10000"
          },
          "sasl_oauthbearer_expected_audience": {
            "type": "string",
            "description": "The (optional) comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences."
          },
          "sasl_oauthbearer_expected_issuer": {
            "type": "string",
            "description": "Optional setting for the broker to use to verify that the JWT was created by the expected issuer."
          },
          "sasl_oauthbearer_jwks_endpoint_url": {
            "type": "string",
            "description": "OIDC JWKS endpoint URL. By setting this the SASL SSL OAuth2/OIDC authentication is enabled."
          },
          "sasl_oauthbearer_sub_claim_name": {
            "type": "string",
            "description": "Name of the scope from which to extract the subject claim from the JWT."
          },
          "socket_request_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 10485760 - 209715200"
          },
          "transaction_state_log_segment_bytes": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 2147483647"
          },
          "transaction_remove_expired_transaction_cleanup_interval_ms": {
            "type": "integer",
            "description": "Accepted values: 600000 - 3600000"
          },
          "transaction_partition_verification_enable": {
            "type": "boolean"
          }
        }
      },
      "kafka-rest-advanced-options": {
        "title": "kafka-rest-advanced-options",
        "type": "object",
        "x-tags": [
          "database-kafka-rest-advanced-options"
        ],
        "description": "Managed Database Kafka REST Advanced Options",
        "x-examples": {},
        "properties": {
          "producer_acks": {
            "type": "string",
            "description": "The number of acknowledgments the producer requires the leader to have received before considering a request complete. If set to `all` or `-1`, the leader will wait for the full set of in-sync replicas to acknowledge the record."
          },
          "producer_compression_type": {
            "type": "string",
            "enum": [
              "gzip",
              "snappy",
              "lz4",
              "zstd",
              "none"
            ]
          },
          "producer_linger_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 5000"
          },
          "producer_max_request_size": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483647"
          },
          "consumer_enable_auto_commit": {
            "type": "boolean"
          },
          "consumer_request_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 1 - 671088640"
          },
          "consumer_request_timeout_ms": {
            "type": "integer",
            "description": "Accepted values: 1000 - 30000"
          },
          "name_strategy": {
            "type": "string",
            "description": "Name strategy to use when selecting subject for storing schemas."
          },
          "name_strategy_validation": {
            "type": "boolean"
          },
          "simpleconsumer_pool_size_max": {
            "type": "integer",
            "description": "Accepted values: 10 - 250"
          }
        }
      },
      "schema-registry-advanced-options": {
        "title": "schema-registry-advanced-options",
        "type": "object",
        "x-tags": [
          "database-schema-registry-advanced-options"
        ],
        "description": "Managed Database Schema Registry Advanced Options",
        "x-examples": {},
        "properties": {
          "leader_eligibility": {
            "type": "boolean"
          },
          "schema_reader_strict_mode": {
            "type": "boolean"
          },
          "retriable_errors_silenced": {
            "type": "boolean"
          }
        }
      },
      "kafka-connect-advanced-options": {
        "title": "kafka-connect-advanced-options",
        "type": "object",
        "x-tags": [
          "database-kafka-connect-advanced-options"
        ],
        "description": "Managed Database Kafka Connect Advanced Options",
        "x-examples": {},
        "properties": {
          "connector_client_config_override_policy": {
            "type": "string",
            "description": "Defines what client configurations can be overridden by the connector. Default is None."
          },
          "consumer_auto_offset_reset": {
            "type": "string",
            "description": "What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest."
          },
          "consumer_fetch_max_bytes": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 104857600"
          },
          "consumer_isolation_level": {
            "type": "string",
            "description": "Transaction read isolation level. `read_uncommitted` is the default, but `read_committed` can be used if consume-exactly-once behavior is desired."
          },
          "consumer_max_partition_fetch_bytes": {
            "type": "integer",
            "description": "Accepted values: 1048576 - 104857600"
          },
          "consumer_max_poll_interval_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483647"
          },
          "consumer_max_poll_records": {
            "type": "integer",
            "description": "Accepted values: 1 - 10000"
          },
          "offset_flush_interval_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 100000000"
          },
          "offset_flush_timeout_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483647"
          },
          "producer_batch_size": {
            "type": "integer",
            "description": "Accepted values: 1 - 5242880"
          },
          "producer_buffer_memory": {
            "type": "integer",
            "description": "Accepted values: 5242880 - 134217728"
          },
          "producer_compression_type": {
            "type": "string",
            "enum": [
              "gzip",
              "snappy",
              "lz4",
              "zstd",
              "none"
            ]
          },
          "producer_linger_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 5000"
          },
          "producer_max_request_size": {
            "type": "integer",
            "description": "Accepted values: 131072 - 67108864"
          },
          "scheduled_rebalance_max_delay_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 600000"
          },
          "session_timeout_ms": {
            "type": "integer",
            "description": "Accepted values: 1 - 2147483647"
          }
        }
      },
      "access-control": {
        "title": "access-control",
        "type": "object",
        "x-tags": [
          "access-control"
        ],
        "description": "Managed Database Valkey User Access Control",
        "x-examples": {},
        "properties": {
          "redis_acl_categories": {
            "type": "array",
            "description": "A list of rules for command categories.",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "redis_acl_channels": {
            "type": "array",
            "description": "A list of publish/subscribe channel patterns.",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "redis_acl_commands": {
            "type": "array",
            "description": "A list of rules for individual commands.",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "redis_acl_keys": {
            "type": "array",
            "description": "A list of key access rules.",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "acl_categories": {
            "type": "array",
            "description": "A list of rules for command categories.",
            "items": {
              "type": "string"
            }
          },
          "acl_channels": {
            "type": "array",
            "description": "A list of publish/subscribe channel patterns.",
            "items": {
              "type": "string"
            }
          },
          "acl_commands": {
            "type": "array",
            "description": "A list of rules for individual commands.",
            "items": {
              "type": "string"
            }
          },
          "acl_keys": {
            "type": "array",
            "description": "A list of key access rules.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "kafka-permissions": {
        "title": "kafka-permissions",
        "type": "object",
        "x-tags": [
          "kafka-permissions"
        ],
        "description": "Managed Database Kafka User Permissions",
        "x-examples": {},
        "properties": {
          "permission": {
            "type": "string",
            "description": "The permission level for the database user.\n* `admin`\n* `read`\n* `write`\n* `readwrite`"
          }
        }
      },
      "app-variable": {
        "title": "app-variable",
        "type": "object",
        "x-tags": [
          "marketplace-app-variables"
        ],
        "description": "Marketplace app variable information.",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the marketplace app variable."
          },
          "description": {
            "type": "string",
            "description": "The detailed description for the marketplace app variable."
          },
          "required": {
            "type": "boolean",
            "description": "Indicates if this variable is required to deploy this marketplace application."
          }
        }
      },
      "inference-subscription": {
        "title": "inference-subscription",
        "type": "object",
        "x-tags": [
          "inference"
        ],
        "description": "Serverless Inference information.",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Serverless Inference subscription."
          },
          "date_created": {
            "type": "string",
            "description": "The date this Serverless Inference subscription was created."
          },
          "label": {
            "type": "string",
            "description": "The user-supplied label for this Serverless Inference subscription."
          },
          "api_key": {
            "type": "string",
            "description": "The API key used to access the Vultr Inference API."
          }
        }
      },
      "inference-usage": {
        "title": "inference-usage",
        "type": "object",
        "x-tags": [
          "inference-usage"
        ],
        "description": "Serverless Inference usage information.",
        "x-examples": {},
        "properties": {
          "chat": {
            "type": "object",
            "description": "Metrics for chat/vector store usage of the Serverless Inference subscription.",
            "properties": {
              "current_tokens": {
                "type": "string",
                "description": "The total number of chat completion tokens used in this monthly period."
              },
              "monthly_allotment": {
                "type": "string",
                "description": "The monthly token allotment for this Serverless Inference subscription."
              },
              "overage": {
                "type": "string",
                "description": "The number of overage chat completion tokens in this monthly period."
              }
            }
          },
          "audio": {
            "type": "object",
            "description": "Metrics for audio generation usage of the Serverless Inference subscription.",
            "properties": {
              "tts_characters": {
                "type": "string",
                "description": "The total number of text-to-speech input characters used this period with the HD model."
              },
              "tts_sm_characters": {
                "type": "string",
                "description": "The total number of text-to-speech input characters used this period with the basic model."
              }
            }
          }
        }
      },
      "private-networks": {
        "title": "private-networks",
        "type": "object",
        "x-tags": [
          "private-networks"
        ],
        "description": "Private Network information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Private Network."
          },
          "mac_address": {
            "type": "string",
            "description": "The assigned MAC address."
          },
          "ip_address": {
            "type": "string",
            "description": "The assigned IP address."
          }
        },
        "x-examples": {
          "example-1": {}
        },
        "deprecated": true
      },
      "backup-schedule": {
        "title": "backup-schedule",
        "type": "object",
        "x-tags": [
          "backup-schedule"
        ],
        "description": "Backup schedule information.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Indicates if backup is enabled:\n\n* true\n* false"
          },
          "type": {
            "type": "string",
            "description": "Type of backup schedule:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | daily | Back up once per day at `hour`. |\n|   | weekly | Back up once per week on `dow` at `hour`. |\n|   | monthly | Back up each month at `dom` at `hour`. |\n|   | daily\\_alt\\_even | Back up on even dates at `hour`. |\n|   | daily\\_alt\\_odd | Back up on odd dates at `hour`. |"
          },
          "next_scheduled_time_utc": {
            "type": "string",
            "description": "Time of next backup run in UTC."
          },
          "hour": {
            "type": "integer",
            "description": "Scheduled hour of day in UTC."
          },
          "dow": {
            "description": "Day of week to run.\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | 1 | Sunday |\n|   | 2 | Monday |\n|   | 3 | Tuesday |\n|   | 4 | Wednesday |\n|   | 5 | Thursday |\n|   | 6 | Friday |\n|   | 7 | Saturday |",
            "type": "integer"
          },
          "dom": {
            "description": "Day of month to run. Use values between 1 and 28.",
            "type": "integer"
          }
        }
      },
      "forwarding-rule": {
        "title": "forwarding-rule",
        "type": "object",
        "x-tags": [
          "load-balancer"
        ],
        "description": "Forwarding Rule information.",
        "x-examples": {
          "forwarding rules": {
            "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
            "frontend_protocol": "http",
            "frontend_port": 80,
            "backend_protocol": "http",
            "backend_port": 80
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the Forwarding Rule."
          },
          "frontend_protocol": {
            "type": "string",
            "description": "The protocol on the Load Balancer to forward to the backend.\n\n* HTTP\n* HTTPS\n* TCP"
          },
          "frontend_port": {
            "type": "integer",
            "description": "The port number on the Load Balancer to forward to the backend."
          },
          "backend_protocol": {
            "type": "string",
            "description": "The protocol destination on the backend server.\n\n* HTTP\n* HTTPS\n* TCP"
          },
          "backend_port": {
            "type": "integer",
            "description": "The port number destination on the backend server."
          }
        }
      },
      "meta": {
        "title": "meta",
        "type": "object",
        "x-examples": {
          "meta response": {
            "meta": {
              "total": 31,
              "links": {
                "next": "WxYzExampleNext",
                "prev": ""
              }
            }
          }
        },
        "description": "The meta information object. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination) for more information.",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total objects available in the list. This value may be greater than the number of objects returned if `per_page` is set."
          },
          "links": {
            "type": "object",
            "description": "Cursor values for pagination.",
            "properties": {
              "next": {
                "type": "string",
                "description": "Cursor value for the next page."
              },
              "prev": {
                "type": "string",
                "description": "Cursor value for the previous page."
              }
            }
          }
        }
      },
      "loadbalancer-firewall-rule": {
        "description": "Load Balancer firewall rule information.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique ID for the firewall rule"
          },
          "port": {
            "type": "integer",
            "description": "Port for this rule.\n"
          },
          "source": {
            "type": "string",
            "minLength": 1,
            "description": "If the source string is given a value of \"cloudflare\" then cloudflare IPs will be supplied. Otherwise enter a IP address with subnet size that you wish to permit through the firewall.\n\nPossible values:\n\n|   | Value | Description |\n| - | ------ | ------------- |\n|   | \"192.168.1.1/16\" | Ip address with a subnet size. |\n|   | cloudflare | Allow all of Cloudflare's IP space through the firewall |"
          },
          "ip_type": {
            "type": "string",
            "minLength": 1,
            "description": "The type of IP rule.\n\n* v4\n* v6\n"
          }
        },
        "x-examples": {
          "Example": {
            "id": "9fea55b93016eafb",
            "port": 80,
            "source": "192.168.1.1/16",
            "ip_type": "v4"
          }
        }
      },
      "registry": {
        "title": "registry",
        "type": "object",
        "x-tags": [
          "registry",
          "registries"
        ],
        "description": "Container Registry Entity",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "string",
            "description": "The UUID to reference this registry"
          },
          "name": {
            "type": "string",
            "description": "The globally unique name to reference this registry"
          },
          "urn": {
            "type": "string",
            "description": "The base URN (the URL without the scheme [i.e. http:// or https://]) of this registry"
          },
          "storage": {
            "type": "object",
            "description": "The allowed and used storage for this registry subscription.",
            "properties": {
              "used": {
                "$ref": "#/components/schemas/registry-storage"
              },
              "allowed": {
                "$ref": "#/components/schemas/registry-storage"
              }
            }
          },
          "date_created": {
            "type": "string",
            "description": "The date this Registry Subscription was created"
          },
          "public": {
            "type": "boolean",
            "description": "If true, this is a publically accessible registry allowing anyone to pull from it. If false, this registry is completely private"
          },
          "root_user": {
            "$ref": "#/components/schemas/registry-user"
          },
          "metadata": {
            "type": "object",
            "description": "The metadata containing subscription information such as the region where this registry lives and monthly price and pending charges",
            "properties": {
              "region": {
                "$ref": "#/components/schemas/registry-region"
              },
              "subscription": {
                "type": "object",
                "description": "Subscription information",
                "properties": {
                  "billing": {
                    "type": "object",
                    "description": "Billing information",
                    "properties": {
                      "monthly_price": {
                        "type": "number",
                        "description": "Monthly Price",
                        "format": "float"
                      },
                      "pending_charges": {
                        "type": "number",
                        "description": "The current charges for this subscription",
                        "format": "float"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "replication": {
        "title": "replication",
        "type": "object",
        "x-tags": [
          "replication",
          "replications"
        ],
        "description": "Container Registry Replication Policy",
        "x-examples": {},
        "properties": {
          "region": {
            "type": "string",
            "description": "The name of the region you'd like to replicate this Container Registry in. Get a list of regions from /registry/region/list endpoint, i.e. sjc"
          },
          "namespace": {
            "type": "string",
            "description": "The Container Registry's name"
          },
          "urn": {
            "type": "string",
            "description": "The base URN (the URL without the scheme [i.e. http:// or https://]) of this registry"
          }
        }
      },
      "retention-rule": {
        "title": "retention-rule",
        "type": "object",
        "x-tags": [
          "retention-rule",
          "retention-rules"
        ],
        "description": "Container Registry Retention Policy Rule",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Retention rule's ID"
          },
          "disabled": {
            "type": "boolean",
            "description": "Indicates whether the Retention rule is currently disabled"
          },
          "action": {
            "type": "string",
            "description": "Specifies the action to be taken on the selected artifacts"
          },
          "params": {
            "type": "object",
            "properties": {
              "additional_prop": {
                "type": "integer",
                "description": "Parameters for the retention logic depending on the template used, and the integer value will be the number of artifacts or number of days"
              }
            }
          },
          "scope_selectors": {
            "type": "object",
            "description": "Defines the scope for the Retention rule, such as which repositories to include or exclude",
            "properties": {
              "repository": {
                "type": "array",
                "description": "A list of repository selector rules",
                "items": {
                  "type": "object",
                  "properties": {
                    "decoration": {
                      "type": "string",
                      "description": "Determines whether to include or exclude matching repositories",
                      "enum": [
                        "repoMatches",
                        "repoExcludes"
                      ]
                    },
                    "kind": {
                      "type": "string",
                      "description": "The type of patter matching to apply"
                    },
                    "pattern": {
                      "type": "string",
                      "description": "The glob pattern used to match repository names"
                    }
                  }
                }
              }
            }
          },
          "tag_selectors": {
            "type": "array",
            "description": "A list of tag selector rules that determine which tags or untagged artifacts the retention rule should apply to",
            "items": {
              "type": "object",
              "properties": {
                "decoration": {
                  "type": "string",
                  "description": "Specifies whether this selector is an inclusive or exclusive rule",
                  "enum": [
                    "matches",
                    "excludes"
                  ]
                },
                "extras": {
                  "type": "object",
                  "description": "Extra options for the tag selector, for example, whether to include untagged"
                },
                "kind": {
                  "type": "string",
                  "description": "The matching strategy for tag selection, typically 'doublestar' is used for glob matching"
                },
                "pattern": {
                  "type": "string",
                  "description": "The pattern used to match tags, can be glob syntax such as 'myapp', 'myapp*', '**', etc."
                }
              }
            }
          },
          "template": {
            "type": "string",
            "description": "Specifies the rule logic template to use.\n\nPossible templates:\n\n* latestPushedK\n* latestPulledN\n* nDaysSinceLastPull\n* nDaysSinceLastPush\n* always"
          }
        }
      },
      "registry-storage": {
        "title": "registry-storage",
        "type": "object",
        "x-tags": [
          "registry-storage",
          "registries-storage"
        ],
        "description": "Container Registry Storage Information",
        "x-examples": {},
        "properties": {
          "bytes": {
            "type": "number",
            "description": "Storage in Bytes",
            "format": "float"
          },
          "mb": {
            "type": "number",
            "description": "Storage in Megabytes",
            "format": "float"
          },
          "gb": {
            "type": "number",
            "description": "Storage in Gigabytes",
            "format": "float"
          },
          "tb": {
            "type": "number",
            "description": "Storage in Terabytes",
            "format": "float"
          },
          "updated_at": {
            "type": "string",
            "description": "The date at which the storage information was last updated"
          }
        }
      },
      "registry-repository": {
        "title": "registry-repository",
        "type": "object",
        "x-tags": [
          "registry-repository",
          "registry-repositories"
        ],
        "description": "Container Registry Repository Entity",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of this repository (the name of the container image prepended with the registry name)"
          },
          "image": {
            "type": "string",
            "description": "The name of the conatiner image"
          },
          "description": {
            "type": "string",
            "description": "User defined description of this repository"
          },
          "added_at": {
            "type": "string",
            "description": "The date this Repo was added"
          },
          "updated_at": {
            "type": "string",
            "description": "The date this Repo was last updated"
          },
          "pull_count": {
            "type": "integer",
            "description": "The amount of pulls for this Repo"
          },
          "artifact_count": {
            "type": "integer",
            "description": "The amount of artifacts of this Repo"
          }
        }
      },
      "registry-user": {
        "title": "registry-user",
        "type": "object",
        "x-tags": [
          "registry-user"
        ],
        "description": "Container Registry User Entity",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Numeric ID of this user."
          },
          "username": {
            "type": "string",
            "description": "The globally unique name of this user."
          },
          "password": {
            "type": "string",
            "description": "The password this user will use to authenticate."
          },
          "root": {
            "type": "boolean",
            "description": "If true, this is a root user/registry owner meaning it cannot be deleted or renamed. If false, this is an additional user added to this registry that can be modified"
          },
          "added_at": {
            "type": "string",
            "description": "The date this User was added"
          },
          "updated_at": {
            "type": "string",
            "description": "The date this User was last updated"
          }
        }
      },
      "registry-user-current": {
        "title": "registry-user",
        "type": "object",
        "x-tags": [
          "registry-user"
        ],
        "description": "Container Registry User Entity",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Numeric ID of this user.",
            "example": 22
          },
          "username": {
            "type": "string",
            "description": "The globally unique name of this user.",
            "example": "123ab456-12ab-34cd-123a-1234abcd4567a"
          },
          "added_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date this User was added.",
            "example": "2000-01-01T00:00:30.000Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date this User was last updated.",
            "example": "2000-01-01T00:00:30.000Z"
          }
        }
      },
      "registry-region": {
        "title": "registry-region",
        "type": "object",
        "x-tags": [
          "registry-region"
        ],
        "description": "Container Registry Region Entity",
        "x-examples": {},
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Numeric ID of this region."
          },
          "name": {
            "type": "string",
            "description": "The unique name of this region, this is what you will use to specify a region when creating your subscription"
          },
          "urn": {
            "type": "string",
            "description": "The base URN (the URL without the scheme [i.e. http:// or https://]) of this region"
          },
          "base_url": {
            "type": "string",
            "description": "The base URL of this region"
          },
          "public": {
            "type": "boolean",
            "description": "If true, this is a publically accessible region allowing any customer to create new subscriptions on this region. If false, this region is not generally available yet"
          },
          "added_at": {
            "type": "string",
            "description": "The date this Region was added"
          },
          "updated_at": {
            "type": "string",
            "description": "The date this Region was last updated"
          },
          "data_center": {
            "type": "object",
            "description": "Information on the datacenter this region resides in"
          }
        }
      },
      "registry-plan": {
        "title": "registry-plan",
        "type": "object",
        "x-tags": [
          "registry-plan"
        ],
        "description": "Container Registry Plan Entity. The KEY of this entity is the Plan ID you will use to create/upgrade your Container Registry",
        "x-examples": {},
        "properties": {
          "vanity_name": {
            "type": "string",
            "description": "The Nice Name of the plan"
          },
          "max_storage_mb": {
            "type": "integer",
            "description": "The total allocated storage this plan allows"
          },
          "monthly_price": {
            "type": "integer",
            "description": "The monthly price for this plan"
          }
        }
      },
      "registry-docker-credentials": {
        "title": "registry-docker-credentials",
        "type": "object",
        "x-tags": [
          "registry-docker-credentials"
        ],
        "description": "Container Registry Docker Credentials Entity",
        "x-examples": {},
        "properties": {
          "auths": {
            "type": "object",
            "description": "Contains a single object with the key being the URN of the region",
            "properties": {
              "{registry-region-name}.vultrcr.com": {
                "type": "object",
                "description": "This object represents the auth for this region",
                "properties": {
                  "auth": {
                    "type": "string",
                    "description": "The base64 encoded credentials of the Robot Account {registry-user-username}:{registry-user-password}"
                  }
                }
              }
            }
          }
        }
      },
      "registry-kubernetes-docker-credentials": {
        "title": "registry-kubernetes-docker-credentials",
        "type": "object",
        "x-tags": [
          "registry-kubernetes-docker-credentials"
        ],
        "description": "Container Registry Kubernetes Docker Credentials Entity",
        "x-examples": {},
        "properties": {
          "apiVersion": {
            "type": "string",
            "description": "Specifies that this is api v1"
          },
          "kind": {
            "type": "string",
            "description": "Specifies that this is a Kubernetes Secret"
          },
          "metadata": {
            "type": "object",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "Specifies that these are Vultr Container Registry Credentials"
              }
            }
          },
          "data": {
            "type": "object",
            "description": "",
            "properties": {
              ".dockerconfigjson": {
                "type": "string",
                "description": "Contains the base64 encoded Docker Credentials Config JSON"
              }
            }
          },
          "type": {
            "type": "string",
            "description": "Specifies that this type is a kubernetes.io/dockerconfigjson"
          }
        }
      },
      "registry-repository-artifact": {
        "title": "registry-repository-artifact",
        "type": "object",
        "x-tags": [
          "registry-repository-artifact",
          "registry-repository-artifacts"
        ],
        "description": "Container Registry Repository Artifact Entity",
        "x-examples": {},
        "properties": {
          "artifact_type": {
            "type": "string",
            "description": "The specific type or format of the artifact"
          },
          "digest": {
            "type": "string",
            "description": "Cryptographic hash (SHA256) artifact reference"
          },
          "manifest_media_type": {
            "type": "string",
            "description": "The artifact's manifest"
          },
          "media_type": {
            "type": "string",
            "description": "The media type (MIME type) of the artifact that specifies the format of the artifact itself"
          },
          "pull_time": {
            "type": "string",
            "description": "Timestamp when the artifact was pulled"
          },
          "push_time": {
            "type": "string",
            "description": "Timestamp when the artifact was pushed"
          },
          "repository_name": {
            "type": "string",
            "description": "The repository the artifact is attached to"
          },
          "size": {
            "type": "integer",
            "description": "Size of the artifact it bytes"
          },
          "type": {
            "type": "string",
            "description": "Represents the type of the artifact (\"IMAGE\", \"HELM\", \"CHART\", etc)"
          },
          "tags": {
            "type": "array",
            "description": "Tags associated with a specific artifact that represent the different versions of the artifact"
          }
        }
      },
      "registry-robot": {
        "title": "registry-robot",
        "type": "object",
        "x-tags": [
          "registry-robot",
          "registry-robots"
        ],
        "description": "Container Registry Robot Account",
        "x-examples": {},
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the robot account"
          },
          "description": {
            "type": "string",
            "description": "User defined description of this repository"
          },
          "secret": {
            "type": "string",
            "description": "A secret"
          },
          "disable": {
            "type": "boolean",
            "description": "Denotes whether the robot account is disabled or not"
          },
          "duration": {
            "type": "integer",
            "description": "Time in seconds when the robot account will expire and -1 if it never expires"
          },
          "creation_time": {
            "type": "string",
            "description": "Timestamp of when the robot account was created"
          },
          "permissions": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "description": "Level in which the robot account operates"
              },
              "namespace": {
                "type": "string",
                "description": "The registry the robot account is associated with"
              },
              "access": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "Action to act on resource like pull, push, read, or delete"
                  },
                  "resource": {
                    "type": "string",
                    "description": "Type of resource to act on like repository or artifact"
                  },
                  "effect": {
                    "type": "string",
                    "description": "The effect of the action on resource, deny will remove this access"
                  }
                }
              }
            }
          }
        }
      },
      "apikey": {
        "title": "apikey",
        "type": "object",
        "x-tags": [
          "apikey"
        ],
        "description": "API key information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique ID for the API key."
          },
          "api_key": {
            "type": "string",
            "description": "The API key."
          },
          "name": {
            "type": "string",
            "description": "Custom name of the API key."
          },
          "expire": {
            "type": "boolean",
            "description": "Will the API key expire?"
          },
          "date_expire": {
            "type": "string",
            "description": "Date when the API key expires. Only valid when `expire` is `true`."
          }
        }
      }
    },
    "securitySchemes": {
      "API Key": {
        "type": "http",
        "scheme": "bearer",
        "in": "header",
        "description": "The Vultr API v2 uses API keys for authentication. You can manage your API keys in the Vultr customer portal or within the Vultr API. Please do not share API keys publicly, or embed them in client-side code. It is a good security practice to restrict their use by IP address in the [customer portal](https://my.vultr.com/settings/#settingsapi).\n\nTo authenticate a request, send your API Key as a bearer token in the request header.\n\n### Authentication Example\n\n    curl \"https://api.vultr.com/v2/account\" \\\n      -X GET \\\n      -H \"Authorization: Bearer ${VULTR_API_KEY}\"\n\nUnauthenticated API requests will fail. All requests must use HTTPS encryption for security, and calls made with HTTP will fail."
      }
    }
  },
  "tags": [
    {
      "name": "account",
      "x-displayName": "Account",
      "description": "Read-only information about your [user account](https://my.vultr.com/settings/#settingsprofile) and [billing](https://my.vultr.com/billing/#billinghistory) information.\n"
    },
    {
      "name": "application",
      "x-displayName": "Applications",
      "description": "[One-Click](https://www.vultr.com/features/one-click-apps/) and [Marketplace](https://www.vultr.com/marketplace/) Applications are ready-to-run with minimal configuration. We have an extensive [documentation library](https://docs.vultr.com/category/apps/) for our Applications.\n<br><br>There are two types of Applications: `marketplace` and `one-click`. This is denoted by the `type` field in the Application object. Applications with `type` of `marketplace` can be deployed by using the `image_id` while Applications with `type` of `one-click` should use the `id`.\n"
    },
    {
      "name": "api-keys",
      "x-displayName": "API Keys",
      "description": "The Vultr API v2 uses API keys for authentication. These methods enable you to manage your API keys without having to access the customer portal. Keys are only accessible for the currently authenticated user. To manage keys for other users, see the \"Users\" section.\n"
    },
    {
      "name": "backup",
      "x-displayName": "Backups",
      "description": "A backup is a scheduled, automatic, point-in-time image of an instance. We do not stop the instance when taking a backup. Booting from a backup is similar to rebooting after a non-graceful restart. [Snapshots](#tag/snapshot) are physically the same as backups, but snapshots are manual while backups run automatically on a schedule. Backups can be converted into snapshots. See our [Automatic Backup FAQ](https://docs.vultr.com/vps-automatic-backups/) for more information.\n"
    },
    {
      "name": "baremetal",
      "x-displayName": "Bare Metal",
      "description": "[Bare Metal](https://www.vultr.com/products/bare-metal/) servers give you access to the underlying physical hardware in a single-tenant environment without a virtualization layer.\n"
    },
    {
      "name": "billing",
      "x-displayName": "Billing",
      "description": "Read-only [billing](https://my.vultr.com/billing/#billinghistory) information for your [user account](https://my.vultr.com/settings/#settingsprofile)."
    },
    {
      "name": "block",
      "x-displayName": "Block Storage",
      "description": "[Block Storage](https://www.vultr.com/products/block-storage/) volumes are highly-available, redundant, SSD backed, and expandable from 10 GB to 40,000 GB depending on the type. Block storage volumes can be formatted with your choice of filesystems and moved between server instances as needed. [See our FAQ](https://docs.vultr.com/block-storage/) for details.\n"
    },
    {
      "name": "CDNs",
      "x-displayName": "CDNs",
      "description": "A Vultr Content Delivery Network (CDN) optimizes your website, allowing you to deliver content quickly to users worldwide. More information on Vultr CDN can be found [here](https://docs.vultr.com/vultr-content-delivery-network).\n"
    },
    {
      "name": "Container Registry",
      "x-displayName": "Container Registry",
      "description": "Store and manage public and private container images for rapid deployment to Vultr Managed Kubernetes.\n"
    },
    {
      "name": "dns",
      "x-displayName": "DNS",
      "description": "Vultr offers [free DNS hosting](https://docs.vultr.com/introduction-to-vultr-dns/) for customers' domains. The nameservers are on an AnyCAST network and ensure fast DNS resolution. When you manage your DNS through the API, you can view the results [in your customer portal](https://my.vultr.com/dns/).\n"
    },
    {
      "name": "firewall",
      "x-displayName": "Firewall",
      "description": "Vultr offers a [web-based firewall](https://docs.vultr.com/vultr-firewall/) solution to protect one or more compute instances. [Firewall groups](https://my.vultr.com/firewall/) can manage multiple servers with a standard ruleset. You can control multiple groups with the API.\n"
    },
    {
      "name": "instances",
      "x-displayName": "Instances",
      "description": "Vultr [Cloud instances](https://www.vultr.com/products/cloud-compute/) can be [deployed](https://my.vultr.com/) with your preferred operating system or pre-installed application in seconds. [High Frequency Compute](https://www.vultr.com/products/high-frequency-compute/) instances are powered by high clock speed CPU's and NVMe local storage to power your most demanding applications. [Dedicated Cloud](https://www.vultr.com/products/cloud-compute/) instances have dedicated CPU, SSD drives, and RAM.\n<br>\n<br>\n<b>Note: </b>Do not use this endpoint to manage [Kubernetes](https://www.vultr.com/kubernetes/) cluster nodes as it may result in unintended issues and charges. Use the kubernetes [endpoint](https://www.vultr.com/api/#tag/kubernetes) instead.\n"
    },
    {
      "name": "iso",
      "x-displayName": "ISO",
      "description": "[Upload](https://www.vultr.com/features/upload-iso/) and boot instances from your ISO, or choose one from our [public ISO library](https://my.vultr.com/iso/public/). See our [ISO documentation](https://docs.vultr.com/requirements-for-uploading-an-os-iso-to-vultr/).\n"
    },
    {
      "name": "kubernetes",
      "x-displayName": "Kubernetes",
      "description": "Vultr Kubernetes Engine is a managed Kubernetes offering."
    },
    {
      "name": "load-balancer",
      "x-displayName": "Load Balancers",
      "description": "[Load Balancers](https://docs.vultr.com/vultr-load-balancers/) sit in front of your application and distribute incoming traffic across multiple Instances. When you control the load balancer via the API, you can inspect the results in the [customer portal](https://my.vultr.com/loadbalancers/).\n"
    },
    {
      "name": "logs",
      "x-displayName": "Logs",
      "description": "[Logs](https://docs.vultr.com/vultr-logs/) record activity of users on your account.  Events that are logged include user logins, interactions with the my.vultr.com web portal, and requests to the api.vultr.com REST API.\n"
    },
    {
      "name": "managed-databases",
      "x-displayName": "Managed Databases",
      "description": "[Vultr Managed Databases](https://docs.vultr.com/vultr-managed-databases/) is a managed database offering supporting MySQL, PostgreSQL, Valkey, and Apache Kafka®.\n"
    },
    {
      "name": "marketplace",
      "x-displayName": "Marketplace",
      "description": "[Vultr Marketplace](https://docs.vultr.com/vultr-marketplace) is a platform for vendors to publish custom applications on Vultr's infrastructure.\n"
    },
    {
      "name": "s3",
      "x-displayName": "Object Storage",
      "description": "[Object Storage](https://docs.vultr.com/vultr-object-storage/) is S3 API compatible. Objects uploaded to object storage can be accessed privately or publicly on the web. Object storage supports a virtually unlimited number of objects. Control your Object Storage via the API or browse in the [Customer Portal](https://my.vultr.com/objectstorage/).\n"
    },
    {
      "name": "os",
      "x-displayName": "Operating Systems",
      "description": "We have a wide range of [operating systems](https://www.vultr.com/features/operating-systems/) available to deploy server instances. You can also [upload an ISO](#tag/iso) or choose from our public ISO library.\n"
    },
    {
      "name": "plans",
      "x-displayName": "Plans",
      "description": "A Plan is a particular configuration of vCPU, RAM, SSD, and bandwidth to deploy an [Instance](#tag/instances). Not all Plans are available in all [Regions](#tag/region). You can browse plans in the [Customer Portal](https://my.vultr.com/deploy/) or get a list of Plans from the API.\n"
    },
    {
      "name": "private Networks",
      "x-displayName": "Private Networks",
      "description": "**Deprecated**: use [VPCs](#tag/VPCs) instead.<br><br>[Private Networks](https://docs.vultr.com/configuring-private-network/) are fully isolated networks accessible only by instances on your account. Each private network is only available in one Region and cannot span across regions. An [instance](#tag/instances) can connect to [multiple private networks](https://docs.vultr.com/multiple-private-networks/) and you may have up to 5 private networks per [region](#tag/region).\n"
    },
    {
      "name": "serverless-inference",
      "x-displayName": "Serverless Inference",
      "description": "[Vultr Serverless Inference](https://www.vultr.com/products/cloud-inference/) intelligently deploys and serves GenAI models without the complexity of infrastructure management.\n"
    },
    {
      "name": "VPCs",
      "x-displayName": "VPCs",
      "description": "[VPCs](https://docs.vultr.com/how-to-create-a-vultr-virtual-private-cloud-vpc/) are fully isolated networks accessible only by instances on your account. Each VPC is only available in one region and cannot span across regions. An [instance](#tag/instances) can connect to multiple VPCs and you may have up to 5 VPCs per [region](#tag/region).\n"
    },
    {
      "name": "VPC2",
      "x-displayName": "VPC 2.0",
      "description": "**Deprecated**: Use [VPCs](#tag/VPCs) instead.<br><br>[VPC 2.0s](https://docs.vultr.com/how-to-create-a-vultr-virtual-private-cloud-vpc/) are fully isolated networks accessible only by instances on your account. Each VPC is only available in one region and cannot span across regions. An [instance](#tag/instances) can connect to multiple VPCs and you may have up to 5 VPCs per [region](#tag/region).\n"
    },
    {
      "name": "reserved-ip",
      "x-displayName": "Reserved IPs",
      "description": "IP addresses can be [reserved](https://my.vultr.com/network/) and moved between [instances](#tag/instances). Reserved IPs can also be used as [floating addresses](https://docs.vultr.com/high-availability-on-vultr-with-floating-ip-and-bgp/) for high-availability.\n"
    },
    {
      "name": "region",
      "x-displayName": "Regions",
      "description": "Instances can be deployed in many [Regions](https://www.vultr.com/features/datacenter-locations/) on multiple continents. Choose any of our worldwide locations to deploy servers near your office or customers for low-latency."
    },
    {
      "name": "snapshot",
      "x-displayName": "Snapshots",
      "description": "A snapshot is a point-in-time image of an instance. We do not stop the instance when taking a snapshot. Booting from a snapshot is similar to rebooting after a non-graceful restart. Snapshots are physically the same as [backups](#tag/backup), but snapshots are manual while backups run automatically on a schedule. See our [Snapshot Quickstart Guide](https://docs.vultr.com/vultr-vps-snapshots/) for more information.\n"
    },
    {
      "name": "subaccount",
      "x-displayName": "Sub-Accounts",
      "description": "Sub-accounts are separate Vultr accounts that are directly linked to your account. These accounts function similarly to normal Vultr accounts with some additional billing and administrative features available to your account.\n"
    },
    {
      "name": "ssh",
      "x-displayName": "SSH Keys",
      "description": "You can add [SSH keys](https://docs.vultr.com/how-do-i-generate-ssh-keys/) to your [account](https://my.vultr.com/settings/#settingssshkeys/), which can be copied to new instances when first deployed. Updating a key does not update any running instances. If you [reinstall](#operation/reinstall-instance) an instance (erasing all its data), it will inherit the updated key."
    },
    {
      "name": "startup",
      "x-displayName": "Startup Scripts",
      "description": "Vultr allows you to assign [two types of scripts to a server](https://docs.vultr.com/vultr-startup-scripts-quickstart-guide/). Boot scripts configure new deployments, and PXE scripts automatically install operating systems. Assign startup scripts to your servers through the API or on your [Startup Scripts page](https://my.vultr.com/startup/) in the customer portal.\n<br>\n<br>\n**Note**: There is a size limit of 64KB on the startup script.\n"
    },
    {
      "name": "storage-gateways",
      "x-displayName": "Storage Gateways",
      "description": "[Storage Gateways](https://docs.vultr.com/products/cloud-storage/storage-gateway/provisioning) allow access to Vultr File System via the NFS v4.2 protocol. Each SG is only available in one region and cannot span across regions. An SG may be configured with a public IPv4/IPv6 for access over WAN and/or attached to a VPC Network.\n"
    },
    {
      "name": "users",
      "x-displayName": "Users",
      "description": "Vultr supports [multiple users](https://my.vultr.com/settings/#settingsusers) in each account, and each user has [individual access permissions](https://my.vultr.com/users/manage/?USERID=new). Users have unique API keys, which respect the permission for that user."
    }
  ],
  "security": [
    {
      "API Key": []
    }
  ]
}