openapi: 3.0.0 info: contact: email: support@vultr.com name: "" url: https://www.vultr.com description: | # Introduction The 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. ## Requests Communicate with the API by making an HTTP request at the correct endpoint. The chosen method determines the action taken. | Method | Usage | | ------ | ------------- | | 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. | | 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. | | PATCH | Some resources support partial modification with PATCH, which modifies specific attributes without updating the entire object representation. | | POST | Issue a POST method to create a new object. Include all needed attributes in the request body encoded as JSON. | | 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. | **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. ## Response Codes We 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. | Response | Description | | ------ | ------------- | | 200 OK | The response contains your requested information. | | 201 Created | Your request was accepted. The resource was created. | | 202 Accepted | Your request was accepted. The resource was created or updated. | | 204 No Content | Your request succeeded, there is no additional information returned. | | 400 Bad Request | Your request was malformed. | | 401 Unauthorized | You did not supply valid authentication credentials. | | 403 Forbidden | You are not allowed to perform that action. | | 404 Not Found | No results were found for your request. | | 429 Too Many Requests | Your request exceeded the API rate limit. | | 500 Internal Server Error | We were unable to perform the request due to server-side problems. | ## Meta and Pagination Many API calls will return a `meta` object with paging information. ### Definitions | Term | Description | | ------ | ------------- | | **List** | The items returned from the database for your request (not necessarily shown in a single response depending on the **cursor** size). | | **Page** | A subset of the full **list** of items. Choose the size of a **page** with the `per_page` parameter. | | **Total** | The `total` attribute indicates the number of items in the full **list**.| | **Cursor** | Use the `cursor` query parameter to select a next or previous **page**. | | **Next** & **Prev** | Use the `next` and `prev` attributes of the `links` meta object as `cursor` values. | ### How to use Paging If 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. ### Paging Example > These examples have abbreviated attributes and sample values. Your actual `cursor` values will be encoded alphanumeric strings. To return a **page** with the first two plans in the List: curl "https://api.vultr.com/v2/plans?per_page=2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" The API returns an object similar to this: { "plans": [ { "id": "vc2-1c-2gb", "vcpu_count": 1, "ram": 2048, "locations": [] }, { "id": "vc2-24c-97gb", "vcpu_count": 24, "ram": 98304, "locations": [] } ], "meta": { "total": 19, "links": { "next": "WxYzExampleNext", "prev": "WxYzExamplePrev" } } } The 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. curl "https://api.vultr.com/v2/plans?per_page=2&cursor=WxYzExampleNext" \ -X GET -H "Authorization: Bearer ${VULTR_API_KEY}" Likewise, you can use the example `prev` value `WxYzExamplePrev` to navigate backward. ## Parameters You can pass information to the API with three different types of parameters. ### Path parameters Some 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. curl "https://api.vultr.com/v2/users/{user-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" ### Query parameters Some 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. curl "https://api.vultr.com/v2/plans?type=vhf" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" You can also combine filtering with paging. Use the `per_page` parameter to retreive a subset of vhf plans. curl "https://api.vultr.com/v2/plans?type=vhf&per_page=2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" ### Request Body PUT, 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. ## API Example Conventions The 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. Each example is split across multiple lines with the `\` character, which is compatible with a `bash` terminal. A typical example looks like this: curl "https://api.vultr.com/v2/domains" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "domain" : "example.com", "ip" : "192.0.2.123" }' * 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. * The `-H` lines set required HTTP headers. These examples are formatted to expand the VULTR\_API\_KEY environment variable for your convenience. * Examples that require a JSON object in the request body pass the required data via the `--data` parameter. All 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. title: Vultr API version: "2.0" servers: - url: https://api.vultr.com/v2 security: - API Key: [] tags: - description: | Read-only information about your [user account](https://my.vultr.com/settings/#settingsprofile) and [billing](https://my.vultr.com/billing/#billinghistory) information. name: account x-displayName: Account - 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://www.vultr.com/docs/category/apps/) for our Applications.

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`. name: application x-displayName: Applications - 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://www.vultr.com/docs/vps-automatic-backups/) for more information. name: backup x-displayName: Backups - 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. name: baremetal x-displayName: Bare Metal - description: "Read-only [billing](https://my.vultr.com/billing/#billinghistory)\ \ information for your [user account](https://my.vultr.com/settings/#settingsprofile)." name: billing x-displayName: Billing - 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://www.vultr.com/docs/block-storage/) for details. name: block x-displayName: Block Storage - description: | Store and manage public and private container images for rapid deployment to Vultr Managed Kubernetes. name: Container Registry x-displayName: Container Registry - description: | Vultr offers [free DNS hosting](https://www.vultr.com/docs/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/). name: dns x-displayName: DNS - description: | Vultr offers a [web-based firewall](https://www.vultr.com/docs/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. name: firewall x-displayName: Firewall - 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/dedicated-cloud/) instances have dedicated CPU, SSD drives, and RAM.

Note: 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. name: instances x-displayName: Instances - 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://www.vultr.com/docs/requirements-for-uploading-an-os-iso-to-vultr/). name: iso x-displayName: ISO - description: Vultr Kubernetes Engine is a managed Kubernetes offering. name: kubernetes x-displayName: Kubernetes - description: | [Load Balancers](https://www.vultr.com/docs/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/). name: load-balancer x-displayName: Load Balancers - description: | [Vultr Managed Databases](https://www.vultr.com/docs/vultr-managed-databases/) is a managed database offering supporting MySQL, PostgreSQL, FerretDB + PostgreSQL, and Redis. name: managed-databases x-displayName: Managed Databases - description: | [Object Storage](https://www.vultr.com/docs/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/). name: s3 x-displayName: Object Storage - 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. name: os x-displayName: Operating Systems - 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. name: plans x-displayName: Plans - description: | **Deprecated**: use [VPCs](#tag/VPCs) instead.

[Private Networks](https://www.vultr.com/docs/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://www.vultr.com/docs/multiple-private-networks/) and you may have up to 5 private networks per [region](#tag/region). name: private Networks x-displayName: Private Networks - description: | [VPCs](https://www.vultr.com/docs/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). name: VPCs x-displayName: VPCs - description: | [VPCs](https://www.vultr.com/docs/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). name: VPC2 x-displayName: VPC 2.0 - 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://www.vultr.com/docs/high-availability-on-vultr-with-floating-ip-and-bgp/) for high-availability. name: reserved-ip x-displayName: Reserved IPs - 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: region x-displayName: Regions - 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://www.vultr.com/docs/vultr-vps-snapshots/) for more information. name: snapshot x-displayName: Snapshots - 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. name: subaccount x-displayName: Sub-Accounts - description: "You can add [SSH keys](https://www.vultr.com/docs/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: ssh x-displayName: SSH Keys - description: | Vultr allows you to assign [two types of scripts to a server](https://www.vultr.com/docs/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.

**Note**: There is a size limit of 64KB on the startup script. name: startup x-displayName: Startup Scripts - 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." name: users x-displayName: Users paths: /private-networks/{network-id}: delete: deprecated: true description: "Delete a Private Network.

**Deprecated**: Use [Delete VPC](#operation/delete-vpc)\ \ instead." operationId: delete-network parameters: - description: "The [Network id](#operation/list-networks)." explode: false in: path name: network-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Delete a private network tags: - private Networks x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/private-networks/{network-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: deprecated: true description: "Get information about a Private Network.

**Deprecated**:\ \ Use [Get VPC](#operation/get-vpc) instead. " operationId: get-network parameters: - description: "The [Network id](#operation/list-networks)." explode: false in: path name: network-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_network_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get a private network tags: - private Networks x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/private-networks/{network-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: deprecated: true description: "Update information for a Private Network.

**Deprecated**:\ \ Use [Update VPC](#operation/update-vpc) instead." operationId: update-network parameters: - description: "The [Network id](#operation/list-networks)." explode: false in: path name: network-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: description: Example Private Network schema: $ref: '#/components/schemas/update_network_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update a Private Network tags: - private Networks x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/private-networks/{network-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "Example Private Network" }' x-content-type: application/json x-accepts: application/json /private-networks: get: deprecated: true description: "Get a list of all Private Networks in your account.

**Deprecated**:\ \ Use [List VPCs](#operation/list-vpcs) instead." operationId: list-networks parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_networks_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Private Networks tags: - private Networks x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/private-networks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: deprecated: true description: | Create a new Private Network in a `region`. **Deprecated**: Use [Create VPC](#operation/create-vpc) instead. Private networks should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918): 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) operationId: create-network requestBody: content: application/json: examples: example: value: region: ewr description: Example Private Network v4_subnet: 10.99.0.0 v4_subnet_mask: 24 schema: $ref: '#/components/schemas/create_network_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_network_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create a Private Network tags: - private Networks x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/private-networks" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "description" : "Example Private Network", "v4_subnet" : "10.99.0.0", "v4_subnet_mask" : 24 }' x-content-type: application/json x-accepts: application/json /vpcs/{vpc-id}: delete: description: Delete a VPC. operationId: delete-vpc parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Delete a VPC tags: - VPCs x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpcs/{vpc-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a VPC. operationId: get-vpc parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_vpc_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get a VPC tags: - VPCs x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpcs/{vpc-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update information for a VPC. operationId: update-vpc parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: description: Example VPC schema: $ref: '#/components/schemas/update_vpc_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update a VPC tags: - VPCs x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpcs/{vpc-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "Example VPC" }' x-content-type: application/json x-accepts: application/json /vpcs: get: description: Get a list of all VPCs in your account. operationId: list-vpcs parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_vpcs_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List VPCs tags: - VPCs x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpcs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: | Create a new VPC in a `region`. VPCs should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918): 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) operationId: create-vpc requestBody: content: application/json: examples: example: value: region: ewr description: Example VPC v4_subnet: 10.99.0.0 v4_subnet_mask: 24 schema: $ref: '#/components/schemas/create_vpc_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_vpc_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create a VPC tags: - VPCs x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpcs" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "description" : "Example VPC", "v4_subnet" : "10.99.0.0", "v4_subnet_mask" : 24 }' x-content-type: application/json x-accepts: application/json /vpc2/{vpc-id}: delete: description: Delete a VPC 2.0 network. operationId: delete-vpc2 parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Delete a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a VPC 2.0 network. operationId: get-vpc2 parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_vpc2_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update information for a VPC 2.0 network. operationId: update-vpc2 parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: description: Example VPC schema: $ref: '#/components/schemas/update_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "Example VPC" }' x-content-type: application/json x-accepts: application/json /vpc2: get: description: Get a list of all VPC 2.0 networks in your account. operationId: list-vpc2 parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_vpc2_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List VPC 2.0 networks tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: | Create a new VPC 2.0 network in a `region`. VPCs should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918): 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) operationId: create-vpc2 requestBody: content: application/json: examples: example: value: region: ewr description: Example VPC ip_block: 10.99.0.0 prefix_length: 24 schema: $ref: '#/components/schemas/create_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: examples: response: value: network: 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 schema: $ref: '#/components/schemas/get_vpc2_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "description" : "Example VPC", "ip_block" : "10.99.0.0", "prefix_length" : 24 }' x-content-type: application/json x-accepts: application/json /vpc2/{vpc-id}/nodes: get: description: Get a list of nodes attached to a VPC 2.0 network. operationId: list-vpc2-nodes parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_vpc2_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get a list of nodes attached to a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}/nodes" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /vpc2/{vpc-id}/nodes/attach: post: description: Attach nodes to a VPC 2.0 network. operationId: attach-vpc2-nodes parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: nodes: - a4021db4-c1d0-43ba-8b5c-7a4a35444167 - 12a43ca5-0025-40ef-9edb-3a475809a8c0 schema: $ref: '#/components/schemas/attach_vpc2_nodes_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": description: accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Attach nodes to a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}/nodes/attach" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-content-type: application/json x-accepts: application/json /vpc2/{vpc-id}/nodes/detach: post: description: Remove nodes from a VPC 2.0 network. operationId: detach-vpc2-nodes parameters: - description: "The [VPC ID](#operation/list-vpcs)." explode: false in: path name: vpc-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: nodes: - a4021db4-c1d0-43ba-8b5c-7a4a35444167 - 12a43ca5-0025-40ef-9edb-3a475809a8c0 schema: $ref: '#/components/schemas/detach_vpc2_nodes_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": description: accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Remove nodes from a VPC 2.0 network tags: - VPC2 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/vpc2/{vpc-id}/nodes/detach" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-content-type: application/json x-accepts: application/json /users/{user-id}: delete: description: Delete a User. operationId: delete-user parameters: - description: "The [User id](#operation/list-users)." explode: false in: path name: user-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Delete User tags: - users x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/users/{user-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a User. operationId: get-user parameters: - description: "The [User id](#operation/list-users)." explode: false in: path name: user-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: user: value: user: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 name: Example User email: user@example.com api_enabled: true acls: - manage_users - subscriptions_view - subscriptions - provisioning - billing - support - abuse - dns - upgrade - objstore - loadbalancer schema: $ref: '#/components/schemas/user' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get User tags: - users x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/users/{user-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: "Update information for a User. All attributes are optional. If\ \ not set, the attributes will retain their original values." operationId: update-user parameters: - description: "The [User id](#operation/list-users)." explode: false in: path name: user-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: email: user@example.com name: Example User password: example-password api_enabled: true acls: - manage_users - subscriptions_view - subscriptions - provisioning - billing - support - abuse - dns - upgrade - objstore - loadbalancer schema: $ref: '#/components/schemas/update_user_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update User tags: - users x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/users/{user-id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "email" : "user@example.com", "name" : "Example User", "password" : "example-password", "api_enabled" : true, "acls" : [ "manage_users", "subscriptions_view", "subscriptions", "provisioning", "billing", "support", "abuse", "dns", "upgrade", "objstore", "loadbalancer" ] }' x-content-type: application/json x-accepts: application/json /users: get: description: Get a list of all Users in your account. operationId: list-users parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: number style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: examples: users: value: users: - id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 name: Example User email: user@example.com api_enabled: true acls: - manage_users - subscriptions_view - subscriptions - provisioning - billing - support - abuse - dns - upgrade - objstore - loadbalancer meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_users_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Users tags: - users x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: "Create a new User. The `email`, `name`, and `password` attributes\ \ are required." operationId: create-user requestBody: content: application/json: examples: request example: value: name: Example User email: user@example.com password: sh#sedHA_FTdz6w+ api_enabled: true acls: - manage_users - subscriptions_view - subscriptions - provisioning - billing - support - abuse - dns - upgrade - objstore - loadbalancer schema: $ref: '#/components/schemas/create_user_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: examples: user: value: user: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 name: Example User email: user@example.com api_enabled: true acls: - manage_users - subscriptions_view - subscriptions - provisioning - billing - support - abuse - dns - upgrade - objstore - loadbalancer schema: $ref: '#/components/schemas/user' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - API Key: [] summary: Create User tags: - users x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/users" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "email" : "user@example.com", "name" : "Example User", "password" : "example-password", "api_enabled" : true, "acls" : [ "manage_users", "subscriptions_view", "subscriptions", "provisioning", "billing", "support", "abuse", "dns", "upgrade", "objstore", "loadbalancer" ] }' x-content-type: application/json x-accepts: application/json /startup-scripts/{startup-id}: delete: description: Delete a Startup Script. operationId: delete-startup-script parameters: - description: "The [Startup Script id](#operation/list-startup-scripts)." explode: false in: path name: startup-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Startup Script tags: - startup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/startup-scripts/{startup-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a Startup Script. operationId: get-startup-script parameters: - description: "The [Startup Script id](#operation/list-startup-scripts)." explode: false in: path name: startup-id required: true schema: type: string style: simple responses: "200": content: application/json: 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== schema: $ref: '#/components/schemas/get_startup_script_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Startup Script tags: - startup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/startup-scripts/{startup-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: 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." operationId: update-startup-script parameters: - description: "The [Startup Script id](#operation/list-startup-scripts)." explode: false in: path name: startup-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: name: Example Startup Script script: QmFzZTY0IEV4YW1wbGUgRGF0YQ== schema: $ref: '#/components/schemas/update_startup_script_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Startup Script tags: - startup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/startup-scripts/{startup-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "Example Startup Script", "script" : "QmFzZTY0IEV4YW1wbGUgRGF0YQ==" }' x-content-type: application/json x-accepts: application/json /startup-scripts: get: description: Get a list of all Startup Scripts. operationId: list-startup-scripts parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_startup_scripts_200_response' description: OK "401": description: Unauthorized security: - API Key: [] summary: List Startup Scripts tags: - startup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/startup-scripts" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: "Create a new Startup Script. The `name` and `script` attributes\ \ are required, and scripts are base-64 encoded." operationId: create-startup-script requestBody: content: application/json: examples: request: value: name: Example Startup Script type: pxe script: QmFzZTY0IEV4YW1wbGUgRGF0YQ== schema: $ref: '#/components/schemas/create_startup_script_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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== schema: $ref: '#/components/schemas/get_startup_script_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Startup Script tags: - startup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/startup-scripts" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "Example Startup Script", "type" : "pxe", "script" : "QmFzZTY0IEV4YW1wbGUgRGF0YQ==" }' x-content-type: application/json x-accepts: application/json /ssh-keys/{ssh-key-id}: delete: description: Delete an SSH Key. operationId: delete-ssh-key parameters: - description: "The [SSH Key id](#operation/list-ssh-keys)." explode: false in: path name: ssh-key-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete SSH Key tags: - ssh x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/ssh-keys/{ssh-key-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about an SSH Key. operationId: get-ssh-key parameters: - description: "The [SSH Key id](#operation/list-ssh-keys)." explode: false in: path name: ssh-key-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_ssh_key_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get SSH Key tags: - ssh x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/ssh-keys/{ssh-key-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: 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." operationId: update-ssh-key parameters: - description: "The [SSH Key id](#operation/list-ssh-keys)." explode: false in: path name: ssh-key-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: name: Example SSH Key ssh_key: ssh-rsa AA... user@example.com schema: $ref: '#/components/schemas/update_ssh_key_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update SSH Key tags: - ssh x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/ssh-keys/{ssh-key-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "Example SSH Key", "ssh_key" : "ssh-rsa AA... user@example.com" }' x-content-type: application/json x-accepts: application/json /ssh-keys: get: description: List all SSH Keys in your account. operationId: list-ssh-keys parameters: - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_ssh_keys_200_response' description: OK "401": description: Unauthorized security: - API Key: [] summary: List SSH Keys tags: - ssh x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/ssh-keys" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new SSH Key for use with future instances. This does not update any running instances. operationId: create-ssh-key requestBody: content: application/json: examples: request: value: name: Example SSH Key ssh_key: ssh-rsa AA... user@example.com schema: $ref: '#/components/schemas/create_ssh_key_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_ssh_key_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized security: - API Key: [] summary: Create SSH key tags: - ssh x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/ssh-keys" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "Example SSH Key", "ssh_key" : "ssh-rsa AA... user@example.com" }' x-content-type: application/json x-accepts: application/json /snapshots/{snapshot-id}: delete: description: Delete a Snapshot. operationId: delete-snapshot parameters: - description: "The [Snapshot id](#operation/list-snapshots)." explode: false in: path name: snapshot-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Snapshot tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots/{snapshot-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a Snapshot. operationId: get-snapshot parameters: - description: "The [Snapshot id](#operation/list-snapshots)." explode: false in: path name: snapshot-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_snapshot_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Snapshot tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots/{snapshot-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update the description for a Snapshot. operationId: put-snapshots-snapshot-id parameters: - description: "The [Snapshot id](#operation/list-snapshots)." explode: false in: path name: snapshot-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: description: Example Snapshot schema: $ref: '#/components/schemas/put_snapshots_snapshot_id_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update Snapshot tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots/{snapshot-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description": "Example Snapshot" }' x-content-type: application/json x-accepts: application/json /snapshots: get: description: Get information about all Snapshots in your account. operationId: list-snapshots parameters: - description: Filter the list of Snapshots by `description` explode: true in: query name: description required: false schema: type: string style: form - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_snapshots_200_response' description: OK "401": description: Unauthorized security: - API Key: [] summary: List Snapshots tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new Snapshot for `instance_id`. operationId: create-snapshot requestBody: content: application/json: examples: request: value: instance_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 description: Example Snapshot schema: $ref: '#/components/schemas/create_snapshot_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_snapshot_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized security: - API Key: [] summary: Create Snapshot tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_id" : "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "description" : "Example Snapshot" }' x-content-type: application/json x-accepts: application/json /snapshots/create-from-url: post: description: Create a new Snapshot from a RAW image located at `url`. operationId: create-snapshot-create-from-url requestBody: content: application/json: examples: example: value: url: http://example.com/disk_image.raw description: Example Snapshot schema: $ref: '#/components/schemas/create_snapshot_create_from_url_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 schema: $ref: '#/components/schemas/get_snapshot_200_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Snapshot from URL tags: - snapshot x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/snapshots/create-from-url" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "url" : "https://example.com/disk_image.raw", "description" : "Example Snapshot", "uefi": "no" }' x-content-type: application/json x-accepts: application/json /subaccounts: get: description: Get information about all sub-accounts for your account. operationId: list-subaccounts parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_subaccounts_200_response' description: OK "401": description: Unauthorized security: - API Key: [] summary: List Sub-Accounts tags: - subaccount x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/subaccounts" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new subaccount. operationId: create-subaccount requestBody: content: application/json: examples: request: value: email: subaccount@vultr.com subaccount_name: Acme Widgets LLC subaccount_id: 472924 schema: $ref: '#/components/schemas/create_subaccount_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/create_subaccount_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized security: - API Key: [] summary: Create Sub-Account tags: - subaccount x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/subaccounts" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "email" : "subaccount@vultr.com", "subaccount_name" : "Acme Widgets LLC" "subaccount_id" : "472924" }' x-content-type: application/json x-accepts: application/json /reserved-ips/{reserved-ip}: delete: description: Delete a Reserved IP. operationId: delete-reserved-ip parameters: - description: "The [Reserved IP id](#operation/list-reserved-ips)." explode: false in: path name: reserved-ip required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized security: - API Key: [] summary: Delete Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/{reserved-ip}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a Reserved IP. operationId: get-reserved-ip parameters: - description: "The [Reserved IP id](#operation/list-reserved-ips)." explode: false in: path name: reserved-ip required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_reserved_ip_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/{reserved-ip}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: Update information on a Reserved IP. operationId: patch-reserved-ips-reserved-ip parameters: - description: "The [Reserved IP id](#operation/list-reserved-ips)." explode: false in: path name: reserved-ip required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: label: Example Label schema: $ref: '#/components/schemas/patch_reserved_ips_reserved_ip_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: schema: $ref: '#/components/schemas/get_reserved_ip_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/{reserved-ip}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Example Label" }' x-content-type: application/json x-accepts: application/json /reserved-ips: get: description: List all Reserved IPs in your account. operationId: list-reserved-ips parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_reserved_ips_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Reserved IPs tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new Reserved IP. The `region` and `ip_type` attributes are required. operationId: create-reserved-ip requestBody: content: application/json: examples: request: value: region: ewr ip_type: v4 label: Example Reserved IPv4 schema: $ref: '#/components/schemas/create_reserved_ip_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_reserved_ip_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "ip_type" : "v4", "label" : "Example Reserved IPv4" }' x-content-type: application/json x-accepts: application/json /reserved-ips/{reserved-ip}/attach: post: description: Attach a Reserved IP to an compute instance or a baremetal instance - `instance_id`. operationId: attach-reserved-ip parameters: - description: "The [Reserved IP id](#operation/list-reserved-ips)" explode: false in: path name: reserved-ip required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: instance_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/attach_reserved_ip_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Attach Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/{reserved-ip}/attach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_id" : "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /reserved-ips/{reserved-ip}/detach: post: description: Detach a Reserved IP. operationId: detach-reserved-ip parameters: - description: "The [Reserved IP id](#operation/list-reserved-ips)" explode: false in: path name: reserved-ip required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Detach Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/{reserved-ip}/detach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /reserved-ips/convert: post: description: "Convert the `ip_address` of an existing [instance](#operation/list-instances)\ \ into a Reserved IP." operationId: convert-reserved-ip requestBody: content: application/json: examples: request: value: ip_address: 192.0.2.123 label: Example Reserved IPv4 schema: $ref: '#/components/schemas/convert_reserved_ip_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/get_reserved_ip_200_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Convert Instance IP to Reserved IP tags: - reserved-ip x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/reserved-ips/convert" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" -H "Content-Type: application/json" \ --data '{ "ip_address": "192.0.2.123", "label": "Example Reserved IPv4" }' x-content-type: application/json x-accepts: application/json /os: get: description: List the OS images available for installation at Vultr. operationId: list-os parameters: - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: examples: response: value: os: - id: 127 name: CentOS 6 x64 arch: x64 family: centos meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_os_200_response' description: OK security: [] summary: List OS tags: - os x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/os" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /applications: get: description: Get a list of all available Applications. operationId: list-applications parameters: - description: |- Filter the results by type. | | Type | Description | | - | ------ | ------------- | | | all | All available application types | | | marketplace | Marketplace applications | | | one-click | Vultr One-Click applications | explode: true in: query name: type required: false schema: type: string style: form - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_applications_200_response' description: OK security: [] summary: List Applications tags: - application x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/applications" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /account: get: description: "Get your Vultr account, permission, and billing information." operationId: get-account responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_account_200_response' description: OK security: - API Key: [] summary: Get Account Info tags: - account x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/account" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /backups: get: description: Get information about Backups in your account. operationId: list-backups parameters: - description: "Filter the backup list by [Instance id](#operation/list-instances)." explode: true in: query name: instance_id required: false schema: type: string style: form - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_backups_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Backups tags: - backup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/backups" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /blocks: get: description: List all Block Storage in your account. operationId: list-blocks parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_blocks_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "500": description: Internal Server Error security: - API Key: [] summary: List Block storages tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: 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`. operationId: create-block requestBody: content: application/json: examples: request: value: region: ewr size_gb: 50 label: Example Block Storage schema: $ref: '#/components/schemas/create_block_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 schema: $ref: '#/components/schemas/create_block_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Create Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "size_gb" : 50, "label" : "Example Block Storage", "block_type": "high_perf" }' x-content-type: application/json x-accepts: application/json /blocks/{block-id}: delete: description: Delete Block Storage. operationId: delete-block parameters: - description: "The [Block Storage id](#operation/list-blocks)." explode: false in: path name: block-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks/{block-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for Block Storage. operationId: get-block parameters: - description: "The [Block Storage id](#operation/list-blocks)." explode: false in: path name: block-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/create_block_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - API Key: [] summary: Get Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks/{block-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: | Update information for Block Storage. operationId: update-block parameters: - description: "The [Block Storage id](#operation/list-blocks)." explode: false in: path name: block-id required: true schema: type: string style: simple requestBody: content: application/json: examples: patch request: value: label: Updated Block Storage Label size_gb: 50 schema: $ref: '#/components/schemas/update_block_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks/{block-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Updated Block Storage Label", "size_gb": 50 }' x-content-type: application/json x-accepts: application/json /blocks/{block-id}/attach: post: description: Attach Block Storage to Instance `instance_id`. operationId: attach-block parameters: - description: "The [Block Storage id](#operation/list-blocks)." explode: false in: path name: block-id required: true schema: type: string style: simple requestBody: content: application/json: examples: post request: value: instance_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 live: true schema: $ref: '#/components/schemas/attach_block_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Attach Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks/{block-id}/attach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_id" : "a632673e-2fd5-4ff1-b251-2e28e7b65504", "live" : true }' x-content-type: application/json x-accepts: application/json /blocks/{block-id}/detach: post: description: Detach Block Storage. operationId: detach-block parameters: - description: "The [Block Storage id](#operation/list-blocks)." explode: false in: path name: block-id required: true schema: type: string style: simple requestBody: content: application/json: examples: post request: value: live: true schema: $ref: '#/components/schemas/detach_block_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Detach Block Storage tags: - block x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/blocks/{block-id}/detach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "live" : true }' x-content-type: application/json x-accepts: application/json /firewalls: get: description: Get a list of all Firewall Groups. operationId: list-firewall-groups parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_firewall_groups_200_response' description: OK "401": description: Unauthorized security: - API Key: [] summary: List Firewall Groups tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new Firewall Group. operationId: create-firewall-group requestBody: content: application/json: examples: request: value: description: Example Firewall Group schema: $ref: '#/components/schemas/create_firewall_group_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/create_firewall_group_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Firewall Group tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "Example Firewall Group" }' x-content-type: application/json x-accepts: application/json /firewalls/{firewall-group-id}: delete: description: Delete a Firewall Group. operationId: delete-firewall-group parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Firewall Group tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a Firewall Group. operationId: get-firewall-group parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/create_firewall_group_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Firewall Group tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update information for a Firewall Group. operationId: update-firewall-group parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: description: Updated Firewall Group Name schema: $ref: '#/components/schemas/update_firewall_group_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Firewall Group tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "Updated Firewall Group Name" }' x-content-type: application/json x-accepts: application/json /firewalls/{firewall-group-id}/rules: get: description: Get the Firewall Rules for a Firewall Group. operationId: list-firewall-group-rules parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_firewall_group_rules_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Firewall Rules tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: "Create a Firewall Rule for a Firewall Group. The attributes `ip_type`,\ \ `protocol`, `subnet`, and `subnet_size` are required." operationId: post-firewalls-firewall-group-id-rules parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: ip_type: v4 protocol: tcp port: "80" subnet: 192.0.2.0 subnet_size: 24 source: "" notes: Example Firewall Rule schema: $ref: '#/components/schemas/post_firewalls_firewall_group_id_rules_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/post_firewalls_firewall_group_id_rules_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Firewall Rules tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "ip_type" : "v4", "protocol" : "tcp", "port" : "80", "subnet" : "192.0.2.0", "subnet_size" : 24, "source" : "", "notes" : "Example Firewall Rule" }' x-content-type: application/json x-accepts: application/json /firewalls/{firewall-group-id}/rules/{firewall-rule-id}: delete: description: Delete a Firewall Rule. operationId: delete-firewall-group-rule parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple - description: "The [Firewall Rule id](#operation/list-firewall-group-rules)." explode: false in: path name: firewall-rule-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get a Firewall Rule. operationId: get-firewall-group-rule parameters: - description: "The [Firewall Group id](#operation/list-firewall-groups)." explode: false in: path name: firewall-group-id required: true schema: type: string style: simple - description: "The [Firewall Rule id](#operation/list-firewall-group-rules)." explode: false in: path name: firewall-rule-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/post_firewalls_firewall_group_id_rules_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Firewall Rule tags: - firewall x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules/{firewall-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /iso: get: description: Get the ISOs in your account. operationId: list-isos parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_isos_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List ISOs tags: - iso x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/iso" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new ISO in your account from `url`. operationId: create-iso requestBody: content: application/json: examples: request: value: url: http://example.com/my-iso.iso schema: $ref: '#/components/schemas/create_iso_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/create_iso_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create ISO tags: - iso x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/iso" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "url" : "https://example.com/my-iso.iso" }' x-content-type: application/json x-accepts: application/json /iso/{iso-id}: delete: description: Delete an ISO. operationId: delete-iso parameters: - description: "The [ISO id](#operation/list-isos)." explode: false in: path name: iso-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete ISO tags: - iso x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/iso/{iso-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for an ISO. operationId: iso-get parameters: - description: "The [ISO id](#operation/list-isos)." explode: false in: path name: iso-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/create_iso_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get ISO tags: - iso x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/iso/{iso-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /iso-public: get: description: List all Vultr Public ISOs. operationId: list-public-isos responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_public_isos_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized security: [] summary: List Public ISOs tags: - iso x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/iso-public" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /object-storage: get: description: Get a list of all Object Storage in your account. operationId: list-object-storages parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_object_storages_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized security: - API Key: [] summary: List Object Storages tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create new Object Storage. The `cluster_id` attribute is required. operationId: create-object-storage requestBody: content: application/json: examples: example request: value: label: Example Object Storage cluster_id: 2 schema: $ref: '#/components/schemas/create_object_storage_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 schema: $ref: '#/components/schemas/create_object_storage_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - API Key: [] summary: Create Object Storage tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Example Object Storage", "cluster_id" : 2 }' x-content-type: application/json x-accepts: application/json /object-storage/{object-storage-id}: delete: description: Delete an Object Storage. operationId: delete-object-storage parameters: - description: "The [Object Storage id](#operation/list-object-storages)." explode: false in: path name: object-storage-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Delete Object Storage tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage/{object-storage-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about an Object Storage. operationId: get-object-storage parameters: - description: "The [Object Storage id](#operation/list-object-storages)." explode: false in: path name: object-storage-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/create_object_storage_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Object Storage tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage/{object-storage-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update the label for an Object Storage. operationId: update-object-storage parameters: - description: "The [Object Storage id](#operation/list-object-storages)." explode: false in: path name: object-storage-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: label: Updated Object Storage Label schema: $ref: '#/components/schemas/update_object_storage_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update Object Storage tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage/{object-storage-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Updated Object Storage Label" }' x-content-type: application/json x-accepts: application/json /object-storage/{object-storage-id}/regenerate-keys: post: description: Regenerate the keys for an Object Storage. operationId: regenerate-object-storage-keys parameters: - description: "The [Object Storage id](#operation/list-object-storages)." explode: false in: path name: object-storage-id required: true schema: type: string style: simple responses: "201": content: application/json: examples: response: value: s3_credentials: s3_hostname: ewr1.vultrobjects.com s3_access_key: 00example11223344 s3_secret_key: 00example1122334455667788990011 schema: $ref: '#/components/schemas/regenerate_object_storage_keys_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /object-storage/clusters: get: description: Get a list of all Object Storage Clusters. operationId: list-object-storage-clusters parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: examples: response: value: clusters: - id: 2 region: ewr hostname: ewr1.vultrobjects.com deploy: "yes" meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_object_storage_clusters_200_response' description: OK security: [] summary: Get All Clusters tags: - s3 x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/object-storage/clusters" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /domains: get: description: List all DNS Domains in your account. operationId: list-dns-domains parameters: - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_dns_domains_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List DNS Domains tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a DNS Domain for `domain`. If no `ip` address is supplied a domain with no records will be created. operationId: create-dns-domain requestBody: content: application/json: examples: request: value: domain: example.com ip: 192.0.2.123 dns_sec: enabled schema: $ref: '#/components/schemas/create_dns_domain_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: examples: response: value: domain: domain: example.com date_created: 2020-10-10T01:56:20+00:00 dns_sec: enabled schema: $ref: '#/components/schemas/create_dns_domain_200_response' description: OK security: - API Key: [] summary: Create DNS Domain tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "domain" : "example.com", "ip" : "192.0.2.123", "dns_sec" : "enabled" }' x-content-type: application/json x-accepts: application/json /domains/{dns-domain}: delete: description: Delete the DNS Domain. operationId: delete-dns-domain parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Domain tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for the DNS Domain. operationId: get-dns-domain parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: domain: domain: example.com date_created: 2020-10-10T01:56:20+00:00 dns_sec: enabled schema: $ref: '#/components/schemas/create_dns_domain_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get DNS Domain tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: 'Update the DNS Domain. ' operationId: update-dns-domain parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: dns_sec: enabled schema: $ref: '#/components/schemas/update_dns_domain_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found summary: Update a DNS Domain tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "dns_sec" : "enabled" }' x-content-type: application/json x-accepts: application/json /domains/{dns-domain}/soa: get: description: Get SOA information for the DNS Domain. operationId: get-dns-domain-soa parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: dns_soa: nsprimary: ns1.vultr.com email: admin@example.com schema: $ref: '#/components/schemas/get_dns_domain_soa_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get SOA information tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/soa" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: "Update the SOA information for the DNS Domain. All attributes\ \ are optional. If not set, the attributes will retain their original values." operationId: update-dns-domain-soa parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: nsprimary: ns1.vultr.com email: admin@example.com schema: $ref: '#/components/schemas/update_dns_domain_soa_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update SOA information tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/soa" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "nsprimary" : "ns1.vultr.com", "email" : "admin@example.com" }' x-content-type: application/json x-accepts: application/json /domains/{dns-domain}/dnssec: get: description: Get the DNSSEC information for the DNS Domain. operationId: get-dns-domain-dnssec parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_dns_domain_dnssec_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get DNSSec Info tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/dnssec" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /domains/{dns-domain}/records: get: description: Get the DNS records for the Domain. operationId: list-dns-domain-records parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_dns_domain_records_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Records tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/records" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a DNS record. operationId: create-dns-domain-record parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: name: www type: A data: 192.0.2.123 ttl: 300 priority: 0 schema: $ref: '#/components/schemas/create_dns_domain_record_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "201": content: application/json: examples: response: value: record: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 type: A name: www data: 192.0.2.123 priority: 0 ttl: 300 schema: $ref: '#/components/schemas/create_dns_domain_record_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Create Record tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/records" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "www", "type" : "A", "data" : "192.0.2.123", "ttl" : 300, "priority" : 0 }' x-content-type: application/json x-accepts: application/json /domains/{dns-domain}/records/{record-id}: delete: description: Delete the DNS record. operationId: delete-dns-domain-record parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple - description: "The [DNS Record id](#operation/list-dns-domain-records)." explode: false in: path name: record-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Record tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a DNS Record. operationId: get-dns-domain-record parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple - description: "The [DNS Record id](#operation/list-dns-domain-records)." explode: false in: path name: record-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: record: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 type: A name: www data: 192.0.2.123 priority: 0 ttl: 300 schema: $ref: '#/components/schemas/create_dns_domain_record_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Record tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: "Update the information for a DNS record. All attributes are optional.\ \ If not set, the attributes will retain their original values." operationId: update-dns-domain-record parameters: - description: "The [DNS Domain](#operation/list-dns-domains)." explode: false in: path name: dns-domain required: true schema: type: string style: simple - description: "The [DNS Record id](#operation/list-dns-domain-records)." explode: false in: path name: record-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: name: CNAME data: foo.example.com ttl: 300 priority: 0 schema: $ref: '#/components/schemas/update_dns_domain_record_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content security: - API Key: [] summary: Update Record tags: - dns x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "CNAME", "data" : "foo.example.com", "ttl" : 300, "priority" : 0 }' x-content-type: application/json x-accepts: application/json /regions: get: description: List all Regions at Vultr. operationId: list-regions parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_regions_200_response' description: OK security: [] summary: List Regions tags: - region x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/regions" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /regions/{region-id}/availability: get: description: Get a list of the available plans in Region `region-id`. Not all plans are available in all regions. operationId: list-available-plans-region parameters: - description: "The [Region id](#operation/list-regions)." explode: false in: path name: region-id required: true schema: type: string style: simple - description: | Filter the results by type. | **Type** | **Description** | |----------|-----------------| | all | All available types | | vc2 | Cloud Compute | | vdc | Dedicated Cloud | | vhf | High Frequency Compute | | vhp | High Performance | | voc | All Optimized Cloud types | | voc-g | General Purpose Optimized Cloud | | voc-c | CPU Optimized Cloud | | voc-m | Memory Optimized Cloud | | voc-s | Storage Optimized Cloud | | vbm | Bare Metal | | vcg | Cloud GPU | explode: true in: query name: type required: false schema: type: string style: form responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/list_available_plans_region_200_response' description: OK security: [] summary: List available plans in region tags: - region x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/regions/{region-id}/availability" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /load-balancers: get: description: List the Load Balancers in your account. operationId: list-load-balancers parameters: - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 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 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: [] meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_load_balancers_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Load Balancers tags: - load-balancer x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/load-balancers" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new Load Balancer in a particular `region`. operationId: create-load-balancer requestBody: content: application/json: examples: request: value: region: ewr balancing_algorithm: roundrobin ssl_redirect: false http2: false nodes: 1 proxy_protocol: false 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 firewall_rules: - port: 80 source: 24.187.16.196/16 ip_type: v4 vpc: 9fed374c-0afc-42bf-926c-abcf840b5406 schema: $ref: '#/components/schemas/create_load_balancer_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 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 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: [] schema: $ref: '#/components/schemas/create_load_balancer_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Create Load Balancer tags: - load-balancer x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/load-balancers" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "balancing_algorithm" : "roundrobin", "ssl_redirect" : false, "http2": false, "proxy_protocol" : false, "label" : "Example Load Balancer", "nodes" : 1, "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 } ], "firewall_rules": [ { "port" : 80, "source" : "0.0.0.0/0", "ip_type" : "v4", } ] }' x-content-type: application/json x-accepts: application/json /load-balancers/{load-balancer-id}: delete: description: Delete a Load Balancer. operationId: delete-load-balancer parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Load Balancer tags: - load-balancer x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a Load Balancer. operationId: get-load-balancer parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 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 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: [] schema: $ref: '#/components/schemas/create_load_balancer_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Load Balancer tags: - load-balancer x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: "Update information for a Load Balancer. All attributes are optional.\ \ If not set, the attributes will retain their original values." operationId: update-load-balancer parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple requestBody: content: application/json: 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 ssl_redirect: true http2: true nodes: 1 balancing_algorithm: roundrobin instances: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 vpc: 9fed374c-0afc-42bf-926c-abcf840b5406 schema: $ref: '#/components/schemas/update_load_balancer_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Update Load Balancer tags: - load-balancer x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" -H "Content-Type: application/json" \ --data '{ "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 } ], "health_check": { "protocol": "http", "port": 80, "path": "/health", "check_interval": "10", "response_timeout": "5", "unhealthy_threshold": "3", "healthy_threshold": "3" }, "proxy_protocol": true, "ssl_redirect": true, "http2": true, "nodes": 1, "balancing_algorithm": "roundrobin", "instances": [ "73d85156c2c3129d" ] }' x-content-type: application/json x-accepts: application/json /load-balancers/{load-balancer-id}/ssl: delete: description: Delete a Load Balancer SSL. operationId: delete-load-balancer-ssl parameters: - description: "The [Load Balancer id](#operation/delete-load-balancer-ssl)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /load-balancers/{load-balancer-id}/forwarding-rules: get: description: List the fowarding rules for a Load Balancer. operationId: list-load-balancer-forwarding-rules parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_load_balancer_forwarding_rules_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new forwarding rule for a Load Balancer. operationId: create-load-balancer-forwarding-rules parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple requestBody: content: application/json: examples: response: value: frontend_protocol: http frontend_port: 8080 backend_protocol: http backend_port: 80 schema: $ref: '#/components/schemas/create_load_balancer_forwarding_rules_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "frontend_protocol" : "http", "frontend_port" : 8080, "backend_protocol" : "http", "backend_port" : 80 }' x-content-type: application/json x-accepts: application/json /load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}: delete: description: Delete a Forwarding Rule on a Load Balancer. operationId: delete-load-balancer-forwarding-rule parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple - description: "The [Forwarding Rule id](#operation/list-load-balancer-forwarding-rules)." explode: false in: path name: forwarding-rule-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a Forwarding Rule on a Load Balancer. operationId: get-load-balancer-forwarding-rule parameters: - description: "The [Load Balancer id](#operation/list-load-balancers)." explode: false in: path name: load-balancer-id required: true schema: type: string style: simple - description: "The [Forwarding Rule id](#operation/list-load-balancer-forwarding-rules)." explode: false in: path name: forwarding-rule-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: forwarding_rule: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 frontend_protocol: http frontend_port: 8080 backend_protocol: http backend_port: 80 schema: $ref: '#/components/schemas/get_load_balancer_forwarding_rule_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /plans: get: description: | Get a list of all VPS plans at Vultr. The response is an array of JSON `plan` objects, with unique `id` with sub-fields in the general format of: --- For example: `vc2-24c-96gb-sc1` More about the sub-fields: * ``: The Vultr type code. For example, `vc2`, `vhf`, `vdc`, etc. * ``: The number of cores, such as `4c` for "4 cores", `8c` for "8 cores", etc. * ``: Size in GB, such as `32gb`. * ``: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges. > 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. operationId: list-plans parameters: - description: |- Filter the results by type. | **Type** | **Description** | |----------|-----------------| | all | All available types | | vc2 | Cloud Compute | | vdc | Dedicated Cloud | | vhf | High Frequency Compute | | vhp | High Performance | | voc | All Optimized Cloud types | | voc-g | General Purpose Optimized Cloud | | voc-c | CPU Optimized Cloud | | voc-m | Memory Optimized Cloud | | voc-s | Storage Optimized Cloud | | vcg | Cloud GPU | explode: true in: query name: type required: false schema: type: string style: form - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form - description: |- Filter the results by operating system. | | Type | Description | | - | ------ | ------------- | | | windows | All available plans that support windows | explode: true in: query name: os required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_plans_200_response' description: OK security: [] summary: List Plans tags: - plans x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/plans" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /plans-metal: get: description: | Get a list of all Bare Metal plans at Vultr. The response is an array of JSON `plan` objects, with unique `id` with sub-fields in the general format of: --- For example: `vc2-24c-96gb-sc1` More about the sub-fields: * ``: The Vultr type code. For example, `vc2`, `vhf`, `vdc`, etc. * ``: The number of cores, such as `4c` for "4 cores", `8c` for "8 cores", etc. * ``: Size in GB, such as `32gb`. * ``: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges. > 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. operationId: list-metal-plans parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: string style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 type: SSD locations: - ewr meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_metal_plans_200_response' description: OK security: [] summary: List Bare Metal Plans tags: - plans x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/plans-metal" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals: get: description: List all Bare Metal instances in your account. operationId: list-baremetals parameters: - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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 mac_address: 2199756823533 os_id: 186 app_id: 3 image_id: "" features: - ipv6 tags: - a tag - another user_scheme: root meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_baremetals_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Bare Metal Instances tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: |- Create a new Bare Metal instance in a `region` with the desired `plan`. Choose one of the following to deploy the instance: * `os_id` * `snapshot_id` * `app_id` * `image_id` Supply other attributes as desired. operationId: create-baremetal requestBody: content: application/json: examples: request: value: region: ams plan: vbm-4c-32gb label: Example Bare Metal app_id: 3 enable_ipv6: true schema: $ref: '#/components/schemas/create_baremetal_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" features: - ipv6 user_scheme: root schema: $ref: '#/components/schemas/create_baremetal_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Create Bare Metal Instance tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ams", "plan" : "vbm-4c-32gb", "label" : "Example Bare Metal", "app_id" : 3, "enable_ipv6" : true }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}: delete: description: Delete a Bare Metal instance. operationId: delete-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information for a Bare Metal instance. operationId: get-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 os_id: 183 app_id: 3 image_id: "" features: - ipv6 tags: - a tag - another user_scheme: root schema: $ref: '#/components/schemas/get_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: |- Update a Bare Metal instance. All attributes are optional. If not set, the attributes will retain their original values. **Note:** Changing `os_id`, `app_id` or `image_id` may take a few extra seconds to complete. operationId: update-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: label: Updated Bare Metal Label tags: - a tag - another user_data: QmFzZTY0IEV4YW1wbGUgRGF0YQ== schema: $ref: '#/components/schemas/update_baremetal_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" features: - ipv6 tags: - a tag - another user_scheme: root schema: $ref: '#/components/schemas/get_baremetal_200_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Updated Bare Metal Label", "tags" : ["a tag", "another"], "user_data" : "QmFzZTY0IEV4YW1wbGUgRGF0YQ==" }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}/ipv4: get: description: Get the IPv4 information for the Bare Metal instance. operationId: get-ipv4-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_ipv4_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Bare Metal IPv4 Addresses tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv4" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/ipv6: get: description: Get the IPv6 information for the Bare Metal instance. operationId: get-ipv6-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_ipv6_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Bare Metal IPv6 Addresses tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv6" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/start: post: description: Start the Bare Metal instance. operationId: start-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Start Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/reboot: post: description: Reboot the Bare Metal instance. operationId: reboot-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reboot Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/reinstall: post: description: |- Reinstall the Bare Metal instance using an optional `hostname`. **Note:** This action may take some time to complete. operationId: reinstall-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: hostname: my_new_hostname schema: $ref: '#/components/schemas/reinstall_baremetal_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_baremetal_200_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reinstall Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/reinstall" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" --data '{ "hostname" : "my_new_hostname" }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}/halt: post: description: Halt the Bare Metal instance. operationId: halt-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Halt Bare Metal tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/bandwidth: get: description: Get bandwidth information for the Bare Metal instance.

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. operationId: get-bandwidth-baremetal parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: bandwidth: value: bandwidth: "2020-07-25": incoming_bytes: 15989787 outgoing_bytes: 25327729 "2020-07-26": incoming_bytes: 13964112 outgoing_bytes: 22257069 schema: $ref: '#/components/schemas/get_bandwidth_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Bare Metal Bandwidth tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/bandwidth" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/halt: post: description: Halt Bare Metals. operationId: halt-baremetals requestBody: content: application/json: examples: example: value: baremetal_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 7f6f84ea-8f87-4d9e-af01-ac44db05911c - 54a83807-64ce-42e8-a0da-4d6c31c5b93b schema: $ref: '#/components/schemas/halt_baremetals_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Halt Bare Metals tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "baremetal_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "7f6f84ea-8f87-4d9e-af01-ac44db05911c", "54a83807-64ce-42e8-a0da-4d6c31c5b93b" ] }' x-content-type: application/json x-accepts: application/json /bare-metals/reboot: post: description: Reboot Bare Metals. operationId: reboot-bare-metals requestBody: content: application/json: examples: example: value: baremetal_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 54a83807-64ce-42e8-a0da-4d6c31c5b93b - d092ee75-a113-480c-ae2e-e24cc6f588c3 schema: $ref: '#/components/schemas/halt_baremetals_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reboot Bare Metals tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "baremetal_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "54a83807-64ce-42e8-a0da-4d6c31c5b93b", "d092ee75-a113-480c-ae2e-e24cc6f588c3" ] }' x-content-type: application/json x-accepts: application/json /bare-metals/start: post: description: Start Bare Metals. operationId: start-bare-metals requestBody: content: application/json: examples: example: value: baremetal_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 1d651bd2-b93c-4bb6-8b91-0546fd765f15 - c2790719-278d-474c-8dff-cb35d6e5503f schema: $ref: '#/components/schemas/halt_baremetals_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Start Bare Metals tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "baremetal_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "1d651bd2-b93c-4bb6-8b91-0546fd765f15", "c2790719-278d-474c-8dff-cb35d6e5503f" ] }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}/user-data: get: description: "Get the user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ for a Bare Metal." operationId: get-bare-metal-userdata parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: user_data: data: QmFzZTY0IEV4YW1wbGUgRGF0YQ== schema: $ref: '#/components/schemas/get_bare_metal_userdata_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances: get: description: List all VPS instances in your account. operationId: list-instances parameters: - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form - deprecated: true description: Filter by specific tag. explode: true in: query name: tag required: false schema: type: string style: form - description: Filter by label. explode: true in: query name: label required: false schema: type: string style: form - description: Filter by main ip address. explode: true in: query name: main_ip required: false schema: type: string style: form - description: "Filter by [Region id](#operation/list-regions)." explode: true in: query name: region required: false schema: type: string style: form - description: "Filter by [Firewall group id](#operation/list-firewall-groups)." explode: true in: query name: firewall_group_id required: false schema: type: string style: form responses: "200": content: application/json: 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: "" kvm: https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344 hostname: my_hostname os_id: 215 app_id: 0 image_id: "" firewall_group_id: "" features: - ddos_protection - ipv6 - auto_backups tags: - a tag - another user_scheme: root meta: total: 3 links: next: WxYzExampleNext prev: "" schema: $ref: '#/components/schemas/list_instances_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: List Instances tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: |- Create a new VPS Instance in a `region` with the desired `plan`. Choose one of the following to deploy the instance: * `os_id` * `iso_id` * `snapshot_id` * `app_id` * `image_id` Supply other attributes as desired. operationId: create-instance requestBody: content: application/json: 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 schema: $ref: '#/components/schemas/create_instance_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" firewall_group_id: "" features: [] default_password: "v5{Fkvb#2ycPGwHs" tags: - a tag - another user_scheme: root schema: $ref: '#/components/schemas/create_instance_202_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Create Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "plan" : "vc2-6c-16gb", "label" : "Example Instance", "os_id" : 215, "user_data" : "QmFzZTY0IEV4YW1wbGUgRGF0YQ==", "backups" : "enabled", "hostname": "my_hostname", "tags": [ "a tag", "another" ] }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}: delete: description: Delete an Instance. operationId: delete-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about an Instance. operationId: get-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" kvm: https://my.vultr.com/subs/vps/novnc/api.php?data=00example11223344 hostname: my_hostname os_id: 215 app_id: 0 image_id: "" firewall_group_id: "" features: - ddos_protection - ipv6 - auto_backups tags: - a tag - another user_scheme: root schema: $ref: '#/components/schemas/create_instance_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json patch: description: |- Update information for an Instance. All attributes are optional. If not set, the attributes will retain their original values. **Note:** Changing `os_id`, `app_id` or `image_id` may take a few extra seconds to complete. operationId: update-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: label: Example Instance tags: - a tag - another plan: vc2-24c-97gb schema: $ref: '#/components/schemas/update_instance_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" firewall_group_id: "" features: - ddos_protection - ipv6 - auto_backups tags: - a tag - another user_scheme: root schema: $ref: '#/components/schemas/create_instance_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "Example Instance", "tags" : ["a tag", "another"], "plan" : "vc2-24c-97gb" }' x-content-type: application/json x-accepts: application/json /instances/halt: post: description: Halt Instances. operationId: halt-instances requestBody: content: application/json: examples: example: value: instance_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 1d651bd2-b93c-4bb6-8b91-0546fd765f15 - c2790719-278d-474c-8dff-cb35d6e5503f schema: $ref: '#/components/schemas/halt_instances_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Halt Instances tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "1d651bd2-b93c-4bb6-8b91-0546fd765f15", "c2790719-278d-474c-8dff-cb35d6e5503f" ] }' x-content-type: application/json x-accepts: application/json /instances/reboot: post: description: Reboot Instances. operationId: reboot-instances requestBody: content: application/json: examples: example: value: instance_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 1d651bd2-b93c-4bb6-8b91-0546fd765f15 - c2790719-278d-474c-8dff-cb35d6e5503f schema: $ref: '#/components/schemas/reboot_instances_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reboot instances tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "1d651bd2-b93c-4bb6-8b91-0546fd765f15", "c2790719-278d-474c-8dff-cb35d6e5503f" ] }' x-content-type: application/json x-accepts: application/json /instances/start: post: description: Start Instances. operationId: start-instances requestBody: content: application/json: examples: example: value: instance_ids: - cb676a46-66fd-4dfb-b839-443f2e6c0b60 - 1d651bd2-b93c-4bb6-8b91-0546fd765f15 - c2790719-278d-474c-8dff-cb35d6e5503f schema: $ref: '#/components/schemas/start_instances_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Start instances tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "instance_ids" : [ "cb676a46-66fd-4dfb-b839-443f2e6c0b60", "1d651bd2-b93c-4bb6-8b91-0546fd765f15", "c2790719-278d-474c-8dff-cb35d6e5503f" ] }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/start: post: description: Start an Instance. operationId: start-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Start instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/reboot: post: description: Reboot an Instance. operationId: reboot-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reboot Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/reinstall: post: description: |- Reinstall an Instance using an optional `hostname`. **Note:** This action may take a few extra seconds to complete. operationId: reinstall-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: hostname: my_new_hostname schema: $ref: '#/components/schemas/reinstall_instance_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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: "" firewall_group_id: "" features: - ddos_protection - ipv6 - auto_backups schema: $ref: '#/components/schemas/create_instance_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Reinstall Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/reinstall" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "hostname" : "my_new_hostname" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/bandwidth: get: description: Get bandwidth information about an Instance.

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. operationId: get-instance-bandwidth parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: "The range of days to include, represented as the number of days\ \ relative to the current date. Default 30, Minimum 1 and Max 60." explode: true in: query name: date_range required: false schema: type: integer style: form responses: "200": content: application/json: examples: bandwidth: value: bandwidth: "2020-07-25": incoming_bytes: 15989787 outgoing_bytes: 25327729 "2020-07-26": incoming_bytes: 13964112 outgoing_bytes: 22257069 schema: $ref: '#/components/schemas/get_bandwidth_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Instance Bandwidth tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/bandwidth" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/neighbors: get: description: Get a list of other instances in the same location as this Instance. operationId: get-instance-neighbors parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: neighbors: - 478dbfe7-43f8-4dc8-940c-8bb61f547400 - a8047e6b-16bd-42be-8351-58df7e5ab89c schema: $ref: '#/components/schemas/get_instance_neighbors_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Instance neighbors tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/neighbors" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/private-networks: get: deprecated: true description: "**Deprecated**: use [List Instance VPCs](#operation/list-instance-vpcs)\ \ instead.

