0% found this document useful (0 votes)
315 views

Vultr API Reference - Version 1.0: /v1/account/info

This document provides an overview and examples of using the Vultr API to manage bare metal servers. It describes API endpoints for listing available applications, creating and destroying servers, getting server details and bandwidth usage, and reinstalling servers with a different application. Authentication is done with an API key sent in the HTTP header. Responses will return server IDs and other metadata but not full server configurations or data.

Uploaded by

n3str1x
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
315 views

Vultr API Reference - Version 1.0: /v1/account/info

This document provides an overview and examples of using the Vultr API to manage bare metal servers. It describes API endpoints for listing available applications, creating and destroying servers, getting server details and bandwidth usage, and reinstalling servers with a different application. Authentication is done with an API key sent in the HTTP header. Responses will return server IDs and other metadata but not full server configurations or data.

Uploaded by

n3str1x
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 80

Vultr API Reference - Version 1.

0
2020-09-11

Overview
API Endpoint:
https://api.vultr.com/
API Key:
Available at https://my.vultr.com/settings/#API
Authentication:
For any API request that requires authentication, you would need to send the 'API-Key: YOURKEY' HTTP
header. See the cURL examples below for more information on how to do this.
Time and Date:
All time and date fields returned by this API are displayed in UTC.
HTTP Response Codes:
200 Function successfully executed.
400 Invalid API location. Check the URL that you are using.
403 Invalid or missing API key. Check that your API key is present and matches your assigned key.
405 Invalid HTTP method. Check that the method (POST|GET) matches what the documentation indicates.
412 Request failed. Check the response body for a more detailed description.
500 Internal server error. Try again at a later time.
503 Rate limit hit. API requests are limited to an average of 2/s. Try your request again later.

Examples
GET request with no arguments
curl "https://api.vultr.com/v1/os/list"
GET request that requires your API key
curl -H 'API-Key: YOURKEY' "https://api.vultr.com/v1/server/list"
GET request with additional parameters
curl -H 'API-Key: YOURKEY' -G --data "SUBID=12345" "https://api.vultr.com/v1/server/list"
POST request that requires your API key
curl -H 'API-Key: YOURKEY' --data "SUBID=12345" "https://api.vultr.com/v1/server/start"
POST request with additional parameters
curl -H 'API-Key: YOURKEY' --data "SUBID=12345" --data-urlencode 'label=my server!'
"https://api.vultr.com/v1/server/label_set"

Account
/v1/account/info
Retrieve information about the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
billing
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/account/info

Example Response:
{
"balance": "-5519.11",
"pending_charges": "57.03",
"last_payment_date": "2014-07-18 15:31:01",
"last_payment_amount": "-1.00"
}
Parameters:
No parameters

Application
/v1/app/list
Retrieve a list of available applications. These refer to applications that can be launched when creating a Vultr
VPS.

The "surcharge" field is deprecated and will always be set to zero.


API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/app/list

Example Response:
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0
}
}
Parameters:
No parameters
API Key
/v1/auth/info
Retrieve information about the current API key.

API Key Required:


Yes
Request Type:
GET
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/auth/info

Example Response:
{
"acls": [
"subscriptions",
"billing",
"support",
"provisioning"
],
"email": "[email protected]",
"name": "Example Account"
}
Parameters:
No parameters

Backup
/v1/backup/list
List all backups on the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/backup/list

Example Response:
{
"543d34149403a": {
"BACKUPID": "543d34149403a",
"date_created": "2014-10-14 12:40:40",
"description": "Automatic server backup",
"size": "42949672960",
"status": "complete"
},
"543d340f6dbce": {
"BACKUPID": "543d340f6dbce",
"date_created": "2014-10-13 16:11:46",
"description": "",
"size": "10000000",
"status": "complete"
}
}
Parameters:
SUBID integer (optional) Filter result set to only contain backups of this subscription object.
BACKUPID string (optional) Filter result set to only contain this backup.

Bare Metal
/v1/baremetal/app_change
Reinstalls the bare metal server to a different Vultr one-click application. All data will be permanently lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/app_change --data 'SUBID=900000' --data
'APPID=2'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.
APPID integer Application to use. See /v1/baremetal/app_change_list.

/v1/baremetal/app_change_list
Retrieves a list of Vultr one-click applications to which a bare metal server can be changed. Always check
against this list before trying to switch applications because it is not possible to switch between every application
combination.

The "surcharge" field is deprecated and will always be set to zero.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/app_change_list?SUBID=900000

Example Response:
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0
}
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/bandwidth
Get the bandwidth used by a bare metal server.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/bandwidth?SUBID=900000

Example Response:
{
"incoming_bytes": [
[
"2017-04-01",
91571055
],
[
"2017-04-02",
78355758
],
[
"2017-04-03",
85827590
]
],
"outgoing_bytes": [
[
"2017-04-01",
3084731
],
[
"2017-04-02",
1810478
],
[
"2017-04-03",
2729604
]
]
}
Parameters:
No parameters

/v1/baremetal/create
Create a new bare metal server. You will start being billed for this immediately. The response only contains the
SUBID for the new machine.

To determine that a server is ready for use, you may poll /v1/baremetal/list?SUBID=<SUBID> and check that the
"status" field is set to "active", then test your OS login with SSH (Linux) or RDP (Windows).

In order to create a server using a snapshot, use OSID 164 and specify a SNAPSHOTID.
API Key Required:
Yes
Request Type:
POST
Required Access:
provisioning
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/create --data 'DCID=1' --data
'METALPLANID=1' --data 'OSID=127'
Example Response:
{
"SUBID": "900000"
}
Parameters:
DCID integer Location in which to create the server. See v1/regions/list.
METALPLANID integer Plan to use when creating this server. See v1/plans/list_baremetal.
OSID integer Operating system to use. See v1/os/list.
SCRIPTID integer (optional) The SCRIPTID of a startup script to execute on boot. This only works when using
a Vultr supplied operating system. See v1/startupscript/list.
SNAPSHOTID string (optional) If you've selected the 'snapshot' operating system, this should be the
SNAPSHOTID (see v1/snapshot/list) to restore for the initial installation.
enable_ipv6 string (optional) 'yes' or 'no'. If yes, an IPv6 subnet will be assigned to the server.
label string (optional) This is a text label that will be shown in the control panel.
SSHKEYID string (optional) List of SSH keys to apply to this server on install (only valid for Linux/FreeBSD).
See v1/sshkey/list. Separate keys with commas.
APPID integer (optional) If launching an application (OSID 186), this is the APPID to launch. See v1/app/list.
userdata string (optional) Base64 encoded user-data.
notify_activate string (optional, default 'yes') 'yes' or 'no'. If yes, an activation email will be sent when the
server is ready.
hostname string (optional) The hostname to assign to this server.
tag string (optional) The tag to assign to this server.
reserved_ip_v4 string (optional) IP address of the floating IP to use as the main IP of this server.
/v1/baremetal/destroy
Destroy (delete) a bare metal server. All data will be permanently lost, and the IP address will be released.
There is no going back from this call.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/destroy --data 'SUBID=900000'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/get_app_info
Retrieves the application information for a bare metal server.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/get_app_info?SUBID=900000

