vultr v0.2.2 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 Vultr client with an API-Key for authenticated methods

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(client)

Retrieve information about the current account.

Backend

  • Method: GET
  • Path: /v1/account/info
  • API Key: Required
  • Required Access: billing

Retrieve a list of available applications.

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

Backend

  • Method: GET
  • Path: /v1/app/list
  • API Key: No
  • Required Access: None
Link to this function auth_info(client)

Retrieve information about the current API key.

Backend

  • Method: GET
  • Path: /v1/auth/info
  • API Key: Required
  • Required Access: None
Link to this function backup_list(client, params \\ [])

List all backups on the current account.

Params

NameTypeOptionalDescription
subidintegerYesUnique identifier of a subscription.
Only backups for this subscription object will be returned.

Backend

  • Method: GET
  • Path: /v1/backup/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_attach(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to attach.
attach_to_subidintegerNoID of the VPS subscription to mount the block storage subscription to.

Backend

  • Method: POST
  • Path: /v1/block/attach
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_create(client, params \\ [])

Create a block storage subscription.

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.

Backend

  • Method: POST
  • Path: /v1/block/create
  • API Key: Required
  • Required Access: provisioning
Link to this function block_delete(client, params \\ [])

Delete a block storage subscription.

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

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to delete.

Backend

  • Method: POST
  • Path: /v1/block/delete
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_detach(client, params \\ [])

Detach a block storage subscription from the currently attached instance.

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to detach.

Backend

  • Method: POST
  • Path: /v1/block/detach
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_label_set(client, params \\ [])

Set the label of a block storage subscription.

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to detach.
labelstringNoText label that will be shown in the control panel.

Backend

  • Method: POST
  • Path: /v1/block/label_set
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_list(client, params \\ [])

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

Params

NameTypeOptionalDescription
subidintegerYesUnique identifier of a subscription.
Only the subscription object will be returned.

Backend

  • Method: GET
  • Path: /v1/block/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function block_resize(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoID of the block storage subscription to resize.
size_gbintegerNoNew size (in GB) of the block storage subscription.

Backend

  • Method: POST
  • Path: /v1/block/resize
  • API Key: Required
  • Required Access: subscriptions
Link to this function client(api_key)

Create a Vultr client with an API-Key for authenticated methods

Link to this function dns_create_domain(client, params \\ [])

Create a domain name in DNS.

Params

NameTypeOptionalDescription
domainstringNoDomain name to create.
serveripstringNoServer IP to use when creating default records (A and MX).

Backend

  • Method: POST
  • Path: /v1/dns/create_domain
  • API Key: Required
  • Required Access: dns
Link to this function dns_create_record(client, params \\ [])

Add a DNS record.

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.

Backend

  • Method: POST
  • Path: /v1/dns/create_record
  • API Key: Required
  • Required Access: dns
Link to this function dns_delete_domain(client, params \\ [])

Delete a domain name and all associated records.

Params

NameTypeOptionalDescription
domainstringNoDomain name to delete.

Backend

  • Method: POST
  • Path: /v1/dns/delete_domain
  • API Key: Required
  • Required Access: dns
Link to this function dns_delete_record(client, params \\ [])

Delete an individual DNS record.

Params

NameTypeOptionalDescription
recordidintegerNoID of record to delete.
See dns_records.
domainstringNoDomain name to delete record from.

Backend

  • Method: POST
  • Path: /v1/dns/delete_record
  • API Key: Required
  • Required Access: dns
Link to this function dns_list(client)

List all domains associated with the current account.

Backend

  • Method: GET
  • Path: /v1/dns/list
  • API Key: Required
  • Required Access: dns
Link to this function dns_records(client, params \\ [])

List all the records associated with a particular domain.

Params

NameTypeOptionalDescription
domainstringNoDomain to list records for.

Backend

  • Method: GET
  • Path: /v1/dns/records
  • API Key: Required
  • Required Access: dns
Link to this function dns_update_record(client, params \\ [])

Update a DNS record.

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.

Backend

  • Method: POST
  • Path: /v1/dns/update_record
  • API Key: Required
  • Required Access: dns
Link to this function iso_list(client)

List all ISOs currently available on this account.

Backend

  • Method: GET
  • Path: /v1/iso/list
  • API Key: Required
  • Required Access: subscriptions

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.

Backend

  • Method: GET
  • Path: /v1/os/list
  • API Key: No
  • Required Access: None
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.

Params

NameTypeOptionalDescription
typestringYesThe type of plans to return.
Possible values: ‘all’, ‘vc2’, ‘ssd’, ‘vdc2’, ‘dedicated’.

Backend

  • Method: GET
  • Path: /v1/plans/list
  • API Key: No
  • Required Access: None
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.

Backend

  • Method: GET
  • Path: /v1/plans/list_vc2
  • API Key: No
  • Required Access: None
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.

Backend

  • Method: GET
  • Path: /v1/plans/list_vdc2
  • API Key: No
  • Required Access: None
Link to this function regions_availability(client, 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.

Params

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

Backend

  • Method: GET
  • Path: /v1/regions/availability
  • API Key: Optional
  • Required Access: None

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.

Backend

  • Method: GET
  • Path: /v1/regions/list
  • API Key: No
  • Required Access: None
Link to this function reservedip_attach(client, params \\ [])

Attach a reserved IP to an existing subscription.

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

Backend

  • Method: POST
  • Path: /v1/reservedip/attach
  • API Key: Required
  • Required Access: subscriptions
Link to this function reservedip_convert(client, params \\ [])

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

Returns the SUBID of the newly created reserved IP.

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.

Backend

  • Method: POST
  • Path: /v1/reservedip/convert
  • API Key: Required
  • Required Access: subscriptions
Link to this function reservedip_create(client, params \\ [])

Create a new reserved IP.

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

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.

Backend

  • Method: POST
  • Path: /v1/reservedip/create
  • API Key: Required
  • Required Access: subscriptions
Link to this function reservedip_destroy(client, params \\ [])

Remove a reserved IP from your account.

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

Params

NameTypeOptionalDescription
ip_addressstringNoReserved IP to remove from your account.

Backend

  • Method: POST
  • Path: /v1/reservedip/destroy
  • API Key: Required
  • Required Access: subscriptions
Link to this function reservedip_detach(client, params \\ [])

Detach a reserved IP from an existing subscription.

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

Backend

  • Method: POST
  • Path: /v1/reservedip/detach
  • API Key: Required
  • Required Access: subscriptions
Link to this function reservedip_list(client)

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.

Backend

  • Method: GET
  • Path: /v1/reservedip/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_app_change(client, params \\ [])

Changes the virtual machine to a different application.

All data will be permanently lost.

Params

NameTypeOptionalDescription
appidintegerNoApplication to use.
See server_app_change_list.
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/app_change
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_app_change_list(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/app_change_list
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_backup_disable(client, params \\ [])

Disables automatic backups on a server.

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/backup_disable
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_backup_enable(client, params \\ [])

Enables automatic backups on a server.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/backup_enable
  • API Key: Required
  • Required Access: upgrade
Link to this function server_backup_get_schedule(client, params \\ [])

Retrieves the backup schedule for a server.

All time values are in UTC.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/backup_get_schedule
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_backup_set_schedule(client, params \\ [])

Sets the backup schedule for a server.

All time values are in UTC.

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

Backend

  • Method: POST
  • Path: /v1/server/backup_set_schedule
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_bandwidth(client, params \\ [])

Get the bandwidth used by a virtual machine.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/bandwidth
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_create(client, 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).

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_noYes
(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_noYes
(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.

Backend

  • Method: POST
  • Path: /v1/server/create
  • API Key: Required
  • Required Access: provisioning
Link to this function server_create_ipv4(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
rebootyes_noYes
(Default "yes")
Whether or not the server is rebooted immediately.

Backend

  • Method: POST
  • Path: /v1/server/create_ipv4
  • API Key: Required
  • Required Access: upgrade
Link to this function server_destroy(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/destroy
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_destroy_ipv4(client, params \\ [])

Removes a secondary IPv4 address from a server.

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/destroy_ipv4
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_get_app_info(client, params \\ [])

Retrieves the application information for this subscription.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/get_app_info
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_get_user_data(client, params \\ [])

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/get_user_data
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_halt(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/halt
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_iso_attach(client, params \\ [])

Attach an ISO and reboot the server.

Params

NameTypeOptionalDescription
isoidintegerNoThe ISO that will be mounted.
See iso_list.
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/iso_attach
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_iso_detach(client, params \\ [])

Detach the currently mounted ISO and reboot the server.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/iso_detach
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_iso_status(client, 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’.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/iso_status
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_label_set(client, params \\ [])

Set the label of a virtual machine.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
labelstringNoThis is a text label that will be shown in the control panel.

Backend

  • Method: POST
  • Path: /v1/server/label_set
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_list(client, 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).

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.

Backend

  • Method: GET
  • Path: /v1/server/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_list_ipv4(client)

List the IPv4 information of a virtual machine.

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

Backend

  • Method: GET
  • Path: /v1/server/list_ipv4
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_list_ipv6(client)

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.

Backend

  • Method: GET
  • Path: /v1/server/list_ipv6
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_neighbors(client, params \\ [])

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/neighbors
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_os_change(client, params \\ [])

Changes the virtual machine to a different operating system.

All data will be permanently lost.

Params

NameTypeOptionalDescription
osidintegerNoOperating system to use.
See server_os_change_list.
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/os_change
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_os_change_list(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/os_change_list
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reboot(client, params \\ [])

Reboot a virtual machine.

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/reboot
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reinstall(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
hostnamestringYesThe hostname to assign to this server.

Backend

  • Method: POST
  • Path: /v1/server/reinstall
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_restore_backup(client, params \\ [])

Restore the specified backup to the virtual machine.

Any data already on the virtual machine will be lost.

Params

NameTypeOptionalDescription
backupidstringNoBACKUPID to restore to this instance.
See backup_list.
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/restore_backup
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_restore_snapshot(client, params \\ [])

Restore the specified snapshot to the virtual machine.

Any data already on the virtual machine will be lost.

Params

NameTypeOptionalDescription
backupidstringNoSNAPSHOTID to restore to this instance.
See snapshot_list.
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/restore_snapshot
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reverse_default_ipv4(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
ipstringNoIPv4 address used in the reverse DNS update.
See server_list_ipv4.

Backend

  • Method: POST
  • Path: /v1/server/reverse_default_ipv4
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reverse_delete_ipv6(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
ipstringNoIPv6 address used in the reverse DNS update.
See server_list_ipv6.

Backend

  • Method: POST
  • Path: /v1/server/reverse_delete_ipv6
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reverse_list_ipv6(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: GET
  • Path: /v1/server/reverse_list_ipv6
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reverse_set_ipv4(client, 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.

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.

Backend

  • Method: POST
  • Path: /v1/server/reverse_set_ipv4
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_reverse_set_ipv6(client, 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.

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.

Backend

  • Method: POST
  • Path: /v1/server/reverse_set_ipv6
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_set_user_data(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
userdatastringNoBase64 encoded cloud-init user-data.

Backend

  • Method: POST
  • Path: /v1/server/set_user_data
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_start(client, params \\ [])

Start a virtual machine.

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

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/start
  • API Key: Required
  • Required Access: subscriptions
Link to this function server_upgrade_plan(client, params \\ [])

Upgrade the plan of a virtual machine.

The virtual machine will be rebooted upon a successful upgrade.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
vpsplanidintegerNoThe new plan.
See server_upgrade_plan_list.

Backend

  • Method: POST
  • Path: /v1/server/upgrade_plan
  • API Key: Required
  • Required Access: upgrade
Link to this function server_upgrade_plan_list(client, 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.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.

Backend

  • Method: POST
  • Path: /v1/server/upgrade_plan_list
  • API Key: Required
  • Required Access: upgrade
Link to this function snapshot_create(client, params \\ [])

Create a snapshot from an existing virtual machine.

The virtual machine does not need to be stopped.

Params

NameTypeOptionalDescription
subidintegerNoUnique identifier for this subscription.
See server_list.
descriptionstringYesDescription of snapshot contents.

Backend

  • Method: POST
  • Path: /v1/snapshot/create
  • API Key: Required
  • Required Access: subscriptions
Link to this function snapshot_destroy(client, params \\ [])

Destroy (delete) a snapshot.

There is no going back from this call.

Params

NameTypeOptionalDescription
snapshotidintegerNoUnique identifier for this snapshot.
See snapshot_list.

Backend

  • Method: POST
  • Path: /v1/snapshot/destroy
  • API Key: Required
  • Required Access: subscriptions
Link to this function snapshot_list(client)

List all snapshots on the current account.

Backend

  • Method: GET
  • Path: /v1/snapshot/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function sshkey_create(client, params \\ [])

Create a new SSH Key.

Params

NameTypeOptionalDescription
namestringNoName of the SSH key.
ssh_keystringNoSSH public key (in authorized_keys format).

Backend

  • Method: POST
  • Path: /v1/sshkey/create
  • API Key: Required
  • Required Access: subscriptions
Link to this function sshkey_destroy(client, params \\ [])

Remove a SSH key.

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

Params

NameTypeOptionalDescription
sshkeyidstringNoUnique identifier for this SSH key.
See sshkey_list.

Backend

  • Method: POST
  • Path: /v1/sshkey/destroy
  • API Key: Required
  • Required Access: subscriptions
Link to this function sshkey_list(client)

List all the SSH keys on the current account.

Backend

  • Method: GET
  • Path: /v1/sshkey/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function sshkey_update(client, 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.

Params

NameTypeOptionalDescription
sshkeyidstringNoSSHKEYID of key to update.
See sshkey_list.
namestringYesNew name for the SSH key.
ssh_keystringYesNew SSH key contents.

Backend

  • Method: POST
  • Path: /v1/sshkey/update
  • API Key: Required
  • Required Access: subscriptions
Link to this function startupscript_create(client, params \\ [])

Create a startup script.

Params

NameTypeOptionalDescription
namestringNoName of the newly created startup script.
scriptstringNoStartup script contents.
typestringYesType of startup script.
Either boot or pxe.

Backend

  • Method: POST
  • Path: /v1/startupscript/create
  • API Key: Required
  • Required Access: subscriptions
Link to this function startupscript_destroy(client, params \\ [])

Remove a startup script.

Params

NameTypeOptionalDescription
scriptidstringNoUnique identifier for this startup script.

Backend

  • Method: POST
  • Path: /v1/startupscript/destroy
  • API Key: Required
  • Required Access: subscriptions
Link to this function startupscript_list(client)

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.

Backend

  • Method: GET
  • Path: /v1/startupscript/list
  • API Key: Required
  • Required Access: subscriptions
Link to this function startupscript_update(client, params \\ [])

Update an existing startup script.

Params

NameTypeOptionalDescription
scriptidstringNoSCRIPTID of script to update
See startupscript_list.
namestringYesNew name for the startup script.
scriptstringYesNew startup script contents.

Backend

  • Method: POST
  • Path: /v1/startupscript/update
  • API Key: Required
  • Required Access: subscriptions
Link to this function user_create(client, params \\ [])

Create a new user.

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.

Backend

  • Method: POST
  • Path: /v1/user/create
  • API Key: Required
  • Required Access: manage_users
Link to this function user_delete(client, params \\ [])

Delete a user.

Params

NameTypeOptionalDescription
useridintegerNoID of the user to delete.

Backend

  • Method: POST
  • Path: /v1/user/delete
  • API Key: Required
  • Required Access: manage_users
Link to this function user_list(client)

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)

Backend

  • Method: GET
  • Path: /v1/user/list
  • API Key: Required
  • Required Access: manage_users
Link to this function user_update(client, params \\ [])

Update the details for a user.

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.

Backend

  • Method: POST
  • Path: /v1/user/update
  • API Key: Required
  • Required Access: manage_users