List the private networks for an Instance." operationId: list-instance-private-networks parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_instance_private_networks_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List instance Private Networks tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/private-networks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/vpcs: get: description: List the VPCs for an Instance. operationId: list-instance-vpcs parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_instance_vpcs_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List instance VPCs tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/vpcs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/vpc2: get: description: List the VPC 2.0 networks for an Instance. operationId: list-instance-vpc2 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_instance_vpc2_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Instance VPC 2.0 Networks tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/vpc2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/iso: get: description: Get the ISO status for an Instance. operationId: get-instance-iso-status parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: iso_status: state: ready iso_id: 0532a75b-14e8-48b8-b27e-1ebcf382a804 schema: $ref: '#/components/schemas/get_instance_iso_status_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Instance ISO Status tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/iso" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/iso/attach: post: description: Attach an ISO to an Instance. operationId: attach-instance-iso parameters: - explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: iso_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/attach_instance_iso_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: example: value: iso_status: status: ismounting iso_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/attach_instance_iso_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Attach ISO to Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/iso/attach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "iso_id" : "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/iso/detach: post: description: Detach the ISO from an Instance. operationId: detach-instance-iso parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "202": content: application/json: examples: example: value: iso_status: status: isunmounting schema: $ref: '#/components/schemas/detach_instance_iso_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Detach ISO from instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/iso/detach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/private-networks/attach: post: deprecated: true description: "Attach Private Network to an Instance.