Example Response:
{
"app_info": ""
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/get_user_data
Retrieves the (base64 encoded) user-data for this subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/get_user_data?SUBID=900000
Example Response:
{
"userdata": "ZWNobyBIZWxsbyBXb3JsZA=="
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/halt
Halt a bare metal server. This is a hard power off, meaning that the power to the machine is severed. The data
on the machine will not be modified, and you will still be billed for the machine. To completely delete a machine,
see v1/baremetal/destroy.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/halt --data 'SUBID=900000'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/ipv6_enable
Enables IPv6 networking on a bare metal server by assigning an IPv6 subnet to it. The server will not be
rebooted when the subnet is assigned. It is possible to check whether or not IPv6 networking has been enabled
with v1/baremetal/list_ipv6.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/ipv6_enable --data 'SUBID=900000'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/label_set
Set the label of a bare metal server.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/label_set --data 'SUBID=900000' --data
'label=example'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.
label string This is a text label that will be shown in the control panel.

/v1/baremetal/list
List all bare metal servers on the current account. This includes both pending and active servers.

To determine that a server is ready for use, you may poll /v1/baremetal/list?SUBID=<SUBID> and check that the
"status" field is set to "active", then test your OS login with SSH (Linux) or RDP (Windows).

The "status" field represents the status of the subscription. It will be one of: pending | active | suspended |
closed.

If you need to filter the list, review the parameters for this function. Currently, only one filter at a time may be
applied (SUBID, tag, label, main_ip).

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list

Example Response:
{
"900000": {
"SUBID": "900000",
"os": "CentOS 6 x64",
"ram": "65536 MB",
"disk": "2x 240 GB SSD",
"main_ip": "203.0.113.10",
"cpu_count": 1,
"location": "New Jersey",
"DCID": "1",
"default_password": "ab81u!ryranq",
"date_created": "2017-04-12 18:45:41",
"status": "active",
"netmask_v4": "255.255.255.0",
"gateway_v4": "203.0.113.1",
"METALPLANID": 28,
"v6_networks": [
{
"v6_network": "2001:DB8:9000::100",
"v6_main_ip": "2001:0DB8:9000:0000:0000:0000:0000:0100",
"v6_network_size": 64
}
],
"label": "my label",
"tag": "my tag",
"OSID": "127",
"APPID": "0"
}
}
Parameters:
SUBID integer (optional) Unique identifier of a subscription. Only the subscription object will be returned.
tag string (optional) A tag string. Only subscription objects with this tag will be returned.
label string (optional) A text label string. Only subscription objects with this text label will be returned.
main_ip string (optional) An IPv4 address. Only the subscription matching this IPv4 address will be returned.

/v1/baremetal/list_ipv4
List the IPv4 information of a bare metal server. IP information is only available for bare metal servers in the
"active" state.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list_ipv4?SUBID=900000

Example Response:
{
"900000": [
{
"ip": "203.0.113.10",
"netmask": "255.255.255.0",
"gateway": "203.0.113.1",
"type": "main_ip"
}
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/list_ipv6
List the IPv6 information of a bare metal server. IP information is only available for bare metal servers in the
"active" state. If the bare metal server does not have IPv6 enabled, then an empty array is returned.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list_ipv6?SUBID=900000

Example Response:
{
"900000": [
{
"ip": "2001:0DB8:9000:0000:0000:0000:0000:0100",
"network": "2001:DB8:9000::",
"network_size": 64,
"type": "main_ip"
}
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/os_change
Changes the bare metal server to a different operating system. All data will be permanently lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/os_change --data 'SUBID=900000' --data
'OSID=127'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.
OSID integer Operating system to use. See /v1/baremetal/os_change_list.

/v1/baremetal/os_change_list
Retrieves a list of operating systems to which a bare metal server can be changed. Always check against this list
before trying to switch operating systems because it is not possible to switch between every operating system
combination.

The "surcharge" field is deprecated and will always be set to zero.


API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/os_change_list?SUBID=900000

Example Response:
{
"127": {
"OSID": "127",
"name": "CentOS 6 x64",
"arch": "x64",
"family": "centos",
"windows": false,
"surcharge": 0
},
"148": {
"OSID": "148",
"name": "Ubuntu 12.04 i386",
"arch": "i386",
"family": "ubuntu",
"windows": false,
"surcharge": 0
}
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/reboot
Reboot a bare metal server. This is a hard reboot, which means that the server is powered off, then back on.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/reboot --data 'SUBID=900000'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/reinstall
Reinstall the operating system on a bare metal server. All data will be permanently lost, but the IP address will
remain the same. There is no going back from this call.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/reinstall --data 'SUBID=900000'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.

/v1/baremetal/set_user_data
Sets the user-data for this subscription. User-data is a generic data store, which some provisioning tools and
cloud operating systems use as a configuration file. It is generally consumed only once after an instance has
been launched, but individual needs may vary.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/set_user_data --data 'SUBID=900000' --data
'userdata=ZWNobyBIZWxsbyBXb3JsZA=='
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.
userdata string Base64 encoded user-data

/v1/baremetal/tag_set
Set the tag of a bare metal server.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/tag_set --data 'SUBID=900000' --data
'tag=Web'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/baremetal/list call.
tag string The tag to assign to this server. This tag is shown in the control panel.

Block Storage
/v1/block/attach
Attach a block storage subscription to a VPS subscription. The instance will be restarted. The block storage
volume must not be attached to any other VPS subscriptions for this to work.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/attach --data 'SUBID=1313217' --data
'attach_to_SUBID=1313207'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer ID of the block storage subscription to attach
attach_to_SUBID integer ID of the VPS subscription to mount the block storage subscription to
live string (optional) 'yes' or 'no'. If 'yes', this will be attached to the instance without a restart (requires support
from the instance's operating system). (default is 'no')

/v1/block/create
Create a block storage subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
provisioning
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/create --data 'DCID=1' --data 'size_gb=50' --data
'label=test'
Example Response:
{
"SUBID": "1313217"
}
Parameters:
DCID integer DCID of the location to create this subscription in. See /v1/regions/list
size_gb integer Size (in GB) of this subscription.
label string (optional) Text label that will be associated with the subscription

/v1/block/delete
Delete a block storage subscription. All data will be permanently lost. There is no going back from this call.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/delete --data 'SUBID=1313217'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer ID of the block storage subscription to delete

/v1/block/detach
Detach a block storage subscription from the currently attached instance. The instance will be restarted.

We do not recommend using live detaches unless you are certain that the volume has been unmounted from
your operating system. Detaching a mounted volume may result in data loss/corruption.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/detach --data 'SUBID=1313217'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer ID of the block storage subscription to detach
live string (optional) 'yes' or 'no'. If 'yes', this will be detached from the instance without a restart. (default is
'no')

/v1/block/label_set
Set the label of a block storage subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/label_set --data 'SUBID=1313217' --data
'label=example'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer ID of the block storage subscription.
label string Text label that will be shown in the control panel.

/v1/block/list
Retrieve a list of any active block storage subscriptions on this account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/list

Example Response:
[
{
"SUBID": 1313216,
"date_created": "2016-03-29 10:10:04",
"cost_per_month": 10,
"status": "pending",
"size_gb": 100,
"DCID": 1,
"attached_to_SUBID": null,
"label": "files1"
},
{
"SUBID": 1313217,
"date_created": "2016-31-29 10:10:48",
"cost_per_month": 5,
"status": "active",
"size_gb": 50,
"DCID": 1,
"attached_to_SUBID": 1313207,
"label": "files2"
}
]
Parameters:
SUBID integer (optional) Unique identifier of a subscription. Only the subscription object will be returned.

/v1/block/resize
Resize the block storage volume to a new size.
WARNING: When shrinking the volume, you must manually shrink the filesystem and partitions beforehand, or
you will lose data.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/resize --data 'SUBID=1313217' --data 'size_gb=75'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer ID of the block storage subscription to resize
size_gb integer New size (in GB) of the block storage subscription

DNS
/v1/dns/create_domain
Create a domain name in DNS.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/create_domain --data 'domain=example.com' --data
'serverip=127.0.0.1'
Example Response:

Parameters:
domain string Domain name to create
serverip string Server IP to use when creating default records (A and MX)

/v1/dns/create_record
Add a DNS record.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/create_record --data 'domain=example.com' --data
'name=vultr' --data 'type=A' --data 'data=192.0.2.1'
Example Response:

Parameters:
domain string Domain name to add record to
name string Name (subdomain) of record
type string Type (A, AAAA, MX, etc) of record
data string Data for this record
ttl integer (optional) TTL of this record
priority integer (only required for MX and SRV) Priority of this record (omit the priority from the data)

/v1/dns/delete_domain
Delete a domain name and all associated records.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/delete_domain --data 'domain=example.com'

Example Response:
No response, check HTTP result code.
Parameters:
domain string Domain name to delete

/v1/dns/delete_record
Delete an individual DNS record.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/delete_record --data 'domain=example.com' --data
'RECORDID=1265277'
Example Response:

Parameters:
domain string Domain name to delete record from
RECORDID integer ID of record to delete (see /dns/records)

/v1/dns/dnssec_enable
Enable or disable DNSSEC for a domain.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/dnssec_enable --data 'domain=example.com' --data
'enable=yes'
Example Response:
No response, check HTTP result code.
Parameters:
domain string Domain name to update record
enable string 'yes' or 'no'. If yes, DNSSEC will be enabled for the given domain

/v1/dns/dnssec_info
Get the DNSSEC keys (if enabled) for a domain.

API Key Required:


Yes
Request Type:
GET
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/dnssec_info?domain=example.com

Example Response:
[
"example.com IN DNSKEY 257 3 13 kRrxANp7YTGqVbaWtMy8hhsK0jcG4ajjICZKMb4fKv79Vx\/RSn76
vNjzIT7\/Uo0BXil01Fk8RRQc4nWZctGJBA==",
"example.com IN DS 27933 13 1 2d9ac457e5c11a104e25d971d0a6254562bddde7",
"example.com IN DS 27933 13 2
8858e7b0dfb881280ce2ca1e0eafcd93d5b53687c21da284d4f8799ba82208a9"
]
Parameters:
domain string Domain from which to gather DNSSEC keys.

/v1/dns/list
List all domains associated with the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/list

Example Response:
[
{
"domain": "example.com",
"date_created": "2014-12-11 16:20:59"
}
]
Parameters:
No parameters

/v1/dns/records
List all the records associated with a particular domain.

API Key Required:


Yes
Request Type:
GET
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/records?domain=example.com

Example Response:
[
{
"type": "A",
"name": "",
"data": "127.0.0.1",
"priority": 0,
"RECORDID": 1265276,
"ttl": 300
},
{
"type": "CNAME",
"name": "*",
"data": "example.com",
"priority": 0,
"RECORDID": 1265277,
"ttl": 300
}
]
Parameters:
domain string Domain to list records for

/v1/dns/soa_info
Get the SOA record information for a domain.

API Key Required:


Yes
Request Type:
GET
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/soa_info?domain=example.com

Example Response:
{
"nsprimary": "ns1.vultr.com",
"email": "[email protected]"
}
Parameters:
domain string Domain from which to gather SOA information

/v1/dns/soa_update
Update the SOA record information for a domain.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/soa_update --data 'domain=example.com' --data
'nsprimary=ns1.vultr.com' --data '[email protected]'
Example Response:
No response, check HTTP result code.
Parameters:
domain string Domain name to update record
nsprimary string (Optional) Primary nameserver to store in the SOA record
email string (Optional) Administrative email to store in the SOA record

/v1/dns/update_record
Update a DNS record.

API Key Required:


Yes
Request Type:
POST
Required Access:
dns
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/update_record --data 'domain=example.com' --data
'RECORDID=1265277' --data 'name=vultr' --data 'type=A' --data 'data=127.0.0.1'
Example Response:
No response, check HTTP result code.
Parameters:
domain string Domain name to update record
RECORDID integer ID of record to update (see /dns/records)
name string (optional) Name (subdomain) of record
data string (optional) Data for this record
ttl integer (optional) TTL of this record
priority integer (optional) (only required for MX and SRV) Priority of this record (omit the priority from the data)

Firewall
/v1/firewall/group_create
Create a new firewall group on the current account.

API Key Required:


Yes
Request Type:
POST
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_create --data 'description=group1'

Example Response:
{
"FIREWALLGROUPID": "1234abcd"
}
Parameters:
description string (optional) Description of firewall group.

/v1/firewall/group_delete
Delete a firewall group. Use this function with caution because the firewall group being deleted will be detached
from all servers. This can result in open ports accessible to the internet.
API Key Required:
Yes
Request Type:
POST
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_delete --data
'FIREWALLGROUPID=1234abcd'
Example Response:
No response, check HTTP result code.
Parameters:
FIREWALLGROUPID string Firewall group to delete.
/v1/firewall/group_list
List all firewall groups on the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_list

Example Response:
{
"1234abcd": {
"FIREWALLGROUPID": "1234abcd",
"description": "my http firewall",
"date_created": "2017-02-14 17:48:40",
"date_modified": "2017-02-14 17:48:40",
"instance_count": 2,
"rule_count": 2,
"max_rule_count": 50
}
}
Parameters:
FIREWALLGROUPID string (optional) Filter result set to only contain this firewall group.

/v1/firewall/group_set_description
Change the description on a firewall group.

API Key Required:


Yes
Request Type:
POST
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_set_description --data
'FIREWALLGROUPID=1234abcd' --data 'description=group2'
Example Response:
No response, check HTTP result code.
Parameters:
FIREWALLGROUPID string Firewall group to update.
description string Description of firewall group.

/v1/firewall/rule_create
Create a rule in a firewall group.

API Key Required:


Yes
Request Type:
POST
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/rule_create --data
'FIREWALLGROUPID=1234abcd' --data 'direction=in' --data 'ip_type=v4' --data 'protocol=tcp' --data
'subnet=10.234.22.0' --data 'subnet_size=24' --data 'port=80' --data 'notes=example text'
Example Response:
{
"rulenumber": 2
}
Parameters:
FIREWALLGROUPID string Target firewall group. See /v1/firewall/group_list.
direction string Direction of rule. Possible values: "in".
ip_type string IP address type. Possible values: "v4", "v6".
protocol string Protocol type. Possible values: "icmp", "tcp", "udp", "gre".
subnet string IP address representing a subnet. The IP address format must match with the "ip_type"
parameter value.
subnet_size integer IP prefix size in bits.
port string (optional) TCP/UDP only. This field can be an integer value specifying a port or a colon separated
port range.
notes string (optional) This field supports notes up to 255 characters.
source string (optional) If the source string is given a value of "cloudflare" subnet and subnet_size will both be
ignored, this will allow all of Cloudflare's IP space through the firewall. Possible values: "", "cloudflare".

/v1/firewall/rule_delete
Delete a rule in a firewall group.

API Key Required:


Yes
Request Type:
POST
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/rule_delete --data
'FIREWALLGROUPID=1234abcd' --data 'rulenumber=2'
Example Response:
No response, check HTTP result code.
Parameters:
FIREWALLGROUPID string Target firewall group. See /v1/firewall/group_list.
rulenumber integer Rule number to delete. See /v1/firewall/rule_list.

/v1/firewall/rule_list
List the rules in a firewall group.

API Key Required:


Yes
Request Type:
GET
Required Access:
firewall
Example Request:
curl -H 'API-Key: YOURKEY'
'https://api.vultr.com/v1/firewall/rule_list?FIREWALLGROUPID=1234abcd&direction=in&ip_type=v4'
Example Response:
{
"1": {
"rulenumber": 1,
"action": "accept",
"protocol": "icmp",
"port": "",
"subnet": "",
"subnet_size": 0,
"source": "",
"notes": ""
},
"2": {
"rulenumber": 2,
"action": "accept",
"protocol": "tcp",
"port": "80",
"subnet": "10.234.22.0",
"subnet_size": 24,
"source": "",
"notes": "example"
},
"3": {
"rulenumber": 3,
"action": "accept",
"protocol": "tcp",
"port": "80",
"subnet": "0.0.0.0",
"subnet_size": 0,
"source": "cloudflare",
"notes": "Allow all of Cloudflare's IP space."
}
}
Parameters:
FIREWALLGROUPID string Target firewall group. See /v1/firewall/group_list.
direction string Direction of firewall rules. Possible values: "in".
ip_type string IP address type. Possible values: "v4", "v6".

ISO Image
/v1/iso/create_from_url
Create a new ISO image on the current account. The ISO image will be downloaded from a given URL.
Download status can be checked with the v1/iso/list call.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/create_from_url --data
'url=http://example.com/path/to/CentOS-6.5-x86_64-minimal.iso'
Example Response:
{
"ISOID": 24
}
Parameters:
url string Remote URL from where the ISO will be downloaded.

/v1/iso/destroy
Destroy (delete) an ISO image. There is no going back from this call.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/destroy --data 'ISOID=24'

Example Response:
No response, check HTTP result code.
Parameters:
ISOID integer Unique identifier for this ISO image. These can be found using the v1/iso/list call.

/v1/iso/list
List all ISOs currently available on this account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/list

Example Response:
{
"24": {
"ISOID": 24,
"date_created": "2014-04-01 14:10:09",
"filename": "CentOS-6.5-x86_64-minimal.iso",
"size": 9342976,
"md5sum": "ec0669895a250f803e1709d0402fc411",
"sha512sum": "1741f890bce04613f60b4f2b16fb8070c31640c53d4dbb4271b22610150928743eda12
07f031b0b5bdd240ef1a6ed21fd5e6a2d192b9c87eff60b6d9698b8260",
"status": "complete"
}
}
Parameters:
No parameters

/v1/iso/list_public
List public ISOs offered in the Vultr ISO library.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/list_public

Example Response:
{
"204515": {
"ISOID": 204515,
"name": "CentOS 7",
"description": "7 x86_64 Minimal"
}
}
Parameters:
No parameters

Load Balancers
/v1/loadbalancer/conf_info

Retrieve the entire configuration of a load balancer subscription.


API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:

curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/conf_info?SUBID=1314840


Example Response:
{
"generic_info": {
"balancing_algorithm": "roundrobin",
"ssl_redirect": false,
"sticky_sessions": {
"cookie_name": "tests"
},
"proxy_protocol": false
},
"health_checks_info": {
"protocol": "http",
"port": 80,
"path": "\/",
"check_interval": 15,
"response_timeout": 5,
"unhealthy_threshold": 5,
"healthy_threshold": 5
},
"has_ssl": true,
"forward_rule_list": [
{
"RULEID": "e8d9e2d83d97bc39",
"frontend_protocol": "https",
"frontend_port": 80,
"backend_protocol": "http",
"backend_port": 80
}
],
"instance_list": [
1317281
]
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/create
Create a load balancer subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/create --data 'DCID=1' --data 'conf=...'
--data 'label=lb1'

health_check json param example


{
"protocol": "https",
"port": 81,
"check_interval": 17,
"response_timeout": 5,
"unhealthy_threshold": 5,
"healthy_threshold": 5,
"path": "/health"
}

forwarding_rules json param example: Note you can add multiple forwarding rules in this json array

[
{
"frontend_protocol": "https",
"frontend_port": 81,
"backend_protocol": "https",
"backend_port": 81
}
]

attached_nodes array param example: Note you can add multiple backends
[
12345,
54321
]
Example Response:
{
"SUBID": "1314840"
}
Parameters:
DCID integer Location in which to create the load balancer. See "v1/regions/list".
label string (optional) Text label that will be associated with the subscription.
config_ssl_redirect boolean (optional) Forces redirect from HTTP to HTTPS.
sticky_sessions string (optional) Enables sticky sessions for your load balancer - valid options are on or off.
cookie_name string (optional) Name for your stick session.
balancing_algorithm string (optional) Balancing algorithm for your load balancer - valid options are roundrobin
or leastconn.
proxy_protocol string (optional) Enables proxy protocol - valid options are on or off
health_check json (optional) Defines health checks for your attached backend nodes.
forwarding_rules json (optional) Defines forwarding rules that your load balancer will follow.
ssl_private_key string (optional) The SSL certificates private key.
ssl_certificate string (optional) The SSL Certificate.
ssl_chain string (optional) The SSL certificate chain.
attached_nodes array (optional) List which instances you want attached to your load balancer.

/v1/loadbalancer/destroy
Destroy a load balancer subscription. All data will be permanently lost. Web traffic passing through the load
balancer will be abruptly terminated. There is no going back from this call.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/destroy --data 'SUBID=1314840'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/forward_rule_create
Create a new forwarding rule.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/forward_rule_create --data
'SUBID=1314840' --data 'frontend_protocol=tcp' --data 'frontend_port=8080' --data 'backend_protocol=tcp'
--data 'backend_port=tcp'
Example Response:
{
"RULEID": "1"
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.
frontend_protocol string Endpoint protocol on load balancer side. Possible values: "http", "https", "tcp".
frontend_port integer Endpoint port on load balancer side.
backend_protocol string Endpoint protocol on instance side. Possible values: "http", "https", "tcp".
backend_port integer Endpoint port on instance side.

/v1/loadbalancer/forward_rule_delete
Remove a forwarding rule.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/forward_rule_delete --data
'SUBID=1314840' --data 'RULEID=1asdf13asdf'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.
RULEID string Unique identifier of a forwarding rule. This can be found using the
"v1/loadbalancer/forward_rule_list" call.

/v1/loadbalancer/forward_rule_list
List the forwarding rules of a load balancer subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/forward_rule_list?SUBID=1314840

Example Response:
{
"forward_rule_list": [
{
"RULEID": "3f099fb3c45d5a51",
"frontend_protocol": "tcp",
"frontend_port": 8080,
"backend_protocol": "tcp",
"backend_port": 8080
}
]
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/generic_info
Retrieve the generic configuration of a load balancer subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/generic_info?SUBID=1314840

Example Response:
{
"balancing_algorithm": "roundrobin",
"ssl_redirect": false,
"sticky_sessions": {
"cookie_name": ""
},
"proxy_protocol": false
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/generic_update
Update the generic configuration of a load balancer subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/generic_update --data 'SUBID=1314840'
--data 'balancing_algorithm=leastconn'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.
label string (optional) Label of your load balancer
balancing_algorithm string (optional) Balancing algorithm. Possible values: "roundrobin", "leastconn".
sticky_sessions string (optional) Enables sticky sessions for your load balancer - valid options are on or off.
cookie_name string (optional) Name for your stick session.
ssl_redirect boolean (optional) Force HTTP to HTTPS.
proxy_protocol string (optionals) Enables proxy protocol - valid options are on or off

/v1/loadbalancer/health_check_info
Retrieve the health checking configuration of a load balancer subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/health_check_info?SUBID=1314840

Example Response:
{
"protocol": "https",
"port": 80,
"path": "\/",
"check_interval": 15,
"response_timeout": 5,
"unhealthy_threshold": 5,
"healthy_threshold": 5
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/health_check_update
Update the health checking configuration of a load balancer subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/health_check_update --data
'SUBID=1314840' --data 'protocol=https'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.
protocol string (optional) Connection protocol. Possible values: "http", "https".
port integer (optional) Connection port.
check_interval integer (optional) Time in seconds to perform health check.
response_timeout integer (optional) Time in seconds to wait for a health check response.
unhealthy_threshold integer (optional) Number of failed attempts encountered before failover.
healthy_threshold integer (optional) Number of failed attempts encountered before failover.
path string (optional) Path to page used for health check. The target page must return an HTTP 200 success
code.

/v1/loadbalancer/instance_attach
Attach an instance to a load balancer subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_attach --data 'SUBID=1314841'
--data 'backendNode=123456'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of LoadBalancer subscription to attach to.
backendNode integer Unique identifier (SUBID) of VPS or baremetal subscription to attach.

/v1/loadbalancer/instance_detach
Detach an instance to a load balancer subscription.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_detach --data 'SUBID=1314841'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of LoadBalancer subscription to detach from.
backendNode integer Unique identifier (SUBID) of VPS or baremetal subscription to detach.

/v1/loadbalancer/instance_list
List the instances attached to a load balancer subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_list?SUBID=1314840

Example Response:
{
"instance_list": [
1314841,
1314842
]
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/label_set
Set the label of a load balancer subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/label_set --data 'SUBID=1314840' --data
'label=example'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.
label string Text label that will be shown in the control panel.

/v1/loadbalancer/list
List all load balancer subscriptions on the current account. This includes both pending and active subscriptions.
To determine that a load balancer is ready for use, you may poll "/v1/loadbalancer/list?SUBID=<SUBID>" and
check that the "status" field is set to "active".
The "status" field represents the status of the subscription and will be one of: pending | active | suspended |
closed.
If you need to filter the list, review the parameters for this function. Currently, only one filter at a time may be
applied (SUBID, label).
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/list

Example Response:
[
{
"SUBID": 1314217,
"date_created": "2019-09-07 07:07:00",
"DCID": 1,
"location": "New Jersey",
"label": "lb1",
"status": "active",
"ipv4": "203.0.113.20"
"ipv6": "fd06:30bd:6374:dc29:ffff:ffff:ffff:ffff"
}
]

Parameters:
SUBID integer (optional) Unique identifier of a load balancer subscription. Only the subscription object will be
returned.

/v1/loadbalancer/ssl_add
Add a SSL certificate to a load balancer.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_add --data 'SUBID=1314841' --data
'private_key=ssl-privatekey'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of LoadBalancer subscription.
ssl_private_key string The SSL certificates private key.
ssl_certificate string The SSL Certificate.
ssl_chain string (optional) The SSL certificate chain.

/v1/loadbalancer/ssl_info
Retrieve whether or not your load balancer subscription has an SSL cert attached.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_info?SUBID=1314840

Example Response:
{
"has_ssl": true
}
Parameters:
SUBID integer Unique identifier of a load balancer subscription. This can be found using the
"v1/loadbalancer/list" call.

/v1/loadbalancer/ssl_remove
Remove a SSL certificate to a load balancer.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_remove --data 'SUBID=1314841'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier of LoadBalancer subscription.
Network
/v1/network/create
Create a new private network. A private network can only be used at the location for which it was created.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/network/create --data 'DCID=1' --data 'description=test'
--data 'v4_subnet=10.99.0.0' --data 'v4_subnet_mask=24'
Example Response:
{
"NETWORKID": "net59a0526477dd3"
}
Parameters:
DCID integer Location for the network. See v1/regions/list.
description string (optional) Description of network.
v4_subnet string (optional) IPv4 network to be used when attaching servers to this network.
v4_subnet_mask int (optional) Network mask corresponding with the v4_subnet.

/v1/network/destroy
Destroy (delete) a private network. Before destroying, a network must be disabled from all instances. See
/v1/server/private_network_disable.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/network/destroy --data
'NETWORKID=net539626f0798d7'
Example Response:
No response, check HTTP result code.
Parameters:
NETWORKID string Unique identifier for this network. These can be found using the v1/network/list call.

/v1/network/list
List all private networks on the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/network/list

Example Response:
{
"net539626f0798d7": {
"DCID": "1",
"NETWORKID": "net539626f0798d7",
"date_created": "2017-08-25 12:23:45",
"description": "test1",
"v4_subnet": "10.99.0.0",
"v4_subnet_mask": 24
},
"net53962b0f2341f": {
"DCID": "1",
"NETWORKID": "net53962b0f2341f",
"date_created": "2014-06-09 17:45:51",
"description": "vultr",
"v4_subnet": "0.0.0.0",
"v4_subnet_mask": 0
}
}
Parameters:
No parameters

Object Storage
/v1/objectstorage/create
Create an object storage subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
objstore
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/create --data 'OBJSTORECLUSTERID=1'
--data 'label=object1'
Example Response:
{
"SUBID": 1314217
}
Parameters:
OBJSTORECLUSTERID integer Cluster to use for object storage. See /v1/objectstorage/list_cluster.
label string (optional) Text label that will be associated with the subscription.
/v1/objectstorage/destroy
Destroy an object storage subscription. All objects will be permanently deleted. There is no going back from this
call.

API Key Required:


Yes
Request Type:
POST
Required Access:
objstore
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/destroy --data 'SUBID=1314217'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/objectstorage/list call.

/v1/objectstorage/label_set
Set the label of an object storage subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
objstore
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/label_set --data 'SUBID=1314217' --data
'label=example'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/objectstorage/list call.
label string Text label that will be shown in the control panel.

/v1/objectstorage/list
List all object storage subscriptions on the current account. This includes both pending and active subscriptions.

To determine that object storage is ready for use, you may poll /v1/objectstorage/list?SUBID=<SUBID> and
check that the "status" field is set to "active".

The "status" field represents the status of the subscription and will be one of: pending | active | suspended |
closed.

If you need to filter the list, review the parameters for this function. Currently, only one filter at a time may be
applied (SUBID, label).

API Key Required:


Yes
Request Type:
GET
Required Access:
objstore
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/list

Example Response:
{
"1314217": {
"SUBID": 1314217,
"date_created": "2019-04-17 17:33:00",
"OBJSTORECLUSTERID": 1,
"DCID": 1,
"location": "New Jersey",
"label": "object1",
"status": "active",
"s3_hostname": "nj1.vultrobjects.com",
"s3_access_key": "abc1234",
"s3_secret_key": "def5678"
}
}
Parameters:
include_s3 string (optional, default 'yes') 'yes' or 'no'. If 'yes', include S3 keys with each subscription entry.
SUBID integer (optional) Unique identifier of a subscription. Only the subscription object will be returned.
label string (optional) A text label string. Only subscription objects with this text label will be returned.

/v1/objectstorage/list_cluster
List object storage clusters.

Clusters may be removed over time. The "deploy" field can be used to determine whether or not new
deployments are allowed in the cluster.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/objectstorage/list_cluster

Example Response:
{
"1": {
"OBJSTORECLUSTERID": 1,
"DCID": 1,
"location": "New Jersey",
"hostname": "nj1.vultrobjects.com",
"deploy": "yes"
}
}
Parameters:
No parameters

/v1/objectstorage/s3key_regenerate
Regenerate the S3 API keys of an object storage subscription.

API Key Required:


Yes
Request Type:
POST
Required Access:
objstore
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/s3key_regenerate --data 'SUBID=1314217'
--data 's3_access_key=abc1234'
Example Response:
{
"s3_hostname": "nj1.vultrobjects.com",
"s3_access_key": "abc1236",
"s3_secret_key": "def5679"
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/objectstorage/list call.
s3_access_key Access key from keypair to be regenerated.

Operating System
/v1/os/list
Retrieve a list of available operating systems. If the "windows" flag is true, a Windows license will be included
with the instance, which will increase the cost.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/os/list

Example Response:
{
"127": {
"OSID": "127",
"name": "CentOS 6 x64",
"arch": "x64",
"family": "centos",
"windows": false
},
"148": {
"OSID": "148",
"name": "Ubuntu 12.04 i386",
"arch": "i386",
"family": "ubuntu",
"windows": false
}
}
Parameters:
No parameters

Plans
/v1/plans/list
Retrieve a list of all active plans. Plans that are no longer available will not be shown.

The "windows" field is no longer in use, and will always be false. Windows licenses will be automatically added
to any plan as necessary.

The "deprecated" field indicates that the plan will be going away in the future. New deployments of it will still be
accepted, but you should begin to transition away from its usage. Typically, deprecated plans are available for
30 days after they are deprecated.

Note: The $2.50 sandbox and $3.50 plan are not available in the API.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/plans/list?type=vc2

Example Response:
{
"1": {
"VPSPLANID": "1",
"name": "Starter",
"vcpu_count": "1",
"ram": "512",
"disk": "20",
"bandwidth": "1",
"price_per_month": "5.00",
"windows": false,
"plan_type": "SSD",
"available_locations": [
1,
2,
3
]
},
"2": {
"VPSPLANID": "2",
"name": "Basic",
"vcpu_count": "1",
"ram": "1024",
"disk": "30",
"bandwidth": "2",
"price_per_month": "8.00",
"windows": false,
"plan_type": "SATA",
"available_locations": [],
"deprecated": true
}
}
Parameters:
type string (optional) The type of plans to return. Possible values: "all", "vc2", "ssd", "vdc2", "dedicated",
"vc2z".

/v1/plans/list_baremetal
Retrieve a list of all active bare metal plans. Plans that are no longer available will not be shown.

The 'deprecated' field indicates that the plan will be going away in the future. New deployments of it will still be
accepted, but you should begin to transition away from its usage. Typically, deprecated plans are available for
30 days after they have been deprecated.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/plans/list_baremetal

Example Response:
{
"100": {
"METALPLANID": "100",
"name": "65536 MB RAM,2x 240 GB SSD,5.00 TB BW",
"cpu_count": 1,
"cpu_model": "E3-1270v6",
"cpu_thread_count": 1,
"ram": 65536,
"disk": "2x 240 GB SSD",
"bandwidth_tb": 5,
"price_per_month": 100,
"plan_type": "SSD",
"deprecated": false,
"available_locations": [
1,
2,
3
]
}
}
Parameters:
No parameters

/v1/plans/list_vc2
Retrieve a list of all active vc2 plans. Plans that are no longer available will not be shown.

The 'deprecated' field indicates that the plan will be going away in the future. New deployments of it will still be
accepted, but you should begin to transition away from its usage. Typically, deprecated plans are available for
30 days after they are deprecated.

Note: The $2.50 sandbox and $3.50 plan are not available in the API.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/plans/list_vc2

Example Response:
{
"1": {
"VPSPLANID": "1",
"name": "Starter",
"vcpu_count": "1",
"ram": "512",
"disk": "20",
"bandwidth": "1",
"price_per_month": "5.00",
"plan_type": "SSD"
}
}
Parameters:
No parameters

/v1/plans/list_vc2z
Retrieve a list of all active high frequency CPU plans. Plans that are no longer available will not be shown.

The 'deprecated' field indicates that the plan will be going away in the future. New deployments of it will still be
accepted, but you should begin to transition away from its usage. Typically, deprecated plans are available for
30 days after they are deprecated.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/plans/list_vc2z

Example Response:
{
"401": {
"VPSPLANID": "401",
"name": "2048 MB RAM,64 GB SSD,2.00 TB BW",
"vcpu_count": "1",
"ram": "2048",
"disk": "64",
"bandwidth": "2.00",
"price_per_month": "12.00",
"plan_type": "HIGHFREQUENCY"
}
}
Parameters:
No parameters

/v1/plans/list_vdc2
Retrieve a list of all active vdc2 plans. Plans that are no longer available will not be shown.

The 'deprecated' field indicates that the plan will be going away in the future. New deployments of it will still be
accepted, but you should begin to transition away from its usage. Typically, deprecated plans are available for
30 days after they are deprecated.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/plans/list_vdc2

Example Response:
{
"115": {
"VPSPLANID": "115",
"name": "8192 MB RAM,110 GB SSD,10.00 TB BW",
"vcpu_count": "2",
"ram": "8192",
"disk": "110",
"bandwidth": "10.00",
"price_per_month": "60.00",
"plan_type": "DEDICATED"
}
}
Parameters:
No parameters

Regions
/v1/regions/availability
Retrieve a list of the VPSPLANIDs currently available in this location.

If your account has special plans available, you will need to pass your API key in order to see them. For all other
accounts, the API key is not required.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/regions/availability?DCID=1
Example Response:
[
40,
11,
45,
29,
41,
61
]
Parameters:
DCID integer Location to check availability.
type string (optional) The type of plans for which to include availability. Possible values: "all", "vc2", "ssd",
"vdc2", "dedicated".

/v1/regions/availability_baremetal
Retrieve a list of the METALPLANIDs currently available in this location.

If your account has special plans available, you will need to pass your API key in order to see them. For all other
accounts, the API key is not required.

API Key Required:


No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/regions/availability_baremetal?DCID=1

Example Response:
[
1,
2,
3,
4,
5
]
Parameters:
DCID integer Location to check availability.

/v1/regions/availability_vc2
Retrieve a list of the vc2 VPSPLANIDs currently available in this location.

If your account has special plans available, you will need to pass your API key in order to see them. For all other
accounts, the API key is not required.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/regions/availability_vc2?DCID=1
Example Response:
[
40,
11,
45,
29,
41,
61
]
Parameters:
DCID integer Location to check availability.

/v1/regions/availability_vdc2
Retrieve a list of the vdc2 VPSPLANIDs currently available in this location.

If your account has special plans available, you will need to pass your API key in order to see them. For all other
accounts, the API key is not required.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/regions/availability_vdc2?DCID=1

Example Response:
[
40,
11,
45,
29,
41,
61
]
Parameters:
DCID integer Location to check availability.

/v1/regions/list
Retrieve a list of all active regions. Note that just because a region is listed here, does not mean that there is
room for new servers.
API Key Required:
No
Request Type:
GET
Example Request:
curl https://api.vultr.com/v1/regions/list

Example Response:
{
"1": {
"DCID": "1",
"name": "New Jersey",
"country": "US",
"continent": "North America",
"state": "NJ",
"ddos_protection": true,
"block_storage": true,
"regioncode": "EWR"
},
"2": {
"DCID": "2",
"name": "Chicago",
"country": "US",
"continent": "North America",
"state": "IL",
"ddos_protection": false,
"block_storage": false,
"regioncode": "ORD"
}
}
Parameters:
availability string (optional) 'yes' or 'no'. If 'yes', include the current availability with each region entry.

Reserved IP
/v1/reservedip/attach
Attach a reserved IP to an existing subscription.

This feature operates normally when networking conditions are stable, but it is not reliable for conditions when
high availability is needed. For HA, see our High Availability on Vultr with Floating IP and BGP guide.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/attach --data
'ip_address=123.123.123.124/32' --data 'attach_SUBID=5342543'
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/attach --data 'ip_address=2001:db8:8000::/64'
--data 'attach_SUBID=5342543'
Example Response:
No response, check HTTP result code.
Parameters:
ip_address string Reserved IP to be attached. Include the subnet size in this parameter (e.g: /32 or /64).
attach_SUBID integer Unique identifier of the target server.

/v1/reservedip/convert
Convert an existing IP on a subscription to a reserved IP. Returns the SUBID of the newly created reserved IP.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/convert --data 'SUBID=5342543' --data
'ip_address=2001:db8:8000:/64'
Example Response:
{
"SUBID": 365352
}
Parameters:
SUBID integer SUBID of the server that currently has the IP address you want to convert
ip_address string IP address you want to convert (v4 must be a /32, v6 must be a /64)
label string (optional) Label for this reserved IP

/v1/reservedip/create
Create a new reserved IP. Reserved IPs can only be used within the same datacenter for which they were
created.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/create --data 'DCID=1' --data 'ip_type=v4'

Example Response:
{
"SUBID": 1312965
}
Parameters:
DCID integer Location to create this reserved IP in. See v1/regions/list
ip_type string 'v4' or 'v6' Type of reserved IP to create
label string (optional) Label for this reserved IP

/v1/reservedip/destroy
Remove a reserved IP from your account. After making this call, you will not be able to recover the IP address.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/destroy --data
'ip_address=2001:db8:8000::/64'
Example Response:
No response, check HTTP result code.
Parameters:
ip_address string Reserved IP to remove from your account.

/v1/reservedip/detach
Detach a reserved IP from an existing subscription.

This feature operates normally when networking conditions are stable, but it is not reliable for conditions when
high availability is needed. For HA, see our High Availability on Vultr with Floating IP and BGP guide.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/detach --data
'ip_address=123.123.123.124/32' --data 'detach_SUBID=5342543'
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/detach --data
'ip_address=2001:db8:8000::/64' --data 'detach_SUBID=5342543'
Example Response:
No response, check HTTP result code.
Parameters:
ip_address string Reserved IP to be detached. Include the subnet size in this parameter (e.g: /32 or /64).
detach_SUBID integer Unique identifier of the target server.

/v1/reservedip/list
List all the active reserved IPs on this account. The "subnet_size" field is the size of the network assigned to this
subscription. This will typically be a /64 for IPv6, or a /32 for IPv4.
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/list

Example Response:
{
"1313044": {
"SUBID": 1313044,
"DCID": 1,
"ip_type": "v4",
"subnet": "10.234.22.53",
"subnet_size": 32,
"label": "my first reserved ip",
"attached_SUBID": 123456
},
"1313045": {
"SUBID": 1313045,
"DCID": 1,
"ip_type": "v6",
"subnet": "2001:db8:9999::",
"subnet_size": 64,
"label": "",
"attached_SUBID": false
}
}
Parameters:
No parameters

Server
/v1/server/app_change
Changes the virtual machine to a different application. All data will be permanently lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/app_change --data 'SUBID=596965' --data
'APPID=2'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
APPID integer Application to use. See /v1/server/app_change_list.

/v1/server/app_change_list
Retrieves a list of applications to which a virtual machine can be changed. Always check against this list before
trying to switch applications because it is not possible to switch between every application combination.

The "surcharge" field is deprecated and will always be set to zero.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/app_change_list?SUBID=576965

Example Response:
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0
}
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/backup_disable
Disables automatic backups on a server. Once disabled, backups can only be enabled again by customer
support.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_disable --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/backup_enable
Enables automatic backups on a server.

API Key Required:


Yes
Request Type:
POST
Required Access:
upgrade
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_enable --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/backup_get_schedule
Retrieves the backup schedule for a server. All time values are in UTC.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_get_schedule --data 'SUBID=576965'

Example Response:
{
"enabled": true,
"cron_type": "weekly",
"next_scheduled_time_utc": "2016-05-07 08:00:00",
"hour": 8,
"dow": 6,
"dom": 0
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/backup_set_schedule
Sets the backup schedule for a server. All time values are in UTC.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_set_schedule --data 'SUBID=576965'
--data 'cron_type=weekly' --data 'hour=8' --data 'dow=6'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
cron_type string Backup cron type. Can be one of 'daily', 'weekly', 'monthly', 'daily_alt_even', or 'daily_alt_odd'.
hour integer (optional) Hour value (0-23). Applicable to crons: 'daily', 'weekly', 'monthly', 'daily_alt_even',
'daily_alt_odd'
dow integer (optional) Day-of-week value (0-6). Applicable to crons: 'weekly'.
dom integer (optional) Day-of-month value (1-28). Applicable to crons: 'monthly'.

/v1/server/bandwidth
Get the bandwidth used by a virtual machine.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/bandwidth?SUBID=576965&date_range=30

Example Response:
{
"incoming_bytes": [
[
"2014-06-10",
"81072581"
],
[
"2014-06-11",
"222387466"
],
[
"2014-06-12",
"216885232"
],
[
"2014-06-13",
"117262318"
]
],
"outgoing_bytes": [
[
"2014-06-10",
"4059610"
],
[
"2014-06-11",
"13432380"
],
[
"2014-06-12",
"2455005"
],
[
"2014-06-13",
"1106963"
]
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
date_range integer (optional) Specify the number of days you would like to view from the current time that this
was called. Range is 1-60 days.

/v1/server/create
Create a new virtual machine. You will start being billed for this immediately. The response only contains the
SUBID for the new machine.

To determine that a server is ready for use, you may poll /v1/server/list?SUBID=<SUBID> and check that the
"status" field is set to "active", then test your OS login with SSH (Linux) or RDP (Windows).

In order to create a server using a snapshot, use OSID 164 and specify a SNAPSHOTID. Similarly, to create a
server using an ISO use OSID 159 and specify an ISOID.
API Key Required:
Yes
Request Type:
POST
Required Access:
provisioning
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/create --data 'DCID=1' --data 'VPSPLANID=202'
--data 'OSID=127'
Example Response:
{
"SUBID": "1312965"
}
Parameters:
DCID integer Location to create this virtual machine in. See v1/regions/list.
VPSPLANID integer Plan to use when creating this virtual machine. See v1/plans/list.
OSID integer Operating system to use. See v1/os/list.
ipxe_chain_url string (optional) If you've selected the 'custom' operating system, this can be set to chainload
the specified URL on bootup, via iPXE.
ISOID string (optional) If you've selected the 'custom' operating system, this is the ID of a specific ISO to
mount during the deployment.
SCRIPTID integer (optional) If you've not selected a 'custom' operating system, this can be the SCRIPTID of a
startup script to execute on boot. See v1/startupscript/list.
SNAPSHOTID string (optional) If you've selected the 'snapshot' operating system, this should be the
SNAPSHOTID (see v1/snapshot/list) to restore for the initial installation.
enable_ipv6 string (optional) 'yes' or 'no'. If yes, an IPv6 subnet will be assigned to the machine (where
available).
enable_private_network string (optional) 'yes' or 'no'. If yes, private networking support will be added to the
new server.
NETWORKID array (optional) List of private networks to attach to this server. Use either this field or
enable_private_network, not both.
label string (optional) This is a text label that will be shown in the control panel.
SSHKEYID string (optional) List of SSH keys to apply to this server on install (only valid for Linux/FreeBSD).
See v1/sshkey/list. Separate keys with commas.
auto_backups string (optional) 'yes' or 'no'. If yes, automatic backups will be enabled for this server (these
have an extra charge associated with them).
APPID integer (optional) If launching an application (OSID 186), this is the APPID to launch. See v1/app/list.
userdata string (optional) Base64 encoded user-data
notify_activate string (optional, default 'yes') 'yes' or 'no'. If yes, an activation email will be sent when the
server is ready.
ddos_protection string (optional, default 'no') 'yes' or 'no'. If yes, DDOS protection will be enabled on the
subscription (there is an additional charge for this).
reserved_ip_v4 string (optional) IP address of the floating IP to use as the main IP of this server.
hostname string (optional) The hostname to assign to this server.
tag string (optional) The tag to assign to this server.
FIREWALLGROUPID string (optional) The firewall group to assign to this server. See /v1/firewall/group_list.

/v1/server/create_ipv4
Add a new IPv4 address to a server. You will start being billed for this immediately. The server will be rebooted
unless you specify otherwise. You must reboot the server before the IPv4 address can be configured.
API Key Required:
Yes
Request Type:
POST
Required Access:
upgrade
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/create_ipv4 --data 'SUBID=576965'

Example Response:
{
"ipv4": "123.123.123.124"
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
reboot string (optional, default 'yes') 'yes' or 'no'. If yes, the server is rebooted immediately.

/v1/server/ddos_protection_disable
Disables DDoS Protection for a server.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ddos_protection_disable --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/ddos_protection_enable
Enables DDoS Protection for a server. Please note there is a monthly charge for this feature.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ddos_protection_enable --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/destroy
Destroy (delete) a virtual machine. All data will be permanently lost, and the IP address will be released. There is
no going back from this call.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/destroy --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/destroy_ipv4
Removes a secondary IPv4 address from a server. Your server will be hard-restarted. We suggest halting the
machine gracefully before removing IPs.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/destroy_ipv4 --data 'SUBID=576965' --data
'ip=192.0.2.1'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
ip string IPv4 address to remove.
/v1/server/firewall_group_set
Set, change, or remove the firewall group currently applied to a server.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/firewall_group_set --data 'SUBID=576965' --data
'FIREWALLGROUPID=1234abcd'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. See v1/server/list.
FIREWALLGROUPID string The firewall group to apply to this server. A value of "0" means "no firewall
group". See /v1/firewall/group_list.

/v1/server/get_app_info
Retrieves the application information for this subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/get_app_info?SUBID=576965

Example Response:
{
"app_info": ""
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/get_user_data
Retrieves the (base64 encoded) user-data for this subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/get_user_data?SUBID=576965
Example Response:
{
"userdata": "ZWNobyBIZWxsbyBXb3JsZA=="
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/halt
Halt a virtual machine. This is a hard power off (basically, unplugging the machine). The data on the machine will
not be modified, and you will still be billed for the machine. To completely delete a machine, see
v1/server/destroy.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/halt --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/ipv6_enable
Enables IPv6 networking on a server by assigning an IPv6 subnet to it. The server will be automatically rebooted
to complete the request. No action occurs if IPv6 networking was already enabled. It is possible to check
whether or not IPv6 networking has been enabled with v1/server/list_ipv6.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ipv6_enable --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/iso_attach
Attach an ISO and reboot the server.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_attach --data 'SUBID=576965' --data
'ISOID=24'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the /v1/server/list call.
ISOID integer The ISO that will be mounted. See the /v1/iso/list call.

/v1/server/iso_detach
Detach the currently mounted ISO and reboot the server.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_detach --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the /v1/server/list call.

/v1/server/iso_status
Retrieve the current ISO state for a given subscription. The returned state may be one of: ready | isomounting |
isomounted. ISOID will only be set when the mounted ISO exists in your library ( see /v1/iso/list ). Otherwise, it
will read "0".
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_status?SUBID=576965

Example Response:
{
"state": "ready",
"ISOID": "0"
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the /v1/server/list call.

/v1/server/label_set
Set the label of a virtual machine.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/label_set --data 'SUBID=576965' --data
'label=example'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
label string This is a text label that will be shown in the control panel.

/v1/server/list
List all active or pending virtual machines on the current account.

To determine that a server is ready for use, you may poll /v1/server/list?SUBID=<SUBID> and check that the
"status" field is set to "active", then test your OS login with SSH (Linux) or RDP (Windows).

The "status" field represents the status of the subscription and will be one of: pending | active | suspended |
closed. If the status is "active", you can check "power_status" to determine if the VPS is powered on or not.
When status is "active", you may also use "server_state" for a more detailed status of: none | locked |
installingbooting | isomounting | ok.

The "v6_network", "v6_main_ip", and "v6_network_size" fields are deprecated in favor of "v6_networks".

The "kvm_url" value will change periodically. It is not advised to cache this value.

If you need to filter the list, review the parameters for this function. Currently, only one filter at a time may be
applied (SUBID, tag, label, main_ip).
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list

Example Response:
{
"576965": {
"SUBID": "576965",
"os": "CentOS 6 x64",
"ram": "4096 MB",
"disk": "Virtual 60 GB",
"main_ip": "123.123.123.123",
"vcpu_count": "2",
"location": "New Jersey",
"DCID": "1",
"default_password": "nreqnusibni",
"date_created": "2013-12-19 14:45:41",
"pending_charges": "46.67",
"status": "active",
"cost_per_month": "10.05",
"current_bandwidth_gb": 131.512,
"allowed_bandwidth_gb": "1000",
"netmask_v4": "255.255.255.248",
"gateway_v4": "123.123.123.1",
"power_status": "running",
"server_state": "ok",
"VPSPLANID": "28",
"v6_main_ip": "2001:0DB8:1000:0000:0000:000:0000:0101",
"v6_network_size": "64",
"v6_network": "2001:DB8:1000::",
"v6_networks": [
{
"v6_network": "2001:DB8:1000::",
"v6_main_ip": "2001:0DB8:1000:0000:0000:000:0000:0101",
"v6_network_size": "64"
}
],
"label": "my new server",
"internal_ip": "10.99.0.10",
"kvm_url": "https:\/\/my.vultr.com\/subs\/novnc\/api.php?data=eawxFVZw2mXnhGUV",
"auto_backups": "yes",
"tag": "mytag",
"OSID": "127",
"APPID": "0",
"FIREWALLGROUPID": "0"
}
}
Parameters:
SUBID integer (optional) Unique identifier of a subscription. Only the subscription object will be returned.
tag string (optional) A tag string. Only subscription objects with this tag will be returned.
label string (optional) A text label string. Only subscription objects with this text label will be returned.
main_ip string (optional) An IPv4 address. Only the subscription matching this IPv4 address will be returned.

/v1/server/list_ipv4
List the IPv4 information of a virtual machine. IP information is only available for virtual machines in the "active"
state.
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list_ipv4?SUBID=576965

Example Response:
{
"576965": [
{
"ip": "123.123.123.123",
"netmask": "255.255.255.248",
"gateway": "123.123.123.1",
"type": "main_ip",
"reverse": "host1.example.com"
},
{
"ip": "123.123.123.124",
"netmask": "255.255.255.255",
"gateway": "",
"type": "secondary_ip",
"reverse": "host2.example.com"
},
{
"ip": "10.99.0.10",
"netmask": "255.255.0.0",
"gateway": "",
"type": "private",
"reverse": ""
}
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
public_network string (optional) 'yes' or 'no'. If 'yes', include information about the public network adapter
(such as MAC address) with the "main_ip" entry.

/v1/server/list_ipv6
List the IPv6 information of a virtual machine. IP information is only available for virtual machines in the "active"
state. If the virtual machine does not have IPv6 enabled, then an empty array is returned.
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list_ipv6?SUBID=576965

Example Response:
{
"576965": [
{
"ip": "2001:0DB8:1000:0000:0000:000:0000:0101",
"network": "2001:DB8:1000::",
"network_size": "64",
"type": "main_ip"
}
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/neighbors
Determine what other subscriptions are hosted on the same physical host as a given subscription.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/neighbors?SUBID=576965

Example Response:
[
23456
]
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/os_change
Changes the virtual machine to a different operating system. All data will be permanently lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/os_change --data 'SUBID=576965' --data
'OSID=127'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
OSID integer Operating system to use. See /v1/server/os_change_list.
/v1/server/os_change_list
Retrieves a list of operating systems to which a virtual machine can be changed. Always check against this list
before trying to switch operating systems because it is not possible to switch between every operating system
combination.

The "surcharge" field is deprecated and will always be set to zero.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/os_change_list?SUBID=576965

Example Response:
{
"127": {
"OSID": "127",
"name": "CentOS 6 x64",
"arch": "x64",
"family": "centos",
"windows": false,
"surcharge": "0.00"
},
"148": {
"OSID": "148",
"name": "Ubuntu 12.04 i386",
"arch": "i386",
"family": "ubuntu",
"windows": false,
"surcharge": "0.00"
}
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/private_network_disable
Removes a private network from a server. The server will be automatically rebooted to complete the request.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_network_disable --data 'SUBID=576965'
--data 'NETWORKID=net539626f0798d7'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
NETWORKID string Unique identifier for the private network to remove from this subscription. This field is
optional if there is only one private network in a given location. See the v1/network/list call.

/v1/server/private_network_enable
Enables private networking on a server. The server will be automatically rebooted to complete the request. No
action occurs if private networking was already enabled. It is possible to check whether or not private networking
has been enabled with v1/server/list_ipv4.

If you have multiple private networks in a location, you will need to specify the NETWORKID of the network that
you want to attach.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_network_enable --data 'SUBID=576965'
--data 'NETWORKID=net539626f0798d7'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
NETWORKID string Unique identifier for the private network to attach to this subscription. This field is
optional if there is only one private network in a given location. See the v1/network/list call.

/v1/server/private_networks
List private networks attached to a particular server.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_networks?SUBID=576965

Example Response:
{
"net539626f0798d7": {
"NETWORKID": "net539626f0798d7",
"mac_address": "5a:02:00:00:24:e9",
"ip_address": "10.99.0.3"
},
"net53962b0f2341f": {
"NETWORKID": "net53962b0f2341f",
"mac_address": "5a:01:00:00:24:e9",
"ip_address": "0.0.0.0"
}
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/reboot
Reboot a virtual machine. This is a hard reboot (basically, unplugging the machine).

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reboot --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/reinstall
Reinstall the operating system on a virtual machine. All data will be permanently lost, but the IP address will
remain the same. There is no going back from this call.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reinstall --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
hostname string (optional) The hostname to assign to this server.

/v1/server/restore_backup
Restore the specified backup to the virtual machine. Any data already on the virtual machine will be lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/restore_backup --data 'SUBID=576965' --data
'BACKUPID=543d34149403a'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
BACKUPID string BACKUPID (see v1/backup/list) to restore to this instance

/v1/server/restore_snapshot
Restore the specified snapshot to the virtual machine. Any data already on the virtual machine will be lost.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/restore_snapshot --data 'SUBID=576965' --data
'SNAPSHOTID=5359435d28b9a'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
SNAPSHOTID string SNAPSHOTID (see v1/snapshot/list) to restore to this instance

/v1/server/reverse_default_ipv4
Set a reverse DNS entry for an IPv4 address of a virtual machine to the original setting. Upon success, DNS
changes may take 6-12 hours to become active.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_default_ipv4 --data 'SUBID=576965'
--data 'ip=192.0.2.1'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
ip string IPv4 address used in the reverse DNS update. These can be found with the v1/server/list_ipv4 call.
/v1/server/reverse_delete_ipv6
Remove a reverse DNS entry for an IPv6 address of a virtual machine. Upon success, DNS changes may take
6-12 hours to become active.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_delete_ipv6 --data 'SUBID=576965'
--data 'ip=2001:db8:1234::'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
ip string IPv6 address used in the reverse DNS update. These can be found with the
v1/server/reverse_list_ipv6 call.

/v1/server/reverse_list_ipv6
List the IPv6 reverse DNS entries of a virtual machine. Reverse DNS entries are only available for virtual
machines in the "active" state. If the virtual machine does not have IPv6 enabled, then an empty array is
returned.
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions_view
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_list_ipv6?SUBID=576965

Example Response:
{
"576965": [
{
"ip": "2001:0DB8:1000:0000:0000:000:0000:0101",
"reverse": "host1.example.com"
},
{
"ip": "2001:0DB8:1000:0000:0000:000:0000:0102",
"reverse": "host2.example.com"
}
]
}
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
/v1/server/reverse_set_ipv4
Set a reverse DNS entry for an IPv4 address of a virtual machine. Upon success, DNS changes may take 6-12
hours to become active.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_set_ipv4 --data 'SUBID=576965' --data
'ip=192.0.2.1' --data 'entry=example.vultr.com'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
ip string IPv4 address used in the reverse DNS update. These can be found with the v1/server/list_ipv4 call.
entry string reverse DNS entry.

/v1/server/reverse_set_ipv6
Set a reverse DNS entry for an IPv6 address of a virtual machine. Upon success, DNS changes may take 6-12
hours to become active.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_set_ipv6 --data 'SUBID=576965' --data
'ip=2001:db8:1234::' --data 'entry=example.vultr.com'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
ip string IPv6 address used in the reverse DNS update. These can be found with the v1/server/list_ipv6 or
v1/server/reverse_list_ipv6 calls.
entry string reverse DNS entry.

/v1/server/set_user_data
Sets the user-data for this subscription. User-data is a generic data store, which some provisioning tools and
cloud operating systems use as a configuration file. It is generally consumed only once after an instance has
been launched, but individual needs may vary.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/set_user_data --data 'SUBID=576965' --data
'userdata=ZWNobyBIZWxsbyBXb3JsZA=='
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
userdata string Base64 encoded user-data

/v1/server/start
Start a virtual machine. If the machine is already running, it will be restarted.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/start --data 'SUBID=576965'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

/v1/server/tag_set
Set the tag of a virtual machine.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/tag_set --data 'SUBID=576965' --data 'tag=Mail'

Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
tag string The tag to assign to this server. This tag is shown in the control panel.

/v1/server/upgrade_plan
Upgrade the plan of a virtual machine. The virtual machine will be rebooted upon a successful upgrade.
API Key Required:
Yes
Request Type:
POST
Required Access:
upgrade
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/upgrade_plan --data 'SUBID=576965' --data
'VPSPLANID=29'
Example Response:
No response, check HTTP result code.
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.
VPSPLANID integer The new plan. See /v1/server/upgrade_plan_list.

/v1/server/upgrade_plan_list
Retrieve a list of the VPSPLANIDs for which a virtual machine can be upgraded. An empty response array
means that there are currently no upgrades available.
API Key Required:
Yes
Request Type:
GET
Required Access:
upgrade
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/upgrade_plan_list?SUBID=576965

Example Response:
[
29,
41,
61
]
Parameters:
SUBID integer Unique identifier for this subscription. These can be found using the v1/server/list call.

Snapshot
/v1/snapshot/create
Create a snapshot from an existing virtual machine. The virtual machine does not need to be stopped.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/create --data 'SUBID=1312965'

Example Response:
{
"SNAPSHOTID": "544e52f31c706"
}
Parameters:
SUBID integer Identifier of the virtual machine to create a snapshot from. See v1/server/list
description string (optional) Description of snapshot contents

/v1/snapshot/create_from_url
Create a new snapshot on the current account. The snapshot will be downloaded from a given URL. Download
status can be checked with the v1/snapshot/list call.

Limits for your account are listed in the members area.


API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/create_from_url --data
'url=http://example.com/path/to/disk_image.raw'
Example Response:
{
"SNAPSHOTID": "544e52f31c706"
}
Parameters:
url string Remote URL from where the snapshot will be downloaded.

/v1/snapshot/destroy
Destroy (delete) a snapshot. There is no going back from this call.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/destroy --data
'SNAPSHOTID=5359435d28b9a'
Example Response:
No response, check HTTP result code.
Parameters:
SNAPSHOTID string Unique identifier for this snapshot. These can be found using the v1/snapshot/list call.
/v1/snapshot/list
List all snapshots on the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/list

Example Response:
{
"5359435d28b9a": {
"SNAPSHOTID": "5359435d28b9a",
"date_created": "2014-04-18 12:40:40",
"description": "Test snapshot",
"size": "42949672960",
"status": "complete",
"OSID": "127",
"APPID": "0"
},
"5359435dc1df3": {
"SNAPSHOTID": "5359435dc1df3",
"date_created": "2014-04-22 16:11:46",
"description": "",
"size": "10000000",
"status": "complete",
"OSID": "127",
"APPID": "0"
}
}
Parameters:
SNAPSHOTID string (optional) Filter result set to only contain this snapshot.

SSH Key
/v1/sshkey/create
Create a new SSH Key.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/create --data 'name=test SSH KEY' --data
'ssh_key=ssh-rsa AA... [email protected]'
Example Response:
{
"SSHKEYID": "541b4960f23bd"
}
Parameters:
name string Name of the SSH key
ssh_key string SSH public key (in authorized_keys format)

/v1/sshkey/destroy
Remove a SSH key. Note that this will not remove the key from any machines that already have it.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/destroy --data 'SSHKEYID=541b4960f23bd'

Example Response:
No response, check HTTP result code.
Parameters:
SSHKEYID string Unique identifier for this SSH key. These can be found using the v1/sshkey/list call.

/v1/sshkey/list
List all the SSH keys on the current account.

API Key Required:


Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/list

Example Response:
{
"541b4960f23bd": {
"SSHKEYID": "541b4960f23bd",
"date_created": null,
"name": "test",
"ssh_key": "ssh-rsa AA... [email protected]"
}
}
Parameters:
No parameters
/v1/sshkey/update
Update an existing SSH Key. Note that this will only update newly installed machines. The key will not be
updated on any existing machines.
API Key Required:
Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/update --data 'SSHKEYID=541b4960f23bd'
--data 'name=new key name' --data 'ssh_key=ssh-rsa AA... [email protected]'

Example Response:
No response, check HTTP result code.
Parameters:
SSHKEYID string SSHKEYID of key to update (see /v1/sshkey/list)
name string (optional) New name for the SSH key
ssh_key string (optional) New SSH key contents

Startup Script
/v1/startupscript/create
Create a startup script.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/create --data 'name=my first script' --data
$'script=#!/bin/bash\necho hello world > /root/hello'
Example Response:
{
"SCRIPTID": 5
}
Parameters:
name string Name of the newly created startup script.
script string Startup script contents.
type string boot|pxe (optional) Type of startup script. Default is 'boot'.

/v1/startupscript/destroy
Remove a startup script.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/destroy --data 'SCRIPTID=5'

Example Response:
No response, check HTTP result code.
Parameters:
SCRIPTID string Unique identifier for this startup script. These can be found using the v1/startupscript/list call.

/v1/startupscript/list
List all startup scripts on the current account. Scripts of type "boot" are executed by the server's operating
system on the first boot. Scripts of type "pxe" are executed by iPXE when the server itself starts up.
API Key Required:
Yes
Request Type:
GET
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/list

Example Response:
{
"3": {
"SCRIPTID": "3",
"date_created": "2014-05-21 15:27:18",
"date_modified": "2014-05-21 15:27:18",
"name": "test ",
"type": "boot",
"script": "#!\/bin\/bash echo Hello World > \/root\/hello"
},
"5": {
"SCRIPTID": "5",
"date_created": "2014-08-22 15:27:18",
"date_modified": "2014-09-22 15:27:18",
"name": "test ",
"type": "pxe",
"script": "#!ipxe\necho Hello World\nshell"
}
}
Parameters:
No parameters

/v1/startupscript/update
Update an existing startup script.

API Key Required:


Yes
Request Type:
POST
Required Access:
subscriptions
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/update --data 'SCRIPTID=5' --data
'name=my first script' --data 'script=#!/bin/bash\necho hello world > /root/hello'
Example Response:
No response, check HTTP result code.
Parameters:
SCRIPTID integer SCRIPTID of script to update (see /v1/startupscript/list).
name string (optional) New name for the startup script.
script string (optional) New startup script contents.

User Management
/v1/user/create
Create a new user.

API Key Required:


Yes
Request Type:
POST
Required Access:
manage_users
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/create --data '[email protected]' --data
'name=test user' --data 'password=badpassword' --data 'acls[]=manage_users' --data 'acls[]=subscriptions'
Example Response:
{
"USERID": "564a1a88947b4",
"api_key": "AAAAAAAA"
}
Parameters:
email string Email address for this user
name string Name for this user
password Password for this user
api_enabled string (optional) 'yes' or 'no'. If yes, this user's API key will work on api.vultr.com. Default is yes
acls array List of ACLs that this user should have. See /v1/user/list for information on possible ACLs

/v1/user/delete
Delete a user.

API Key Required:


Yes
Request Type:
POST
Required Access:
manage_users
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/delete --data 'USERID=564a1a88947b4'

Example Response:
No response, check HTTP result code.
Parameters:
USERID int ID of the user to delete

/v1/user/list
Retrieve a list of any users associated with this account.

ACLs will contain one or more of the following flags:

manage_users - Create, update, and delete other users. This will basically grant them all other permissions
subscriptions_view - Allow access to view instances on your account.
subscriptions - Destroy and update any existing subscriptions (also supporting things, such as ISOs and SSH
keys)
provisioning - Deploy new instances. Note this ACL requires the subscriptions ACL
billing - Manage and view billing information (invoices, payment methods)
support - Create and update support tickets. Users with this flag will be CC'd on any support interactions
abuse - If enabled on any user, only users with this flag enabled will receive abuse notifications (requires support
flag)
dns - Create, update, and delete any forward DNS records (reverse is controlled by the subscriptions flag)
upgrade - If enabled, this user will be allowed to upgrade an instance's plan, or add paid features (such as
DDOS protection or backups)
objstore - If enabled, this user will have full access to object storage subscriptions (create/destroy/manage)
API Key Required:
Yes
Request Type:
GET
Required Access:
manage_users
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/list

Example Response:
[
{
"USERID": "564a1a7794d83",
"name": "example user 1",
"email": "[email protected]",
"api_enabled": "yes",
"acls": [
"manage_users",
"subscriptions",
"billing",
"provisioning"
]
},
{
"USERID": "564a1a88947b4",
"name": "example user 2",
"email": "[email protected]",
"api_enabled": "no",
"acls": [
"support",
"dns"
]
}
]
Parameters:
No parameters

/v1/user/update
Update the details for a user.

API Key Required:


Yes
Request Type:
POST
Required Access:
manage_users
Example Request:
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/update --data 'USERID=564a1a88947b4' --data
'[email protected]' --data 'password=badpassword' --data 'acls[]=manage_users' --data
'acls[]=subscriptions'
Example Response:
No response, check HTTP result code.
Parameters:
USERID string ID of the user to update
email string (optional) New email address for this user
name string (optional) New name for this user
password string (optional) New password for this user
api_enabled string (optional) 'yes' or 'no'. If yes, this user's API key will work on api.vultr.com
acls array (optional) List of ACLs that this user should have. See /v1/user/list for information on possible
ACLs

Powered by TCPDF (www.tcpdf.org)

You might also like