API v2 is the new default API for Vultr, and we continue to support API v1 in maintenance mode.
We will support API v1 with patches; however, we strongly urge everyone to transition to API v2 as soon as possible. We will give at least six months' notice before we announce the End of Life date for API v1.
We have added the `v2_id` attribute to API v1 to assist you during the transition. We have updated the API v1 documentation with information about this new attribute.
HTTP Response Code | Description |
---|---|
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. |
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.
All time and date fields returned by this API are displayed in UTC.
For your convenience a viewable/downloadable PDF version of the API reference is available here.
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"
Retrieve information about the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/account/info
{
"balance": "-5519.11",
"pending_charges": "57.03",
"last_payment_date": "2014-07-18 15:31:01",
"last_payment_amount": "-1.00"
}
No parameters.
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.
curl https://api.vultr.com/v1/app/list
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0.00
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0.00
}
}
No parameters.
Retrieve information about the current API key.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/auth/info
{
"acls": [
"subscriptions",
"billing",
"support",
"provisioning"
],
"email": "example@vultr.com",
"name": "Example Account"
}
No parameters.
List all backups on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/backup/list
{
"543d34149403a": {
"BACKUPID": "543d34149403a",
"date_created": "2014-10-14 12:40:40",
"description": "Automatic server backup",
"size": "42949672960",
"status": "complete",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
"543d340f6dbce": {
"BACKUPID": "543d340f6dbce",
"date_created": "2014-10-13 16:11:46",
"description": "",
"size": "10000000",
"status": "complete",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
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. |
Reinstalls the bare metal server to a different Vultr one-click application. All data will be permanently lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/app_change --data 'SUBID=900000' --data 'APPID=2'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/app_change_list?SUBID=900000
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0.00
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0.00
}
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Get the bandwidth used by a bare metal server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/bandwidth?SUBID=900000
{
"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 ]
]
}
No parameters.
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/create --data 'DCID=1' --data 'METALPLANID=1' --data 'OSID=127'
{
"SUBID": "900000",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/destroy --data 'SUBID=900000'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Retrieves the application information for a bare metal server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/get_app_info?SUBID=900000
{
"app_info": ""
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Retrieves the (base64 encoded) user-data for this subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/get_user_data?SUBID=900000
{
"userdata": "ZWNobyBIZWxsbyBXb3JsZA=="
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/halt --data 'SUBID=900000'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/ipv6_enable --data 'SUBID=900000'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Set the label of a bare metal server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/label_set --data 'SUBID=900000' --data 'label=example'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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).
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list
{
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
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. |
List the IPv4 information of a bare metal server. IP information is only available for bare metal servers in the "active" state.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list_ipv4?SUBID=900000
{
"900000": [
{
"ip": "203.0.113.10",
"netmask": "255.255.255.0",
"gateway": "203.0.113.1",
"type": "main_ip"
}
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/list_ipv6?SUBID=900000
{
"900000": [
{
"ip": "2001:0DB8:9000:0000:0000:0000:0000:0100",
"network": "2001:DB8:9000::",
"network_size": 64,
"type": "main_ip"
}
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Changes the bare metal server to a different operating system. All data will be permanently lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/os_change --data 'SUBID=900000' --data 'OSID=127'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/os_change_list?SUBID=900000
{
"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
}
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
Reboot a bare metal server. This is a hard reboot, which means that the server is powered off, then back on.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/reboot --data 'SUBID=900000'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/reinstall --data 'SUBID=900000'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/set_user_data --data 'SUBID=900000' --data 'userdata=ZWNobyBIZWxsbyBXb3JsZA=='
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/baremetal/list call. |
userdata | string | Base64 encoded user-data |
Set the tag of a bare metal server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/baremetal/tag_set --data 'SUBID=900000' --data 'tag=Web'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/attach --data 'SUBID=1313217' --data 'attach_to_SUBID=1313207'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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') |
Create a block storage subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/create --data 'DCID=1' --data 'size_gb=50' --data 'label=test'
{
"SUBID": "1313217",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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 |
Delete a block storage subscription. All data will be permanently lost. There is no going back from this call.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/delete --data 'SUBID=1313217'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | ID of the block storage subscription to delete |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/detach --data 'SUBID=1313217'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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') |
Set the label of a block storage subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/label_set --data 'SUBID=1313217' --data 'label=example'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | ID of the block storage subscription. |
label | string | Text label that will be shown in the control panel. |
Retrieve a list of any active block storage subscriptions on this account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/list
[
{
"SUBID": 1313216,
"date_created": "2016-03-29 10:10:04",
"cost_per_month": 10.00,
"status": "pending",
"size_gb": 100,
"DCID": 1,
"attached_to_SUBID": null,
"label": "files1",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
},
{
"SUBID": 1313217,
"date_created": "2016-31-29 10:10:48",
"cost_per_month": 5.00,
"status": "active",
"size_gb": 50,
"DCID": 1,
"attached_to_SUBID": 1313207,
"label": "files2",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
}
]
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | optional Unique identifier of a subscription. Only the subscription object will be returned. |
Resize the block storage volume to a new size.
WARNING: You are unable to shrink a block storage volume.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/block/resize --data 'SUBID=1313217' --data 'size_gb=75'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | ID of the block storage subscription to resize |
size_gb | integer | New size (in GB) of the block storage subscription |
Create a domain name in DNS.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/create_domain --data 'domain=example.com' --data 'serverip=127.0.0.1'
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain name to create |
serverip | string | Server IP to use when creating default records (A and MX) |
Add a DNS record.
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'
Parameter |
Type |
Description |
---|---|---|
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) |
Delete a domain name and all associated records.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/delete_domain --data 'domain=example.com'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain name to delete |
Delete an individual DNS record.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/delete_record --data 'domain=example.com' --data 'RECORDID=1265277'
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain name to delete record from |
RECORDID | integer | ID of record to delete (see /dns/records) |
Enable or disable DNSSEC for a domain.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/dnssec_enable --data 'domain=example.com' --data 'enable=yes'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain name to update record |
enable | string | 'yes' or 'no'. If yes, DNSSEC will be enabled for the given domain |
Get the DNSSEC keys (if enabled) for a domain.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/dnssec_info?domain=example.com
[
"example.com IN DNSKEY 257 3 13 kRrxANp7YTGqVbaWtMy8hhsK0jcG4ajjICZKMb4fKv79Vx/RSn76vNjzIT7/Uo0BXil01Fk8RRQc4nWZctGJBA==",
"example.com IN DS 27933 13 1 2d9ac457e5c11a104e25d971d0a6254562bddde7",
"example.com IN DS 27933 13 2 8858e7b0dfb881280ce2ca1e0eafcd93d5b53687c21da284d4f8799ba82208a9"
]
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain from which to gather DNSSEC keys. |
List all domains associated with the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/list
[
{
"domain": "example.com",
"date_created": "2014-12-11 16:20:59"
}
]
No parameters.
List all the records associated with a particular domain.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/records?domain=example.com
[
{
"type": "A",
"name": "",
"data": "127.0.0.1",
"priority": 0,
"RECORDID": 1265276,
"ttl": 300,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
{
"type": "CNAME",
"name": "*",
"data": "example.com",
"priority": 0,
"RECORDID": 1265277,
"ttl": 300,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
]
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain to list records for |
Get the SOA record information for a domain.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/soa_info?domain=example.com
{
"nsprimary": "ns1.vultr.com",
"email": "dnsadm@vultr.com"
}
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain from which to gather SOA information |
Update the SOA record information for a domain.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/dns/soa_update --data 'domain=example.com' --data 'nsprimary=ns1.vultr.com' --data 'email=admin@example.com'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
domain | string | Domain name to update record |
nsprimary | string | (Optional) Primary nameserver to store in the SOA record |
string | (Optional) Administrative email to store in the SOA record |
Update a DNS record.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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) |
Create a new firewall group on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_create --data 'description=group1'
{
"FIREWALLGROUPID": "1234abcd",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
description | string | optional Description of firewall group. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_delete --data 'FIREWALLGROUPID=1234abcd'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
FIREWALLGROUPID | string | Firewall group to delete. |
List all firewall groups on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_list
{
"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,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
FIREWALLGROUPID | string | optional Filter result set to only contain this firewall group. |
Change the description on a firewall group.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/group_set_description --data 'FIREWALLGROUPID=1234abcd' --data 'description=group2'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
FIREWALLGROUPID | string | Firewall group to update. |
description | string | Description of firewall group. |
Create a rule in a firewall group.
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'
{
"rulenumber": 2
}
Parameter |
Type |
Description |
---|---|---|
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 (case insensitive): "icmp", "tcp", "udp", "gre", "esp", "ah". |
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". |
Delete a rule in a firewall group.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/firewall/rule_delete --data 'FIREWALLGROUPID=1234abcd' --data 'rulenumber=2'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
FIREWALLGROUPID | string | Target firewall group. See /v1/firewall/group_list. |
rulenumber | integer | Rule number to delete. See /v1/firewall/rule_list. |
List the rules in a firewall group.
curl -H 'API-Key: YOURKEY' 'https://api.vultr.com/v1/firewall/rule_list?FIREWALLGROUPID=1234abcd&direction=in&ip_type=v4'
{
"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."
}
}
Parameter |
Type |
Description |
---|---|---|
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". |
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.
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'
{
"ISOID": 24,
"v2_id": "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
url | string | Remote URL from where the ISO will be downloaded. |
Destroy (delete) an ISO image. There is no going back from this call.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/destroy --data 'ISOID=24'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
ISOID | integer | Unique identifier for this ISO image. These can be found using the v1/iso/list call. |
List all ISOs currently available on this account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/list
{
"24": {
"ISOID": 24,
"date_created": "2014-04-01 14:10:09",
"filename": "CentOS-6.5-x86_64-minimal.iso",
"size": 9342976,
"md5sum": "ec0669895a250f803e1709d0402fc411",
"sha512sum": "1741f890bce04613f60b4f2b16fb8070c31640c53d4dbb4271b22610150928743eda1207f031b0b5bdd240ef1a6ed21fd5e6a2d192b9c87eff60b6d9698b8260",
"status": "complete",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
No parameters.
List public ISOs offered in the Vultr ISO library.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/iso/list_public
{
"204515": {
"ISOID": 204515,
"name": "CentOS 7",
"description": "7 x86_64 Minimal",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a3"
}
}
No parameters.
Retrieve the entire configuration of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/conf_info?SUBID=1314840
{
"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
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Create a load balancer subscription.
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
]
{
"SUBID": "1314840",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/destroy --data 'SUBID=1314840'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Create a new forwarding rule.
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'
{
"RULEID": "1"
}
Parameter |
Type |
Description |
---|---|---|
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. |
Remove a forwarding rule.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/forward_rule_delete --data 'SUBID=1314840' --data 'RULEID=1asdf13asdf'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
List the forwarding rules of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/forward_rule_list?SUBID=1314840
{
"forward_rule_list": [
{
"RULEID": "3f099fb3c45d5a51",
"frontend_protocol": "tcp",
"frontend_port": 8080,
"backend_protocol": "tcp",
"backend_port": 8080
}
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Retrieve the generic configuration of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/generic_info?SUBID=1314840
{
"balancing_algorithm": "roundrobin",
"ssl_redirect": false,
"sticky_sessions": {
"cookie_name": ""
},
"proxy_protocol": false
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Update the generic configuration of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/generic_update --data 'SUBID=1314840' --data 'balancing_algorithm=leastconn'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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 |
Retrieve the health checking configuration of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/health_check_info?SUBID=1314840
{
"protocol": "https",
"port": 80,
"path": "/",
"check_interval": 15,
"response_timeout": 5,
"unhealthy_threshold": 5,
"healthy_threshold": 5
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Update the health checking configuration of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/health_check_update --data 'SUBID=1314840' --data 'protocol=https'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Attach an instance to a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_attach --data 'SUBID=1314841' --data 'backendNode=123456'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of LoadBalancer subscription to attach to. |
backendNode | integer | Unique identifier (SUBID) of VPS or baremetal subscription to attach. |
Detach an instance to a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_detach --data 'SUBID=1314841'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of LoadBalancer subscription to detach from. |
backendNode | integer | Unique identifier (SUBID) of VPS or baremetal subscription to detach. |
List the instances attached to a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/instance_list?SUBID=1314840
{
"instance_list":[
1314841,
1314842
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Set the label of a load balancer subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/label_set --data 'SUBID=1314840' --data 'label=example'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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).
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/list
[
{
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
]
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | optional Unique identifier of a load balancer subscription. Only the subscription object will be returned. |
Add a SSL certificate to a load balancer.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_add --data 'SUBID=1314841' --data 'private_key=ssl-privatekey'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Retrieve whether or not your load balancer subscription has an SSL cert attached.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_info?SUBID=1314840
{
"has_ssl": true
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of a load balancer subscription. This can be found using the "v1/loadbalancer/list" call. |
Remove a SSL certificate to a load balancer.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/loadbalancer/ssl_remove --data 'SUBID=1314841'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier of LoadBalancer subscription. |
Create a new private network. A private network can only be used at the location for which it was created.
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'
{
"NETWORKID": "net59a0526477dd3",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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. |
Destroy (delete) a private network. Before destroying, a network must be disabled from all instances. See /v1/server/private_network_disable.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/network/destroy --data 'NETWORKID=net539626f0798d7'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
NETWORKID | string | Unique identifier for this network. These can be found using the v1/network/list call. |
List all private networks on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/network/list
{
"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,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
"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,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
No parameters.
Create an object storage subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/create --data 'OBJSTORECLUSTERID=1' --data 'label=object1'
{
"SUBID": 1314217,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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. |
Destroy an object storage subscription. All objects will be permanently deleted. There is no going back from this call.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/destroy --data 'SUBID=1314217'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/objectstorage/list call. |
Set the label of an object storage subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/label_set --data 'SUBID=1314217' --data 'label=example'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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).
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/list
{
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl https://api.vultr.com/v1/objectstorage/list_cluster
{
"1": {
"OBJSTORECLUSTERID": 1,
"DCID": 1,
"location": "New Jersey",
"hostname": "nj1.vultrobjects.com",
"deploy": "yes"
}
}
No parameters.
Regenerate the S3 API keys of an object storage subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/objectstorage/s3key_regenerate --data 'SUBID=1314217' --data 's3_access_key=abc1234'
{
"s3_hostname": "nj1.vultrobjects.com",
"s3_access_key": "abc1236",
"s3_secret_key": "def5679"
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl https://api.vultr.com/v1/os/list
{
"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
}
}
No parameters.
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.
curl https://api.vultr.com/v1/plans/list?type=vc2
{
"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
}
}
Parameter |
Type |
Description |
---|---|---|
type | string | optional The type of plans to return. Possible values: "all", "vc2", "ssd", "vdc2", "dedicated", "vc2z". |
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.
curl https://api.vultr.com/v1/plans/list_baremetal
{
"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.00,
"plan_type": "SSD",
"deprecated": false,
"available_locations": [1, 2, 3]
}
}
No parameters.
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.
curl https://api.vultr.com/v1/plans/list_vc2
{
"1": {
"VPSPLANID": "1",
"name": "Starter",
"vcpu_count": "1",
"ram": "512",
"disk": "20",
"bandwidth": "1",
"price_per_month": "5.00",
"plan_type": "SSD"
}
}
No parameters.
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.
curl https://api.vultr.com/v1/plans/list_vc2z
{
"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"
}
}
No parameters.
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.
curl https://api.vultr.com/v1/plans/list_vdc2
{
"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"
}
}
No parameters.
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.
curl https://api.vultr.com/v1/regions/availability?DCID=1
[40,11,45,29,41,61]
Parameter |
Type |
Description |
---|---|---|
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". |
Retrieve a list of the METALPLANIDs currently available in this location.
curl https://api.vultr.com/v1/regions/availability_baremetal?DCID=1
[1,2,3,4,5]
Parameter |
Type |
Description |
---|---|---|
DCID | integer | Location to check availability. |
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.
curl https://api.vultr.com/v1/regions/availability_vc2?DCID=1
[40,11,45,29,41,61]
Parameter |
Type |
Description |
---|---|---|
DCID | integer | Location to check availability. |
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.
curl https://api.vultr.com/v1/regions/availability_vdc2?DCID=1
[40,11,45,29,41,61]
Parameter |
Type |
Description |
---|---|---|
DCID | integer | Location to check availability. |
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.
curl https://api.vultr.com/v1/regions/list
{
"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"
}
}
Parameter |
Type |
Description |
---|---|---|
availability | string | optional 'yes' or 'no'. If 'yes', include the current availability with each region entry. |
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.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Convert an existing IP on a subscription to a reserved IP. Returns the SUBID of the newly created reserved IP.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/convert --data 'SUBID=5342543' --data 'ip_address=2001:db8:8000:/64'
{
"SUBID": 365352,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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 |
Create a new reserved IP. Reserved IPs can only be used within the same datacenter for which they were created.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/create --data 'DCID=1' --data 'ip_type=v4'
{
"SUBID": 1312965,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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 |
Remove a reserved IP from your account. After making this call, you will not be able to recover the IP address.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/destroy --data 'ip_address=2001:db8:8000::/64'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
ip_address | string | Reserved IP to remove from your account. |
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.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/reservedip/list
{
"1313044": {
"SUBID": 1313044,
"DCID": 1,
"ip_type": "v4",
"subnet": "10.234.22.53",
"subnet_size": 32,
"label": "my first reserved ip",
"attached_SUBID": 123456,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
},
"1313045": {
"SUBID": 1313045,
"DCID": 1,
"ip_type": "v6",
"subnet": "2001:db8:9999::",
"subnet_size": 64,
"label": "",
"attached_SUBID": false,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
}
}
No parameters.
Changes the virtual machine to a different application. All data will be permanently lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/app_change --data 'SUBID=596965' --data 'APPID=2'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/app_change_list?SUBID=576965
{
"1": {
"APPID": "1",
"name": "LEMP",
"short_name": "lemp",
"deploy_name": "LEMP on CentOS 6 x64",
"surcharge": 0.00
},
"2": {
"APPID": "2",
"name": "WordPress",
"short_name": "wordpress",
"deploy_name": "WordPress on CentOS 6 x64",
"surcharge": 0.00
}
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Disables automatic backups on a server. Once disabled, backups can only be enabled again by customer support.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_disable --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Enables automatic backups on a server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_enable --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Retrieves the backup schedule for a server. All time values are in UTC.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/backup_get_schedule --data 'SUBID=576965'
{
"enabled": true,
"cron_type": "weekly",
"next_scheduled_time_utc": "2016-05-07 08:00:00",
"hour": 8,
"dow": 6,
"dom": 0
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Sets the backup schedule for a server. All time values are in UTC.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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'. |
Get the bandwidth used by a virtual machine.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/bandwidth?SUBID=576965&date_range=30
{
"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" ]
]
}
Parameter |
Type |
Description |
---|---|---|
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. |
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. Likewise with our pre-built images use OSID 186 and then specify your desired APPID.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/create --data 'DCID=1' --data 'VPSPLANID=202' --data 'OSID=127'
{
"SUBID": "1312965",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/create_ipv4 --data 'SUBID=576965'
{
"ipv4": "123.123.123.124"
}
Parameter |
Type |
Description |
---|---|---|
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. |
Disables DDoS Protection for a server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ddos_protection_disable --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Enables DDoS Protection for a server. Please note there is a monthly charge for this feature.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ddos_protection_enable --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/destroy --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Removes a secondary IPv4 address from a server. Your server will be hard-restarted. We suggest halting the machine gracefully before removing IPs.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/destroy_ipv4 --data 'SUBID=576965' --data 'ip=192.0.2.1'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
ip | string | IPv4 address to remove. |
Set, change, or remove the firewall group currently applied to a server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/firewall_group_set --data 'SUBID=576965' --data 'FIREWALLGROUPID=1234abcd'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Retrieves the application information for this subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/get_app_info?SUBID=576965
{
"app_info": ""
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Retrieves the (base64 encoded) user-data for this subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/get_user_data?SUBID=576965
{
"userdata": "ZWNobyBIZWxsbyBXb3JsZA=="
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/halt --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/ipv6_enable --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Attach an ISO and reboot the server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_attach --data 'SUBID=576965' --data 'ISOID=24'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Detach the currently mounted ISO and reboot the server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_detach --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the /v1/server/list call. |
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".
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/iso_status?SUBID=576965
{
"state": "ready",
"ISOID": "0"
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the /v1/server/list call. |
Set the label of a virtual machine.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/label_set --data 'SUBID=576965' --data 'label=example'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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).
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list
{
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
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. |
List the IPv4 information of a virtual machine. IP information is only available for virtual machines in the "active" state.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list_ipv4?SUBID=576965
{
"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": ""
}
]
}
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/list_ipv6?SUBID=576965
{
"576965": [
{
"ip": "2001:0DB8:1000:0000:0000:000:0000:0101",
"network": "2001:DB8:1000::",
"network_size": "64",
"type": "main_ip"
}
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Determine what other subscriptions are hosted on the same physical host as a given subscription.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/neighbors?SUBID=576965
[
23456
]
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Changes the virtual machine to a different operating system. All data will be permanently lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/os_change --data 'SUBID=576965' --data 'OSID=127'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/os_change_list?SUBID=576965
{
"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"
}
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Removes a private network from a server. The server will be automatically rebooted to complete the request.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_network_disable --data 'SUBID=576965' --data 'NETWORKID=net539626f0798d7'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_network_enable --data 'SUBID=576965' --data 'NETWORKID=net539626f0798d7'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
List private networks attached to a particular server.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/private_networks?SUBID=576965
{
"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"
}
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Reboot a virtual machine. This is a hard reboot (basically, unplugging the machine).
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reboot --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reinstall --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Restore the specified backup to the virtual machine. Any data already on the virtual machine will be lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/restore_backup --data 'SUBID=576965' --data 'BACKUPID=543d34149403a'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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 |
Restore the specified snapshot to the virtual machine. Any data already on the virtual machine will be lost.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/restore_snapshot --data 'SUBID=576965' --data 'SNAPSHOTID=5359435d28b9a'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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 |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_default_ipv4 --data 'SUBID=576965' --data 'ip=192.0.2.1'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_delete_ipv6 --data 'SUBID=576965' --data 'ip=2001:db8:1234::'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/reverse_list_ipv6?SUBID=576965
{
"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"
}
]
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
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.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/set_user_data --data 'SUBID=576965' --data 'userdata=ZWNobyBIZWxsbyBXb3JsZA=='
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
userdata | string | Base64 encoded user-data |
Start a virtual machine. If the machine is already running, it will be restarted.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/start --data 'SUBID=576965'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Set the tag of a virtual machine.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/tag_set --data 'SUBID=576965' --data 'tag=Mail'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Upgrade the plan of a virtual machine. The virtual machine will be rebooted upon a successful upgrade.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/upgrade_plan --data 'SUBID=576965' --data 'VPSPLANID=29'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/server/upgrade_plan_list?SUBID=576965
[29,41,61]
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Unique identifier for this subscription. These can be found using the v1/server/list call. |
Create a snapshot from an existing virtual machine. The virtual machine does not need to be stopped.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/create --data 'SUBID=1312965'
{
"SNAPSHOTID": "544e52f31c706",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
SUBID | integer | Identifier of the virtual machine to create a snapshot from. See v1/server/list |
description | string | optional Description of snapshot contents |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/create_from_url --data 'url=http://example.com/path/to/disk_image.raw'
{
"SNAPSHOTID": "544e52f31c706",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
url | string | Remote URL from where the snapshot will be downloaded. |
Destroy (delete) a snapshot. There is no going back from this call.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/destroy --data 'SNAPSHOTID=5359435d28b9a'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SNAPSHOTID | string | Unique identifier for this snapshot. These can be found using the v1/snapshot/list call. |
List all snapshots on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/snapshot/list
{
"5359435d28b9a": {
"SNAPSHOTID": "5359435d28b9a",
"date_created": "2014-04-18 12:40:40",
"description": "Test snapshot",
"size": "42949672960",
"status": "complete",
"OSID": "127",
"APPID": "0",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
"5359435dc1df3": {
"SNAPSHOTID": "5359435dc1df3",
"date_created": "2014-04-22 16:11:46",
"description": "",
"size": "10000000",
"status": "complete",
"OSID": "127",
"APPID": "0",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
Parameter |
Type |
Description |
---|---|---|
SNAPSHOTID | string | optional Filter result set to only contain this snapshot. |
Create a new SSH Key.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/create --data 'name=test SSH KEY' --data 'ssh_key=ssh-rsa AA... test@example.com'
{
"SSHKEYID": "541b4960f23bd",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
name | string | Name of the SSH key |
ssh_key | string | SSH public key (in authorized_keys format) |
Remove a SSH key. Note that this will not remove the key from any machines that already have it.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/destroy --data 'SSHKEYID=541b4960f23bd'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SSHKEYID | string | Unique identifier for this SSH key. These can be found using the v1/sshkey/list call. |
List all the SSH keys on the current account.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/sshkey/list
{
"541b4960f23bd": {
"SSHKEYID": "541b4960f23bd",
"date_created": null,
"name": "test",
"ssh_key": "ssh-rsa AA... test@example.com",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
No parameters.
Update an existing SSH Key. Note that this will only update newly installed machines. The key will not be updated on any existing machines.
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... someother@example.com'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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 |
Create a startup script.
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'
{
"SCRIPTID": 5,
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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'. |
Remove a startup script.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/destroy --data 'SCRIPTID=5'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
SCRIPTID | string | Unique identifier for this startup script. These can be found using the v1/startupscript/list call. |
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.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/startupscript/list
{
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
"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",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
}
No parameters.
Update an existing startup script.
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'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
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. |
Create a new user.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/create --data 'email=new@vultr.com' --data 'name=test user' --data 'password=badpassword' --data 'acls[]=manage_users' --data 'acls[]=subscriptions'
{
"USERID": "564a1a88947b4",
"api_key":"AAAAAAAA",
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
Parameter |
Type |
Description |
---|---|---|
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 |
Delete a user.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/delete --data 'USERID=564a1a88947b4'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
USERID | int | ID of the user to delete |
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)
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/list
[
{
"USERID": "564a1a7794d83",
"name": "example user 1",
"email": "example@vultr.com",
"api_enabled": "yes",
"acls": [
"manage_users",
"subscriptions",
"billing",
"provisioning"
],
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a5"
},
{
"USERID": "564a1a88947b4",
"name": "example user 2",
"email": "example@vultr.com",
"api_enabled": "no",
"acls": [
"support",
"dns"
],
"v2_id" : "82f4a9f9-6d8b-44c8-ad59-6ade845bd2a6"
}
]
No parameters.
Update the details for a user.
curl -H 'API-Key: YOURKEY' https://api.vultr.com/v1/user/update --data 'USERID=564a1a88947b4' --data 'email=new@vultr.com' --data 'password=badpassword' --data 'acls[]=manage_users' --data 'acls[]=subscriptions'
No response, check HTTP result code.
Parameter |
Type |
Description |
---|---|---|
USERID | string | ID of the user to update |
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 |