vultr v0.3.0 Vultr

Link to this section Summary

Functions

Retrieve information about the current account

Retrieve a list of available applications

Retrieve information about the current API key

List all backups on the current account

Attach a block storage subscription to a VPS subscription

Create a block storage subscription

Delete a block storage subscription

Detach a block storage subscription from the currently attached instance

Set the label of a block storage subscription

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

Resize the block storage volume to a new size

Create a domain name in DNS

Delete a domain name and all associated records

Delete an individual DNS record

List all domains associated with the current account

List all the records associated with a particular domain

List all ISOs currently available on this account

Retrieve a list of available operating systems

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

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

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

Retrieve a list of the VPSPLANIDs currently available in this location

Retrieve a list of all active regions

Attach a reserved IP to an existing subscription

Convert an existing IP on a subscription to a reserved IP

Create a new reserved IP

Remove a reserved IP from your account

Detach a reserved IP from an existing subscription

List all the active reserved IPs on this account

Changes the virtual machine to a different application

Retrieves a list of applications to which a virtual machine can be changed

Disables automatic backups on a server

Enables automatic backups on a server

Retrieves the backup schedule for a server

Sets the backup schedule for a server

Get the bandwidth used by a virtual machine

Create a new virtual machine

Add a new IPv4 address to a server

Destroy (delete) a virtual machine

Removes a secondary IPv4 address from a server

Retrieves the application information for this subscription

Retrieves the (base64 encoded) user-data for this subscription

Halt a virtual machine. This is a hard power off (basically, unplugging the machine)

Attach an ISO and reboot the server

Detach the currently mounted ISO and reboot the server

Retrieve the current ISO state for a given subscription

Set the label of a virtual machine

List all active or pending virtual machines on the current account

List the IPv4 information of a virtual machine

List the IPv6 information of a virtual machine

Determine what other subscriptions are hosted on the same physical host as a given subscription

Changes the virtual machine to a different operating system

Retrieves a list of operating systems to which a virtual machine can be changed

Reboot a virtual machine

Reinstall the operating system on a virtual machine

Restore the specified backup to the virtual machine

Restore the specified snapshot to the virtual machine

Set a reverse DNS entry for an IPv4 address of a virtual machine to the original setting

Remove a reverse DNS entry for an IPv6 address of a virtual machine

List the IPv6 reverse DNS entries of a virtual machine

Set a reverse DNS entry for an IPv4 address of a virtual machine

Set a reverse DNS entry for an IPv6 address of a virtual machine

Sets the cloud-init user-data for this subscription

Start a virtual machine

Upgrade the plan of a virtual machine

Retrieve a list of the VPSPLANIDs for which a virtual machine can be upgraded

Create a snapshot from an existing virtual machine

Destroy (delete) a snapshot

List all snapshots on the current account

List all the SSH keys on the current account

Update an existing SSH Key

List all startup scripts on the current account

Update an existing startup script

Retrieve a list of any users associated with this account

Update the details for a user

Link to this section Functions

Link to this function account_info(api_key)

Retrieve information about the current account.

MethodPathAPI KeyRequired Access
GETv1/account/infoRequiredbilling

Params

NameTypeOptionalDescription

Retrieve a list of available applications.

These refer to applications that can be launched when creating a Vultr VPS.

MethodPathAPI KeyRequired Access
GETv1/app/listNoNone

Params

NameTypeOptionalDescription
Link to this function auth_info(api_key)

Retrieve information about the current API key.

MethodPathAPI KeyRequired Access
GETv1/auth/infoRequiredNone

Params

NameTypeOptionalDescription
Link to this function backup_list(api_key, params \\ [])

List all backups on the current account.

MethodPathAPI KeyRequired Access
GETv1/backup/listRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerYesUnique identifier of a subscription.
Only backups for this subscription object will be returned.
Link to this function block_attach(api_key, params \\ [])

