Vultr API Reference - Version 1.0: /v1/account/info
Vultr API Reference - Version 1.0: /v1/account/info
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.
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.
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.
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.
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.
/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.
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.
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.
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.
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.
/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.
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.
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).
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.
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.
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.
/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.
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.
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.
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.
/v1/baremetal/tag_set
Set the tag of a bare metal server.
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.
/v1/block/delete
Delete a block storage subscription. All data will be permanently lost. There is no going back from this call.
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.
/v1/block/list
Retrieve a list of any active block storage subscriptions on this account.
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.
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.
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.
Example Response:
No response, check HTTP result code.
Parameters:
domain string Domain name to delete
/v1/dns/delete_record
Delete an individual DNS record.
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.
/v1/dns/dnssec_info
Get the DNSSEC keys (if enabled) for a domain.
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.
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.
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.
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.
/v1/dns/update_record
Update a DNS record.
Firewall
/v1/firewall/group_create
Create a new firewall group on the current account.
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.
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.
/v1/firewall/rule_create
Create a rule in a firewall group.
/v1/firewall/rule_delete
Delete a rule in a firewall group.
/v1/firewall/rule_list
List the rules in a firewall group.
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.
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.
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.
Example Response:
{
"204515": {
"ISOID": 204515,
"name": "CentOS 7",
"description": "7 x86_64 Minimal"
}
}
Parameters:
No parameters
Load Balancers
/v1/loadbalancer/conf_info
/v1/loadbalancer/create
Create a load balancer subscription.
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.
/v1/loadbalancer/forward_rule_delete
Remove a forwarding rule.
/v1/loadbalancer/forward_rule_list
List the forwarding rules of a load balancer subscription.
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.
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.
/v1/loadbalancer/health_check_info
Retrieve the health checking configuration of a load balancer subscription.
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.
/v1/loadbalancer/instance_attach
Attach an instance to a load balancer subscription.
/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.
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.
/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.
/v1/loadbalancer/ssl_info
Retrieve whether or not your load balancer subscription has an SSL cert attached.
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.
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.
/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.
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.
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.
/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).
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.
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.
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.
/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.
/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.
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.
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.
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.
/v1/server/bandwidth
Get the bandwidth used by a virtual machine.
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.
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.
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.
/v1/server/get_app_info
Retrieves the application information for this subscription.
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.
/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.
/v1/server/iso_detach
Detach the currently mounted ISO and reboot the server.
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.
/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.
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.
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.
/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.
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).
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.
/v1/server/restore_snapshot
Restore the specified snapshot to the virtual machine. Any data already on the virtual machine will be lost.
/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.
/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.
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.
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.
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.
/v1/snapshot/destroy
Destroy (delete) a snapshot. There is no going back from this call.
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.
/v1/sshkey/destroy
Remove a SSH key. Note that this will not remove the key from any machines that already have it.
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.
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.
/v1/startupscript/destroy
Remove a startup script.
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.
User Management
/v1/user/create
Create a new user.
/v1/user/delete
Delete a user.
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.
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.