**Deprecated**:\ \ use [Attach VPC to Instance](#operation/attach-instance-vpc) instead." operationId: attach-instance-network parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: network_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/attach_instance_network_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/private-networks/detach: post: deprecated: true description: "Detach Private Network from an Instance.

**Deprecated**:\ \ use [Detach VPC from Instance](#operation/detach-instance-vpc) instead." operationId: detach-instance-network parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: network_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/detach_instance_network_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/vpcs/attach: post: description: Attach a VPC to an Instance. operationId: attach-instance-vpc parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/attach_instance_vpc_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Attach VPC to Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/vpcs/attach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/vpcs/detach: post: description: Detach a VPC from an Instance. operationId: detach-instance-vpc parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/detach_instance_vpc_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Detach VPC from Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/vpcs/detach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/vpc2/attach: post: description: Attach a VPC 2.0 Network to an Instance. operationId: attach-instance-vpc2 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 ip_address: 10.1.144.4 schema: $ref: '#/components/schemas/attach_instance_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" "ip_address": "10.1.144.4" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/vpc2/detach: post: description: Detach a VPC 2.0 Network from an Instance. operationId: detach-instance-vpc2 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/detach_instance_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/backup-schedule: get: description: Get the backup schedule for an Instance. operationId: get-instance-backup-schedule parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_instance_backup_schedule_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Instance Backup Schedule tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/backup-schedule" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Set the backup schedule for an Instance in UTC. The `type` is required. operationId: create-instance-backup-schedule parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: type: daily hour: 10 dow: 1 dom: 1 schema: $ref: '#/components/schemas/create_instance_backup_schedule_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": description: OK "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Set Instance Backup Schedule tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/backup-schedule" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "type": "daily", "hour": 10, "dow": 1, "dom": 1 }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/restore: post: description: Restore an Instance from either `backup_id` or `snapshot_id`. operationId: restore-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: backup_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/restore_instance_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: example: value: status: restore_type: backup_id restore_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 status: inprogress schema: $ref: '#/components/schemas/restore_instance_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Restore Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/restore" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "backup_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/ipv4: get: description: List the IPv4 information for an Instance. operationId: get-instance-ipv4 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: "If `true`, includes information about the public network adapter\ \ (such as MAC address) with the `main_ip` entry." explode: true in: query name: public_network required: false schema: type: boolean style: form - description: | Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: integer style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_ipv4_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Instance IPv4 Information tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create an IPv4 address for an Instance. operationId: create-instance-ipv4 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: reboot: true schema: $ref: '#/components/schemas/create_instance_ipv4_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 schema: properties: {} type: object description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create IPv4 tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "reboot" : true }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/ipv6: get: description: Get the IPv6 information for an VPS Instance. operationId: get-instance-ipv6 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_ipv6_baremetal_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Instance IPv6 Information tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/ipv6/reverse: get: description: List the reverse IPv6 information for an Instance. operationId: list-instance-ipv6-reverse parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: reverse_ipv6s: - ip: 2001:0db8:5:6bb:5400:2ff:fee5:1 reverse: foo.example.com schema: $ref: '#/components/schemas/list_instance_ipv6_reverse_200_response' description: OK security: - API Key: [] summary: List Instance IPv6 Reverse tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: "Create a reverse IPv6 entry for an Instance. The `ip` and `reverse`\ \ attributes are required. IP address must be in full, expanded format." operationId: create-instance-reverse-ipv6 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: ip: 2001:0db8:0005:6bb0:5400:2ff0:fee5:0002 reverse: foo.example.com schema: $ref: '#/components/schemas/create_instance_reverse_ipv6_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Instance Reverse IPv6 tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "ip" : "2001:0db8:5:6bb:5400:2ff:fee5:2", "reverse" : "foo.example.com" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/ipv4/reverse: post: description: 'Create a reverse IPv4 entry for an Instance. The `ip` and `reverse` attributes are required. ' operationId: create-instance-reverse-ipv4 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: ip: 192.0.2.123 reverse: foo.example.com schema: $ref: '#/components/schemas/create_instance_reverse_ipv4_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Instance Reverse IPv4 tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4/reverse" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "ip" : "192.0.2.123", "reverse" : "foo.example.com" }' x-content-type: application/json x-accepts: application/json /backups/{backup-id}: get: description: Get the information for the Backup. operationId: get-backup parameters: - description: "The [Backup id](#operation/list-backups)." explode: false in: path name: backup-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_backup_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get a Backup tags: - backup x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/backups/{backup-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/user-data: get: description: "Get the user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ for an Instance." operationId: get-instance-userdata parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: user_data: data: QmFzZTY0IEV4YW1wbGUgRGF0YQ== schema: $ref: '#/components/schemas/get_instance_userdata_200_response' description: OK security: - API Key: [] summary: Get Instance User Data tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/user-data" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/halt: post: description: Halt an Instance. operationId: halt-instance parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Halt Instance tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/ipv4/reverse/default: post: description: Set a reverse DNS entry for an IPv4 address operationId: post-instances-instance-id-ipv4-reverse-default parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: ip: 192.0.2.123 schema: $ref: '#/components/schemas/post_instances_instance_id_ipv4_reverse_default_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Set Default Reverse DNS Entry tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/reverse/default" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "ip" : "192.0.2.123" }' x-content-type: application/json x-accepts: application/json /instances/{instance-id}/ipv4/{ipv4}: delete: description: Delete an IPv4 address from an Instance. operationId: delete-instance-ipv4 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: The IPv4 address. explode: false in: path name: ipv4 required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - API Key: [] summary: Delete IPv4 Address tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4/{ipv4}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/ipv6/reverse/{ipv6}: delete: description: Delete the reverse IPv6 for an Instance. operationId: delete-instance-reverse-ipv6 parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: The IPv6 address. explode: false in: path name: ipv6 required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - API Key: [] summary: Delete Instance Reverse IPv6 tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse/{ipv6}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /instances/{instance-id}/upgrades: get: description: Get available upgrades for an Instance operationId: get-instance-upgrades parameters: - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: instance-id required: true schema: type: string style: simple - description: |- Filter upgrade by type: - all (applications, os, plans) - applications - os - plans explode: true in: query name: type required: false schema: type: string style: form responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_instance_upgrades_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Available Instance Upgrades tags: - instances x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/instances/{instance-id}/upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/upgrades: get: description: Get available upgrades for a Bare Metal operationId: get-bare-metals-upgrades parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple - description: |- Filter upgrade by type: - all (applications, plans) - applications - os explode: true in: query name: type required: false schema: type: string style: form responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_bare_metals_upgrades_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Available Bare Metal Upgrades tags: - baremetal x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/vnc: get: description: Get the VNC URL for a Bare Metal operationId: get-bare-metal-vnc parameters: - description: "The [Bare Metal id](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: example: value: vnc: url: https://my.vultr.com/subs/baremetal/novnc/api.php?data=00example11223344 schema: $ref: '#/components/schemas/get_bare_metal_vnc_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] 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" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /bare-metals/{baremetal-id}/vpc2/attach: post: description: Attach a VPC 2.0 Network to a Bare Metal Instance. operationId: attach-baremetals-vpc2 parameters: - description: "The [Bare Metal ID](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 ip_address: 10.1.144.4 schema: $ref: '#/components/schemas/attach_baremetals_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" "ip_address": "10.1.144.4" }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}/vpc2/detach: post: description: Detach a VPC 2.0 Network from an Bare Metal Instance. operationId: detach-baremetal-vpc2 parameters: - description: "The [bare-metal ID](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: vpc_id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 schema: $ref: '#/components/schemas/detach_baremetal_vpc2_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60" }' x-content-type: application/json x-accepts: application/json /bare-metals/{baremetal-id}/vpc2: get: description: List the VPC 2.0 networks for a Bare Metal Instance. operationId: list-baremetal-vpc2 parameters: - description: "The [Bare Metal ID](#operation/list-baremetals)." explode: false in: path name: baremetal-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: response: value: vpcs: - id: d325e78b-bcec-4d4e-b9b8-9c294f37b04d mac_address: 00:00:5e:00:53:5e ip_address: 10.99.0.123 schema: $ref: '#/components/schemas/list_baremetal_vpc2_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /load-balancers/{loadbalancer-id}/firewall-rules: get: description: List the firewall rules for a Load Balancer. operationId: list-loadbalancer-firewall-rules parameters: - explode: false in: path name: loadbalancer-id required: true schema: type: string style: simple - description: Number of items requested per page. Default is 100 and Max is 500. explode: true in: query name: per_page required: false schema: type: string style: form - description: "Cursor for paging. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)." explode: true in: query name: cursor required: false schema: type: string style: form responses: "200": content: application/json: examples: Response: value: firewall_rules: - id: asb123f2e6c0b60 port: 80 source: 24.187.16.196/16 ip_type: v4 meta: total: 1 links: next: "" prev: "" schema: $ref: '#/components/schemas/loadbalancer-firewall-rule' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /load-balancers/{loadbalancer-id}/firewall-rules/{firewall-rule-id}: get: description: Get a firewall rule for a Load Balancer. operationId: get-loadbalancer-firewall-rule parameters: - explode: false in: path name: loadbalancer-id required: true schema: type: string style: simple - explode: false in: path name: firewall-rule-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: Example: value: firewall_rule: id: asb123f2e6c0b60 port: 80 source: 24.187.16.196/16 ip_type: v4 schema: $ref: '#/components/schemas/loadbalancer-firewall-rule' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /kubernetes/clusters: get: description: List all Kubernetes clusters currently deployed operationId: list-kubernetes-clusters responses: "200": content: application/json: 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 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 - 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 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 meta: total: 2 links: next: "" prev: "" schema: $ref: '#/components/schemas/list_kubernetes_clusters_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List all Kubernetes Clusters tags: - kubernetes x-accepts: application/json post: description: Create Kubernetes Cluster operationId: create-kubernetes-cluster requestBody: content: application/json: 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 schema: $ref: '#/components/schemas/create_kubernetes_cluster_request' description: Request Body responses: "201": content: application/json: 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 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 schema: $ref: '#/components/schemas/create_kubernetes_cluster_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create Kubernetes Cluster tags: - kubernetes x-content-type: application/json x-accepts: application/json /kubernetes/clusters/{vke-id}: delete: description: Delete Kubernetes Cluster operationId: delete-kubernetes-cluster parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Kubernetes Cluster tags: - kubernetes x-accepts: application/json get: description: Get Kubernetes Cluster operationId: get-kubernetes-clusters parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 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 schema: $ref: '#/components/schemas/create_kubernetes_cluster_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Kubernetes Cluster tags: - kubernetes x-accepts: application/json put: description: Update Kubernetes Cluster operationId: update-kubernetes-cluster parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example-1: value: label: my new label schema: $ref: '#/components/schemas/update_kubernetes_cluster_request' description: Request Body responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Kubernetes Cluster tags: - kubernetes x-content-type: application/json x-accepts: application/json /kubernetes/clusters/{vke-id}/delete-with-linked-resources: delete: description: 'Delete Kubernetes Cluster and all related resources. ' operationId: delete-kubernetes-cluster-vke-id-delete-with-linked-resources parameters: - explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete VKE Cluster and All Related Resources tags: - kubernetes x-accepts: application/json /kubernetes/clusters/{vke-id}/resources: get: description: Get the block storage volumes and load balancers deployed by the specified Kubernetes cluster. operationId: get-kubernetes-resources parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_kubernetes_resources_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Kubernetes Resources tags: - kubernetes x-accepts: application/json /kubernetes/clusters/{vke-id}/available-upgrades: get: description: Get the available upgrades for the specified Kubernetes cluster. operationId: get-kubernetes-available-upgrades parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: example: value: available_upgrades: - v1.22.8+3 - v1.21.11+3 schema: $ref: '#/components/schemas/get_kubernetes_available_upgrades_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Kubernetes Available Upgrades tags: - kubernetes x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/kubernetes/clusters/{vke-id}/available-upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /kubernetes/clusters/{vke-id}/upgrades: post: description: Start a Kubernetes cluster upgrade. operationId: start-kubernetes-cluster-upgrade parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example request: value: upgrade_version: v1.22.8+3 schema: $ref: '#/components/schemas/start_kubernetes_cluster_upgrade_request' description: Request Body responses: "202": description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Start Kubernetes Cluster Upgrade tags: - kubernetes x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/kubernetes/clusters/{vke-id}/upgrades" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "upgrade_version" : "v1.22.8+3" }' x-content-type: application/json x-accepts: application/json /kubernetes/clusters/{vke-id}/node-pools: get: description: List all available NodePools on a Kubernetes Cluster operationId: get-nodepools parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_nodepools_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List NodePools tags: - kubernetes x-accepts: application/json post: description: Create NodePool for a Existing Kubernetes Cluster operationId: create-nodepools parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple requestBody: content: application/json: 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 schema: $ref: '#/components/schemas/create_nodepools_request' description: Request Body responses: "201": content: application/json: 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 schema: $ref: '#/components/schemas/create_nodepools_201_response' description: Created "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Create NodePool tags: - kubernetes x-content-type: application/json x-accepts: application/json /kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}: delete: description: Delete a NodePool from a Kubernetes Cluster operationId: delete-nodepool parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple - description: "The [NodePool ID](#operation/get-nodepools)." explode: false in: path name: nodepool-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Nodepool tags: - kubernetes x-accepts: application/json get: description: Get Nodepool from a Kubernetes Cluster operationId: get-nodepool parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple - description: "The [NodePool ID](#operation/get-nodepools)." explode: false in: path name: nodepool-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/create_nodepools_201_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get NodePool tags: - kubernetes x-accepts: application/json patch: description: Update a Nodepool on a Kubernetes Cluster operationId: update-nodepool parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple - description: "The [NodePool ID](#operation/get-nodepools)." explode: false in: path name: nodepool-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example-1: value: node_quantity: 1 tag: my-tag min_nodes: 1 max_nodes: 5 auto_scaler: true schema: $ref: '#/components/schemas/update_nodepool_request' application/xml: schema: $ref: '#/components/schemas/update_nodepool_request_1' description: Request Body responses: "202": content: application/json: 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 nodes: - id: f2e11430-76e5-4dc6-a1c9-ef5682c21ddf label: my-label-44060e6384c45 date_created: 2021-07-07T23:27:08+00:00 status: active schema: $ref: '#/components/schemas/create_nodepools_201_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Update Nodepool tags: - kubernetes x-content-type: application/json x-accepts: application/json /kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}/nodes/{node-id}: delete: description: Delete a single nodepool instance from a given Nodepool operationId: delete-nodepool-instance parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple - description: "The [NodePool ID](#operation/get-nodepools)." explode: false in: path name: nodepool-id required: true schema: type: string style: simple - description: "The [Instance ID](#operation/list-instances)." explode: false in: path name: node-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete NodePool Instance tags: - kubernetes x-accepts: application/json /kubernetes/clusters/{vke-id}/node-pools/{nodepool-id}/nodes/{node-id}/recycle: post: description: Recycle a specific NodePool Instance operationId: recycle-nodepool-instance parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple - description: "The [NodePool ID](#operation/get-nodepools)." explode: false in: path name: nodepool-id required: true schema: type: string style: simple - description: Node ID explode: false in: path name: node-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Recycle a NodePool Instance tags: - kubernetes x-accepts: application/json /kubernetes/clusters/{vke-id}/config: get: description: Get Kubernetes Cluster Kubeconfig operationId: get-kubernetes-clusters-config parameters: - description: "The [VKE ID](#operation/list-kubernetes-clusters)." explode: false in: path name: vke-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: example response: value: kube_config: YXBpdmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSblZFTkRRVzF0WjBGM1NVSkJaMGxKU2psdFN6bEViRk5pY0RSM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZFVla1ZNVFVGclIwRXhWVVVLUW1oTlExWldUWGhHYWtGVlFtZE9Wa0pCWTFSRVZrNW9ZbWxDUjJOdFJuVlpNbXg2V1RJNGVFVjZRVkpDWjA1V1FrRnZWRU5yZERGWmJWWjVZbTFXTUFwYVdFMTRSWHBCVWtKblRsWkNRVTFVUTJ0ME1WbHRWbmxpYlZZd1dsaE5kMGhvWTA1TmFrVjNUbnBCZVUxVVNYaE5la0Y1VjJoalRrMXFTWGRPZWtGNUNrMVVTWGhOZWtGNVYycENVRTFSYzNkRFVWbEVWbEZSUjBWM1NsWlZla1ZYVFVKUlIwRXhWVVZDZUUxT1ZUSkdkVWxGV25sWlZ6VnFZVmhPYW1KNlJWUUtUVUpGUjBFeFZVVkRhRTFMVXpOV2FWcFlTblZhV0ZKc1kzcEZWRTFDUlVkQk1WVkZRWGhOUzFNelZtbGFXRXAxV2xoU2JHTjZRME5CVTBsM1JGRlpTZ3BMYjFwSmFIWmpUa0ZSUlVKQ1VVRkVaMmRGVUVGRVEwTkJVVzlEWjJkRlFrRk1laTlITXpOaVlWZG5TMU5GVmpKQ2RsQlhZbWd6WkhZclYybEhOVlJqQ2s1bllVTlZNMlJWVm5KdGNtaHVXbVJPYWtkTVl5OUJTR3RIWm1OaVIxQlRXbkJ2UVZCbWFuaGtWRTA0WlVOTFlXdGxkR0Z6YkRsdFNDOVhlVTlETXpnS1pGcEZVWGRSZWpseFIzWnpaa3BTT0RKQ01WWTBWM3AxUVdRMEwxSmtaVGxqU3psaVdIWktkRUZMU2xrNVF6aG9VM2RtTDNNM1drRlNabGxYYTIxb1R3cHZkSHBFUnpaR2JtaFljSFJtUkRZdmRXNXNXRWhyYTNveFVHSjZhR1Z2ZG5adU9GUkNUamR2UWpkTVdUaG9kRE5tVTBJeFEwSlRTMGxxV1hsaGJEaHJDbU5XZVU1R1MyUndVRVoxV0ZvelkyYzRaMHN2ZUROS1VXZHBLMGxqVTA0Mk9GZDJaa3gxYXpjM2JXOXNWWE5IY25neWNWRkZTa2RwU2k5SGEzUm5kMndLWlVnNU1FbHpMMkZDZERjd1dsaG9aM2cyTnpkSmVuTnVWMnN3UWpWSFlVeGpaRk5oYUN0WlNraGthbkpMU0N0R01qVTNWekpvTUVOQmQwVkJRV0ZPYUFwTlJqaDNSR2RaUkZaU01GQkJVVWd2UWtGUlJFRm5TMFZOUWpCSFFURlZaRXBSVVZkTlFsRkhRME56UjBGUlZVWkNkMDFEUW1kbmNrSm5SVVpDVVdORUNrRlVRVkJDWjA1V1NGSk5Ra0ZtT0VWQ1ZFRkVRVkZJTDAxQ01FZEJNVlZrUkdkUlYwSkNVME5EVWtoSmFERm1XbnBzU210MFMwVmtOalpITVZWWGRqQUtNRVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJjMFpCUVU5RFFWRkZRV0V3VG1SUVlYa3dPREp0YVcxWllUa3ZOVVpMY1hWa1YwSmpabVpHVkVScFdrTmljUXA1YVUxNFZXeEVTQzl6Tm1Od1YzbEJORXRuY0ZGRWMySXdiM0pzYTNwTk1ERjNieTlsTUc1clUxTTFVVkIyWVZvNU9FaFNObFlyTUV4a0swZzViM1JCQ2xZM2VUbEdlQzlJVUhCdldGWTJhVWswYWpCaVpFdFBNMHQ0VUZKVWRsaDFRMUZETTNRd2FHc3pjVnBRSzFSalNEaHhWRTV6VkVwb1JGTnlSMWRLUjNvS1dqZ3liMGwwY0c5RVRsaEJZVUpqYmxSRmNUUkNXRzFoTTJVNVJHSkpVMU5SZW5aaGFIYzBWMkZwVTFWNGVYUllVakJ5Um1oaFpFUnpkbFJuVVhZNGF3cEdlbkV5TjNkS2RUaHZUV2hIWTJWb2VGUlRXVUpyWjNGWVUzYzNPR2xsTVZadk1XVlBMMGxTYlhsM1ZtMWlhM2M1TWswcldtZFdOV0Z3VERCNlNYRnNDbFEzWmtkekszWTViREkwYkM4eGFIbExVekZCU1ZKTmVrRkljMGw1YVdWdE1GUkZUM0Z6WVVVNVFYWjBlWEZZZEZKblBUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIHNlcnZlcjogaHR0cHM6Ly9jOTA3ZTgzMi0zMDgwLTQ4YTYtYTU0ZC03Mzc5ZTY0NWMwYjcudnVsdHItazhzLmNvbTo2NDQzCiAgbmFtZTogdmtlCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiB2a2UKICAgIHVzZXI6IGFkbWluCiAgbmFtZTogdmtlCmN1cnJlbnQtY29udGV4dDogdmtlCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJWUkVORFFXcHBaMEYzU1VKQlowbEpUVmg0VTFOSGRFRnliR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkVWVrVk1UVUZyUjBFeFZVVUtRbWhOUTFaV1RYaEdha0ZWUW1kT1ZrSkJZMVJFVms1b1ltbENSMk50Um5WWk1teDZXVEk0ZUVWNlFWSkNaMDVXUWtGdlZFTnJkREZaYlZaNVltMVdNQXBhV0UxNFJYcEJVa0puVGxaQ1FVMVVRMnQwTVZsdFZubGliVll3V2xoTmQwaG9ZMDVOYWtWM1RucEJlVTFVU1hoTmVrRjVWMmhqVGsxcVNYZE9la0Y1Q2sxVVNYaE5la0Y1VjJwQ1QwMVJjM2REVVZsRVZsRlJSMFYzU2xaVmVrVlhUVUpSUjBFeFZVVkNlRTFPVlRKR2RVbEZXbmxaVnpWcVlWaE9hbUo2UlZnS1RVSlZSMEV4VlVWRGFFMVBZek5zZW1SSFZuUlBiVEZvWXpOU2JHTnVUWGhFYWtGTlFtZE9Wa0pCVFZSQ1YwWnJZbGRzZFUxSlNVSkpha0ZPUW1kcmNRcG9hMmxIT1hjd1FrRlJSVVpCUVU5RFFWRTRRVTFKU1VKRFowdERRVkZGUVhselRIVndNSHBvYXpsUFVHODVWa05TTUZSbmJ6UTFORThyV0hOTVEyUXhDbE5CWVdKNmFtMVJaM1pEVVZKeFdEaEZUa0Z0VW5kbVdFUjNaRkJMWTFkbmFtcHpRaTlQU2pSR2F6TmpWWFZIVVdkNmFrRkRXVVJYVjNBM1RWaG1TM1VLVm5GeVNGTmtZMnhQWVV0dEwwbGpNMEkxWVd0a1pYcGxRVFJ4UzFGRlRrbFVSbXR1VkdSWVJ6RTFVV3MxU2tNMGNIWXpaa3M1ZUhVMldqZHhjVmRXVlFwdmVFMXdjR2huV1hGWFVsUkNSMnByT0hSRk5sbDZOazVZZGs5NkwxVXpNWEprV0ZOVFluYzRWakpxTUdnNU1FTlRMMkZLVkN0U01sRmxNRWh3YkZNeUNsSjBWek0yYlRjMFVGaHpXRGQ2Ym1aTVZWZEpaMGQxYjBvNVdYTkJNRFphUTFSVllrdFNTekV2V0haRmFGZHVPSGRtWTFCblRHTXlRWEJRTnpsMVlYa0taV0phZVV4SmFXOWFXRXRNVERWQ05tcEZaVkZWV2pGWlRFTjNSV0pCTXpWYVdYSm1lRTVCUmsxcFUwcDFTMnhhUlRWSGNYRlJTVVJCVVVGQ2IzcEZkd3BNZWtGUFFtZE9Wa2hST0VKQlpqaEZRa0ZOUTBGdlVYZElVVmxFVmxJd2JFSkNXWGRHUVZsSlMzZFpRa0pSVlVoQmQwbEhRME56UjBGUlZVWkNkMDFDQ2sxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUWpWbUwwdHJVVGxRV1d4WE1uQllUek13V1dSYVZHMUlhbWRhTm10RlFUUmhVelJvVWs4S2NqSldSbHBwUjBoUVluZGFZMjVuZFc1UVRXTnJaRmh2UWs5a1dsVkhkelpoYkUxaVFVOUZhRlpIUVVOSU5IcEhkM2RUUlZrMk5HRTJVV0ZsVFVaSWF3cHZkalU1UW1GclJIZFJkVlprTVdoMk1rcFZkMXB3WTFsTVZUZE5PWGRLWTI5a09FODBNM0EyVGxwTmNrVjBObHB2YmtsSWJGbEpkMGhFTWxWaGVYcHZDamhUVkhWeWNXVm5jakJvYzAwd1ltWlFRbkZzY25CdE9VTXZOV2hVVjJVemJ6STJiRFpNUTBabWFFdzBaamN5VURSaWFYWnNkVTVoYVc5UFp6QXZXVVlLZFVwd09WUjZkMnRuUWtSVE9DOU5hVTFUVDFwSFpVdHlia2hWYlhKa2FGbHpSbTFCVVRCRVRYWlJiMnh1TWtwVlRYSXlkWE4yU0VGcFJGWm9PVkZMWlFwM1lrSlRMMlJ3UW04M09UbEZRWHBpWkdaclpIcG5iVWhDU2k5WU4wVjNNR3B4Tm5Nek5YTkRNMUpqY0dNNFJrd0tMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGYjJkSlFrRkJTME5CVVVWQmVYTk1kWEF3ZW1ock9VOVFiemxXUTFJd1ZHZHZORFUwVHl0WWMweERaREZUUVdGaWVtcHRVV2QyUTFGU2NWZzRDa1ZPUVcxU2QyWllSSGRrVUV0alYyZHFhbk5DTDA5S05FWnJNMk5WZFVkUlozcHFRVU5aUkZkWGNEZE5XR1pMZFZaeGNraFRaR05zVDJGTGJTOUpZek1LUWpWaGEyUmxlbVZCTkhGTFVVVk9TVlJHYTI1VVpGaEhNVFZSYXpWS1F6Undkak5tU3psNGRUWmFOM0Z4VjFaVmIzaE5jSEJvWjFseFYxSlVRa2RxYXdvNGRFVTJXWG8yVGxoMlQzb3ZWVE14Y21SWVUxTmlkemhXTW1vd2FEa3dRMU12WVVwVUsxSXlVV1V3U0hCc1V6SlNkRmN6Tm0wM05GQlljMWczZW01bUNreFZWMGxuUjNWdlNqbFpjMEV3TmxwRFZGVmlTMUpMTVM5WWRrVm9WMjQ0ZDJaalVHZE1ZekpCY0ZBM09YVmhlV1ZpV25sTVNXbHZXbGhMVEV3MVFqWUtha1ZsVVZWYU1WbE1RM2RGWWtFek5WcFpjbVo0VGtGR1RXbFRTblZMYkZwRk5VZHhjVkZKUkVGUlFVSkJiMGxDUVVKaWN6VXpUQzlJUm5CTmFESmpjd3A1Tm5WdVVFRmpRMHQwU1VzNGVVMXBObll6VkRCWVdVWjVSRTFzTlVGdk5EVnJSVFJhTjNWTlVsZExjbTUxV0VsT1NtdG5WSFE0Tmpndk1FSnVURWMyQ2xVd05tazRaMDlvUkRWME4ySlFkMHRZYlM5eFN6RktUVUY1WkRkSWIzQmhPVE4yYVV0dlNYa3pMemxwWjB4Tk0yRkZkRXB2Vlc5S2NUaDJaMDFxVDNRS2MxWk5aMVJWVmpKVVVYZGFUR056ZEdFNU5YTlphamh1V214S2QyczNhSHBFTmtFemNUSTBhRVJ0YUU1a2FUZ3dSSEJEVDJjMk1IbFpTaXQ2Y0dab1dBcHZORkJPTlhsTVZGaFhkSG80SzJ0UllqaDZaR3B0Wms5a1pHVnJaeTlOTTA1T1pUY3JPRVZHV2tJMWExWkRkbEV3UmxoSVIxRlZPREUzV1dNdlNEZHZDamhpVFZsM2QySlZRbEppTkdobmVWWnZkemxVV2s5YVkwMXVMM2xoYVd3M1JtVmljblpGU2s5dVJtdG9Wa3BoUlRKdVlWSlJjbEJ1TmtORWRVdEdXRGdLUTJNM2JHZGhSVU5uV1VWQmVuZEVURlpFY1UxWlYxcHNiWFJUYzJGdWVGaEJhMnBwUW5GVWFreFhTbGRIZVZSTk0xZEtUM2RzZG1GWk9FTlRiSHB5TkFwelMyOTNOMXByT0doQ1ZXSm1WRFJCV1ZWTlpVRlBSV0p2UkhCTVpYQTBURmxYU0hSUmJuQkpWakY1ZURSMVdWZHlSM28yZVhSemVGbE1MMnRvYTBSMENtUnVRVTFDVTBOdlZXOW1VVWczSzBWa2NHdFpZbGxrYW05bFZuWXdlalpPVG1SQ1ZYSk9VbFpQWlc1NFR6WkllR1JIZDNwSFUxVkRaMWxGUVN0elJXVUtVMk5wU0RSbWIybDVkRlZNWW5VMVJVVmtaM0YwTDFseUszTmtVMjl6TURGTWVtOXpSVU4wZGpFMGJrNHZWVlpIYTI5WE5UUTRVVEpOYmtkeUswSTFLd3BvUkRCME1XTXpXQ3RPT1dOc2FYRXdWVzVGZVhad09DOXhWblJUZGxSYWFscEdOVTFKTXpadWJqWXhVVkkxV0hOcFNEVmhWbWQyUlRoYWNFNTBSbHBsQ21sWlRVNHpRM2R6VjNCb1drMUJTV2hVZDI1S1RVOVZlVXhHVlhWT05rTjNhelJFUlhacVZVTm5XVUZ2UWs5R1MxVldPV1ZZVTNRM1pWYzBlakJCU1VzS1VWRnFhR1V2VFc1cVVVWlZhMmhNUWtsbldsUTRUMjlTY1hWTmMwNVplSEZ4ZUhneVkzTXJUMUZZTld4QmFESlZjME5OVjNwSE5Va3hZbmhPTkd0M1ZRbzRXbVZ4TmtoVlpqTndNMDVZWlc4MFVEUkdhM2R0WlZSaGMxaEdXbkozUW5vM2RXcExhVTFuWjFnd2RFSm9kVmg1YUZVNE5UVllUbU5OZG1weVVUUnFDblo2YWk5cFRGWktWWFkzSzBwc2NrWjRWREZFZFZGTFFtZEhZbkJrVmxoUk1FUjJiRmhtZDJrellrNXJXa1pzZVdZeU0wdDNXbWRHTUVKMGVUTjJORWtLUVU5bFRpOUVVRmx2WTNKMFkwbzFXRGxqWms0d2JsSXphRW95Y2xocU9VWnZTbU5qUTFOU2FDOHllU3RGUVRJMU1scHhNRmgyZEZKMVN6Vm9UVkFyVkFwV0szQkdXU3RSTjNwRVVHeERlRTlzZWpoME5uWjRVblJSVEVSbWRHRk1ORkF5Y2paVmFWaEpWM1Z3UTBwWmREZDBOaXQ1YTFKdWVYZzJiMkUzTHpGS0NtNTJWakZCYjBkQlRtRkZSV1VyZERoNGFXUlFaeXRIUm5FemN6VkhUa1pPU0VKQmMzcG1NV3BxVFdwdmF6ZEtiMmxyWWxaVU1FNUJWVmhLZEdWclNra0taekZPVUd0UVQxSjRWakZWY0dKUGVsUXJhMWhyTjBwVmExTTNiVE0zV0VneWRuUm1abVIxTlhFNVEzWkhObkZaYW1OcVpVOHZSRWhzYUZWRmNrMUpXUXBsVHpSQk9FOUNWRWgwUVRkM01XTjVVa2hIVUZWUE1VRlFiRXRTTWtWVU9XMXVOeXROV0hSRU1GQmxjRWh2TVV0UU9VRTlDaTB0TFMwdFJVNUVJRkpUUVNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQo= schema: $ref: '#/components/schemas/get_kubernetes_clusters_config_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Kubernetes Cluster Kubeconfig tags: - kubernetes x-accepts: application/json /kubernetes/versions: get: description: Get a list of supported Kubernetes versions operationId: get-kubernetes-versions responses: "200": content: application/json: examples: example: value: versions: - v1.20.0+1 schema: $ref: '#/components/schemas/get_kubernetes_versions_200_response' description: OK "404": description: Not Found security: [] summary: Get Kubernetes Versions tags: - kubernetes x-accepts: application/json /billing/history: get: description: Retrieve list of billing history operationId: list-billing-history responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_billing_history_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Billing History tags: - billing x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/billing/history" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /billing/invoices: get: description: Retrieve a list of invoices operationId: list-invoices responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/list_invoices_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: List Invoices tags: - billing x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/billing/invoices" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /billing/invoices/{invoice-id}: get: description: Retrieve specified invoice operationId: get-invoice parameters: - description: ID of invoice explode: false in: path name: invoice-id required: true schema: type: string style: simple responses: "200": content: application/json: examples: example-1: value: billing_invoice: id: 123456 description: Account Credit date: 09-01-2021T00:00:00+00:00 amount: 5.25 schema: $ref: '#/components/schemas/get_invoice_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Invoice tags: - billing x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/billing/invoices/{invoice-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /billing/invoices/{invoice-id}/items: get: description: Retrieve full specified invoice operationId: get-invoice-items parameters: - description: ID of invoice explode: false in: path name: invoice-id required: true schema: type: string style: simple responses: "200": content: application/json: 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: "" schema: $ref: '#/components/schemas/get_invoice_items_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Get Invoice Items tags: - billing x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/billing/invoices/{invoice-id}/items" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/plans: get: description: List all Managed Databases plans. operationId: list-database-plans parameters: - description: |- Filter by engine type * `mysql` * `pg` * `redis`. explode: true in: query name: engine required: false schema: type: string style: form - description: Filter by number of nodes. explode: true in: query name: nodes required: false schema: type: integer style: form - description: "Filter by [Region id](#operation/list-regions)." explode: true in: query name: region required: false schema: type: string style: form responses: "200": content: application/json: 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 redis: false max_connections: mysql: 75 pg: 22 locations: - DEV - ICN - SEA schema: $ref: '#/components/schemas/list_database_plans_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Managed Database Plans tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/plans" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases: get: description: List all Managed Databases in your account. operationId: list-databases parameters: - description: Filter by label. explode: true in: query name: label required: false schema: type: string style: form - description: Filter by specific tag. explode: true in: query name: tag required: false schema: type: string style: form - description: "Filter by [Region id](#operation/list-regions)." explode: true in: query name: region required: false schema: type: string style: form responses: "200": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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 schema: $ref: '#/components/schemas/list_databases_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Managed Databases tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new Managed Database in a `region` with the desired `plan`. Supply optional attributes as desired. operationId: create-database requestBody: content: application/json: examples: request: value: database_engine: mysql database_engine_version: "8" region: ewr plan: vultr-dbaas-hobbyist-cc-1-25-1 label: Example Managed Database schema: $ref: '#/components/schemas/create_database_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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: - '...' schema: $ref: '#/components/schemas/create_database_202_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Create Managed Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "database_engine" : "mysql", "database_engine_version" : "8" "region" : "ewr", "plan" : "vultr-dbaas-hobbyist-cc-1-25-1", "label" : "Example Managed Database" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}: delete: description: Delete a Managed Database. operationId: delete-database parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Managed Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a Managed Database. operationId: get-database parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple responses: "200": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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: - '...' schema: $ref: '#/components/schemas/create_database_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Managed Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: "Update information for a Managed Database. All attributes are\ \ optional. If not set, the attributes will retain their original values." operationId: update-database parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: plan: vultr-dbaas-startup-cc-1-55-2 label: Example Managed Database schema: $ref: '#/components/schemas/update_database_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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: - '...' schema: $ref: '#/components/schemas/create_database_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Update Managed Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "plan" : "vultr-dbaas-startup-cc-1-55-2", "label" : "Example Managed Database" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/usage: get: description: "Get disk, memory, and vCPU usage information for a Managed Database." operationId: get-database-usage responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/get_database_usage_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Database Usage Information tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/usage" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/{database-id}/users: get: description: List all database users within the Managed Database. operationId: list-database-users responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/list_database_users_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Database Users tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new database user within the Managed Database. Supply optional attributes as desired. operationId: create-database-user requestBody: content: application/json: examples: request: value: username: some_new_user password: some_secure_password encryption: caching_sha2_password schema: $ref: '#/components/schemas/create_database_user_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: user: value: user: username: some_new_user password: some_secure_password encryption: Default (MySQL 8+) schema: $ref: '#/components/schemas/create_database_user_202_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Create Database User tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/users" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "username" : "some_new_user", "password" : "some_secure_password", "encryption" : "ewrcaching_sha2_password" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/users/{username}: delete: description: Delete a database user within a Managed Database. operationId: delete-database-user parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [database user](#operation/list-database-users)." explode: false in: path name: username required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Database User tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/users/{username}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a Managed Database user. operationId: get-database-user parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [database user](#operation/list-database-users)." explode: false in: path name: username required: true schema: type: string style: simple responses: "200": content: application/json: examples: user: value: user: username: some_username password: some_secure_password encryption: Default (MySQL 8+) schema: $ref: '#/components/schemas/create_database_user_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Database User tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/users/{username}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update database user information within a Managed Database. operationId: update-database-user parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [database user](#operation/list-database-users)." explode: false in: path name: username required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: password: some_new_password_here schema: $ref: '#/components/schemas/update_database_user_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: user: value: user: username: some_username password: some_secure_password encryption: Default (MySQL 8+) schema: $ref: '#/components/schemas/create_database_user_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Update Database User tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/users/{username}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "password" : "some_new_password_here" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/users/{username}/access-control: put: description: Configure access control settings for a Managed Database user (Redis engine type only). operationId: set-database-user-acl parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [database user](#operation/list-database-users)." explode: false in: path name: username required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: redis_acl_categories: - +@all redis_acl_channels: - '*' redis_acl_commands: [] redis_acl_keys: - '*' schema: $ref: '#/components/schemas/set_database_user_acl_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: user: value: user: username: some_username password: some_secure_password access_control: redis_acl_categories: - +@all redis_acl_channels: - '*' redis_acl_commands: [] redis_acl_keys: - '*' schema: $ref: '#/components/schemas/create_database_user_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "422": description: Validation Error security: - API Key: [] 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" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "redis_acl_categories" : [ "+@all" ], "redis_acl_channels" : [ "*" ], "redis_acl_commands" : [], "redis_acl_keys" : [ "*" ] }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/dbs: get: description: List all logical databases within the Managed Database (MySQL and PostgreSQL only). operationId: list-database-dbs responses: "200": content: application/json: examples: dbs: value: dbs: - name: defaultdb - name: another_db meta: total: 2 schema: $ref: '#/components/schemas/list_database_dbs_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Logical Databases tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/dbs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new logical database within the Managed Database (MySQL and PostgreSQL only). operationId: create-database-db requestBody: content: application/json: examples: request: value: name: new_db_name schema: $ref: '#/components/schemas/create_database_db_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: db: value: db: name: new_db_name schema: $ref: '#/components/schemas/create_database_db_202_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Create Logical Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/dbs" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "new_db_name" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/dbs/{db-name}: delete: description: Delete a logical database within a Managed Database (MySQL and PostgreSQL only). operationId: delete-database-db parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [logical database name](#operation/list-database-dbs)." explode: false in: path name: db-name required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Delete Logical Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a logical database within a Managed Database (MySQL and PostgreSQL only). operationId: get-database-db parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [logical database name](#operation/list-database-dbs)." explode: false in: path name: db-name required: true schema: type: string style: simple responses: "200": content: application/json: examples: db: value: db: name: some_db_name schema: $ref: '#/components/schemas/create_database_db_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Logical Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/{database-id}/maintenance: get: description: List all available version upgrades within the Managed Database. operationId: list-maintenance-updates responses: "200": content: application/json: examples: available_updates: value: available_updates: - update_description_here - another_description_here schema: $ref: '#/components/schemas/list_maintenance_updates_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Maintenance Updates tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/maintenance" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Start maintenance updates for the Managed Database. operationId: start-maintenance-updates responses: "200": content: application/json: 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. schema: $ref: '#/components/schemas/start_maintenance_updates_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Start Maintenance Updates tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/maintenance" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/{database-id}/alerts: post: description: List service alert messages for the Managed Database. operationId: list-service-alerts requestBody: content: application/json: examples: request: value: period: day schema: $ref: '#/components/schemas/list_service_alerts_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: 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) schema: $ref: '#/components/schemas/list_service_alerts_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: List Service Alerts tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/alerts \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "period" : "day" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/migration: delete: description: Detach a migration from the Managed Database. operationId: database-detach-migration responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] summary: Detach Migration tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/migration" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: View the status of a migration attached to the Managed Database. operationId: view-migration-status responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/view_migration_status_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Migration Status tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/migration" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Start a migration to the Managed Database. operationId: database-start-migration requestBody: content: application/json: examples: request: value: host: some_host port: 3306 username: some_username password: some_password database: some_database ignored_databases: "" ssl: true schema: $ref: '#/components/schemas/database_start_migration_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/view_migration_status_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Start Migration tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/migration" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "host" : "some_host", "port" : 3306, "username" : "some_username", "password" : "some_password", "database" : "some_database", "ssl" : true }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/read-replica: post: description: Create a read-only replica node for the Managed Database. operationId: database-add-read-replica requestBody: content: application/json: examples: request: value: region: ewr label: new_read_replica_label schema: $ref: '#/components/schemas/database_add_read_replica_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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 schema: $ref: '#/components/schemas/create_database_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Add Read-Only Replica tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/read-replica" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "ewr", "label" : "new_read_replica_label" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/promote-read-replica: post: description: Promote a read-only replica node to its own primary Managed Database. operationId: database-promote-read-replica responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] 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" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/{database-id}/backups: get: description: Get backup information for the Managed Database. operationId: get-backup-information responses: "200": content: application/json: examples: backups: value: latest_backup: date: 2023-02-07 time: 20:51:05 oldest_backup: date: 2023-02-05 time: 20:51:07 schema: $ref: '#/components/schemas/get_backup_information_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: Get Backup Information tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/backups \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /databases/{database-id}/restore: post: description: Create a new Managed Database from a backup. operationId: database-restore-from-backup requestBody: content: application/json: examples: request: value: label: new_restore_label type: pitr date: 2023-02-06 time: 08:00:00 schema: $ref: '#/components/schemas/database_restore_from_backup_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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 schema: $ref: '#/components/schemas/create_database_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Restore from Backup tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/restore" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "new_restore_label", "type" : "pitr", "date" : "2023-02-06", "time" : "08:00:00" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/fork: post: description: Fork a Managed Database to a new subscription from a backup. operationId: database-fork requestBody: content: application/json: 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 schema: $ref: '#/components/schemas/database_fork_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: 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 latest_backup: 2022-11-02 12:58:18" trusted_ips: - '...' 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 schema: $ref: '#/components/schemas/create_database_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Fork Managed Database tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/fork" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "label" : "new_fork_label", "region" : "sea", "plan" : "vultr-dbaas-startup-cc-2-80-4", "type" : "pitr", "date" : "2023-02-06", "time" : "08:00:00" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/connection-pools: get: description: List all connection pools within the Managed Database (PostgreSQL engine types only). operationId: list-connection-pools responses: "200": content: application/json: 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 schema: $ref: '#/components/schemas/list_connection_pools_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Connection Pools tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/connection-pools" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Create a new connection pool within the Managed Database (PostgreSQL engine types only). operationId: create-connection-pool requestBody: content: application/json: examples: request: value: name: new_connection_pool database: some_database username: some_user mode: transaction size: 5 schema: $ref: '#/components/schemas/create_connection_pool_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: connection_pool: value: connection_pool: name: new_connection_pool database: some_database username: some_user mode: transaction size: 5 schema: $ref: '#/components/schemas/create_connection_pool_202_response' description: Created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Create Connection Pool tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/connection-pools" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "name" : "new_connection_pool", "database" : "some_database", "username" : "some_user", "mode" : "transaction", "size" : 5 }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/connection-pools/{pool-name}: delete: description: Delete a connection pool within a Managed Database (PostgreSQL engine types only). operationId: delete-connection-pool parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [connection pool name](#operation/list-connection-pools)." explode: false in: path name: pool-name required: true schema: type: string style: simple responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found security: - API Key: [] 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}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get information about a Managed Database connection pool (PostgreSQL engine types only). operationId: get-connection-pool parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [connection pool name](#operation/list-connection-pools)." explode: false in: path name: pool-name required: true schema: type: string style: simple responses: "200": content: application/json: examples: connection_pool: value: connection_pool: name: some_connection_pool database: some_database username: some_user mode: transaction size: 5 schema: $ref: '#/components/schemas/create_connection_pool_202_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] 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}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update connection-pool information within a Managed Database (PostgreSQL engine types only). operationId: update-connection-pool parameters: - description: "The [Managed Database ID](#operation/list-databases)." explode: false in: path name: database-id required: true schema: type: string style: simple - description: "The [connection pool name](#operation/list-connection-pools)." explode: false in: path name: pool-name required: true schema: type: string style: simple requestBody: content: application/json: examples: request: value: mode: session schema: $ref: '#/components/schemas/update_connection_pool_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: examples: connection_pool: value: connection_pool: name: some_connection_pool database: some_database username: some_user mode: transaction size: 5 schema: $ref: '#/components/schemas/create_connection_pool_202_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "404": description: Not Found "422": description: Validation Error security: - API Key: [] 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}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "mode" : "session" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/advanced-options: get: description: List all configured and available advanced options for the Managed Database (PostgreSQL engine types only). operationId: list-advanced-options responses: "200": content: application/json: 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 - '...' schema: $ref: '#/components/schemas/list_advanced_options_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Advanced Options tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Updates an advanced configuration option for the Managed Database (PostgreSQL engine types only). operationId: update-advanced-options requestBody: content: application/json: examples: request: value: jit: false temp_file_limit: 10000 track_io_timing: "off" schema: $ref: '#/components/schemas/update_advanced_options_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "202": content: application/json: 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 - '...' schema: $ref: '#/components/schemas/list_advanced_options_200_response' description: Accepted "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Update Advanced Options tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "jit" : false, "temp_file_limit" : 10000, "track_io_timing" : "off" }' x-content-type: application/json x-accepts: application/json /databases/{database-id}/version-upgrade: get: description: List all available version upgrades within the Managed Database (PostgreSQL engine types only). operationId: list-available-versions responses: "200": content: application/json: examples: available_versions: value: available_versions: - "12" - "13" - "14" - "15" schema: $ref: '#/components/schemas/list_available_versions_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found security: - API Key: [] summary: List Available Versions tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/version-upgrade" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json post: description: Start a version upgrade for the Managed Database (PostgreSQL engine types only). operationId: start-version-upgrade requestBody: content: application/json: examples: request: value: version: "15" schema: $ref: '#/components/schemas/start_version_upgrade_request' description: Include a JSON object in the request body with a content type of **application/json**. responses: "200": content: application/json: examples: message: value: message: Version upgrade successfully initialized. schema: $ref: '#/components/schemas/start_version_upgrade_200_response' description: OK "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "422": description: Validation Error security: - API Key: [] summary: Start Version Upgrade tags: - managed-databases x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/databases/{database-id}/version-upgrade" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "version" : "15" }' x-content-type: application/json x-accepts: application/json /registries: get: description: List All Container Registry Subscriptions for this account operationId: list-registries responses: "200": content: application/json: schema: $ref: '#/components/schemas/list_registries_200_response' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: List Container Registries tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registries" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /registry: post: description: Create a new Container Registry Subscription operationId: create-registry requestBody: content: application/json: examples: example: value: name: charizard public: false region: sjc plan: business schema: $ref: '#/components/schemas/create_registry_request' responses: "201": content: application/json: schema: $ref: '#/components/schemas/registry' description: OK "401": description: Unauthorized "422": description: Bad Request security: - API Key: [] summary: Create Container Registry tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registries" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "sjc", "name" : "charizard", "plan" : "business", "public" : false }' x-content-type: application/json x-accepts: application/json /registry/{registry-id}: delete: description: Deletes a Container Registry Subscription operationId: delete-registry parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple responses: "204": description: No Content - Successfully Deleted "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Delete Container Registry tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get a single Container Registry Subscription operationId: read-registry parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/registry' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Read Container Registry tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update a Container Registry Subscription operationId: update-registry parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: public: true plan: business schema: $ref: '#/components/schemas/update_registry_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/registry' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Update Container Registry tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "region" : "sjc", "name" : "charizard", "plan" : "business", "public" : false }' x-content-type: application/json x-accepts: application/json /registry/{registry-id}/repositories: get: description: List All Repositories in a Container Registry Subscription operationId: list-registry-repositories parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/list_registry_repositories_200_response' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: List Repositories tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/repositories" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /registry/{registry-id}/repository/{repository-image}: delete: description: Deletes a Repository from a Container Registry Subscription operationId: delete-repository parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple - description: "The [Repository Image](#components/schemas/registry-repository/properties/image).\ \ Which can be found by [List Repositories](#operation/list-registry-repositories)." explode: false in: path name: repository-image required: true schema: type: string style: simple responses: "204": description: No Content - Successfully Deleted "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Delete Repository tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json get: description: Get a single Repository in a Container Registry Subscription operationId: read-registry-repository parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple - description: "The [Repository Image](#components/schemas/registry-repository/properties/image).\ \ Which can be found by [List Repositories](#operation/list-registry-repositories)." explode: false in: path name: repository-image required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/registry-repository' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Read Repository tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json put: description: Update a Repository in a Container Registry Subscription operationId: update-repository parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple - description: "The [Repository Image](#components/schemas/registry-repository/properties/image).\ \ Which can be found by [List Repositories](#operation/list-registry-repositories)." explode: false in: path name: repository-image required: true schema: type: string style: simple requestBody: content: application/json: examples: example: value: description: This is my super cool hello-world project schema: $ref: '#/components/schemas/update_repository_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/registry-repository' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Update Repository tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/json" \ --data '{ "description" : "his is my super cool hello-world project" }' x-content-type: application/json x-accepts: application/json /registry/{registry-id}/docker-credentials?expiry_seconds=0&read_write=false: options: description: Create a fresh set of Docker Credentials for this Container Registry Subscription operationId: create-registry-docker-credentials parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple - description: "The seconds until these credentials expire. When set to 0, credentials\ \ do not expire. The default value is 0" explode: true in: query name: expiry_seconds required: false schema: type: integer style: form - 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." explode: true in: query name: read_write required: false schema: type: boolean style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/registry-docker-credentials' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Create Docker Credentials tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/docker-credentials" \ -X OPTIONS \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /registry/{registry-id}/docker-credentials/kubernetes?expiry_seconds=0&read_write=false&base64_encode=false: options: 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 parameters: - description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple - description: "The seconds until these credentials expire. When set to 0, credentials\ \ do not expire. The default value is 0" explode: true in: query name: expiry_seconds required: false schema: type: integer style: form - 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." explode: true in: query name: read_write required: false schema: type: boolean style: form - 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." explode: true in: query name: base64_encode required: false schema: type: boolean style: form responses: "200": content: application/yaml: schema: $ref: '#/components/schemas/registry-kubernetes-docker-credentials' description: OK "401": description: Unauthorized "404": description: Not Found "422": description: Bad Request security: - API Key: [] summary: Create Docker Credentials for Kubernetes tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/{registry-id}/docker-credentials/kubernetes" \ -X OPTIONS \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/yaml /registry/region/list: get: description: List All Regions where a Container Registry can be deployed operationId: list-registry-regions responses: "200": content: application/json: schema: $ref: '#/components/schemas/list_registry_regions_200_response' description: OK "401": description: Unauthorized "422": description: Bad Request security: - API Key: [] summary: List Registry Regions tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/region/list" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json /registry/plan/list: get: description: List All Plans to help choose which one is the best fit for your Container Registry operationId: list-registry-plans responses: "200": content: application/json: schema: $ref: '#/components/schemas/list_registry_plans_200_response' description: OK "401": description: Unauthorized "422": description: Bad Request security: - API Key: [] summary: List Registry Plans tags: - Container Registry x-codeSamples: - lang: Curl source: |- curl "https://api.vultr.com/v2/registry/plan/list" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" x-accepts: application/json components: parameters: registry-id: description: "The [Registry ID](#components/schemas/registry/properties/id).\ \ Which can be found by [List Registries](#operation/list-registries)." explode: false in: path name: registry-id required: true schema: type: string style: simple repository-image: description: "The [Repository Image](#components/schemas/registry-repository/properties/image).\ \ Which can be found by [List Repositories](#operation/list-registry-repositories)." explode: false in: path name: repository-image required: true schema: type: string style: simple docker-credentials-expiry-seconds: description: "The seconds until these credentials expire. When set to 0, credentials\ \ do not expire. The default value is 0" explode: true in: query name: expiry_seconds required: false schema: type: integer style: form docker-credentials-read-write: 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." explode: true in: query name: read_write required: false schema: type: boolean style: form kubernetes-docker-credentials-base64-encode: 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." explode: true in: query name: base64_encode required: false schema: type: boolean style: form schemas: billing: description: Invoice example: date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0.8008281904610115 type: type properties: id: description: ID of the billing history item type: number date: description: Date billing history item was generated type: string type: description: Type of billing history item type: string description: description: Description of billing history item type: string amount: description: Amount for the billing history item in dollars type: number balance: description: The accounts balance in dollars type: number title: billing 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 invoice: example: date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0 properties: id: description: ID of the invoice type: integer date: description: Date invoice was generated type: string description: description: description of item type: string amount: description: Amount due in dollars type: number balance: description: Account balance amount in dollars type: number 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 vke-cluster: description: VKE Cluster example: firewall_group_id: firewall_group_id ha_controlplanes: true date_created: date_created ip: ip label: label version: version endpoint: endpoint cluster_subnet: cluster_subnet service_subnet: service_subnet node_pools: - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status id: id region: region status: status properties: id: description: ID for the VKE cluster type: string firewall_group_id: description: "The [Firewall Group id](#operation/list-firewall-groups) linked\ \ to this cluster." type: string label: description: Label for your cluster type: string date_created: description: Date of creation type: string cluster_subnet: description: IP range that your pods will run on in this cluster type: string service_subnet: description: IP range that services will run on this cluster type: string ip: description: IP for your Kubernetes Clusters Control Plane type: string endpoint: description: Domain for your Kubernetes Clusters Control Plane type: string version: description: Version of Kubernetes this cluster is running on type: string region: description: Region this Kubernetes Cluster is running in type: string status: description: Status for VKE cluster type: string ha_controlplanes: description: |- Whether a highly available control planes configuration has been deployed * true * false (default) type: boolean node_pools: description: NodePools in this cluster items: $ref: '#/components/schemas/nodepools' type: array 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 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 nodepool-instances: description: Instance that belongs to a nodepool example: date_created: date_created id: id label: label properties: id: description: ID of the nodepool instance type: string label: description: Label of the nodepool instance type: string date_created: description: Date of creation type: string title: nodepool-instances type: object 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 nodepools: description: NodePool example: nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status properties: id: description: "The [NodePool ID](#operation/get-nodepools)." type: string date_created: description: Date of creation type: string label: description: Label for nodepool type: string tag: description: Tag for node pool type: string plan: description: Plan used for nodepool type: string status: description: Status for nodepool type: string node_quantity: description: Number of nodes in nodepool type: integer nodes: items: $ref: '#/components/schemas/nodepool-instances' type: array date_updated: description: Date the nodepool was updated. type: string auto_scaler: description: Displays if the auto scaler is enabled or disabled for your cluster. type: boolean min_nodes: description: Auto scaler field that displays the minimum nodes you want for your cluster. type: integer max_nodes: description: Auto scaler field that displays the maximum nodes you want for your cluster. type: integer 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 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 x-tags: - kubernetes network: deprecated: true description: Network information. example: date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: id: description: A unique ID for the Private Network. type: string region: description: "The [Region id](#operation/list-regions) where the network\ \ is located." type: string date_created: description: Date the network was created. type: string description: description: A description of the private network. type: string v4_subnet: description: "The IPv4 network address. For example: 10.99.0.0" type: string v4_subnet_mask: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24" type: integer required: - id 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 x-tags: - Private Networks vpc: description: VPC information. example: date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: id: description: A unique ID for the VPC. type: string region: description: "The [Region id](#operation/list-regions) where the VPC is\ \ located." type: string date_created: description: Date the VPC was created. type: string description: description: A description of the VPC. type: string v4_subnet: description: "The IPv4 VPC address. For example: 10.99.0.0" type: string v4_subnet_mask: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24" type: integer required: - id 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 x-tags: - VPCs vpc2: description: VPC 2.0 information. example: date_created: date_created description: description id: id prefix_length: 0 region: region ip_block: ip_block properties: id: description: A unique ID for the VPC. type: string region: description: "The [Region id](#operation/list-regions) where the VPC is\ \ located." type: string date_created: description: Date the VPC was created. type: string description: description: A description of the VPC. type: string ip_block: description: "The VPC subnet IP address. For example: 10.99.0.0" type: string prefix_length: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24" type: integer required: - id 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 x-tags: - VPC instance-vpc2: description: VPC 2.0 information. example: mac_address: mac_address id: id ip_address: ip_address properties: id: description: A unique ID for the VPC. type: string mac_address: description: The MAC address to use for this instance on the attached VPC 2.0 network. type: string ip_address: description: The IP address to use for this instance on the attached VPC 2.0 network. type: string required: - id 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 x-tags: - VPC user: description: User information. example: user: password: password acls: - acls - acls api_enabled: true name: name id: id email: email properties: user: $ref: '#/components/schemas/user_user' title: user type: object x-tags: - users 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 startup: description: Startup Script information. example: date_modified: date_modified date_created: date_created name: name id: id type: type script: script properties: id: description: A unique ID for the Startup Script. type: string date_created: description: The date the Startup Script was created. type: string date_modified: description: The date the Startup Script was last modified. type: string name: description: The user-supplied name of the Startup Script. type: string script: description: The base-64 encoded Startup Script. type: string type: description: |- The Startup Script type. * boot * pxe type: string title: startup type: object x-tags: - startup 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== ssh: description: SSH Key information. example: date_created: date_created name: name ssh_key: ssh_key id: id properties: id: description: A unique ID for the SSH Key. type: string date_created: description: The date this SSH Key was created. type: string name: description: The user-supplied name for this SSH Key. type: string ssh_key: description: The SSH Key. type: string 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 x-tags: - ssh snapshot: description: Snapshot information. example: size: 0 date_created: date_created os_id: 6 description: description id: id app_id: 1 status: status properties: id: description: A unique ID for the Snapshot. type: string date_created: description: The date this snapshot was created. type: string description: description: The user-supplied description of the Snapshot. type: string size: description: The snapshot size in bytes. type: integer status: description: |- The Snapshot status. * pending * complete * deleted type: string os_id: description: "The [Operating System id](#operation/list-os) for this Snapshot." type: integer app_id: description: "The [Application id](#operation/list-applications) for this\ \ snapshot." type: integer 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 x-tags: - snapshot subaccount: description: Sub-account information. example: balance: "" pending_charges: "" subaccount_id: subaccount_id id: id subaccount_name: subaccount_name email: email activated: true properties: id: description: A unique ID for the sub-account. type: string email: description: The email address of this sub-account. type: string subaccount_name: description: Your name for this sub-account. type: string subaccount_id: description: Your ID for this sub-account. type: string activated: description: Has this sub-account been activated or not. type: boolean balance: description: The current balance of the sub-account. type: float pending_charges: description: Charges due for this sub-account at the end of the billing period. type: float 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 x-tags: - subaccount reserved-ip: description: Reserved IP information. example: subnet: subnet instance_id: instance_id id: id subnet_size: 0 label: label region: region ip_type: ip_type properties: id: description: A unique ID for the Reserved IP. type: string region: description: "The [Region id](#operation/list-regions) where the Reserved\ \ IP is located." type: string ip_type: description: |- The type of IP address. * v4 * v6 type: string subnet: description: The IP subnet. type: string subnet_size: description: The IP network size in bits. type: integer label: description: The user-supplied label. type: string instance_id: description: "The [Instance id](#operation/list-instances) attached to this\ \ Reserved IP." type: string 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 os: description: Operating System information. example: name: name id: 0 arch: arch family: family properties: id: description: The Operating System id. type: integer name: description: The Operating System description. type: string arch: description: The Operating System architecture. type: string family: description: 'The Operating System family. ' type: string title: os type: object x-tags: - os x-examples: os: id: 127 name: CentOS 6 x64 arch: x64 family: centos application: description: Application information. example: vendor: vendor name: name deploy_name: deploy_name short_name: short_name id: 0 type: type image_id: image_id properties: id: description: A unique ID for the application. type: integer name: description: The application name. type: string short_name: description: The short application name. type: string deploy_name: description: A long description of the application. type: string type: description: |- The type of application. * one-click - use app_id to deploy one-click applications. * marketplace - use image_id to deploy marketplace applications. type: string vendor: description: The application vendor name. type: string image_id: description: A unique ID for marketplace applications. type: string 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 x-tags: - application account: description: Account information. example: acls: - acls - acls balance: 0.8008281904610115 pending_charges: 6.027456183070403 name: name last_payment_date: last_payment_date email: email last_payment_amount: 1.4658129805029452 properties: name: description: Your user name. type: string email: description: Your email address. type: string acls: description: |- An array of permission granted. * manage\_users * subscriptions_view * subscriptions * billing * support * provisioning * dns * abuse * upgrade * firewall * alerts * objstore * loadbalancer items: type: string type: array balance: description: Your current account balance. type: number pending_charges: description: Unbilled charges for this month. type: number last_payment_date: description: Date of your last payment. type: string last_payment_amount: description: The amount of your last payment. type: number title: account type: object x-tags: - account 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 backup: description: Backup information. example: size: 0 date_created: date_created description: description id: id status: status properties: id: description: A unique ID for the backup. type: string date_created: description: The date the backup was created. type: string description: description: The user-supplied description of this backup. type: string size: description: The size of the backup in Bytes. type: integer status: description: |- The Backup status. * complete * pending type: string 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 x-tags: - backup blockstorage: description: Block Storage information. example: cost: 0 attached_to_instance: attached_to_instance date_created: date_created size_gb: 6 id: id label: label region: region mount_id: mount_id status: status properties: id: description: A unique ID for the Block Storage. type: string cost: description: The monthly cost of this Block Storage. type: integer status: description: |- The current status of this Block Storage. * active type: string size_gb: description: Size of the Block Storage in GB. type: integer region: description: "The [Region id](#operation/list-regions) where the Block Storage\ \ is located." type: string attached_to_instance: description: "The [Instance id](#operation/list-instances) with this Block\ \ Storage attached." type: string date_created: description: The date this Block Storage was created. type: string label: description: The user-supplied label. type: string mount_id: description: "An ID associated with the instance, when mounted the ID can\ \ be found in /dev/disk/by-id prefixed with virtio." type: string title: blockstorage type: object x-tags: - block 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 firewall-group: description: Firewall Group information. example: date_modified: date_modified date_created: date_created description: description id: id max_rule_count: 1 instance_count: 0 rule_count: 6 properties: id: description: A unique ID for the Firewall Group. type: string description: description: User-supplied description of this Firewall Group. type: string date_created: description: Date the Firewall Group was originally created. type: string date_modified: description: Date of the last modification to this Firewall Group. type: string instance_count: description: The number of instances linked to this Firewall Group. type: integer rule_count: description: The number of rules in this Firewall Group. type: integer max_rule_count: description: The maximum number of rules allowed for this Firewall Group. type: integer 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 firewall-rule: description: Firewall rule information. example: subnet: subnet protocol: protocol notes: notes port: port action: action id: 0 subnet_size: 6 source: source type: type ip_type: ip_type properties: id: description: A unique ID for the Firewall Rule. type: integer type: deprecated: true description: |- This field is deprecated. Use `ip_type` instead. The type of IP rule. * v4 * v6 type: string ip_type: description: |- The type of IP rule. * v4 * v6 type: string action: description: |- Action to take when this rule is met. * accept type: string protocol: description: | The protocol for this rule. * ICMP * TCP * UDP * GRE type: string port: description: Port or port range for this rule. type: string subnet: description: IP address representing a subnet. The IP address format must match with the "ip_type" parameter value. type: string subnet_size: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24" type: integer source: description: |- If the source string is given a value of "cloudflare" subnet and subnet_size will both be ignored. Possible values: | | Value | Description | | - | ------ | ------------- | | | "" | Use the value from `subnet` and `subnet_size`. | | | cloudflare | Allow all of Cloudflare's IP space through the firewall | type: string notes: description: User-supplied notes for this rule. type: string title: firewall-rule type: object x-tags: - firewall 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 iso: description: ISO information. example: sha512sum: sha512sum filename: filename size: 0 date_created: date_created md5sum: md5sum id: id status: status properties: id: description: A unique ID for the ISO. type: string date_created: description: Date the ISO was created. type: string filename: description: The ISO filename. type: string size: description: The ISO size in KB. type: integer md5sum: description: The calculated md5sum of the ISO. type: string sha512sum: description: The calculated sha512sum of the ISO. type: string status: description: |- The current status of the ISO. * complete * pending type: string title: iso type: object x-tags: - iso 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 iso-public: description: Public ISO information. example: md5sum: md5sum name: name description: description id: id properties: id: description: A unique ID for the Vultr Public ISO. type: string name: description: The short name of the Public ISO. type: string description: description: The long description of the Public ISO. type: string md5sum: type: string title: iso-public type: object x-tags: - iso x-examples: public iso: id: cb676a46-66fd-4dfb-b839-443f2e6c0b604 name: CentOS 7 description: 7 x86_64 Minimal md5sum: 7f4df50f42ee1b52b193e79855a3aa19 object-storage: description: Object Storage information. example: s3_secret_key: s3_secret_key cluster_id: 0 s3_access_key: s3_access_key date_created: date_created s3_hostname: s3_hostname id: id label: label region: region status: status properties: id: description: A unique ID for the Object Storage. type: string date_created: description: Date the Object Store was created. type: string cluster_id: description: "The [Cluster id](#operation/list-object-storage-clusters)." type: integer region: description: "The [Region id](#operation/list-regions) for this Object Storage." type: string label: description: The user-supplied label for this Object Storage. type: string status: description: |- The status of this Object Storage. * active * pending type: string s3_hostname: description: "The [Cluster hostname](#operation/list-object-storage-clusters)\ \ for this Object Storage." type: string s3_access_key: description: The Object Storage access key. type: string s3_secret_key: description: The Object Storage secret key. type: string 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 clusters: description: Object Storage Cluster information. example: hostname: hostname id: 0 region: region deploy: deploy properties: id: description: A unique ID for the Object Storage cluster. type: integer region: description: "The [Region id](#operation/list-regions) where the cluster\ \ is located." type: string hostname: description: The cluster host name. type: string deploy: description: |- The Cluster is eligible for Object Storage deployment. * yes * no type: string title: clusters type: object x-tags: - s3 x-examples: object storage cluster: id: 1 region: ewr hostname: ewr1.vultrobjects.com deploy: "yes" domain: description: DNS Domain information. example: date_created: date_created domain: domain dns_sec: dns_sec properties: domain: description: Your registered domain name. type: string date_created: description: Date the DNS Domain was created. type: string dns_sec: description: |- The domain's DNSSEC status * enabled * disabled type: string title: domain type: object x-tags: - dns x-examples: list of domains: domain: example.com date_created: 2020-10-10T01:56:20+00:00 dns-soa: description: SOA Record information. example: nsprimary: nsprimary email: email properties: nsprimary: description: Primary nameserver for this domain. type: string email: description: Domain contact email address. type: string title: dns-soa type: object x-tags: - dns x-examples: dns_soa: dns_soa: nsprimary: ns1.vultr.com email: admin@example.com dns-record: description: DNS Record information. example: data: data name: name id: id type: type priority: 0 ttl: 6 properties: id: description: A unique ID for the DNS Record. type: string type: description: |- The DNS record type. * A * AAAA * CNAME * NS * MX * SRV * TXT * CAA * SSHFP type: string name: description: The hostname for this DNS record. type: string data: description: The DNS data for this record type. type: string priority: description: DNS priority. Does not apply to all record types. type: integer ttl: description: Time to Live in seconds. type: integer title: dns-record type: object x-tags: - dns 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 loadbalancer: description: Load Balancer information. example: generic_info: sticky_sessions: cookie_name: cookie_name private_network: private_network ssl_redirect: true proxy_protocol: true vpc: vpc balancing_algorithm: balancing_algorithm instances: - instances - instances firewall_rules: - port: 3 id: id source: source ip_type: ip_type - port: 3 id: id source: source ip_type: ip_type date_created: date_created has_ssl: true label: label health_check: path: path response_timeout: 1 healthy_threshold: 5 protocol: protocol check_interval: 6 port: 0 unhealthy_threshold: 5 forward_rules: - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 nodes: 2 ipv4: ipv4 ipv6: ipv6 http2: true id: id region: region status: status properties: id: description: A unique ID for the Load Balancer. type: string date_created: description: Date this Load Balancer was created. type: string region: description: "The [Region id](#operation/list-regions) where the Load Balancer\ \ is located." type: string label: description: The user-supplied label for this load-balancer. type: string status: description: |- The current status. * active type: string ipv4: description: The IPv4 address of this Load Balancer. type: string ipv6: description: The IPv6 address of this Load Balancer. type: string generic_info: $ref: '#/components/schemas/loadbalancer_generic_info' health_check: $ref: '#/components/schemas/loadbalancer_health_check' has_ssl: description: Indicates if this Load Balancer has an SSL certificate installed. type: boolean http2: description: Indicates if this Load Balancer has HTTP2 enabled. type: boolean nodes: description: "The number of nodes to add to the load balancer (1-99), must\ \ be an odd number. This defaults to 1." type: integer forward_rules: description: An array of forwarding rule objects. items: $ref: '#/components/schemas/loadbalancer_forward_rules_inner' type: array instances: description: "Array of [Instance ids](#operation/list-instances) attached\ \ to this Load Balancer." items: type: string type: array firewall_rules: description: An array of firewall rule objects. items: $ref: '#/components/schemas/loadbalancer_firewall_rules_inner' type: array title: loadbalancer type: object x-tags: - load-balancer 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 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 region: description: Region information. example: continent: continent country: country city: city options: - options - options id: id properties: id: description: A unique ID for the Region. type: string country: description: "The [two-letter country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\ \ for this Region." type: string options: description: An array of product features available in this Region. items: type: string type: array continent: description: The name of the continent for this Region. type: string city: description: The name of the city for this Region. type: string title: region type: object x-tags: - region x-examples: example: id: ewr city: New Jersey country: US continent: North America options: - ddos_protection - load_balancers - object_storage - kubernetes - block_storage plans: description: Plans for VPS instances. example: disk: 1 vcpu_count: 0 monthly_cost: 5 bandwidth: 5 name: name locations: - locations - locations disk_count: 2 id: id type: type ram: 6 properties: id: description: A unique ID for the Plan. type: string name: description: The Plan name. type: string vcpu_count: description: The number of vCPUs in this Plan. type: integer ram: description: The amount of RAM in MB. type: integer disk: description: The disk size in GB. type: integer bandwidth: description: The monthly bandwidth quota in GB. type: integer monthly_cost: description: The monthly cost in US Dollars. type: integer type: description: |- The plan type. | | Type | Description | | - | ------ | ------------- | | | vc2 | Cloud Compute | | | vhf | High Frequency Compute | | | vdc | Dedicated Cloud | type: string locations: description: An array of Regions where this plan is valid for use. items: type: string type: array disk_count: description: The number of disks that this plan offers. type: integer title: plans type: object x-tags: - plans 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 plans-metal: description: Plans for Bare Metal instances. example: disk: disk monthly_cost: 5 bandwidth: 5 cpu_model: cpu_model locations: - locations - locations disk_count: 2 id: id cpu_threads: 6 type: type cpu_count: 0 ram: 1 properties: id: description: A unique ID for the Bare Metal Plan. type: string cpu_count: description: The number of CPUs in this Plan. type: integer cpu_model: description: The CPU model type for this instance. type: string cpu_threads: description: The numner of supported threads for this instance. type: integer ram: description: The amount of RAM in MB. type: integer disk: description: The disk size in GB. type: string bandwidth: description: The monthly bandwidth quota in GB. type: integer locations: description: An array of Regions where this plan is valid for use. items: type: string type: array type: description: |- The plan type. * SSD type: string monthly_cost: description: The monthly cost in US Dollars. type: integer disk_count: description: The number of disks that this plan offers. type: integer title: plans-metal type: object x-tags: - plans 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 type: SSD locations: - ewr baremetal: description: Bare Metal information. example: gateway_v4: gateway_v4 user_scheme: user_scheme os: os main_ip: main_ip date_created: date_created os_id: 6 default_password: default_password label: label cpu_count: 0 v6_main_ip: v6_main_ip tags: - tags - tags v6_network_size: 5 disk: disk v6_network: v6_network mac_address: 5 id: id tag: tag region: region image_id: image_id plan: plan app_id: 1 netmask_v4: netmask_v4 ram: ram status: status properties: id: description: A unique ID for the Bare Metal instance. type: string os: description: "The [Operating System name](#operation/list-os)." type: string ram: description: Text description of the instances' RAM. type: string disk: description: Text description of the instances' disk configuration. type: string main_ip: description: The main IPv4 address. type: string cpu_count: description: Number of CPUs. type: integer region: description: "The [Region id](#operation/list-regions) where the instance\ \ is located." type: string default_password: description: The default password assigned at deployment. Only available for ten minutes after deployment. type: string date_created: description: The date this instance was created. type: string status: description: |- The current status. * active * pending * suspended type: string netmask_v4: description: The IPv4 netmask in dot-decimal notation. type: string gateway_v4: description: The IPv4 gateway address. type: string plan: description: "The [Bare Metal Plan id](#operation/list-metal-plans) used\ \ by this instance." type: string label: description: The user-supplied label for this instance. type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag for this instance. type: string os_id: description: "The [Operating System id](#operation/list-os)." type: integer app_id: description: "The [Application id](#operation/list-applications)." type: integer image_id: description: "The [Application image_id](#operation/list-applications)." type: string v6_network: description: The IPv6 network size in bits. type: string v6_main_ip: description: The main IPv6 network address. type: string v6_network_size: description: The IPv6 subnet. type: integer mac_address: description: The MAC address for a Bare Metal server. type: integer tags: description: Tags to apply to the instance. items: type: string type: array user_scheme: description: |- The user scheme. * root * limited type: string title: baremetal type: object x-tags: - baremetal 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: "" tags: - a tag - another baremetal-ipv4: description: Bare Metal IPv4 information. example: netmask: netmask mac_address: mac_address ip: ip type: type reverse: reverse gateway: gateway properties: ip: description: The IPv4 address. type: string netmask: description: The IPv4 netmask in dot-decimal notation. type: string gateway: description: The gateway IP address. type: string type: description: |- The type of IP address. * main_ip type: string reverse: description: The reverse DNS information for this IP address. type: string mac_address: description: The MAC address associated with this IP address. type: string title: baremetal-ipv4 type: object x-tags: - baremetal 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 baremetal-ipv6: description: Bare Metal IPv6 information. example: network_size: 0 ip: ip type: type network: network properties: ip: description: A unique ID for the IPv6 address. type: string network: description: The IPv6 subnet. type: string network_size: description: The IPv6 network size in bits. type: integer type: description: |- The type of IP address. * main_ip type: string title: baremetal-ipv6 type: object x-tags: - baremetal bandwidth: description: Bandwidth information. example: incoming_bytes: 0 outgoing_bytes: 6 properties: incoming_bytes: description: Total bytes received by this instance on the date (UTC) denoted by the object key. type: integer outgoing_bytes: description: Total bytes sent by this instance on the date (UTC) denoted by the object key. type: integer title: bandwidth type: object x-examples: {} x-tags: - bandwidth instance: description: Instance information. example: firewall_group_id: firewall_group_id user_scheme: user_scheme os_id: 2 server_status: server_status internal_ip: internal_ip allowed_bandwidth: 5 features: - features - features hostname: hostname vcpu_count: 1 id: id tag: tag app_id: 7 plan: plan netmask_v4: netmask_v4 ram: 0 gateway_v4: gateway_v4 kvm: kvm os: os main_ip: main_ip power_status: power_status date_created: date_created default_password: default_password label: label tags: - tags - tags disk: 6 v6_networks: - network_size: 5 main_ip: main_ip network: network - network_size: 5 main_ip: main_ip network: network region: region image_id: image_id status: status properties: id: description: A unique ID for the VPS Instance. type: string os: description: "The [Operating System name](#operation/list-os)." type: string ram: description: The amount of RAM in MB. type: integer disk: description: The size of the disk in GB. type: integer main_ip: description: The main IPv4 address. type: string vcpu_count: description: Number of vCPUs. type: integer region: description: "The [Region id](#operation/list-regions) where the Instance\ \ is located." type: string default_password: description: The default password assigned at deployment. Only available for ten minutes after deployment. type: string date_created: description: The date this instance was created. type: string status: description: |- The current status. * active * pending * suspended * resizing type: string power_status: description: |- The power-on status. * running * stopped type: string server_status: description: |- The server health status. * none * locked * installingbooting * ok type: string allowed_bandwidth: description: Monthly bandwidth quota in GB. type: integer netmask_v4: description: The IPv4 netmask in dot-decimal notation. type: string gateway_v4: description: The gateway IP address. type: string v6_networks: description: An array of IPv6 objects. items: $ref: '#/components/schemas/instance_v6_networks_inner' type: array hostname: description: The hostname for this instance. type: string label: description: The user-supplied label for this instance. type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag for this instance. type: string internal_ip: description: "The internal IP used by this instance, if set. Only relevant\ \ when a VPC is attached." type: string kvm: description: HTTPS link to the Vultr noVNC Web Console. type: string os_id: description: "The [Operating System id](#operation/list-os) used by this\ \ instance." type: integer app_id: description: "The [Application id](#operation/list-applications) used by\ \ this instance." type: integer image_id: description: "The [Application image_id](#operation/list-applications) used\ \ by this instance." type: string firewall_group_id: description: "The [Firewall Group id](#operation/list-firewall-groups) linked\ \ to this Instance." type: string features: description: "\"auto_backups\", \"ipv6\", \"ddos_protection\"" items: type: string type: array plan: description: A unique ID for the Plan. type: string tags: description: Tags to apply to the instance. items: type: string type: array user_scheme: description: |- The user scheme. * root * limited type: string title: instance type: object x-tags: - instances x-examples: {} dbaas-meta: description: The meta information object. example: total: 2 properties: total: description: Total objects available in the list. type: integer title: meta type: object x-examples: meta response: meta: total: 31 database: description: Managed Database information. example: database_engine_version: database_engine_version vpc_id: vpc_id read_replicas: - "{}" - "{}" ferretdb_credentials: password: password public_ip: public_ip port: "" host: host private_ip: private_ip username: username password: password maintenance_dow: maintenance_dow host: host mysql_long_query_time: 5 pg_available_extensions: - "{}" - "{}" id: id tag: tag redis_eviction_policy: redis_eviction_policy plan: plan latest_backup: latest_backup mysql_require_primary_key: true plan_vcpus: 1 public_host: public_host date_created: date_created label: label plan_replicas: 5 database_engine: database_engine plan_ram: 6 dbname: dbname mysql_sql_modes: - mysql_sql_modes - mysql_sql_modes port: port maintenance_time: maintenance_time mysql_slow_query_log: true plan_disk: 0 trusted_ips: - trusted_ips - trusted_ips cluster_time_zone: cluster_time_zone region: region user: user status: status properties: id: description: A unique ID for the Managed Database. type: string date_created: description: The date this database was created. type: string plan: description: The name of the Managed Database plan. type: string plan_disk: description: The size of the disk in GB (excluded for Redis engine types). type: integer plan_ram: description: The amount of RAM in MB. type: integer plan_vcpus: description: Number of vCPUs. type: integer plan_replicas: description: Number of replica nodes. type: integer region: description: "The [Region id](#operation/list-regions) where the Managed\ \ Database is located." type: string database_engine: description: "The database engine type (MySQL, PostgreSQL, FerretDB + PostgreSQL,\ \ Redis)." type: string database_engine_version: description: The version number of the database engine in use. type: string vpc_id: description: "The ID of the [VPC Network](#operation/get-vpc) attached to\ \ the Managed Database." type: string status: description: |- The current status. * Rebuilding * Rebalancing * Running type: string label: description: The user-supplied label for this managed database. type: string tag: description: The user-supplied tag for this managed database. type: string dbname: description: The default database name. type: string ferretdb_credentials: $ref: '#/components/schemas/database_ferretdb_credentials' host: description: "The public hostname for database connections, or private hostname\ \ if this managed database is attached to a VPC network." type: string public_host: description: The public hostname for database connections. Only visible when the managed database is attached to a VPC network. type: string user: description: The default user configured on creation. type: string password: description: The default user's secure password generated on creation. type: string port: description: The assigned port for connecting to the Managed Database. type: string maintenance_dow: description: The chosen date of week for routine maintenance updates. type: string maintenance_time: description: The chosen hour for routine maintenance updates. type: string latest_backup: description: The date for the latest backup stored on the Managed Database. type: string trusted_ips: description: A list of trusted IP addresses for connecting to this Managed Database (in CIDR notation). items: type: string type: array mysql_sql_modes: description: A list names of enabled SQL Modes for MySQL engine types only. items: type: string type: array mysql_require_primary_key: description: Configuration value for requiring table primary keys for MySQL engine types only. type: boolean mysql_slow_query_log: description: Configuration value for slow query logging on the Managed Database for MySQL engine types only. type: boolean mysql_long_query_time: description: The number of seconds to denote a slow query when logging is enabled for MySQL engine types only. type: integer pg_available_extensions: description: A list of objects containing names and versions (when applicable) of available extensions for PostgreSQL engine types only. items: type: object type: array redis_eviction_policy: description: The current configured data eviction policy for Redis engine types only. type: string cluster_time_zone: description: The configured time zone of the Managed Database in TZ database format. type: string read_replicas: description: A list of database objects containing details for all attached read-only replica nodes. items: type: object type: array title: database type: object x-tags: - databases x-examples: {} dbaas-plan: description: Managed Database plan information. example: disk: 5 max_connections: "{}" vcpu_count: 6 monthly_cost: 5 supported_engines: "{}" locations: - locations - locations id: id type: type number_of_nodes: 0 ram: 1 properties: id: description: A unique ID for the plan. type: string number_of_nodes: description: The total number of nodes for this plan. type: integer type: description: The type of plan this is. type: string vcpu_count: description: Number of vCPUs. type: integer ram: description: The amount of RAM in MB. type: integer disk: description: The size of the disk in GB (excluded for Redis engine types). type: integer monthly_cost: description: The monthly cost of this Managed Database plan. type: integer supported_engines: description: A list of key/value pairs with database engine types and boolean values. type: object max_connections: description: A list of key/value pairs with database engine types (excluding Redis) and integers of max connection values. type: object locations: description: A list of available regions in which this plan is currently available. items: type: string type: array title: plan type: object x-tags: - database-plans x-examples: {} database-usage: description: Managed Database usage information. example: disk: current_gb: current_gb percentage: percentage max_gb: max_gb memory: percentage: percentage current_mb: current_mb max_mb: max_mb cpu: percentage: percentage properties: disk: $ref: '#/components/schemas/database_usage_disk' memory: $ref: '#/components/schemas/database_usage_memory' cpu: $ref: '#/components/schemas/database_usage_cpu' title: usage type: object x-tags: - database-usage x-examples: {} database-user: description: Managed Database user information. example: password: password encryption: encryption access_control: redis_acl_keys: - redis_acl_keys - redis_acl_keys redis_acl_channels: - redis_acl_channels - redis_acl_channels redis_acl_categories: - redis_acl_categories - redis_acl_categories redis_acl_commands: - redis_acl_commands - redis_acl_commands username: username properties: username: description: The username for the database user. type: string password: description: The password for the database user. type: string encryption: description: |- The password encryption for the database user (MySQL engine type only). * `Default (MySQL 8+)` * `Legacy (MySQL 5.x)` type: string access_control: $ref: '#/components/schemas/database_user_access_control' title: user type: object x-tags: - database-users x-examples: {} dbaas-alerts: description: Managed Database alerts information. example: maintenance_scheduled: maintenance_scheduled table_count: 0 resource_type: resource_type description: description recommendation: recommendation message_type: message_type timestamp: timestamp properties: timestamp: description: The date and time in which the alert was sent. type: string message_type: description: |- The category of alert that was sent. * `DB MASTER PROMOTION` * `MAINTENANCE SCHEDULED` * `MISSING MYSQL PRIMARY KEYS` * `RESOURCE USAGE DISK` * `RESOURCE USAGE OOM KILLED` * `RESOURCE USAGE PG REPLICATION SLOTS` type: string description: description: A verbose description of the associated alert category. type: string recommendation: description: A description of the recommended action the customer should take. Only included for certain alert types. type: string maintenance_scheduled: description: The time in which mandatory maintenance has been scheduled with the associated alert. Only included for certain alert types. type: string resource_type: description: The affected resource related to the associated alert. Only included for certain alert types. type: string table_count: description: The number of affected tables related to the associated alert. Only included for certain alert types. type: integer title: alert type: object x-tags: - database-alerts x-examples: {} dbaas-migration: description: Managed Database migration information. example: method: method credentials: password: password database: database port: "" ignored_databases: ignored_databases host: host ssl: true username: username error: error status: status properties: status: description: |- The current status of the attached migration. * `complete` * `error` * `pending` * `running` type: string method: description: The type of migration performed (dump or replication). Only shows if status is `complete`. type: string error: description: The verbose error message output for migrations with an `error` status. type: string credentials: $ref: '#/components/schemas/dbaas_migration_credentials' title: migration type: object x-tags: - database-migration x-examples: {} database-latest-backup: description: Managed Database latest backup information. example: date: date time: time properties: date: description: The date of the most recently available backup. type: string time: description: The time of the most recently available backup. type: string title: backup type: object x-tags: - database-latest-backup x-examples: {} database-oldest-backup: description: Managed Database oldest backup information. example: date: date time: time properties: date: description: The date of the oldest available backup. type: string time: description: The time of the oldest available backup. type: string title: backup type: object x-tags: - database-oldest-backup x-examples: {} database-connections: description: Managed Database connection information. example: max: 1 available: 6 used: 0 properties: used: description: The number of used database connections. type: integer available: description: The number of available database connections. type: integer max: description: The maximum number of database connections. type: integer title: connection type: object x-tags: - database-connections x-examples: {} connection-pool: description: Managed Database connection pool information. example: mode: mode database: database size: 5 name: name username: username properties: name: description: The name of the connection pool. type: string database: description: The logical database associated with the connection pool. type: string username: description: The database user associated with the connection pool. type: string mode: description: |- The mode for the connection pool. * `session` * `transaction` * `statement` type: string size: description: The size of the connection pool. type: integer title: connection_pool type: object x-tags: - database-connection-pool x-examples: {} dbaas-available-options: description: Managed Database PostgreSQL advanced configuration options. example: min_value: "" enumerals: - enumerals - enumerals name: name alt_values: - "" - "" units: units type: type max_value: "" properties: name: description: The name of the configuration option. type: string type: description: |- The type of the configuration option. * `int` * `float` * `bool` * `enum` type: string enumerals: description: Valid enumerals for `enum` type configuration options only. items: type: string type: array min_value: description: The smallest value accepted for the configuration option. type: mixed max_value: description: The largest value accepted for the configuration option. type: mixed alt_values: description: Any alternate value accepted for the configuration option. items: type: mixed type: array units: description: The units associated with the configuration option. type: string title: available_option type: object x-tags: - database-available-options x-examples: {} database-db: description: Managed Database logical database information. example: name: name properties: name: description: The name of the logical database. type: string title: db type: object x-tags: - database-dbs x-examples: {} private-networks: deprecated: true description: Private Network information. example: mac_address: mac_address id: id ip_address: ip_address properties: id: description: A unique ID for the Private Network. type: string mac_address: description: The assigned MAC address. type: string ip_address: description: The assigned IP address. type: string title: private-networks type: object x-tags: - private-networks x-examples: example-1: {} backup-schedule: description: Backup schedule information. example: dom: 1 hour: 0 next_scheduled_time_utc: next_scheduled_time_utc type: type dow: 6 enabled: true properties: enabled: description: |- Indicates if backup is enabled: * true * false type: boolean type: description: |- Type of backup schedule: | | Value | Description | | - | ------ | ------------- | | | daily | Back up once per day at `hour`. | | | weekly | Back up once per week on `dow` at `hour`. | | | monthly | Back up each month at `dom` at `hour`. | | | daily\_alt\_even | Back up on even dates at `hour`. | | | daily\_alt\_odd | Back up on odd dates at `hour`. | type: string next_scheduled_time_utc: description: Time of next backup run in UTC. type: string hour: description: Scheduled hour of day in UTC. type: integer dow: description: |- Day of week to run. | | Value | Description | | - | ------ | ------------- | | | 1 | Sunday | | | 2 | Monday | | | 3 | Tuesday | | | 4 | Wednesday | | | 5 | Thursday | | | 6 | Friday | | | 7 | Saturday | type: integer dom: description: Day of month to run. Use values between 1 and 28. type: integer title: backup-schedule type: object x-tags: - backup-schedule forwarding-rule: description: Forwarding Rule information. example: frontend_protocol: frontend_protocol id: id frontend_port: 0 backend_protocol: backend_protocol backend_port: 6 properties: id: description: A unique ID for the Forwarding Rule. type: string frontend_protocol: description: |- The protocol on the Load Balancer to forward to the backend. * HTTP * HTTPS * TCP type: string frontend_port: description: The port number on the Load Balancer to forward to the backend. type: integer backend_protocol: description: |- The protocol destination on the backend server. * HTTP * HTTPS * TCP type: string backend_port: description: The port number destination on the backend server. type: integer title: forwarding-rule type: object x-tags: - load-balancer x-examples: forwarding rules: id: cb676a46-66fd-4dfb-b839-443f2e6c0b60 frontend_protocol: http frontend_port: 80 backend_protocol: http backend_port: 80 meta: description: "The meta information object. See [Meta and Pagination](#section/Introduction/Meta-and-Pagination)\ \ for more information." example: total: 0 links: next: next prev: prev properties: total: description: Total objects available in the list. This value may be greater than the number of objects returned if `per_page` is set. type: integer links: $ref: '#/components/schemas/meta_links' title: meta type: object x-examples: meta response: meta: total: 31 links: next: WxYzExampleNext prev: "" loadbalancer-firewall-rule: description: Load Balancer firewall rule information. example: port: 0 id: id source: source ip_type: ip_type properties: id: description: The unique ID for the firewall rule minLength: 1 type: string port: description: | Port for this rule. type: integer source: 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. Possible values: | | Value | Description | | - | ------ | ------------- | | | "192.168.1.1/16" | Ip address with a subnet size. | | | cloudflare | Allow all of Cloudflare's IP space through the firewall | minLength: 1 type: string ip_type: description: | The type of IP rule. * v4 * v6 minLength: 1 type: string type: object x-examples: Example: id: 9fea55b93016eafb port: 80 source: 192.168.1.1/16 ip_type: v4 registry: description: Container Registry Entity example: urn: urn metadata: subscription: billing: monthly_price: "" pending_charges: "" region: urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 public: true date_created: date_created name: name id: id storage: allowed: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" used: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" root_user: added_at: added_at password: password updated_at: updated_at root: true id: 0 username: username properties: id: description: The UUID to reference this registry type: string name: description: The globally unique name to reference this registry type: string urn: description: "The base URN (the URL without the scheme [i.e. http:// or\ \ https://]) of this registry" type: string storage: $ref: '#/components/schemas/registry_storage' date_created: description: The date this Registry Subscription was created type: string public: description: "If true, this is a publically accessible registry allowing\ \ anyone to pull from it. If false, this registry is completely private" type: boolean root_user: $ref: '#/components/schemas/registry-user' metadata: $ref: '#/components/schemas/registry_metadata' title: registry type: object x-tags: - registry - registries x-examples: {} registry-storage: description: Container Registry Storage Information example: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" properties: bytes: description: Storage in Bytes type: float mb: description: Storage in Megabytes type: float gb: description: Storage in Gigabytes type: float tb: description: Storage in Terabytes type: float updated_at: description: The date at which the storage information was last updated type: string title: registry-storage type: object x-tags: - registry-storage - registries-storage x-examples: {} registry-repository: description: Container Registry Repository Entity example: image: image added_at: added_at updated_at: updated_at name: name artifact_count: 6 description: description pull_count: 0 properties: name: description: The name of this repository (the name of the container image prepended with the registry name) type: string image: description: The name of the conatiner image type: string description: description: User defined description of this repository type: string added_at: description: The date this Repo was added type: string updated_at: description: The date this Repo was last updated type: string pull_count: description: The amount of pulls for this Repo type: integer artifact_count: description: The amount of artifacts of this Repo type: integer title: registry-repository type: object x-tags: - registry-repository - registry-repositories x-examples: {} registry-user: description: Container Registry User Entity example: added_at: added_at password: password updated_at: updated_at root: true id: 0 username: username properties: id: description: The Numeric ID of this user. type: integer username: description: The globally unique name of this user. type: string password: description: The password this user will use to authenticate. type: string root: 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" type: boolean added_at: description: The date this User was added type: string updated_at: description: The date this User was last updated type: string title: registry-user type: object x-tags: - registry-user x-examples: {} registry-region: description: Container Registry Region Entity example: urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 properties: id: description: The Numeric ID of this region. type: integer name: description: "The unique name of this region, this is what you will use\ \ to specify a region when creating your subscription" type: string urn: description: "The base URN (the URL without the scheme [i.e. http:// or\ \ https://]) of this region" type: string base_url: description: The base URL of this region type: string public: 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" type: boolean added_at: description: The date this Region was added type: string updated_at: description: The date this Region was last updated type: string data_center: description: Information on the datacenter this region resides in type: object title: registry-region type: object x-tags: - registry-region x-examples: {} 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 example: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 properties: vanity_name: description: The Nice Name of the plan type: string max_storage_mb: description: The total allocated storage this plan allows type: integer monthly_price: description: The monthly price for this plan type: integer title: registry-plan type: object x-tags: - registry-plan x-examples: {} registry-docker-credentials: description: Container Registry Docker Credentials Entity example: auths: '{registry-region-name}.vultrcr.com': auth: auth properties: auths: $ref: '#/components/schemas/registry_docker_credentials_auths' title: registry-docker-credentials type: object x-tags: - registry-docker-credentials x-examples: {} registry-kubernetes-docker-credentials: description: Container Registry Kubernetes Docker Credentials Entity properties: apiVersion: description: Specifies that this is api v1 type: string kind: description: Specifies that this is a Kubernetes Secret type: string metadata: $ref: '#/components/schemas/registry_kubernetes_docker_credentials_metadata' data: $ref: '#/components/schemas/registry_kubernetes_docker_credentials_data' type: description: Specifies that this type is a kubernetes.io/dockerconfigjson type: string title: registry-kubernetes-docker-credentials type: object x-tags: - registry-kubernetes-docker-credentials x-examples: {} get_network_200_response: example: network: date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: network: $ref: '#/components/schemas/network' type: object update_network_request: properties: description: description: The Private Network description. type: string required: - description type: object list_networks_200_response: example: meta: total: 0 links: next: next prev: prev networks: - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: networks: items: $ref: '#/components/schemas/network' type: array meta: $ref: '#/components/schemas/meta' type: object create_network_request: properties: region: description: "Create the Private Network in this [Region id](#operation/list-regions)." type: string description: description: A description of the private network. type: string v4_subnet: description: "The IPv4 network address. For example: 10.99.0.0" type: string v4_subnet_mask: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24" type: integer required: - region type: object get_vpc_200_response: example: vpc: date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: vpc: $ref: '#/components/schemas/vpc' type: object update_vpc_request: properties: description: description: The VPC description. type: string required: - description type: object list_vpcs_200_response: example: meta: total: 0 links: next: next prev: prev vpcs: - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: vpcs: items: $ref: '#/components/schemas/vpc' type: array meta: $ref: '#/components/schemas/meta' type: object create_vpc_request: properties: region: description: "Create the VPC in this [Region id](#operation/list-regions)." type: string description: description: A description of the VPC. type: string v4_subnet: description: "The IPv4 VPC address. For example: 10.99.0.0
If v4_subnet_mask is specified then v4_subnet is a required\ \ field." type: string v4_subnet_mask: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24
If v4_subnet is specified then v4_subnet_mask\ \ is a required field." type: integer required: - region type: object get_vpc2_200_response: example: vpc: date_created: date_created description: description id: id prefix_length: 0 region: region ip_block: ip_block properties: vpc: $ref: '#/components/schemas/vpc2' type: object update_vpc2_request: properties: description: description: "The VPC description.
Must be no longer than 255 characters\ \ and may include only letters, numbers, spaces, underscores and hyphens." type: string required: - description type: object list_vpc2_200_response: example: meta: total: 0 links: next: next prev: prev vpcs: - date_created: date_created description: description id: id prefix_length: 0 region: region ip_block: ip_block - date_created: date_created description: description id: id prefix_length: 0 region: region ip_block: ip_block properties: vpcs: items: $ref: '#/components/schemas/vpc2' type: array meta: $ref: '#/components/schemas/meta' type: object create_vpc2_request: properties: region: description: "Create the VPC in this [Region id](#operation/list-regions)." type: string description: description: "A description of the VPC.
Must be no longer than 255\ \ characters and may include only letters, numbers, spaces, underscores\ \ and hyphens." type: string ip_type: description: |- Accepted values: * `v4` type: enum ip_block: description: "The VPC subnet IP address. For example: 10.99.0.0
If a prefix_length is specified then ip_block is\ \ a required field." type: string prefix_length: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 24
If an ip_block is specified then prefix_length\ \ is a required field." type: integer required: - region type: object attach_vpc2_nodes_request: properties: nodes: 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" type: array required: - nodes type: object detach_vpc2_nodes_request: properties: nodes: 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" type: array required: - nodes type: object update_user_request: properties: email: description: The User's email address. type: string name: description: The User's name. type: string password: description: The User's password. type: string api_enabled: description: |- API access is permitted for this User. * true (default) * false type: boolean acls: description: |- An array of permission granted. Valid values: * abuse * alerts * billing * dns * firewall * loadbalancer * manage\_users * objstore * provisioning * subscriptions * subscriptions\_view * support * upgrade items: type: string type: array type: object list_users_200_response: example: meta: total: 0 links: next: next prev: prev users: - user: password: password acls: - acls - acls api_enabled: true name: name id: id email: email - user: password: password acls: - acls - acls api_enabled: true name: name id: id email: email properties: users: items: $ref: '#/components/schemas/user' type: array meta: $ref: '#/components/schemas/meta' type: object create_user_request: properties: email: description: The User's email address. type: string name: description: The User's name. type: string password: description: The User's password. type: string api_enabled: description: |- API access is permitted for this User. * true (default) * false type: boolean acls: description: |- An array of permissions granted. * abuse * alerts * billing * dns * firewall * loadbalancer * manage\_users * objstore * provisioning * subscriptions * subscriptions\_view * support * upgrade items: type: string type: array required: - email - name - password type: object get_startup_script_200_response: example: startup_script: date_modified: date_modified date_created: date_created name: name id: id type: type script: script properties: startup_script: $ref: '#/components/schemas/startup' type: object update_startup_script_request: properties: name: description: The name of the Startup Script. type: string script: description: The base-64 encoded Startup Script. type: string type: description: |- The Startup Script type. boot (default) pxe type: string type: object list_startup_scripts_200_response: example: startup_scripts: - date_modified: date_modified date_created: date_created name: name id: id type: type script: script - date_modified: date_modified date_created: date_created name: name id: id type: type script: script meta: total: 0 links: next: next prev: prev properties: startup_scripts: items: $ref: '#/components/schemas/startup' type: array meta: $ref: '#/components/schemas/meta' type: object create_startup_script_request: properties: name: description: The name of the Startup Script. type: string type: description: |- The Startup Script type. * boot (default) * pxe type: string script: description: The base-64 encoded Startup Script. type: string required: - name - script type: object get_ssh_key_200_response: example: ssh_key: date_created: date_created name: name ssh_key: ssh_key id: id properties: ssh_key: $ref: '#/components/schemas/ssh' type: object update_ssh_key_request: properties: name: description: The user-supplied name for this SSH Key. type: string ssh_key: description: The SSH Key. type: string type: object list_ssh_keys_200_response: example: ssh_keys: - date_created: date_created name: name ssh_key: ssh_key id: id - date_created: date_created name: name ssh_key: ssh_key id: id meta: total: 0 links: next: next prev: prev properties: ssh_keys: items: $ref: '#/components/schemas/ssh' type: array meta: $ref: '#/components/schemas/meta' type: object create_ssh_key_request: properties: name: description: The user-supplied name for this SSH Key. type: string ssh_key: description: The SSH Key. type: string required: - name - ssh_key type: object get_snapshot_200_response: example: snapshot: size: 0 date_created: date_created os_id: 6 description: description id: id app_id: 1 status: status properties: snapshot: $ref: '#/components/schemas/snapshot' type: object put_snapshots_snapshot_id_request: properties: description: description: The user-supplied description for the Snapshot. type: string required: - description type: object list_snapshots_200_response: example: snapshots: - size: 0 date_created: date_created os_id: 6 description: description id: id app_id: 1 status: status - size: 0 date_created: date_created os_id: 6 description: description id: id app_id: 1 status: status meta: total: 0 links: next: next prev: prev properties: snapshots: items: $ref: '#/components/schemas/snapshot' type: array meta: $ref: '#/components/schemas/meta' type: object create_snapshot_request: properties: instance_id: description: "Create a Snapshot for this [Instance id](#operation/list-instances)." type: string description: description: The user-supplied description of the Snapshot. type: string required: - instance_id type: object create_snapshot_create_from_url_request: properties: url: description: The public URL containing a RAW image. type: string description: description: The user-supplied description of the Snapshot. type: string uefi: description: Whether or not the snapshot uses UEFI. type: string required: - url type: object list_subaccounts_200_response: example: meta: total: 0 links: next: next prev: prev subaccounts: - balance: "" pending_charges: "" subaccount_id: subaccount_id id: id subaccount_name: subaccount_name email: email activated: true - balance: "" pending_charges: "" subaccount_id: subaccount_id id: id subaccount_name: subaccount_name email: email activated: true properties: subaccounts: items: $ref: '#/components/schemas/subaccount' type: array meta: $ref: '#/components/schemas/meta' type: object create_subaccount_request: properties: email: description: Create a new sub-account with this email address. type: string subaccount_name: description: Your name for this sub-account. type: string subaccount_id: description: Your ID for this sub-account. type: string required: - email type: object create_subaccount_201_response: example: subaccount: balance: "" pending_charges: "" subaccount_id: subaccount_id id: id subaccount_name: subaccount_name email: email activated: true properties: subaccount: $ref: '#/components/schemas/subaccount' type: object get_reserved_ip_200_response: example: reserved_ip: subnet: subnet instance_id: instance_id id: id subnet_size: 0 label: label region: region ip_type: ip_type properties: reserved_ip: $ref: '#/components/schemas/reserved-ip' type: object patch_reserved_ips_reserved_ip_request: properties: label: type: string required: - label type: object list_reserved_ips_200_response: example: reserved_ips: - subnet: subnet instance_id: instance_id id: id subnet_size: 0 label: label region: region ip_type: ip_type - subnet: subnet instance_id: instance_id id: id subnet_size: 0 label: label region: region ip_type: ip_type meta: total: 0 links: next: next prev: prev properties: reserved_ips: items: $ref: '#/components/schemas/reserved-ip' type: array meta: $ref: '#/components/schemas/meta' type: object create_reserved_ip_request: properties: region: description: "The [Region id](#operation/list-regions) where the Reserved\ \ IP will be created." type: string ip_type: description: |- The type of IP address. * v4 * v6 type: string label: description: The user-supplied label. type: string required: - ip_type - region type: object attach_reserved_ip_request: properties: instance_id: description: "Attach the Reserved IP to a [Compute Instance id](#operation/list-instances)\ \ or a [Bare Metal Instance id](#operation/list-baremetals)." type: string required: - instance_id type: object convert_reserved_ip_request: properties: ip_address: description: The IP address to convert. type: string label: description: A user-supplied label for this IP address. type: string required: - ip_address type: object list_os_200_response: example: os: - name: name id: 0 arch: arch family: family - name: name id: 0 arch: arch family: family meta: total: 0 links: next: next prev: prev properties: os: items: $ref: '#/components/schemas/os' type: array meta: $ref: '#/components/schemas/meta' type: object list_applications_200_response: description: "" example: meta: total: 0 links: next: next prev: prev applications: - vendor: vendor name: name deploy_name: deploy_name short_name: short_name id: 0 type: type image_id: image_id - vendor: vendor name: name deploy_name: deploy_name short_name: short_name id: 0 type: type image_id: image_id properties: applications: description: "" items: $ref: '#/components/schemas/application' type: array meta: $ref: '#/components/schemas/meta' type: object get_account_200_response: example: account: acls: - acls - acls balance: 0.8008281904610115 pending_charges: 6.027456183070403 name: name last_payment_date: last_payment_date email: email last_payment_amount: 1.4658129805029452 properties: account: $ref: '#/components/schemas/account' type: object list_backups_200_response: example: meta: total: 0 links: next: next prev: prev backups: - size: 0 date_created: date_created description: description id: id status: status - size: 0 date_created: date_created description: description id: id status: status properties: backups: items: $ref: '#/components/schemas/backup' type: array meta: $ref: '#/components/schemas/meta' type: object list_blocks_200_response: example: blocks: - cost: 0 attached_to_instance: attached_to_instance date_created: date_created size_gb: 6 id: id label: label region: region mount_id: mount_id status: status - cost: 0 attached_to_instance: attached_to_instance date_created: date_created size_gb: 6 id: id label: label region: region mount_id: mount_id status: status meta: total: 0 links: next: next prev: prev properties: blocks: items: $ref: '#/components/schemas/blockstorage' type: array meta: $ref: '#/components/schemas/meta' type: object create_block_request: properties: region: description: "The [Region id](#operation/list-regions) where the Block Storage\ \ will be created." type: string size_gb: description: "Size in GB may range between 10 and 40000, depending on the\ \ `block_type`." type: integer label: description: The user-supplied label. type: string block_type: description: |- An optional parameter, that determines on the type of block storage volume that will be created. Soon to become a required parameter. * `high_perf` from 10GB to 10,000GB * `storage_opt` from 40GB to 40,000GB type: string required: - region - size_gb type: object create_block_202_response: example: block: cost: 0 attached_to_instance: attached_to_instance date_created: date_created size_gb: 6 id: id label: label region: region mount_id: mount_id status: status properties: block: $ref: '#/components/schemas/blockstorage' type: object update_block_request: properties: label: description: The user-supplied label. type: string size_gb: description: New size of the Block Storage in GB. Size may range between 10 and 40000 depending on the `block_type`. type: integer type: object attach_block_request: properties: instance_id: description: "Attach the Block Storage to this [Instance id](#operation/list-instances)." type: string live: description: |- Attach Block Storage without restarting the Instance. | | Value | Description | | - | ----- | ----------- | | | true | Attach live, do not restart the instance. | | | false | Restart the instance and attach the Block Storage. | type: boolean required: - instance_id type: object detach_block_request: properties: live: description: |- Detach Block Storage without restarting the Instance. | | Value | Description | | - | ----- | ----------- | | | true | Detach live, do not restart the instance. | | | false | Restart the instance and detach the Block Storage. | type: boolean type: object list_firewall_groups_200_response: example: firewall_groups: - date_modified: date_modified date_created: date_created description: description id: id max_rule_count: 1 instance_count: 0 rule_count: 6 - date_modified: date_modified date_created: date_created description: description id: id max_rule_count: 1 instance_count: 0 rule_count: 6 meta: total: 0 links: next: next prev: prev properties: firewall_groups: items: $ref: '#/components/schemas/firewall-group' type: array meta: $ref: '#/components/schemas/meta' type: object create_firewall_group_request: properties: description: description: User-supplied description of this Firewall Group. type: string type: object create_firewall_group_201_response: example: firewall_group: date_modified: date_modified date_created: date_created description: description id: id max_rule_count: 1 instance_count: 0 rule_count: 6 properties: firewall_group: $ref: '#/components/schemas/firewall-group' type: object update_firewall_group_request: properties: description: description: User-supplied description of this Firewall Group. type: string required: - description type: object list_firewall_group_rules_200_response: example: firewall_rules: - subnet: subnet protocol: protocol notes: notes port: port action: action id: 0 subnet_size: 6 source: source type: type ip_type: ip_type - subnet: subnet protocol: protocol notes: notes port: port action: action id: 0 subnet_size: 6 source: source type: type ip_type: ip_type meta: total: 0 links: next: next prev: prev properties: firewall_rules: items: $ref: '#/components/schemas/firewall-rule' type: array meta: $ref: '#/components/schemas/meta' type: object post_firewalls_firewall_group_id_rules_request: properties: ip_type: description: |- The type of IP rule. * v4 * v6 type: string protocol: description: | The protocol for this rule. * ICMP * TCP * UDP * GRE * ESP * AH type: string subnet: description: IP address representing a subnet. The IP address format must match with the "ip_type" parameter value. type: string subnet_size: description: "The number of bits for the netmask in CIDR notation. Example:\ \ 32" type: integer port: description: TCP/UDP only. This field can be a specific port or a colon separated port range. type: string source: description: | If the source string is given a value of "cloudflare" subnet and subnet_size will both be ignored. Possible values: | | Value | Description | | - | ------ | ------------- | | | "" | Use the value from `subnet` and `subnet_size`. | | | cloudflare | Allow all of Cloudflare's IP space through the firewall | | | [Load Balancer id](#operation/list-load-balancers) | Provide a load balancer ID to use its IPs | type: string notes: description: User-supplied notes for this rule. type: string required: - ip_type - protocol - subnet - subnet_size type: object post_firewalls_firewall_group_id_rules_201_response: example: firewall_rule: subnet: subnet protocol: protocol notes: notes port: port action: action id: 0 subnet_size: 6 source: source type: type ip_type: ip_type properties: firewall_rule: $ref: '#/components/schemas/firewall-rule' type: object list_isos_200_response: example: meta: total: 0 links: next: next prev: prev isos: - sha512sum: sha512sum filename: filename size: 0 date_created: date_created md5sum: md5sum id: id status: status - sha512sum: sha512sum filename: filename size: 0 date_created: date_created md5sum: md5sum id: id status: status properties: isos: items: $ref: '#/components/schemas/iso' type: array meta: $ref: '#/components/schemas/meta' type: object create_iso_request: properties: url: description: "Public URL location of the ISO image to download. Example:\ \ https://example.com/my-iso.iso" type: string required: - url type: object create_iso_201_response: example: iso: sha512sum: sha512sum filename: filename size: 0 date_created: date_created md5sum: md5sum id: id status: status properties: iso: $ref: '#/components/schemas/iso' type: object list_public_isos_200_response: example: meta: total: 0 links: next: next prev: prev public_isos: - md5sum: md5sum name: name description: description id: id - md5sum: md5sum name: name description: description id: id properties: public_isos: items: $ref: '#/components/schemas/iso-public' type: array meta: $ref: '#/components/schemas/meta' type: object list_object_storages_200_response: example: meta: total: 0 links: next: next prev: prev object_storages: - s3_secret_key: s3_secret_key cluster_id: 0 s3_access_key: s3_access_key date_created: date_created s3_hostname: s3_hostname id: id label: label region: region status: status - s3_secret_key: s3_secret_key cluster_id: 0 s3_access_key: s3_access_key date_created: date_created s3_hostname: s3_hostname id: id label: label region: region status: status properties: object_storages: items: $ref: '#/components/schemas/object-storage' type: array meta: $ref: '#/components/schemas/meta' type: object create_object_storage_request: properties: cluster_id: description: "The [Cluster id](#operation/list-object-storage-clusters)\ \ where the Object Storage will be created." type: integer label: description: The user-supplied label for this Object Storage. type: string required: - cluster_id type: object create_object_storage_202_response: example: object_storage: s3_secret_key: s3_secret_key cluster_id: 0 s3_access_key: s3_access_key date_created: date_created s3_hostname: s3_hostname id: id label: label region: region status: status properties: object_storage: $ref: '#/components/schemas/object-storage' type: object update_object_storage_request: properties: label: description: The user-supplied label for the Object Storage. type: string required: - label type: object regenerate_object_storage_keys_201_response_s3_credentials: example: s3_secret_key: s3_secret_key s3_access_key: s3_access_key s3_hostname: s3_hostname properties: s3_hostname: description: "The [Cluster hostname](#operation/list-object-storage-clusters)\ \ for this Object Storage." type: string s3_access_key: description: The new Object Storage access key. type: string s3_secret_key: description: The new Object Storage secret key. type: string type: object regenerate_object_storage_keys_201_response: example: s3_credentials: s3_secret_key: s3_secret_key s3_access_key: s3_access_key s3_hostname: s3_hostname properties: s3_credentials: $ref: '#/components/schemas/regenerate_object_storage_keys_201_response_s3_credentials' type: object list_object_storage_clusters_200_response: example: meta: total: 0 links: next: next prev: prev clusters: - hostname: hostname id: 0 region: region deploy: deploy - hostname: hostname id: 0 region: region deploy: deploy properties: clusters: items: $ref: '#/components/schemas/clusters' type: array meta: $ref: '#/components/schemas/meta' type: object list_dns_domains_200_response: example: meta: total: 0 links: next: next prev: prev domains: - date_created: date_created domain: domain dns_sec: dns_sec - date_created: date_created domain: domain dns_sec: dns_sec properties: domains: items: $ref: '#/components/schemas/domain' type: array meta: $ref: '#/components/schemas/meta' type: object create_dns_domain_request: properties: domain: description: Your registered DNS Domain name. type: string ip: description: The default IP address for your DNS Domain. If omitted an empty domain zone will be created. type: string dns_sec: description: |- Enable or disable DNSSEC. * enabled * disabled (default) type: string required: - domain type: object create_dns_domain_200_response: example: domain: date_created: date_created domain: domain dns_sec: dns_sec properties: domain: $ref: '#/components/schemas/domain' type: object update_dns_domain_request: properties: dns_sec: description: |- Enable or disable DNSSEC. * enabled * disabled type: string required: - dns_sec type: object get_dns_domain_soa_200_response: example: dns_soa: nsprimary: nsprimary email: email properties: dns_soa: $ref: '#/components/schemas/dns-soa' type: object update_dns_domain_soa_request: properties: nsprimary: description: Set the primary nameserver. type: string email: description: Set the contact email address. type: string type: object get_dns_domain_dnssec_200_response: example: dns_sec: - dns_sec - dns_sec properties: dns_sec: items: type: string type: array type: object list_dns_domain_records_200_response: example: records: - data: data name: name id: id type: type priority: 0 ttl: 6 - data: data name: name id: id type: type priority: 0 ttl: 6 meta: total: 0 links: next: next prev: prev properties: records: items: $ref: '#/components/schemas/dns-record' type: array meta: $ref: '#/components/schemas/meta' type: object create_dns_domain_record_request: properties: name: description: The hostname for this DNS record. type: string type: description: |- The DNS record type. * A * AAAA * CNAME * NS * MX * SRV * TXT * CAA * SSHFP type: string data: description: The DNS data for this record type. type: string ttl: description: Time to Live in seconds. type: integer priority: description: DNS priority. Does not apply to all record types. (Only required for MX and SRV) type: integer required: - data - name - type type: object create_dns_domain_record_201_response: example: record: data: data name: name id: id type: type priority: 0 ttl: 6 properties: record: $ref: '#/components/schemas/dns-record' type: object update_dns_domain_record_request: properties: name: description: The hostname for this DNS record. type: string data: description: The DNS data for this record type. type: string ttl: description: Time to Live in seconds. type: integer priority: description: DNS priority. Does not apply to all record types. type: integer type: object list_regions_200_response: example: regions: - continent: continent country: country city: city options: - options - options id: id - continent: continent country: country city: city options: - options - options id: id meta: total: 0 links: next: next prev: prev properties: regions: items: $ref: '#/components/schemas/region' type: array meta: $ref: '#/components/schemas/meta' type: object list_available_plans_region_200_response: example: available_plans: - available_plans - available_plans properties: available_plans: description: An array of Plans available in this Region. items: type: string type: array type: object list_load_balancers_200_response: example: meta: total: 0 links: next: next prev: prev load_balancers: - generic_info: sticky_sessions: cookie_name: cookie_name private_network: private_network ssl_redirect: true proxy_protocol: true vpc: vpc balancing_algorithm: balancing_algorithm instances: - instances - instances firewall_rules: - port: 3 id: id source: source ip_type: ip_type - port: 3 id: id source: source ip_type: ip_type date_created: date_created has_ssl: true label: label health_check: path: path response_timeout: 1 healthy_threshold: 5 protocol: protocol check_interval: 6 port: 0 unhealthy_threshold: 5 forward_rules: - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 nodes: 2 ipv4: ipv4 ipv6: ipv6 http2: true id: id region: region status: status - generic_info: sticky_sessions: cookie_name: cookie_name private_network: private_network ssl_redirect: true proxy_protocol: true vpc: vpc balancing_algorithm: balancing_algorithm instances: - instances - instances firewall_rules: - port: 3 id: id source: source ip_type: ip_type - port: 3 id: id source: source ip_type: ip_type date_created: date_created has_ssl: true label: label health_check: path: path response_timeout: 1 healthy_threshold: 5 protocol: protocol check_interval: 6 port: 0 unhealthy_threshold: 5 forward_rules: - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 nodes: 2 ipv4: ipv4 ipv6: ipv6 http2: true id: id region: region status: status properties: load_balancers: items: $ref: '#/components/schemas/loadbalancer' type: array meta: $ref: '#/components/schemas/meta' type: object create_load_balancer_request_health_check: description: "The health check configuration. See [Load Balancer documentation](https://www.vultr.com/docs/vultr-load-balancers/#Load_Balancer_Configuration)." properties: protocol: description: |- The protocol to use for health checks. * HTTPS * HTTP * TCP type: string port: description: The port to use for health checks. type: integer path: description: "HTTP Path to check. Only applies if protocol is HTTP, or HTTPS." type: string check_interval: description: Interval between health checks. type: integer response_timeout: description: Timeout before health check fails. type: integer unhealthy_threshold: description: Number times a check must fail before becoming unhealthy. type: integer healthy_threshold: description: Number of times a check must succeed before returning to healthy status. type: integer type: object create_load_balancer_request_forwarding_rules_inner: properties: frontend_protocol: description: |- The protocol on the Load Balancer to forward to the backend. * HTTP * HTTPS * TCP type: string frontend_port: description: The port number on the Load Balancer to forward to the backend. type: integer backend_protocol: description: |- The protocol destination on the backend server. * HTTP * HTTPS * TCP type: string backend_port: description: The port number destination on the backend server. type: integer type: object create_load_balancer_request_sticky_session: description: Enables sticky sessions for your load balancer when a cookie_name is provided. properties: cookie_name: description: "The cookie name to make sticky. See [Load Balancer documentation](https://www.vultr.com/docs/vultr-load-balancers/#Load_Balancer_Configuration)." type: string type: object create_load_balancer_request_ssl: description: An SSL certificate to install on the Load Balancer. properties: private_key: description: The private key. type: string certificate: description: The SSL certificate. type: string chain: description: The certificate chain. type: string private_key_b64: description: The private key base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values) type: string certificate_b64: description: The SSL certificate base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values) type: string chain_b64: description: The certificate chain base64 encoded. (Base64 encoded values should not be used alongside with non-Base64 encoded values) type: string type: object create_load_balancer_request_firewall_rules_inner: properties: port: description: Port for this rule. type: integer source: 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. Possible values: | | Value | Description | | - | ------ | ------------- | | | "192.168.1.1/16" | Ip address with a subnet size. | | | cloudflare | Allow all of Cloudflare's IP space through the firewall | type: string ip_type: description: |- The type of IP rule. * v4 * v6 type: string type: object create_load_balancer_request: properties: region: description: "The [Region id](#operation/list-regions) to create this Load\ \ Balancer." type: string balancing_algorithm: description: |- The balancing algorithm. * roundrobin (default) * leastconn type: string ssl_redirect: 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. * true * false type: boolean http2: description: |- If `true`, this will enable HTTP2 traffic. You must have an HTTPS forwarding rule combo (HTTPS -> HTTPS) to enable this option. * true * false type: boolean nodes: description: "The number of nodes to add to the load balancer (1-99), must\ \ be an odd number. This defaults to 1." type: integer proxy_protocol: description: |- If `true`, you must configure backend nodes to accept Proxy protocol. * true * false (Default) type: boolean health_check: $ref: '#/components/schemas/create_load_balancer_request_health_check' forwarding_rules: description: An array of forwarding rule objects. items: $ref: '#/components/schemas/create_load_balancer_request_forwarding_rules_inner' type: array sticky_session: $ref: '#/components/schemas/create_load_balancer_request_sticky_session' ssl: $ref: '#/components/schemas/create_load_balancer_request_ssl' label: description: Label for your Load Balancer. type: string instances: description: An array of instances IDs that you want attached to the load balancer. items: type: string type: array firewall_rules: description: An array of firewall rule objects. items: $ref: '#/components/schemas/create_load_balancer_request_firewall_rules_inner' type: array private_network: deprecated: true 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. type: string vpc: description: ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network. type: string required: - region type: object create_load_balancer_202_response: example: load_balancer: generic_info: sticky_sessions: cookie_name: cookie_name private_network: private_network ssl_redirect: true proxy_protocol: true vpc: vpc balancing_algorithm: balancing_algorithm instances: - instances - instances firewall_rules: - port: 3 id: id source: source ip_type: ip_type - port: 3 id: id source: source ip_type: ip_type date_created: date_created has_ssl: true label: label health_check: path: path response_timeout: 1 healthy_threshold: 5 protocol: protocol check_interval: 6 port: 0 unhealthy_threshold: 5 forward_rules: - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 - backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 nodes: 2 ipv4: ipv4 ipv6: ipv6 http2: true id: id region: region status: status properties: load_balancer: $ref: '#/components/schemas/loadbalancer' type: object update_load_balancer_request_health_check: description: "The health check configuration. [See Load Balancer documentation](https://www.vultr.com/docs/vultr-load-balancers/#Load_Balancer_Configuration)." properties: protocol: description: |- The protocol to use for health checks. * HTTPS * HTTP * TCP type: string port: description: The port to use for health checks. type: integer path: description: "HTTP Path to check. Only applies if protocol is HTTP, or HTTPS." type: string check_interval: description: Interval between health checks. type: string response_timeout: description: Timeout before health check fails. type: string unhealthy_threshold: description: Number times a check must fail before becoming unhealthy. type: string healthy_threshold: description: Number of times a check must succeed before returning to healthy status. type: string type: object update_load_balancer_request: properties: ssl: $ref: '#/components/schemas/create_load_balancer_request_ssl' sticky_session: $ref: '#/components/schemas/create_load_balancer_request_sticky_session' forwarding_rules: description: An array of forwarding rule objects. items: $ref: '#/components/schemas/create_load_balancer_request_forwarding_rules_inner' type: array health_check: $ref: '#/components/schemas/update_load_balancer_request_health_check' proxy_protocol: description: |- If `true`, you must configure backend nodes to accept Proxy protocol. * true * false (Default) type: boolean ssl_redirect: 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. * true * false type: boolean http2: description: |- If `true`, this will enable HTTP2 traffic. You must have an HTTPS forwarding rule combo (HTTPS -> HTTPS) to enable this option. * true * false type: boolean nodes: description: "The number of nodes to add to the load balancer (1-99), must\ \ be an odd number. This defaults to 1." type: integer balancing_algorithm: description: |- The balancing algorithm. * roundrobin (default) * leastconn type: string instances: 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 type: array label: description: The label for your Load Balancer type: string private_network: deprecated: true 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. type: string vpc: description: ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network. type: string firewall_rules: description: An array of firewall rule objects. items: $ref: '#/components/schemas/create_load_balancer_request_firewall_rules_inner' type: array type: object list_load_balancer_forwarding_rules_200_response: example: forwarding_rules: - frontend_protocol: frontend_protocol id: id frontend_port: 0 backend_protocol: backend_protocol backend_port: 6 - frontend_protocol: frontend_protocol id: id frontend_port: 0 backend_protocol: backend_protocol backend_port: 6 meta: total: 0 links: next: next prev: prev properties: forwarding_rules: items: $ref: '#/components/schemas/forwarding-rule' type: array meta: $ref: '#/components/schemas/meta' type: object create_load_balancer_forwarding_rules_request: properties: frontend_protocol: description: |- The protocol on the Load Balancer to forward to the backend. * HTTP * HTTPS * TCP type: string frontend_port: description: The port number on the Load Balancer to forward to the backend. type: integer backend_protocol: description: |- The protocol destination on the backend server. * HTTP * HTTPS * TCP type: string backend_port: description: The port number destination on the backend server. type: integer required: - backend_port - backend_protocol - frontend_port - frontend_protocol type: object get_load_balancer_forwarding_rule_200_response: example: forwarding_rule: frontend_protocol: frontend_protocol id: id frontend_port: 0 backend_protocol: backend_protocol backend_port: 6 properties: forwarding_rule: $ref: '#/components/schemas/forwarding-rule' type: object list_plans_200_response: example: plans: - disk: 1 vcpu_count: 0 monthly_cost: 5 bandwidth: 5 name: name locations: - locations - locations disk_count: 2 id: id type: type ram: 6 - disk: 1 vcpu_count: 0 monthly_cost: 5 bandwidth: 5 name: name locations: - locations - locations disk_count: 2 id: id type: type ram: 6 meta: total: 0 links: next: next prev: prev properties: plans: items: $ref: '#/components/schemas/plans' type: array meta: $ref: '#/components/schemas/meta' type: object list_metal_plans_200_response: example: plans: - disk: disk monthly_cost: 5 bandwidth: 5 cpu_model: cpu_model locations: - locations - locations disk_count: 2 id: id cpu_threads: 6 type: type cpu_count: 0 ram: 1 - disk: disk monthly_cost: 5 bandwidth: 5 cpu_model: cpu_model locations: - locations - locations disk_count: 2 id: id cpu_threads: 6 type: type cpu_count: 0 ram: 1 meta: total: 0 links: next: next prev: prev properties: plans: items: $ref: '#/components/schemas/plans-metal' type: array meta: $ref: '#/components/schemas/meta' type: object list_baremetals_200_response: example: meta: total: 0 links: next: next prev: prev bare_metals: - gateway_v4: gateway_v4 user_scheme: user_scheme os: os main_ip: main_ip date_created: date_created os_id: 6 default_password: default_password label: label cpu_count: 0 v6_main_ip: v6_main_ip tags: - tags - tags v6_network_size: 5 disk: disk v6_network: v6_network mac_address: 5 id: id tag: tag region: region image_id: image_id plan: plan app_id: 1 netmask_v4: netmask_v4 ram: ram status: status - gateway_v4: gateway_v4 user_scheme: user_scheme os: os main_ip: main_ip date_created: date_created os_id: 6 default_password: default_password label: label cpu_count: 0 v6_main_ip: v6_main_ip tags: - tags - tags v6_network_size: 5 disk: disk v6_network: v6_network mac_address: 5 id: id tag: tag region: region image_id: image_id plan: plan app_id: 1 netmask_v4: netmask_v4 ram: ram status: status properties: bare_metals: items: $ref: '#/components/schemas/baremetal' type: array meta: $ref: '#/components/schemas/meta' type: object create_baremetal_request: properties: region: description: "The [Region id](#operation/list-regions) to create the instance." type: string plan: description: "The [Bare Metal plan id](#operation/list-metal-plans) to use\ \ for this instance." type: string script_id: description: "The [Startup Script id](#operation/list-startup-scripts) to\ \ use for this instance." type: string enable_ipv6: description: |- Enable IPv6. * true type: boolean sshkey_id: description: "The [SSH Key id](#operation/list-ssh-keys) to install on this\ \ instance." items: type: string type: array user_data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ for this Instance." type: string label: description: The user-supplied label. type: string activation_email: description: |- Notify by email after deployment. * true * false (default) type: boolean hostname: description: The user-supplied hostname to use when deploying this instance. type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag. type: string reserved_ipv4: description: "The [Reserved IP id](#operation/list-reserved-ips) for this\ \ instance." type: string os_id: description: "If supplied, deploy the instance using this [Operating System\ \ id](#operation/list-os)." type: integer snapshot_id: description: "If supplied, deploy the instance using this [Snapshot ID](#operation/list-snapshots)." type: string app_id: description: "If supplied, deploy the instance using this [Application id](#operation/list-applications)." type: integer image_id: description: "If supplied, deploy the instance using this [Application image_id](#operation/list-applications)." type: string persistent_pxe: description: |- Enable persistent PXE. * true * false (default) type: boolean attach_vpc2: 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." items: type: string type: array detach_vpc2: description: "An array of [VPC IDs](#operation/list-vpc2) to detach from\ \ this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`." items: type: string type: array enable_vpc2: description: |- If `true`, VPC 2.0 support will be added to the new server. This parameter attaches a single VPC 2.0 netowrk. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network. type: boolean tags: description: Tags to apply to the instance. items: type: string type: array user_scheme: 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. * root * limited type: string required: - plan - region type: object create_baremetal_202_response: example: baremetal: gateway_v4: gateway_v4 user_scheme: user_scheme os: os main_ip: main_ip date_created: date_created os_id: 6 default_password: default_password label: label cpu_count: 0 v6_main_ip: v6_main_ip tags: - tags - tags v6_network_size: 5 disk: disk v6_network: v6_network mac_address: 5 id: id tag: tag region: region image_id: image_id plan: plan app_id: 1 netmask_v4: netmask_v4 ram: ram status: status properties: baremetal: $ref: '#/components/schemas/baremetal' type: object get_baremetal_200_response: example: bare_metal: gateway_v4: gateway_v4 user_scheme: user_scheme os: os main_ip: main_ip date_created: date_created os_id: 6 default_password: default_password label: label cpu_count: 0 v6_main_ip: v6_main_ip tags: - tags - tags v6_network_size: 5 disk: disk v6_network: v6_network mac_address: 5 id: id tag: tag region: region image_id: image_id plan: plan app_id: 1 netmask_v4: netmask_v4 ram: ram status: status properties: bare_metal: $ref: '#/components/schemas/baremetal' type: object update_baremetal_request: properties: user_data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ to attach to this instance." type: string label: description: The user-supplied label. type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag. type: string os_id: description: "If supplied, reinstall the instance using this [Operating\ \ System id](#operation/list-os)." type: integer app_id: description: "If supplied, reinstall the instance using this [Application\ \ id](#operation/list-applications)." type: integer image_id: description: "If supplied, reinstall the instance using this [Application\ \ image_id](#operation/list-applications)." type: string enable_ipv6: description: |- Enable IPv6. * true type: boolean attach_vpc2: 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." items: type: string type: array detach_vpc2: description: "An array of [VPC IDs](#operation/list-vpc2) to detach from\ \ this Bare Metal Instance. This parameter takes precedence over `enable_vpc2`." items: type: string type: array enable_vpc2: description: |- If `true`, VPC 2.0 support will be added to the new server. This parameter attaches a single VPC 2.0 netowrk. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network. type: boolean tags: description: Tags to apply to the instance. items: type: string type: array user_scheme: description: |- Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect. * root * limited type: string type: object get_ipv4_baremetal_200_response: example: ipv4s: - netmask: netmask mac_address: mac_address ip: ip type: type reverse: reverse gateway: gateway - netmask: netmask mac_address: mac_address ip: ip type: type reverse: reverse gateway: gateway meta: total: 0 links: next: next prev: prev properties: ipv4s: items: $ref: '#/components/schemas/baremetal-ipv4' type: array meta: $ref: '#/components/schemas/meta' type: object get_ipv6_baremetal_200_response: example: ipv6s: - network_size: 0 ip: ip type: type network: network - network_size: 0 ip: ip type: type network: network meta: total: 0 links: next: next prev: prev properties: ipv6s: items: $ref: '#/components/schemas/baremetal-ipv6' type: array meta: $ref: '#/components/schemas/meta' type: object reinstall_baremetal_request: properties: hostname: description: The hostname to use when reinstalling this bare metal server. type: string type: object get_bandwidth_baremetal_200_response_bandwidth: description: This object will contain objects that represent days in the month (UTC). The date is denoted by the nested objects keys. example: "2020-10-11": incoming_bytes: 0 outgoing_bytes: 6 "2020-10-10": incoming_bytes: 0 outgoing_bytes: 6 properties: "2020-10-10": $ref: '#/components/schemas/bandwidth' "2020-10-11": $ref: '#/components/schemas/bandwidth' type: object get_bandwidth_baremetal_200_response: example: bandwidth: "2020-10-11": incoming_bytes: 0 outgoing_bytes: 6 "2020-10-10": incoming_bytes: 0 outgoing_bytes: 6 properties: bandwidth: $ref: '#/components/schemas/get_bandwidth_baremetal_200_response_bandwidth' type: object halt_baremetals_request: properties: baremetal_ids: items: type: string type: array type: object get_bare_metal_userdata_200_response_user_data: example: data: data properties: data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ attached to this bare metal." type: string type: object get_bare_metal_userdata_200_response: example: user_data: data: data properties: user_data: $ref: '#/components/schemas/get_bare_metal_userdata_200_response_user_data' type: object list_instances_200_response: example: instances: - firewall_group_id: firewall_group_id user_scheme: user_scheme os_id: 2 server_status: server_status internal_ip: internal_ip allowed_bandwidth: 5 features: - features - features hostname: hostname vcpu_count: 1 id: id tag: tag app_id: 7 plan: plan netmask_v4: netmask_v4 ram: 0 gateway_v4: gateway_v4 kvm: kvm os: os main_ip: main_ip power_status: power_status date_created: date_created default_password: default_password label: label tags: - tags - tags disk: 6 v6_networks: - network_size: 5 main_ip: main_ip network: network - network_size: 5 main_ip: main_ip network: network region: region image_id: image_id status: status - firewall_group_id: firewall_group_id user_scheme: user_scheme os_id: 2 server_status: server_status internal_ip: internal_ip allowed_bandwidth: 5 features: - features - features hostname: hostname vcpu_count: 1 id: id tag: tag app_id: 7 plan: plan netmask_v4: netmask_v4 ram: 0 gateway_v4: gateway_v4 kvm: kvm os: os main_ip: main_ip power_status: power_status date_created: date_created default_password: default_password label: label tags: - tags - tags disk: 6 v6_networks: - network_size: 5 main_ip: main_ip network: network - network_size: 5 main_ip: main_ip network: network region: region image_id: image_id status: status meta: total: 0 links: next: next prev: prev properties: instances: items: $ref: '#/components/schemas/instance' type: array meta: $ref: '#/components/schemas/meta' type: object create_instance_request: properties: region: description: "The [Region id](#operation/list-regions) where the Instance\ \ is located." type: string plan: description: "The [Plan id](#operation/list-plans) to use when deploying\ \ this instance." type: string os_id: description: "The [Operating System id](#operation/list-os) to use when\ \ deploying this instance." type: integer ipxe_chain_url: description: The URL location of the iPXE chainloader. type: string iso_id: description: "The [ISO id](#operation/list-isos) to use when deploying this\ \ instance." type: string script_id: description: "The [Startup Script id](#operation/list-startup-scripts) to\ \ use when deploying this instance." type: string snapshot_id: description: "The [Snapshot id](#operation/list-snapshots) to use when deploying\ \ the instance." type: string enable_ipv6: description: |- Enable IPv6. * true type: boolean disable_public_ipv4: description: |- Don't set up a public IPv4 address when IPv6 is enabled. Will not do anything unless `enable_ipv6` is also `true`. * true type: boolean attach_private_network: deprecated: true 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." items: type: string type: array attach_vpc: 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 type: array attach_vpc2: description: "An array of [VPC IDs](#operation/list-vpc2) to attach to this\ \ Instance. This parameter takes precedence over `enable_vpc2`. Please\ \ choose one parameter." items: type: string type: array label: description: A user-supplied label for this instance. type: string sshkey_id: description: "The [SSH Key id](#operation/list-ssh-keys) to install on this\ \ instance." items: type: string type: array backups: description: |- Enable automatic backups for the instance. * enabled * disabled type: string app_id: description: "The [Application id](#operation/list-applications) to use\ \ when deploying this instance." type: integer image_id: description: "The [Application image_id](#operation/list-applications) to\ \ use when deploying this instance." type: string user_data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ to attach to this instance." type: string ddos_protection: description: |- Enable DDoS protection (there is an additional charge for this). * true * false type: boolean activation_email: description: |- Notify by email after deployment. * true * false (default) type: boolean hostname: description: The hostname to use when deploying this instance. type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag. type: string firewall_group_id: description: "The [Firewall Group id](#operation/list-firewall-groups) to\ \ attach to this Instance." type: string reserved_ipv4: description: ID of the floating IP to use as the main IP of this server. type: string enable_private_network: deprecated: true description: |- Use `enable_vpc` instead. If `true`, private networking support will be added to the new server. This parameter attaches a single network. When no network exists in the region, it will be automatically created. If there are multiple private networks in the instance's region, use `attach_private_network` instead to specify a network. type: boolean enable_vpc: description: |- If `true`, VPC support will be added to the new server. This parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created. If there are multiple VPCs in the instance's region, use `attach_vpc` instead to specify a network. type: boolean enable_vpc2: description: |- If `true`, VPC 2.0 support will be added to the new server. This parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a network. type: boolean tags: description: Tags to apply to the instance items: type: string type: array user_scheme: 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. * root * limited type: string required: - plan - region type: object create_instance_202_response: example: instance: firewall_group_id: firewall_group_id user_scheme: user_scheme os_id: 2 server_status: server_status internal_ip: internal_ip allowed_bandwidth: 5 features: - features - features hostname: hostname vcpu_count: 1 id: id tag: tag app_id: 7 plan: plan netmask_v4: netmask_v4 ram: 0 gateway_v4: gateway_v4 kvm: kvm os: os main_ip: main_ip power_status: power_status date_created: date_created default_password: default_password label: label tags: - tags - tags disk: 6 v6_networks: - network_size: 5 main_ip: main_ip network: network - network_size: 5 main_ip: main_ip network: network region: region image_id: image_id status: status properties: instance: $ref: '#/components/schemas/instance' type: object update_instance_request: properties: app_id: description: "Reinstall the instance with this [Application id](#operation/list-applications)." type: integer image_id: description: "Reinstall the instance with this [Application image_id](#operation/list-applications)." type: string backups: description: |- Enable automatic backups for the instance. * enabled * disabled type: string firewall_group_id: description: "The [Firewall Group id](#operation/list-firewall-groups) to\ \ attach to this Instance." type: string enable_ipv6: description: |- Enable IPv6. * true type: boolean os_id: description: "Reinstall the instance with this [ISO id](#operation/list-isos)." type: string user_data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ to attach to this instance." type: string tag: deprecated: true description: Use `tags` instead. The user-supplied tag. type: string plan: description: "Upgrade the instance with this [Plan id](#operation/list-plans)." type: string ddos_protection: description: |- Enable DDoS Protection (there is an additional charge for this). * true * false type: boolean attach_private_network: deprecated: true 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." items: type: string type: array attach_vpc: 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 type: array attach_vpc2: description: "An array of [VPC IDs](#operation/list-vpc2) to attach to this\ \ Instance. This parameter takes precedence over `enable_vpc2`. Please\ \ choose one parameter." items: type: string type: array detach_private_network: deprecated: true 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`." items: type: string type: array detach_vpc: description: "An array of [VPC IDs](#operation/list-vpcs) to detach from\ \ this Instance. This parameter takes precedence over `enable_vpc`." items: type: string type: array detach_vpc2: description: "An array of [VPC IDs](#operation/list-vpc2) to detach from\ \ this Instance. This parameter takes precedence over `enable_vpc2`." items: type: string type: array enable_private_network: deprecated: true description: |- Use `enable_vpc` instead. If `true`, private networking support will be added to the new server. This parameter attaches a single network. When no network exists in the region, it will be automatically created. If there are multiple private networks in the instance's region, use `attach_private_network` instead to specify a network. type: boolean enable_vpc: description: |- If `true`, VPC support will be added to the new server. This parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created. If there are multiple VPCs in the instance's region, use `attach_vpc` instead to specify a VPC. type: boolean enable_vpc2: description: |- If `true`, VPC 2.0 support will be added to the new server. This parameter attaches a single VPC 2.0 netowrk. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a VPC 2.0 network. type: boolean label: description: The user supplied label. type: string tags: description: Tags to apply to the instance. items: type: string type: array user_scheme: description: |- Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect. * root * limited type: string type: object halt_instances_request: properties: instance_ids: description: "The [Instance IDs](#operation/list-instances) to halt." items: type: string type: array type: object reboot_instances_request: properties: instance_ids: description: "The [Instance IDs](#operation/list-instances) to reboot." items: type: string type: array type: object start_instances_request: properties: instance_ids: description: "The [Instance IDs](#operation/list-instances) to start." items: type: string type: array type: object reinstall_instance_request: properties: hostname: description: The hostname to use when reinstalling this instance. type: string type: object get_instance_neighbors_200_response: example: neighbors: - neighbors - neighbors properties: neighbors: description: "An array of [Instance ids](#operation/list-instances) in the\ \ same location as this Instance." items: type: string type: array type: object list_instance_private_networks_200_response: example: meta: total: 0 links: next: next prev: prev private_networks: - mac_address: mac_address id: id ip_address: ip_address - mac_address: mac_address id: id ip_address: ip_address properties: private_networks: items: $ref: '#/components/schemas/private-networks' type: array meta: $ref: '#/components/schemas/meta' type: object list_instance_vpcs_200_response: example: meta: total: 0 links: next: next prev: prev private_networks: - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region - date_created: date_created v4_subnet_mask: 0 description: description v4_subnet: v4_subnet id: id region: region properties: private_networks: items: $ref: '#/components/schemas/vpc' type: array meta: $ref: '#/components/schemas/meta' type: object list_instance_vpc2_200_response: example: meta: total: 0 links: next: next prev: prev vpcs: - mac_address: mac_address id: id ip_address: ip_address - mac_address: mac_address id: id ip_address: ip_address properties: vpcs: items: $ref: '#/components/schemas/instance-vpc2' type: array meta: $ref: '#/components/schemas/meta' type: object get_instance_iso_status_200_response_iso_status: example: iso_id: iso_id state: state properties: iso_id: description: "The [ISO id](#operation/list-isos)." type: string state: description: |- The status of this ISO. * ready * attached type: string type: object get_instance_iso_status_200_response: example: iso_status: iso_id: iso_id state: state properties: iso_status: $ref: '#/components/schemas/get_instance_iso_status_200_response_iso_status' type: object attach_instance_iso_request: properties: iso_id: description: "The [ISO id](#operation/list-isos) to attach to this Instance." type: string type: object attach_instance_iso_202_response_iso_status: example: iso_id: iso_id state: state properties: state: description: |- State of the ISO * ismounting type: string iso_id: description: "The [ISO id](#operation/list-isos) being attached." type: string type: object attach_instance_iso_202_response: example: iso_status: iso_id: iso_id state: state properties: iso_status: $ref: '#/components/schemas/attach_instance_iso_202_response_iso_status' type: object detach_instance_iso_202_response_iso_status: example: state: state properties: state: description: |- State of the ISO * isunmounting type: string type: object detach_instance_iso_202_response: example: iso_status: state: state properties: iso_status: $ref: '#/components/schemas/detach_instance_iso_202_response_iso_status' type: object attach_instance_network_request: properties: network_id: description: "The [Private Network id](#operation/list-networks) to attach\ \ to this Instance." type: string type: object detach_instance_network_request: properties: network_id: description: "The [Private Network id](#operation/list-networks) to detach\ \ from this Instance." type: string type: object attach_instance_vpc_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpcs) to attach to this Instance." type: string type: object detach_instance_vpc_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpcs) to detach from this Instance." type: string type: object attach_instance_vpc2_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpc2) to attach to this Instance." type: string ip_address: description: 'The IP address to use for this instance on the attached VPC 2.0 network. ' type: string required: - vpc_id type: object detach_instance_vpc2_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpc2) to detach from this Instance." type: string required: - vpc_id type: object get_instance_backup_schedule_200_response: example: backup_schedule: dom: 1 hour: 0 next_scheduled_time_utc: next_scheduled_time_utc type: type dow: 6 enabled: true properties: backup_schedule: $ref: '#/components/schemas/backup-schedule' type: object create_instance_backup_schedule_request: properties: type: description: |- Type of backup schedule: | | Value | Description | | - | ------ | ------------- | | | daily | Back up once per day at `hour`. | | | weekly | Back up once per week on `dow` at `hour`. | | | monthly | Back up each month at `dom` at `hour`. | | | daily\_alt\_even | Back up on even dates at `hour`. | | | daily\_alt\_odd | Back up on odd dates at `hour`. | type: string hour: description: Hour of day to run in UTC. type: integer dow: description: |- Day of week to run. | | Value | Description | | - | ------ | ------------- | | | 1 | Sunday | | | 2 | Monday | | | 3 | Tuesday | | | 4 | Wednesday | | | 5 | Thursday | | | 6 | Friday | | | 7 | Saturday | type: integer dom: description: Day of month to run. Use values between 1 and 28. type: integer required: - type type: object restore_instance_request: properties: backup_id: description: "The [Backup id](#operation/list-backups) used to restore this\ \ instance." type: string snapshot_id: description: "The [Snapshot id](#operation/list-snapshots) used to restore\ \ this instance." type: string type: object restore_instance_202_response_status: example: restore_id: restore_id restore_type: restore_type status: status properties: restore_type: type: string restore_id: type: string status: type: string type: object restore_instance_202_response: example: status: restore_id: restore_id restore_type: restore_type status: status properties: status: $ref: '#/components/schemas/restore_instance_202_response_status' type: object create_instance_ipv4_request: properties: reboot: description: |- Set if the server is rebooted immediately after the IPv4 address is created. * true (default) * false type: boolean type: object list_instance_ipv6_reverse_200_response_reverse_ipv6s_inner: example: ip: ip reverse: reverse properties: reverse: description: The IPv6 reverse entry. type: string ip: description: The IPv6 address. type: string type: object list_instance_ipv6_reverse_200_response: example: reverse_ipv6s: - ip: ip reverse: reverse - ip: ip reverse: reverse properties: reverse_ipv6s: items: $ref: '#/components/schemas/list_instance_ipv6_reverse_200_response_reverse_ipv6s_inner' type: array type: object create_instance_reverse_ipv6_request: properties: ip: description: "The IPv6 address in full, expanded format." type: string reverse: description: The IPv6 reverse entry. type: string required: - ip - reverse type: object create_instance_reverse_ipv4_request: properties: ip: description: The IPv4 address. type: string reverse: description: The IPv4 reverse entry. type: string required: - ip - reverse type: object get_backup_200_response: example: backup: size: 0 date_created: date_created description: description id: id status: status properties: backup: $ref: '#/components/schemas/backup' type: object get_instance_userdata_200_response_user_data: example: data: data properties: data: description: "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/)\ \ attached to this instance." type: string type: object get_instance_userdata_200_response: example: user_data: data: data properties: user_data: $ref: '#/components/schemas/get_instance_userdata_200_response_user_data' type: object post_instances_instance_id_ipv4_reverse_default_request: properties: ip: type: string required: - ip type: object get_instance_upgrades_200_response_upgrades: example: os: - "" - "" plans: - "" - "" applications: - "" - "" properties: applications: items: {} type: array plans: items: {} type: array os: items: {} type: array type: object get_instance_upgrades_200_response: example: upgrades: os: - "" - "" plans: - "" - "" applications: - "" - "" properties: upgrades: $ref: '#/components/schemas/get_instance_upgrades_200_response_upgrades' type: object get_bare_metals_upgrades_200_response_upgrades: description: This object will contain the available Bare Metal Upgrades example: os: - "" - "" applications: - "" - "" properties: applications: items: {} type: array os: items: {} type: array type: object get_bare_metals_upgrades_200_response: example: upgrades: os: - "" - "" applications: - "" - "" properties: upgrades: $ref: '#/components/schemas/get_bare_metals_upgrades_200_response_upgrades' type: object get_bare_metal_vnc_200_response_vnc: description: This object will contain the VNC URL for the Bare Metal Instance example: url: url properties: url: description: This is the VNC URL for the Bare Metal Instance type: string type: object get_bare_metal_vnc_200_response: example: vnc: url: url properties: vnc: $ref: '#/components/schemas/get_bare_metal_vnc_200_response_vnc' type: object attach_baremetals_vpc2_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpc2) to attach to this Bare\ \ Metal Instance." type: string ip_address: description: 'The IP address to use for this instance on the attached VPC 2.0 network. ' type: string type: object detach_baremetal_vpc2_request: properties: vpc_id: description: "The [VPC ID](#operation/list-vpc2) to detach from this Bare\ \ Metal Instance." type: string type: object list_baremetal_vpc2_200_response: example: vpcs: - mac_address: mac_address id: id ip_address: ip_address - mac_address: mac_address id: id ip_address: ip_address properties: vpcs: items: $ref: '#/components/schemas/instance-vpc2' type: array type: object list_kubernetes_clusters_200_response: example: vke_clusters: - firewall_group_id: firewall_group_id ha_controlplanes: true date_created: date_created ip: ip label: label version: version endpoint: endpoint cluster_subnet: cluster_subnet service_subnet: service_subnet node_pools: - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status id: id region: region status: status - firewall_group_id: firewall_group_id ha_controlplanes: true date_created: date_created ip: ip label: label version: version endpoint: endpoint cluster_subnet: cluster_subnet service_subnet: service_subnet node_pools: - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status id: id region: region status: status properties: vke_clusters: items: $ref: '#/components/schemas/vke-cluster' type: array type: object create_kubernetes_cluster_request_node_pools_inner: properties: node_quantity: description: "Number of instances to deploy in this nodepool. Minimum of\ \ 1 node required, but at least 3 is recommended." type: integer label: 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. type: string plan: description: "Plan you want this nodepool to use. Note: minimum plan must\ \ be $10" type: string tag: description: Tag for node pool type: string auto_scaler: description: Option to use the auto scaler with your cluster. Default false. type: boolean min_nodes: description: Auto scaler field for minimum nodes you want for your cluster. Default 1. type: integer max_nodes: description: Auto scaler field for maximum nodes you want for your cluster. Default 1. type: integer required: - label - node_quantity - plan type: object create_kubernetes_cluster_request: properties: label: description: The label for your Kubernetes cluster. type: string region: description: "Region you want to deploy VKE in. See [Regions](#tag/region)\ \ for more information." type: string version: description: Version of Kubernetes you want to deploy. type: string ha_controlplanes: description: |- Whether a highly available control planes configuration should be deployed * true * false (default) type: boolean enable_firewall: description: |- Whether a [Firewall Group](#tag/firewall) should be deployed and managed by this cluster * true * false (default) type: boolean node_pools: items: $ref: '#/components/schemas/create_kubernetes_cluster_request_node_pools_inner' type: array required: - region - version type: object create_kubernetes_cluster_201_response: example: vke_cluster: firewall_group_id: firewall_group_id ha_controlplanes: true date_created: date_created ip: ip label: label version: version endpoint: endpoint cluster_subnet: cluster_subnet service_subnet: service_subnet node_pools: - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status id: id region: region status: status properties: vke_cluster: $ref: '#/components/schemas/vke-cluster' type: object update_kubernetes_cluster_request: properties: label: description: Label for the Kubernetes cluster type: string required: - label type: object get_kubernetes_resources_200_response_resources_block_storage_inner: example: date_created: date_created id: id label: label status: status properties: id: description: Unique identifier for the block storage volume minLength: 1 type: string label: description: Label given to the block storage volume minLength: 1 type: string date_created: description: Date the block storage volume was created minLength: 1 type: string status: description: Status of the block storage volume minLength: 1 type: string type: object get_kubernetes_resources_200_response_resources_load_balancer_inner: example: date_created: date_created id: id label: label status: status properties: id: description: Unique identifier for the load balancer minLength: 1 type: string label: description: Label given to the load balancer minLength: 1 type: string date_created: description: Date the load balancer was created minLength: 1 type: string status: description: Status of the load balancer minLength: 1 type: string type: object get_kubernetes_resources_200_response_resources: example: load_balancer: - date_created: date_created id: id label: label status: status - date_created: date_created id: id label: label status: status block_storage: - date_created: date_created id: id label: label status: status - date_created: date_created id: id label: label status: status properties: block_storage: items: $ref: '#/components/schemas/get_kubernetes_resources_200_response_resources_block_storage_inner' minItems: 1 type: array uniqueItems: true load_balancer: items: $ref: '#/components/schemas/get_kubernetes_resources_200_response_resources_load_balancer_inner' minItems: 1 type: array uniqueItems: true type: object get_kubernetes_resources_200_response: description: "" example: resources: load_balancer: - date_created: date_created id: id label: label status: status - date_created: date_created id: id label: label status: status block_storage: - date_created: date_created id: id label: label status: status - date_created: date_created id: id label: label status: status properties: resources: $ref: '#/components/schemas/get_kubernetes_resources_200_response_resources' 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 get_kubernetes_available_upgrades_200_response: description: "" example: available_upgrades: - available_upgrades - available_upgrades properties: available_upgrades: description: Array of available upgrade version strings items: type: string type: array type: object x-examples: example-1: available_upgrades: - v1.22.8+3 - v1.21.11+3 start_kubernetes_cluster_upgrade_request: properties: upgrade_version: description: The version you're upgrading to. type: string required: - upgrade_version type: object get_nodepools_200_response: example: node_pools: - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status - nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status properties: node_pools: items: $ref: '#/components/schemas/nodepools' type: array type: object create_nodepools_request: properties: node_quantity: description: Number of instances in this nodepool type: integer label: 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. type: string plan: description: Plan that this nodepool will use type: string tag: description: Tag for node pool type: string auto_scaler: description: Option to use the auto scaler with your cluster. Default false. type: boolean min_nodes: description: Auto scaler field for minimum nodes you want for your cluster. Default 1. type: integer max_nodes: description: Auto scaler field for maximum nodes you want for your cluster. Default 1. type: integer required: - label - node_quantity - plan type: object create_nodepools_201_response: example: node_pool: nodes: - date_created: date_created id: id label: label - date_created: date_created id: id label: label date_updated: date_updated auto_scaler: true date_created: date_created node_quantity: 0 max_nodes: 1 id: id label: label tag: tag plan: plan min_nodes: 6 status: status properties: node_pool: $ref: '#/components/schemas/nodepools' type: object update_nodepool_request: properties: node_quantity: description: "Number of instances in the NodePool. Minimum of 1 is required,\ \ but at least 3 is recommended." type: integer tag: description: Tag for your node pool type: string auto_scaler: description: Option to use the auto scaler for your cluster. Default false. type: boolean min_nodes: description: Auto scaler field for minimum nodes you want for your cluster. Default 1. type: integer max_nodes: description: Auto scaler field for maximum nodes you want for your cluster. Default 1. type: integer type: object update_nodepool_request_1: properties: node_quantity: description: "Number of instances in the nodepool. Minimum of 1 is required,\ \ but at least 3 is recommended." type: integer required: - node_quantity type: object get_kubernetes_clusters_config_200_response: example: kube_config: kube_config properties: kube_config: description: Base64 encoded KubeConfig type: string type: object get_kubernetes_versions_200_response: example: versions: - versions - versions properties: versions: items: type: string type: array type: object list_billing_history_200_response: example: billing_history: - date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0.8008281904610115 type: type - date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0.8008281904610115 type: type meta: total: 0 links: next: next prev: prev properties: billing_history: description: List of all billing history. items: $ref: '#/components/schemas/billing' type: array meta: $ref: '#/components/schemas/meta' type: object list_invoices_200_response: description: "" example: meta: total: 0 links: next: next prev: prev billing_invoices: - date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0 - date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0 properties: billing_invoices: description: List of billing invoices. items: $ref: '#/components/schemas/invoice' type: array meta: $ref: '#/components/schemas/meta' type: object x-examples: example-1: billing_invoice: - id: 123456 billing_period: 09-01-2021 amount: 5 get_invoice_200_response: description: "" example: billing_invoice: date: date amount: 6.027456183070403 balance: 1.4658129805029452 description: description id: 0 properties: billing_invoice: $ref: '#/components/schemas/invoice' type: object x-examples: example-1: billing_invoice: id: 123456 description: Account Credit billing_period: 09-01-2021 amount: 5 get_invoice_items_200_response_invoice_items_inner: example: end_date: end_date product: product total: 1.4658129805029452 description: description units: 0.8008281904610115 unit_type: unit_type unit_price: 6.027456183070403 start_date: start_date properties: description: description: Invoice item description type: string product: description: Product name type: string start_date: description: Start date of item type: string end_date: description: End date of item type: string units: description: Number of units item consumed in billing period type: number unit_type: description: "Unit type. Options include \"hours\", \"overage\", and \"\ discount\"" type: string unit_price: description: Price per unit in dollars type: number total: description: Total amount due in dollars type: number type: object get_invoice_items_200_response_meta_links: example: next: next prev: prev properties: next: type: string prev: type: string type: object get_invoice_items_200_response_meta: example: total: 5.962133916683182 links: next: next prev: prev properties: total: type: number links: $ref: '#/components/schemas/get_invoice_items_200_response_meta_links' type: object get_invoice_items_200_response: description: "" example: invoice_items: - end_date: end_date product: product total: 1.4658129805029452 description: description units: 0.8008281904610115 unit_type: unit_type unit_price: 6.027456183070403 start_date: start_date - end_date: end_date product: product total: 1.4658129805029452 description: description units: 0.8008281904610115 unit_type: unit_type unit_price: 6.027456183070403 start_date: start_date meta: total: 5.962133916683182 links: next: next prev: prev properties: invoice_items: description: List of invoice items. items: $ref: '#/components/schemas/get_invoice_items_200_response_invoice_items_inner' type: array meta: $ref: '#/components/schemas/get_invoice_items_200_response_meta' 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: "" list_database_plans_200_response: example: plans: - disk: 5 max_connections: "{}" vcpu_count: 6 monthly_cost: 5 supported_engines: "{}" locations: - locations - locations id: id type: type number_of_nodes: 0 ram: 1 - disk: 5 max_connections: "{}" vcpu_count: 6 monthly_cost: 5 supported_engines: "{}" locations: - locations - locations id: id type: type number_of_nodes: 0 ram: 1 properties: plans: items: $ref: '#/components/schemas/dbaas-plan' type: array type: object list_databases_200_response: example: databases: - database_engine_version: database_engine_version vpc_id: vpc_id read_replicas: - "{}" - "{}" ferretdb_credentials: password: password public_ip: public_ip port: "" host: host private_ip: private_ip username: username password: password maintenance_dow: maintenance_dow host: host mysql_long_query_time: 5 pg_available_extensions: - "{}" - "{}" id: id tag: tag redis_eviction_policy: redis_eviction_policy plan: plan latest_backup: latest_backup mysql_require_primary_key: true plan_vcpus: 1 public_host: public_host date_created: date_created label: label plan_replicas: 5 database_engine: database_engine plan_ram: 6 dbname: dbname mysql_sql_modes: - mysql_sql_modes - mysql_sql_modes port: port maintenance_time: maintenance_time mysql_slow_query_log: true plan_disk: 0 trusted_ips: - trusted_ips - trusted_ips cluster_time_zone: cluster_time_zone region: region user: user status: status - database_engine_version: database_engine_version vpc_id: vpc_id read_replicas: - "{}" - "{}" ferretdb_credentials: password: password public_ip: public_ip port: "" host: host private_ip: private_ip username: username password: password maintenance_dow: maintenance_dow host: host mysql_long_query_time: 5 pg_available_extensions: - "{}" - "{}" id: id tag: tag redis_eviction_policy: redis_eviction_policy plan: plan latest_backup: latest_backup mysql_require_primary_key: true plan_vcpus: 1 public_host: public_host date_created: date_created label: label plan_replicas: 5 database_engine: database_engine plan_ram: 6 dbname: dbname mysql_sql_modes: - mysql_sql_modes - mysql_sql_modes port: port maintenance_time: maintenance_time mysql_slow_query_log: true plan_disk: 0 trusted_ips: - trusted_ips - trusted_ips cluster_time_zone: cluster_time_zone region: region user: user status: status meta: total: 2 properties: databases: items: $ref: '#/components/schemas/database' type: array meta: $ref: '#/components/schemas/dbaas-meta' type: object create_database_request: properties: database_engine: description: |- The database engine type for the Managed Database. * `mysql` * `pg` * `ferretpg` * `redis` type: string database_engine_version: description: |- The version of the chosen database engine type for the Managed Database. * MySQL: `8` * PostgreSQL: `12` - `15` * FerretDB + PostgreSQL: `12` - `15` * Redis: `7` type: string region: description: "The [Region id](#operation/list-regions) where the Managed\ \ Database is located." type: string plan: description: "The [Plan id](#operation/list-database-plans) to use when\ \ deploying this Managed Database." type: string label: description: A user-supplied label for this Managed Database. type: string tag: description: The user-supplied tag for this Managed Database. type: string vpc_id: 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: string maintenance_dow: description: |- The day of week for routine maintenance updates. * `monday` * `tuesday` * `wednesday` * `thursday` * `friday` * `saturday` * `sunday` type: string maintenance_time: 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.)." type: string trusted_ips: description: A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded). items: type: string type: array mysql_sql_modes: description: |- A list of SQL modes to enable on the Managed Database (MySQL engine type only). * `ALLOW_INVALID_DATES` * `ANSI` (Combination Mode) * `ANSI_QUOTES` * `ERROR_FOR_DIVISION_BY_ZERO` * `HIGH_NOT_PRECEDENCE` * `IGNORE_SPACE` * `NO_AUTO_VALUE_ON_ZERO` * `NO_DIR_IN_CREATE` * `NO_ENGINE_SUBSTITUTION` * `NO_UNSIGNED_SUBTRACTION` * `NO_ZERO_DATE` * `NO_ZERO_IN_DATE` * `ONLY_FULL_GROUP_BY` * `PIPES_AS_CONCAT` * `REAL_AS_FLOAT` * `STRICT_ALL_TABLES` * `STRICT_TRANS_TABLES` * `TIME_TRUNCATE_FRACTIONAL` * `TRADITIONAL` (Combination Mode) items: type: string type: array mysql_require_primary_key: description: Require a primary key for all tables on the Managed Database (MySQL engine type only). type: boolean mysql_slow_query_log: description: Enable or disable slow query logging on the Managed Database (MySQL engine type only). type: boolean mysql_long_query_time: description: The number of seconds to denote a slow query when logging is enabled (MySQL engine type only). type: integer redis_eviction_policy: description: Set the data eviction policy for the Managed Database (Redis engine type only) type: string required: - database_engine - database_engine_version - label - plan - region type: object create_database_202_response: example: database: database_engine_version: database_engine_version vpc_id: vpc_id read_replicas: - "{}" - "{}" ferretdb_credentials: password: password public_ip: public_ip port: "" host: host private_ip: private_ip username: username password: password maintenance_dow: maintenance_dow host: host mysql_long_query_time: 5 pg_available_extensions: - "{}" - "{}" id: id tag: tag redis_eviction_policy: redis_eviction_policy plan: plan latest_backup: latest_backup mysql_require_primary_key: true plan_vcpus: 1 public_host: public_host date_created: date_created label: label plan_replicas: 5 database_engine: database_engine plan_ram: 6 dbname: dbname mysql_sql_modes: - mysql_sql_modes - mysql_sql_modes port: port maintenance_time: maintenance_time mysql_slow_query_log: true plan_disk: 0 trusted_ips: - trusted_ips - trusted_ips cluster_time_zone: cluster_time_zone region: region user: user status: status properties: database: $ref: '#/components/schemas/database' type: object update_database_request: properties: region: description: "The [Region id](#operation/list-regions) where the Managed\ \ Database is located." type: string plan: description: "The [Plan id](#operation/list-database-plans) for this Managed\ \ Database." type: string label: description: A user-supplied label for this Managed Database. type: string tag: description: The user-supplied tag for this Managed Database. type: string vpc_id: description: "The [VPC id](#operation/list-vpcs) for this Managed Database." type: string maintenance_dow: description: |- The day of week for routine maintenance updates. * `monday` * `tuesday` * `wednesday` * `thursday` * `friday` * `saturday` * `sunday` type: string maintenance_time: 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.)." type: string cluster_time_zone: description: "The configured time zone for the Managed Database in TZ database\ \ format (e.g. `UTC`, `America/New_York`, `Europe/London`, etc.)." type: string trusted_ips: description: A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded). items: type: string type: array mysql_sql_modes: description: |- A list of SQL modes to enable on the Managed Database (MySQL engine type only). * `ALLOW_INVALID_DATES` * `ANSI` (Combination Mode) * `ANSI_QUOTES` * `ERROR_FOR_DIVISION_BY_ZERO` * `HIGH_NOT_PRECEDENCE` * `IGNORE_SPACE` * `NO_AUTO_VALUE_ON_ZERO` * `NO_DIR_IN_CREATE` * `NO_ENGINE_SUBSTITUTION` * `NO_UNSIGNED_SUBTRACTION` * `NO_ZERO_DATE` * `NO_ZERO_IN_DATE` * `ONLY_FULL_GROUP_BY` * `PIPES_AS_CONCAT` * `REAL_AS_FLOAT` * `STRICT_ALL_TABLES` * `STRICT_TRANS_TABLES` * `TIME_TRUNCATE_FRACTIONAL` * `TRADITIONAL` (Combination Mode) items: type: string type: array mysql_require_primary_key: description: Require a primary key for all tables on the Managed Database (MySQL engine type only). type: boolean mysql_slow_query_log: description: Enable or disable slow query logging on the Managed Database (MySQL engine type only). type: boolean mysql_long_query_time: description: The number of seconds to denote a slow query when logging is enabled (MySQL engine type only). type: integer redis_eviction_policy: description: Set the data eviction policy for the Managed Database (Redis engine type only) type: string type: object get_database_usage_200_response: example: usage: disk: current_gb: current_gb percentage: percentage max_gb: max_gb memory: percentage: percentage current_mb: current_mb max_mb: max_mb cpu: percentage: percentage properties: usage: $ref: '#/components/schemas/database-usage' type: object list_database_users_200_response: example: meta: total: 2 users: - password: password encryption: encryption access_control: redis_acl_keys: - redis_acl_keys - redis_acl_keys redis_acl_channels: - redis_acl_channels - redis_acl_channels redis_acl_categories: - redis_acl_categories - redis_acl_categories redis_acl_commands: - redis_acl_commands - redis_acl_commands username: username - password: password encryption: encryption access_control: redis_acl_keys: - redis_acl_keys - redis_acl_keys redis_acl_channels: - redis_acl_channels - redis_acl_channels redis_acl_categories: - redis_acl_categories - redis_acl_categories redis_acl_commands: - redis_acl_commands - redis_acl_commands username: username properties: users: items: $ref: '#/components/schemas/database-user' type: array meta: $ref: '#/components/schemas/dbaas-meta' type: object create_database_user_request: properties: username: description: The username of the database user. type: string password: description: The password for the database user. This can be omitted to auto-generate a secure password. type: string encryption: description: |- The password encryption type for the database user (MySQL engine type only). * `caching_sha2_password` (default if omitted) * `mysql_native_password` type: string required: - username type: object create_database_user_202_response: example: user: password: password encryption: encryption access_control: redis_acl_keys: - redis_acl_keys - redis_acl_keys redis_acl_channels: - redis_acl_channels - redis_acl_channels redis_acl_categories: - redis_acl_categories - redis_acl_categories redis_acl_commands: - redis_acl_commands - redis_acl_commands username: username properties: user: $ref: '#/components/schemas/database-user' type: object update_database_user_request: properties: password: description: The password for the database user. This can be empty to auto-generate a new secure password. type: string required: - password type: object set_database_user_acl_request: properties: redis_acl_categories: description: A list of rules for command categories. items: type: string type: array redis_acl_channels: description: A list of publish/subscribe channel patterns. items: type: string type: array redis_acl_commands: description: A list of rules for individual commands.. items: type: string type: array redis_acl_keys: description: A list of key access rules.. items: type: string type: array type: object list_database_dbs_200_response: example: dbs: - name: name - name: name meta: total: 2 properties: dbs: items: $ref: '#/components/schemas/database-db' type: array meta: $ref: '#/components/schemas/dbaas-meta' type: object create_database_db_request: properties: name: description: The name of the logical database. type: string required: - name type: object create_database_db_202_response: example: db: name: name properties: db: $ref: '#/components/schemas/database-db' type: object list_maintenance_updates_200_response: example: available_updates: - available_updates - available_updates properties: available_updates: description: A list of available maintenance updates for the Managed Database. items: type: string type: array type: object start_maintenance_updates_200_response: example: message: message properties: message: description: A message indicating whether the maintenance updates were successfully initialized. type: string type: object list_service_alerts_request: properties: period: description: The time range to list Managed Database service alerts from. type: string required: - period type: object list_service_alerts_200_response: example: alerts: maintenance_scheduled: maintenance_scheduled table_count: 0 resource_type: resource_type description: description recommendation: recommendation message_type: message_type timestamp: timestamp properties: alerts: $ref: '#/components/schemas/dbaas-alerts' type: object view_migration_status_200_response: example: migration: method: method credentials: password: password database: database port: "" ignored_databases: ignored_databases host: host ssl: true username: username error: error status: status properties: migration: $ref: '#/components/schemas/dbaas-migration' type: object database_start_migration_request: properties: host: description: The host name of the source server. type: string port: description: The connection port of the source server. type: int username: description: The username of the source server. Uses `default` for Redis if left empty or unset. type: string password: description: The password of the source server. type: string database: description: "The database of the source server. Required for MySQL/PostgreSQL\ \ engine types, but excluded for Redis." type: string ignored_databases: description: Comma-separated list of ignored databases on the source server. Excluded for Redis engine types. type: string ssl: description: The true/false value for whether SSL is needed to connect to the source server. type: boolean required: - host - password - port - ssl - username type: object database_add_read_replica_request: properties: region: description: "The [Region id](#operation/list-regions) where the Managed\ \ Database is located." type: string label: description: A user-supplied label for this Managed Database. type: string required: - label - region type: object get_backup_information_200_response: example: oldest_backup: date: date time: time latest_backup: date: date time: time properties: latest_backup: $ref: '#/components/schemas/database-latest-backup' oldest_backup: $ref: '#/components/schemas/database-oldest-backup' type: object database_restore_from_backup_request: properties: label: description: A user-supplied label for this Managed Database. type: string type: description: |- The type of backup restoration to use for this Managed Database. * `pitr`: Point-in-time recovery * `basebackup`: Latest backup (default if omitted) type: string date: 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." type: string time: 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." type: string required: - label type: object database_fork_request: properties: label: description: A user-supplied label for this Managed Database. type: string region: description: "The [Region id](#operation/list-regions) where the Managed\ \ Database is located." type: string plan: description: "The [Plan id](#operation/list-database-plans) to use when\ \ deploying this Managed Database." type: string vpc_id: 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: string type: description: |- The type of backup restoration to use for this Managed Database. * `pitr`: Point-in-time recovery * `basebackup`: Latest backup (default if omitted) type: string date: 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." type: string time: 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." type: string required: - label - plan - region type: object list_connection_pools_200_response: example: connection_pools: - mode: mode database: database size: 5 name: name username: username - mode: mode database: database size: 5 name: name username: username meta: total: 2 connections: max: 1 available: 6 used: 0 properties: connections: $ref: '#/components/schemas/database-connections' connection_pools: items: $ref: '#/components/schemas/connection-pool' type: array meta: $ref: '#/components/schemas/dbaas-meta' type: object create_connection_pool_request: properties: name: description: The name of the connection pool. type: string database: description: The logical database associated with the connection pool. type: string username: description: The database user associated with the connection pool. type: string mode: description: |- The mode for the connection pool. * `session` * `transaction` * `statement` type: string size: description: The size of the connection pool. type: integer required: - database - mode - name - size - username type: object create_connection_pool_202_response: example: connection_pool: mode: mode database: database size: 5 name: name username: username properties: connection_pool: $ref: '#/components/schemas/connection-pool' type: object update_connection_pool_request: properties: database: description: The logical database associated with the connection pool. type: string username: description: The database user associated with the connection pool. type: string mode: description: |- The mode for the connection pool. * `session` * `transaction` * `statement` type: string size: description: The size of the connection pool. type: integer type: object list_advanced_options_200_response: example: available_options: - min_value: "" enumerals: - enumerals - enumerals name: name alt_values: - "" - "" units: units type: type max_value: "" - min_value: "" enumerals: - enumerals - enumerals name: name alt_values: - "" - "" units: units type: type max_value: "" configured_options: "{}" properties: configured_options: type: object available_options: items: $ref: '#/components/schemas/dbaas-available-options' type: array type: object update_advanced_options_request: properties: autovacuum_analyze_scale_factor: description: "Accepted values: 0 - 1" type: float autovacuum_analyze_threshold: description: "Accepted values: 0 - 2147483647" type: int autovacuum_freeze_max_age: description: "Accepted values: 200000000 - 1500000000" type: int autovacuum_max_workers: description: "Accepted values: 1 - 20" type: int autovacuum_naptime: description: "Accepted values: 1 - 86400" type: int autovacuum_vacuum_cost_delay: description: "Accepted values: -1 - 100" type: int autovacuum_vacuum_cost_limit: description: "Accepted values: -1 - 10000" type: int autovacuum_vacuum_scale_factor: description: "Accepted values: 0 - 1" type: float autovacuum_vacuum_threshold: description: "Accepted values: 0 - 2147483647" type: int bgwriter_delay: description: "Accepted values: 10 - 10000" type: int bgwriter_flush_after: description: "Accepted values: 0 - 2048" type: int bgwriter_lru_maxpages: description: "Accepted values: 0 - 1073741823" type: int bgwriter_lru_multiplier: description: "Accepted values: 0 - 10" type: float deadlock_timeout: description: "Accepted values: 500 - 1800000" type: int default_toast_compression: description: |- Accepted values: * `lz4` * `pglz` type: enum idle_in_transaction_session_timeout: description: "Accepted values: 0 - 604800000" type: int jit: description: |- Accepted values: * `true` * `false` type: boolean log_autovacuum_min_duration: description: "Accepted values: -1 - 2147483647" type: int log_error_verbosity: description: |- Accepted values: * `TERSE` * `DEFAULT` * `VERBOSE` type: enum log_line_prefix: description: |- Accepted values: * `'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] '` type: enum log_min_duration_statement: description: "Accepted values: -1 - 86400000" type: int max_files_per_process: description: "Accepted values: 1000 - 4096" type: int max_locks_per_transaction: description: "Accepted values: 64 - 6400" type: int max_logical_replication_workers: description: "Accepted values: 4 - 64" type: int max_parallel_workers: description: "Accepted values: 0 - 96" type: int max_parallel_workers_per_gather: description: "Accepted values: 0 - 96" type: int max_pred_locks_per_transaction: description: "Accepted values: 64 - 5120" type: int max_prepared_transactions: description: "Accepted values: 0 - 10000" type: int max_replication_slots: description: "Accepted values: 8 - 64" type: int max_stack_depth: description: "Accepted values: 2097152 - 6291456" type: int max_standby_archive_delay: description: "Accepted values: 1 - 43200000" type: int max_standby_streaming_delay: description: "Accepted values: 1 - 43200000" type: int max_wal_senders: description: "Accepted values: 20 - 64" type: int max_worker_processes: description: "Accepted values: 8 - 96" type: int pg_partman_bgw.interval: description: "Accepted values: 3600 - 604800" type: int pg_partman_bgw.role: description: "Maximum length: 64 characters" type: string pg_stat_statements.track: description: |- Accepted values: * `all` * `top` * `none` type: enum temp_file_limit: description: "Accepted values: -1 - 2147483647" type: int track_activity_query_size: description: "Accepted values: 1024 - 10240" type: int track_commit_timestamp: description: |- Accepted values: * `off` * `on` type: enum track_functions: description: |- Accepted values: * `all` * `pl` * `none` type: enum track_io_timing: description: |- Accepted values: * `off` * `on` type: enum wal_sender_timeout: description: "Accepted values: 0, 5000 - 10800000" type: int wal_writer_delay: description: "Accepted values: 10 - 200" type: int type: object list_available_versions_200_response: example: available_versions: - available_versions - available_versions properties: available_versions: description: A list of available versions greater than the current version of the Managed Database. items: type: string type: array type: object start_version_upgrade_request: properties: version: description: The version number to upgrade the Managed Database to. type: string required: - version type: object start_version_upgrade_200_response: example: message: message properties: message: description: A message indicating whether the version upgrade was successfully initialized. type: string type: object list_registries_200_response: example: meta: total: 0 links: next: next prev: prev registries: - urn: urn metadata: subscription: billing: monthly_price: "" pending_charges: "" region: urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 public: true date_created: date_created name: name id: id storage: allowed: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" used: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" root_user: added_at: added_at password: password updated_at: updated_at root: true id: 0 username: username - urn: urn metadata: subscription: billing: monthly_price: "" pending_charges: "" region: urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 public: true date_created: date_created name: name id: id storage: allowed: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" used: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" root_user: added_at: added_at password: password updated_at: updated_at root: true id: 0 username: username properties: registries: items: $ref: '#/components/schemas/registry' type: array meta: $ref: '#/components/schemas/meta' type: object create_registry_request: properties: name: $ref: '#/components/schemas/registry/properties/name' public: $ref: '#/components/schemas/registry/properties/public' region: 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 type: string plan: 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 type: string required: - name - plan - public - region type: object update_registry_request: properties: public: $ref: '#/components/schemas/registry/properties/public' plan: 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 type: string type: object list_registry_repositories_200_response: example: repositories: - image: image added_at: added_at updated_at: updated_at name: name artifact_count: 6 description: description pull_count: 0 - image: image added_at: added_at updated_at: updated_at name: name artifact_count: 6 description: description pull_count: 0 meta: total: 0 links: next: next prev: prev properties: repositories: items: $ref: '#/components/schemas/registry-repository' type: array meta: $ref: '#/components/schemas/meta' type: object update_repository_request: properties: description: $ref: '#/components/schemas/registry-repository/properties/description' type: object list_registry_regions_200_response: example: regions: - urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 - urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 meta: total: 0 links: next: next prev: prev properties: regions: items: $ref: '#/components/schemas/registry-region' type: array meta: $ref: '#/components/schemas/meta' type: object list_registry_plans_200_response_plans: example: premium: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 start_up: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 business: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 enterprise: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 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' type: object list_registry_plans_200_response: example: plans: premium: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 start_up: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 business: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 enterprise: monthly_price: 6 vanity_name: vanity_name max_storage_mb: 0 properties: plans: $ref: '#/components/schemas/list_registry_plans_200_response_plans' type: object user_user: description: An array of Users. example: password: password acls: - acls - acls api_enabled: true name: name id: id email: email properties: id: description: The User's id. type: string name: description: The User's name. type: string api_enabled: description: |- Permit API access for this User. * true * false type: boolean email: description: The User's email address. type: string password: description: The User's password. type: string acls: description: |- An array of permission granted. * abuse * alerts * billing * dns * firewall * loadbalancer * manage\_users * objstore * provisioning * subscriptions * subscriptions\_view * support * upgrade items: type: string type: array type: object loadbalancer_generic_info_sticky_sessions: description: Array of sticky session cookies. example: cookie_name: cookie_name properties: cookie_name: description: "The cookie name to make sticky. See [Load Balancer documentation](https://www.vultr.com/docs/vultr-load-balancers/#Load_Balancer_Configuration)." type: string type: object loadbalancer_generic_info: description: An object containing additional options. example: sticky_sessions: cookie_name: cookie_name private_network: private_network ssl_redirect: true proxy_protocol: true vpc: vpc balancing_algorithm: balancing_algorithm properties: balancing_algorithm: description: |- The balancing algorithm. * roundrobin (default) * leastconn type: string ssl_redirect: 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. * true * false type: boolean sticky_sessions: $ref: '#/components/schemas/loadbalancer_generic_info_sticky_sessions' proxy_protocol: description: "\"If `true`, you must configure backend nodes to accept Proxy\ \ protocol. \\n\\n* true\\n* false (Default)\"" type: boolean private_network: deprecated: true 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. type: string vpc: description: ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network. type: string type: object loadbalancer_health_check: description: "The health check object configuration. See [Load Balancer documentation](https://www.vultr.com/docs/vultr-load-balancers/#Load_Balancer_Configuration)." example: path: path response_timeout: 1 healthy_threshold: 5 protocol: protocol check_interval: 6 port: 0 unhealthy_threshold: 5 properties: protocol: description: |- The protocol to use for health checks. * HTTPS * HTTP * TCP type: string port: description: The port to use for health checks. type: integer path: description: HTTP Path to check. Only applies if Protocol is HTTP or HTTPS. type: string check_interval: description: Interval between health checks. type: integer response_timeout: description: Timeout before health check fails. type: integer unhealthy_threshold: description: Number times a check must fail before becoming unhealthy. type: integer healthy_threshold: description: Number of times a check must succeed before returning to healthy status. type: integer type: object loadbalancer_forward_rules_inner: description: A forwarding rule object. example: backend_portocol: backend_portocol frontend_protocol: frontend_protocol id: id frontend_port: 7 backend_port: 9 properties: id: description: A unique ID for the forwarding rule. type: string frontend_protocol: description: |- The protocol on the Load Balancer to forward to the backend. * HTTP * HTTPS * TCP type: string frontend_port: description: The port number on the Load Balancer to forward to the backend. type: integer backend_portocol: description: |- The protocol destination on the backend server. * HTTP * HTTPS * TCP type: string backend_port: description: 'The port number destination on the backend server. ' type: integer type: object loadbalancer_firewall_rules_inner: description: "" example: port: 3 id: id source: source ip_type: ip_type properties: id: description: A unique ID for the firewall rule. type: string port: description: Port for this rule. type: integer source: 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. Possible values: | | Value | Description | | - | ------ | ------------- | | | "192.168.1.1/16" | Ip address with a subnet size. | | | cloudflare | Allow all of Cloudflare's IP space through the firewall | type: string ip_type: description: | The type of IP rule. * v4 * v6 type: string type: object instance_v6_networks_inner: description: An IPv6 object. example: network_size: 5 main_ip: main_ip network: network properties: network: description: The IPv6 subnet. type: string main_ip: description: The main IPv6 network address. type: string network_size: description: The IPv6 network size in bits. type: integer type: object database_ferretdb_credentials: description: Associated list of FerretDB connection credentials (FerretDB + PostgreSQL engine type only). example: password: password public_ip: public_ip port: "" host: host private_ip: private_ip username: username properties: host: description: The public hostname for FerretDB database connections. type: string port: description: The assigned port for connecting to the FerretDB instance. type: int username: description: The username for connecting to the FerretDB instance. type: string password: description: The password for connecting to the FerretDB instance. type: string public_ip: description: The public IP address of the FerretDB instance. type: string private_ip: description: The private IP address of the FerretDB instance when attached to a VPC network. type: string type: object database_usage_disk: description: Metrics for the disk storage of the Managed Database. example: current_gb: current_gb percentage: percentage max_gb: max_gb properties: current_gb: description: The current amount of space used on the Managed Database (in GB). type: string max_gb: description: The maximum available space on the Managed Database (in GB). type: string percentage: description: The percentage of space used on the Managed Database relative to its capacity. type: string type: object database_usage_memory: description: Metrics for the memory of the Managed Database. example: percentage: percentage current_mb: current_mb max_mb: max_mb properties: current_mb: description: The current amount of memory used on the Managed Database (in MB). type: string max_mb: description: The maximum available memory on the Managed Database (in MB). type: string percentage: description: The average percent of memory utilization for the Managed Database over the last hour. type: string type: object database_usage_cpu: description: Metrics for the vCPU(s) of the Managed Database. example: percentage: percentage properties: percentage: description: The average percent of vCPU utilization for the Managed Database over the last hour. type: string type: object database_user_access_control: description: Access control settings for the database user (Redis engine type only). example: redis_acl_keys: - redis_acl_keys - redis_acl_keys redis_acl_channels: - redis_acl_channels - redis_acl_channels redis_acl_categories: - redis_acl_categories - redis_acl_categories redis_acl_commands: - redis_acl_commands - redis_acl_commands properties: redis_acl_categories: description: List of configured rules for command categories. items: type: string type: array redis_acl_channels: description: List of configured publish/subscribe channel patterns. items: type: string type: array redis_acl_commands: description: List of configured rules for individual commands. items: type: string type: array redis_acl_keys: description: List of configured key access rules. items: type: string type: array type: object dbaas_migration_credentials: description: Associated list of connection details for the source database server. example: password: password database: database port: "" ignored_databases: ignored_databases host: host ssl: true username: username properties: host: description: The host name of the source server. type: string port: description: The connection port of the source server. type: int username: description: The username of the source server. type: string password: description: The password of the source server. type: string database: description: The database of the source server. Excluded for Redis engine types. type: string ignored_databases: description: Comma-separated list of ignored databases on the source server. Excluded for Redis engine types. type: string ssl: description: The true/false value for whether SSL is needed to connect to the source server. type: boolean type: object meta_links: description: Cursor values for pagination. example: next: next prev: prev properties: next: description: Cursor value for the next page. type: string prev: description: Cursor value for the previous page. type: string type: object registry_storage: description: The allowed and used storage for this registry subscription. example: allowed: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" used: updated_at: updated_at mb: "" bytes: "" gb: "" tb: "" properties: used: $ref: '#/components/schemas/registry-storage' allowed: $ref: '#/components/schemas/registry-storage' type: object registry_metadata_subscription_billing: description: Billing information example: monthly_price: "" pending_charges: "" properties: monthly_price: description: Monthly Price type: float pending_charges: description: The current charges for this subscription type: float type: object registry_metadata_subscription: description: Subscription information example: billing: monthly_price: "" pending_charges: "" properties: billing: $ref: '#/components/schemas/registry_metadata_subscription_billing' type: object registry_metadata: description: The metadata containing subscription information such as the region where this registry lives and monthly price and pending charges example: subscription: billing: monthly_price: "" pending_charges: "" region: urn: urn added_at: added_at public: true updated_at: updated_at name: name base_url: base_url data_center: "{}" id: 6 properties: region: $ref: '#/components/schemas/registry-region' subscription: $ref: '#/components/schemas/registry_metadata_subscription' type: object registry_docker_credentials_auths__registry_region_name__vultrcr_com: description: This object represents the auth for this region example: auth: auth properties: auth: description: "The base64 encoded credentials of the Robot Account {registry-user-username}:{registry-user-password}" type: string type: object registry_docker_credentials_auths: description: Contains a single object with the key being the URN of the region example: '{registry-region-name}.vultrcr.com': auth: auth properties: '{registry-region-name}.vultrcr.com': $ref: '#/components/schemas/registry_docker_credentials_auths__registry_region_name__vultrcr_com' type: object registry_kubernetes_docker_credentials_metadata: description: "" properties: name: description: Specifies that these are Vultr Container Registry Credentials type: string type: object registry_kubernetes_docker_credentials_data: description: "" properties: ".dockerconfigjson": description: Contains the base64 encoded Docker Credentials Config JSON type: string type: object securitySchemes: API Key: description: |- The Vultr API v2 uses API keys for authentication. You can manage your API keys in the Vultr customer portal. 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). To authenticate a request, send your API Key as a bearer token in the request header. ### Authentication Example curl "https://api.vultr.com/v2/account" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" Unauthenticated API requests will fail. All requests must use HTTPS encryption for security, and calls made with HTTP will fail. in: header scheme: bearer type: http