Attach a block storage subscription to a VPS subscription.

The block storage volume must not be attached to any other VPS subscriptions for this to work.

MethodPathAPI KeyRequired Access
POSTv1/block/attachRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to attach.
attach_to_subidintegerNoID of the VPS subscription to mount the block storage subscription to.
Link to this function block_create(api_key, params \\ [])

Create a block storage subscription.

MethodPathAPI KeyRequired Access
POSTv1/block/createRequiredprovisioning

Params

NameTypeOptionalDescription
dcidintegerNoDCID of the location to create this subscription in.
See regions_list.
labelstringYesText label that will be associated with the subscription.
size_gbintegerNoSize (in GB) of this subscription.
Link to this function block_delete(api_key, params \\ [])

Delete a block storage subscription.

All data will be permanently lost. There is no going back from this call.

MethodPathAPI KeyRequired Access
POSTv1/block/deleteRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to delete.
Link to this function block_detach(api_key, params \\ [])

Detach a block storage subscription from the currently attached instance.

MethodPathAPI KeyRequired Access
POSTv1/block/detachRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to detach.
Link to this function block_label_set(api_key, params \\ [])

Set the label of a block storage subscription.

MethodPathAPI KeyRequired Access
POSTv1/block/label_setRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to detach.
labelstringNoText label that will be shown in the control panel.
Link to this function block_list(api_key, params \\ [])

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

MethodPathAPI KeyRequired Access
GETv1/block/listRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerYesUnique identifier of a subscription.
Only the subscription object will be returned.
Link to this function block_resize(api_key, params \\ [])

Resize the block storage volume to a new size.

WARNING: When shrinking the volume, you must manually shrink the filesystem and partitions beforehand, or you will lose data.

MethodPathAPI KeyRequired Access
POSTv1/block/resizeRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to resize.
size_gbintegerNoNew size (in GB) of the block storage subscription.
Link to this function dns_create_domain(api_key, params \\ [])

Create a domain name in DNS.

MethodPathAPI KeyRequired Access
POSTv1/dns/create_domainRequireddns

Params

NameTypeOptionalDescription
domainstringNoDomain name to create.
serveripstringNoServer IP to use when creating default records (A and MX).
Link to this function dns_create_record(api_key, params \\ [])

Add a DNS record.

MethodPathAPI KeyRequired Access
POSTv1/dns/create_recordRequireddns

Params

NameTypeOptionalDescription
datastringNoData for this record.
domainstringNoDomain name to add record to.
namestringNoName (subdomain) of record.
priorityintegerNo(only required for MX and SRV) Priority of this record (omit the priority from the data).
ttlintegerYesTTL of this record.
typestringNoType (A, AAAA, MX, etc) of record.
Link to this function dns_delete_domain(api_key, params \\ [])

Delete a domain name and all associated records.

MethodPathAPI KeyRequired Access
POSTv1/dns/delete_domainRequireddns

Params

NameTypeOptionalDescription
domainstringNoDomain name to delete.
Link to this function dns_delete_record(api_key, params \\ [])

Delete an individual DNS record.

MethodPathAPI KeyRequired Access
POSTv1/dns/delete_recordRequireddns

Params

NameTypeOptionalDescription
recordidintegerNoID of record to delete.
See dns_records.
domainstringNoDomain name to delete record from.
Link to this function dns_list(api_key)

List all domains associated with the current account.

MethodPathAPI KeyRequired Access
GETv1/dns/listRequireddns

Params

NameTypeOptionalDescription
Link to this function dns_records(api_key, params \\ [])

List all the records associated with a particular domain.

MethodPathAPI KeyRequired Access
GETv1/dns/recordsRequireddns

Params

NameTypeOptionalDescription
domainstringNoDomain to list records for.
Link to this function dns_update_record(api_key, params \\ [])

Update a DNS record.

MethodPathAPI KeyRequired Access
POSTv1/dns/update_recordRequireddns

Params

NameTypeOptionalDescription
recordidintegerNoID of record to update.
See dns_records.
datastringYesData for this record.
domainstringNoDomain name of record to update.
namestringYesName (subdomain) of record.
priorityintegerYes(only required for MX and SRV) Priority of this record (omit the priority from the data).
ttlstringYesTTL of this record.
Link to this function iso_list(api_key)

List all ISOs currently available on this account.

MethodPathAPI KeyRequired Access
GETv1/iso/listRequiredsubscriptions

Params

NameTypeOptionalDescription

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.

MethodPathAPI KeyRequired Access
GETv1/os/listNoNone

Params

NameTypeOptionalDescription
Link to this function plans_list(params \\ [])

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 it’s usage. Typically, deprecated plans are available for 30 days after they are deprecated.

MethodPathAPI KeyRequired Access
GETv1/plans/listNoNone

Params

NameTypeOptionalDescription
typestringYesThe type of plans to return.
Possible values: ‘all’, ‘vc2’, ‘ssd’, ‘vdc2’, ‘dedicated’.
Link to this function plans_list_vc2()

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

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

MethodPathAPI KeyRequired Access
GETv1/plans/list_vc2NoNone

Params

NameTypeOptionalDescription
Link to this function plans_list_vdc2()

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

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

MethodPathAPI KeyRequired Access
GETv1/plans/list_vdc2NoNone

Params

NameTypeOptionalDescription
Link to this function regions_availability(api_key, params \\ [])

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 in order to see them. For all other accounts, the API key is not optional.

MethodPathAPI KeyRequired Access
GETv1/regions/availabilityOptionalNone

Params

NameTypeOptionalDescription
dcidintegerNoRetrieve a list of the VPSPLANIDs currently available in this location.

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.

MethodPathAPI KeyRequired Access
GETv1/regions/listNoNone

Params

NameTypeOptionalDescription
Link to this function reservedip_attach(api_key, params \\ [])

Attach a reserved IP to an existing subscription.

MethodPathAPI KeyRequired Access
POSTv1/reservedip/attachRequiredsubscriptions

Params

NameTypeOptionalDescription
attach_subidintegerNoUnique indentifier of the server to attach the reserved IP to.
ip_addressstringNoReserved IP to attach to your account (use the full subnet here).
Link to this function reservedip_convert(api_key, params \\ [])

Convert an existing IP on a subscription to a reserved IP.

Returns the SUBID of the newly created reserved IP.

MethodPathAPI KeyRequired Access
POSTv1/reservedip/convertRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoSUBID of the server that currently has the IP address you want to convert.
ip_addressstringNoIP address you want to convert (v4 must be a /32, v6 must be a /64).
labelstringYesLabel for this reserved IP.
Link to this function reservedip_create(api_key, params \\ [])

Create a new reserved IP.

Reserved IPs can only be used within the same datacenter for which they were created.

MethodPathAPI KeyRequired Access
POSTv1/reservedip/createRequiredsubscriptions

Params

NameTypeOptionalDescription
dcidintegerNoLocation to create this reserved IP in.
See regions_list.
ip_typestringNoType of reserved IP to create.
Either ‘v4’ or ‘v6’.
labelstringYesLabel for this reserved IP.
Link to this function reservedip_destroy(api_key, params \\ [])

Remove a reserved IP from your account.

After making this call, you will not be able to recover the IP address.

MethodPathAPI KeyRequired Access
POSTv1/reservedip/destroyRequiredsubscriptions

Params

NameTypeOptionalDescription
ip_addressstringNoReserved IP to remove from your account.
Link to this function reservedip_detach(api_key, params \\ [])

Detach a reserved IP from an existing subscription.

MethodPathAPI KeyRequired Access
POSTv1/reservedip/detachRequiredsubscriptions

Params

NameTypeOptionalDescription
detach_subidintegerNoUnique identifier of the server to detach the reserved IP from.
ip_addressstringNoReserved IP to attach to your account (use the full subnet here).
Link to this function reservedip_list(api_key)

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.

MethodPathAPI KeyRequired Access
GETv1/reservedip/listRequiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function server_app_change(api_key, params \\ [])

Changes the virtual machine to a different application.

All data will be permanently lost.

MethodPathAPI KeyRequired Access
POSTv1/server/app_changeRequiredsubscriptions

Params

NameTypeOptionalDescription
appidintegerNoApplication to use.
See server_app_change_list.
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_app_change_list(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
GETv1/server/app_change_listRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_backup_disable(api_key, params \\ [])

Disables automatic backups on a server.

Once disabled, backups can only be enabled again by customer support.

MethodPathAPI KeyRequired Access
POSTv1/server/backup_disableRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_backup_enable(api_key, params \\ [])

Enables automatic backups on a server.

MethodPathAPI KeyRequired Access
POSTv1/server/backup_enableRequiredupgrade

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_backup_get_schedule(api_key, params \\ [])

Retrieves the backup schedule for a server.

All time values are in UTC.

MethodPathAPI KeyRequired Access
POSTv1/server/backup_get_scheduleRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_backup_set_schedule(api_key, params \\ [])

Sets the backup schedule for a server.

All time values are in UTC.

MethodPathAPI KeyRequired Access
POSTv1/server/backup_set_scheduleRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
cron_typestringNoBackup cron type.
Can be one of ‘daily’, ‘weekly’, or ‘monthly’.
domintegerYesDay-of-month value (1-28).
Applicable to crons: ‘monthly’.
dowintegerYesDay-of-week value (0-6).
Applicable to crons: ‘weekly’.
hourintegerYesHour value (0-23).
Applicable to crons: ‘daily’, ‘weekly’, ‘monthly’.
Link to this function server_bandwidth(api_key, params \\ [])

Get the bandwidth used by a virtual machine.

MethodPathAPI KeyRequired Access
GETv1/server/bandwidthRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_create(api_key, params \\ [])

Create a new virtual machine.

You will start being billed for this immediately. The response only contains the SUBID for the new machine.

You should use server_list to poll and wait for the machine to be created (as this does not happen instantly).

MethodPathAPI KeyRequired Access
POSTv1/server/createRequiredprovisioning

Params

NameTypeOptionalDescription
appidintegerYesIf launching an application (OSID 186), this is the APPID to launch.
See app_list.
dcidintegerNoLocation to create this virtual machine in.
See regions_list.
isoidintegerYesIf you’ve selected the ‘custom’ operating system, this is the ID of a specific ISO to mount during the deployment.
osidintegerNoOperating system to use.
See os_list.
scriptidintegerYesIf you’ve not selected a ‘custom’ operating system, this can be the SCRIPTID of a startup script to execute on boot.
See startupscript_list.
snapshotidstringYesIf you’ve selected the ‘snapshot’ operating system, this should be the SNAPSHOTID to restore for the initial installation.
See snapshot_list.
sshkeyidstringYesComma delimited list of SSH keys to apply to this server on install (only valid for Linux/FreeBSD).
See sshkey_list.
vpsplanidintegerNoPlan to use when creating this virtual machine.
See plans_list.
auto_backupsyes_noYesWhether or not automatic backups will be enabled for this server (these have an extra charge associated with them).
ddos_protectionyes_no
(Default "no")
Whether or not DDOS protection will be enabled on the subscription (there is an additional charge for this).
enable_ipv6yes_noYesWhether or not an IPv6 subnet will be assigned to the machine (where available).
enable_private_networkyes_noYesWhether or not private networking support will be added to the new server.
hostnamestringYesThe hostname to assign to this server.
ipxe_chain_urlstringYesIf you’ve selected the ‘custom’ operating system, this can be set to chainload the specified URL on bootup, via iPXE.
labelstringYesThis is a text label that will be shown in the control panel.
notify_activateyes_no
(Default "yes")
Whether or not an activation email will be sent when the server is ready.
reserved_ip_v4stringYesIP address of the floating IP to use as the main IP of this server
tagstringYesThe tag to assign to this server.
userdatastringYesBase64 encoded cloud-init user-data.
Link to this function server_create_ipv4(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/create_ipv4Requiredupgrade

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
rebootyes_no
(Default "yes")
Whether or not the server is rebooted immediately.
Link to this function server_destroy(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/destroyRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_destroy_ipv4(api_key, params \\ [])

Removes a secondary IPv4 address from a server.

Your server will be hard-restarted. We suggest halting the machine gracefully before removing IPs.

MethodPathAPI KeyRequired Access
POSTv1/server/destroy_ipv4Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_get_app_info(api_key, params \\ [])

Retrieves the application information for this subscription.

MethodPathAPI KeyRequired Access
GETv1/server/get_app_infoRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_get_user_data(api_key, params \\ [])

Retrieves the (base64 encoded) user-data for this subscription.

MethodPathAPI KeyRequired Access
GETv1/server/get_user_dataRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_halt(api_key, params \\ [])

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 server_destroy.

MethodPathAPI KeyRequired Access
POSTv1/server/haltRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_iso_attach(api_key, params \\ [])

Attach an ISO and reboot the server.

MethodPathAPI KeyRequired Access
POSTv1/server/iso_attachRequiredsubscriptions

Params

NameTypeOptionalDescription
isoidintegerNoThe ISO that will be mounted.
See iso_list.
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_iso_detach(api_key, params \\ [])

Detach the currently mounted ISO and reboot the server.

MethodPathAPI KeyRequired Access
POSTv1/server/iso_detachRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_iso_status(api_key, params \\ [])

Retrieve the current ISO state for a given subscription.

The returned state may be ‘ready’, ‘isomounting’ or ‘isomounted’. ISOID will only be set when the mounted ISO exists in your library ( see iso_list ), otherwise it will read ‘0’.

MethodPathAPI KeyRequired Access
GETv1/server/iso_statusRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_label_set(api_key, params \\ [])

Set the label of a virtual machine.

MethodPathAPI KeyRequired Access
POSTv1/server/label_setRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
labelstringNoThis is a text label that will be shown in the control panel.
Link to this function server_list(api_key, params \\ [])

List all active or pending virtual machines on the current account.

The ‘status’ field represents the status of the subscription and will be ‘pending’, ‘active’, ‘suspended’ or ‘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’ or ‘ok’.

The API does not provide any way to determine if the initial installation has completed or not. The v6_network, v6_main_ip, and v6_network_size fields are deprecated in favor of v6_networks.

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).

MethodPathAPI KeyRequired Access
GETv1/server/listRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerYesUnique identifier of a subscription.
Only the subscription object will be returned.
labelstringYesA text label string.
Only subscription objects with this text label will be returned.
main_ipstringYesAn IPv4 address.
Only the subscription matching this IPv4 address will be returned.
tagstringYesA tag string.
Only subscription objects with this tag will be returned.
Link to this function server_list_ipv4(api_key)

List the IPv4 information of a virtual machine.

IP information is only available for virtual machines in the ‘active’ state.

MethodPathAPI KeyRequired Access
GETv1/server/list_ipv4Requiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function server_list_ipv6(api_key)

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.

MethodPathAPI KeyRequired Access
GETv1/server/list_ipv6Requiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function server_neighbors(api_key, params \\ [])

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

MethodPathAPI KeyRequired Access
GETv1/server/neighborsRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_os_change(api_key, params \\ [])

Changes the virtual machine to a different operating system.

All data will be permanently lost.

MethodPathAPI KeyRequired Access
POSTv1/server/os_changeRequiredsubscriptions

Params

NameTypeOptionalDescription
osidintegerNoOperating system to use.
See server_os_change_list.
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_os_change_list(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
GETv1/server/os_change_listRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_reboot(api_key, params \\ [])

Reboot a virtual machine.

This is a hard reboot (basically, unplugging the machine).

MethodPathAPI KeyRequired Access
POSTv1/server/rebootRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_reinstall(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/reinstallRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
hostnamestringYesThe hostname to assign to this server.
Link to this function server_restore_backup(api_key, params \\ [])

Restore the specified backup to the virtual machine.

Any data already on the virtual machine will be lost.

MethodPathAPI KeyRequired Access
POSTv1/server/restore_backupRequiredsubscriptions

Params

NameTypeOptionalDescription
backupidstringNoBACKUPID to restore to this instance.
See backup_list.
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_restore_snapshot(api_key, params \\ [])

Restore the specified snapshot to the virtual machine.

Any data already on the virtual machine will be lost.

MethodPathAPI KeyRequired Access
POSTv1/server/restore_snapshotRequiredsubscriptions

Params

NameTypeOptionalDescription
backupidstringNoSNAPSHOTID to restore to this instance.
See snapshot_list.
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_reverse_default_ipv4(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/reverse_default_ipv4Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
ipstringNoIPv4 address used in the reverse DNS update.
See server_list_ipv4.
Link to this function server_reverse_delete_ipv6(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/reverse_delete_ipv6Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
ipstringNoIPv6 address used in the reverse DNS update.
See server_list_ipv6.
Link to this function server_reverse_list_ipv6(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
GETv1/server/reverse_list_ipv6Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_reverse_set_ipv4(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/reverse_set_ipv4Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
entrystringNoReverse DNS entry.
ipstringNoIPv4 address used in the reverse DNS update.
See server_list_ipv4.
Link to this function server_reverse_set_ipv6(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/reverse_set_ipv6Requiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
entrystringNoReverse DNS entry.
ipstringNoIPv6 address used in the reverse DNS update.
See server_list_ipv6.
Link to this function server_set_user_data(api_key, params \\ [])

Sets the cloud-init user-data for this subscription.

Note that user-data is not supported on every operating system, and is generally only provided on instance startup.

MethodPathAPI KeyRequired Access
POSTv1/server/set_user_dataRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
userdatastringNoBase64 encoded cloud-init user-data.
Link to this function server_start(api_key, params \\ [])

Start a virtual machine.

If the machine is already running, it will be restarted.

MethodPathAPI KeyRequired Access
POSTv1/server/startRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function server_upgrade_plan(api_key, params \\ [])

Upgrade the plan of a virtual machine.

The virtual machine will be rebooted upon a successful upgrade.

MethodPathAPI KeyRequired Access
POSTv1/server/upgrade_planRequiredupgrade

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
vpsplanidintegerNoThe new plan.
See server_upgrade_plan_list.
Link to this function server_upgrade_plan_list(api_key, params \\ [])

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.

MethodPathAPI KeyRequired Access
POSTv1/server/upgrade_plan_listRequiredupgrade

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
Link to this function snapshot_create(api_key, params \\ [])

Create a snapshot from an existing virtual machine.

The virtual machine does not need to be stopped.

MethodPathAPI KeyRequired Access
POSTv1/snapshot/createRequiredsubscriptions

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
descriptionstringYesDescription of snapshot contents.
Link to this function snapshot_destroy(api_key, params \\ [])

Destroy (delete) a snapshot.

There is no going back from this call.

MethodPathAPI KeyRequired Access
POSTv1/snapshot/destroyRequiredsubscriptions

Params

NameTypeOptionalDescription
snapshotidintegerNoUnique identifier for this snapshot.
See snapshot_list.
Link to this function snapshot_list(api_key)

List all snapshots on the current account.

MethodPathAPI KeyRequired Access
GETv1/snapshot/listRequiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function sshkey_create(api_key, params \\ [])

Create a new SSH Key.

MethodPathAPI KeyRequired Access
POSTv1/sshkey/createRequiredsubscriptions

Params

NameTypeOptionalDescription
namestringNoName of the SSH key.
ssh_keystringNoSSH public key (in authorized_keys format).
Link to this function sshkey_destroy(api_key, params \\ [])

Remove a SSH key.

Note that this will not remove the key from any machines that already have it.

MethodPathAPI KeyRequired Access
POSTv1/sshkey/destroyRequiredsubscriptions

Params

NameTypeOptionalDescription
sshkeyidstringNoUnique identifier for this SSH key.
See sshkey_list.
Link to this function sshkey_list(api_key)

List all the SSH keys on the current account.

MethodPathAPI KeyRequired Access
GETv1/sshkey/listRequiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function sshkey_update(api_key, params \\ [])

Update an existing SSH Key.

Note that this will only update newly installed machines. The key will not be updated on any existing machines.

MethodPathAPI KeyRequired Access
POSTv1/sshkey/updateRequiredsubscriptions

Params

NameTypeOptionalDescription
sshkeyidstringNoSSHKEYID of key to update.
See sshkey_list.
namestringYesNew name for the SSH key.
ssh_keystringYesNew SSH key contents.
Link to this function startupscript_create(api_key, params \\ [])

Create a startup script.

MethodPathAPI KeyRequired Access
POSTv1/startupscript/createRequiredsubscriptions

Params

NameTypeOptionalDescription
namestringNoName of the newly created startup script.
scriptstringNoStartup script contents.
typestringYesType of startup script.
Either boot or pxe.
Link to this function startupscript_destroy(api_key, params \\ [])

Remove a startup script.

MethodPathAPI KeyRequired Access
POSTv1/startupscript/destroyRequiredsubscriptions

Params

NameTypeOptionalDescription
scriptidstringNoUnique identifier for this startup script.
Link to this function startupscript_list(api_key)

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.

MethodPathAPI KeyRequired Access
GETv1/startupscript/listRequiredsubscriptions

Params

NameTypeOptionalDescription
Link to this function startupscript_update(api_key, params \\ [])

Update an existing startup script.

MethodPathAPI KeyRequired Access
POSTv1/startupscript/updateRequiredsubscriptions

Params

NameTypeOptionalDescription
scriptidstringNoSCRIPTID of script to update
See startupscript_list.
namestringYesNew name for the startup script.
scriptstringYesNew startup script contents.
Link to this function user_create(api_key, params \\ [])

Create a new user.

MethodPathAPI KeyRequired Access
POSTv1/user/createRequiredmanage_users

Params

NameTypeOptionalDescription
aclsarrayNoList of ACLs that this user should have.
See user_list for information on possible ACLs.
api_enabledyes_noNoWhether or not this user’s API key will work on api.vultr.com.
emailstringNoEmail address for this user.
namestringNoName for this user.
passwordstringNoPassword for this user.
Link to this function user_delete(api_key, params \\ [])

Delete a user.

MethodPathAPI KeyRequired Access
POSTv1/user/deleteRequiredmanage_users

Params

NameTypeOptionalDescription
useridintegerNoID of the user to delete.
Link to this function user_list(api_key)

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: 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)
MethodPathAPI KeyRequired Access
GETv1/user/listRequiredmanage_users

Params

NameTypeOptionalDescription
Link to this function user_update(api_key, params \\ [])

Update the details for a user.

MethodPathAPI KeyRequired Access
POSTv1/user/updateRequiredmanage_users

Params

NameTypeOptionalDescription
useridintegerNoID of the user to update.
aclsarrayYesList of ACLs that this user should have.
See user_list for information on possible ACLs.
api_enabledyes_noYesWhether or not this user’s API key will work on api.vultr.com.
emailstringYesNew email address for this user.
namestringYesNew name for this user.
passwordstringYesNew password for this user.