Overview
Error Handling

Methods

API Documentation (API Version v1)

Server/

DESCRIPTION

This section of the API handles provisioning, destroying, resizing, cloning, etc. Basically anything to do with managing a server is here.

Many of the methods here will fire off long-running processes that run in the background and can be polled for status information.

available

URL:

https://api.stormondemand.com/v1/Server/available

Description:

Checks if a given domain is free. Will return an adjusted domain name

If given an account and there was a conflict with another domain on your account. For example, if you have a server called 'host.domain.com', and ask if 'host.domain.com' is available, 'host2.domain.com' will be returned as the available domain.

If the domain is entirely unavailable, an exception of type 'LW::Exception::Resource::Unavailable' will be returned.

Parameters:

ParameterTypeNotes
domainA fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc)* Required

Returns:

FieldType
domainA fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc)

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

clone

URL:

https://api.stormondemand.com/v1/Server/clone

Description:

Clone a server. Returns the information about the newly created clone.

All of the optional fields are defaulted to the values on the original server if they aren't received. For cloning to a private parent, include the uniq_id of the parent server to be cloned to, along with the memory/diskspace/vcpu amounts (if different from the original).

Parameters:

ParameterTypeNotes
config_idA positive integer value (i.e. 1 and up).
domainA fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc)* Required
ip_countA positive integer value (i.e. 1 and up).
passwordA password of at least 7 characters and up to 30 characters in length, containing no spaces. Must contain 3 of the 4 following classes: lowercase, uppercase, numbers and punctuation.* Required
uniq_idA six-character identifier, containing only capital letters and digits.* Required
zoneA positive integer value (i.e. 1 and up).

Returns:

FieldTypeNotes
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

consoleAddress

URL:

https://api.stormondemand.com/v1/Server/consoleAddress

Description:

Parameters:

ParameterTypeNotes
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldType
hostnameA valid hostname (Fully qualified domain name, consisting only of letters, digits and '-')
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)
portA positive integer value (i.e. 1 and up).

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

create

URL:

https://api.stormondemand.com/v1/Server/create

Description:

Provision a new server. This fires off the build process, which does the actual provisioning of a new server on its parent. Each server consists of several distinct options:

	type: the product code for the provisioned server to create.

	features: an associative array of product features, specifying extra
	configuration options for the server.  The keys and values for this allow
	specifying features such as MsSQL and AntiVirus service on Windows systems,
	and can be determined by calling the product/details method for the product
	code of the server, and examining the 'options' array.  In general, these
	settings are not necessary on Linux systems, and are only necessary on
	servers with a Windows operating system.

	image_id: rather than provisioning a LiquidWeb template, you can specify
	the id of a user-created image on your account.  Use the API method
	storm/image/list to find any existing images you have or storm/image/create
	to create a new image from an existing server

	ip_count: the number of IPs you wish the server to have.  This defaults to
	1 IP, which is included in the base price.  Pricing for additional IPs can
	be found using the product/details API method for the product type in
	question, under 'options', specified as 'ExtraIp'

	pool_ips: an optional array of ips to be assigned to the server from the ip pool.

	bandwidth_quota: the bandwidth plan you wish to use.  A quota of 0 indicates
	that you want as-you-go, usage-based bandwidth charges.  The remaining
	available quota options can be found with the product/details API method.

	backup_enabled: whether or not backups should be enabled.  Defaults to no.
	If this is not set to 1, neither of the following two options will be used.

	backup_plan: either 'quota' or 'daily', depending on whether you are
	choosing a quota-based backup plan or just a specific number of days to be
	backed up.

	backup_quota: for a 'daily' plan, this indicates the number of days to back
	up.  For a quota plan, this is the total number of GB to keep.  Available
	options are found with the product/details API method.

	public_ssh_key: optional public ssh key you want added to authorized_keys
	on your new server.  This should be a valid public ssh key, e.g. the contents
	of your id_rsa.pub file.

	zone: the numerical id for the zone you wish to deploy the server in.
	See network/zone/list for available zones.

Beyond those options, we need the hostname of the server ('domain') and the root password you would like set on the server originally ('password').

More information about the returned data structure are found in the documenation for the server/details method.

Parameters:

ParameterTypeNotes
backup_idA positive integer value (i.e. 1 and up).
domainA fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc)* Required
featuresAn associative array of arbitrary keys and values.* Required
image_idA positive integer value (i.e. 1 and up).
passwordA password of at least 7 characters and up to 30 characters in length, containing no spaces. Must contain 3 of the 4 following classes: lowercase, uppercase, numbers and punctuation.* Required
public_ssh_keyA public ssh key, e.g. the contents of an id_rsa.pub or id_dsa.pub file.
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.* Required
zoneA positive integer value (i.e. 1 and up).

Returns:

FieldTypeNotes
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

destroy

URL:

https://api.stormondemand.com/v1/Server/destroy

Description:

Kills a server. It will refund for any remaining time that has been prepaid, charge any outstanding bandwidth charges, and then start the workflow to tear down the server.

Parameters:

ParameterTypeNotes
cancellation_commentA string permitting tabs, carriage returns and newlines
cancellation_reasonA string permitting tabs, carriage returns and newlines
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldType
destroyedA six-character identifier, containing only capital letters and digits.

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

details

URL:

https://api.stormondemand.com/v1/Server/details

Description:

Gets data relevant to a provisioned server.

Here's a rundown of what the returned fields mean:

	active: a flag indicating whether or not the server has finished building

	backup_enabled: whether or not backups are enabled

	backup_plan: either 'quota' or 'daily', depending on which backup plan you
	have enabled.  If backups are not enabled, this field is empty.

	backup_quota: for a 'daily' plan, this indicates the number of days backed
	up. For a quota plan, this is the total number of GB of backups kept for
	this server. If backups are not enabled, this field is empty.

	backup_size: the number of GB your current backups are using

	bandwidth_quota: the number of GB of bandwidth included in your bill.
	O indicates as-you-go usage-based bandwidth.

	capabilities: a list of capabilities the server has

	config_id: the id of the server configuration this server is using

	config_description: a more descriptive name for the server configuration
	assigned to this server. 'Storm 2GB', for example.

	create_date: the date and time when the server was created

	features: a list of features the server is configured with

	ip: the primary IP of the server

	ip_count: the number of IPs the server has assigned to it

	manage_level: 'self', 'core', or 'full', determined by which template you
	chose when creating the server

		self: Includes support for hardware, network and virtualization layers.

		core: Includes complete support of the base operating system as well as
		Apache, Mysql and PHP. Proactive service restoration is provided.

		full: Includes cPanel + Fantastico as well complete support of base
		operating system and all cPanel services. Proactive service restoration
		is provided.

	template: which OS image you have installed.  Even when you create a server
	from an image, the original OS image is returned here.

	template_description: a more informative description of the OS you are using
	on this server.  'CentOS 5.5 64bit Core-Managed', for example.

	uniq_id: the unique server identifier, made of 6 letters and numbers

	zone: the zone in which your server resides.  This is not yet useful, but is
	still provided as reference.  The zone identifiers may change.

Parameters:

ParameterTypeNotes
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldTypeNotes
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

history

URL:

https://api.stormondemand.com/v1/Server/history

Description:

Get a list of notifications for a specific server. Information about the data returned can here be found in storm/alerts/details

Parameters:

ParameterTypeNotes
page_numA positive integer value (i.e. 1 and up).* Optional
  • Defaults to: 1
page_sizeA positive integer value (i.e. 1 and up).* Optional
  • Defaults to: 25
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldType
item_countA non-negative integer value (i.e. 0 and up).
item_totalA non-negative integer value (i.e. 0 and up).
itemsAn array of associative arrays containing
 
categoryA string of text, containing no newlines or other control characters.* Optional
descriptionA string permitting tabs, carriage returns and newlines
enddateA valid date and time in YYYY-MM-DD HH:MM:SS format.* Optional
idA positive integer value (i.e. 1 and up).
last_alertA string permitting tabs, carriage returns and newlines* Optional
modifieddateA valid date and time in YYYY-MM-DD HH:MM:SS format.
resolvedA boolean value (0 or 1).
severityA single word, consisting of only letters and digits.
startdateA valid date and time in YYYY-MM-DD HH:MM:SS format.
systemA string consisting of only letters, digits, hyphens, spaces, and underscores.
system_identifierA positive integer value (i.e. 1 and up).* Optional
uniq_idA six-character identifier, containing only capital letters and digits.* Optional
page_numA positive integer value (i.e. 1 and up).
page_sizeA positive integer value (i.e. 1 and up).
page_totalA positive integer value (i.e. 1 and up).

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

list

URL:

https://api.stormondemand.com/v1/Server/list

Description:

Get a list of servers, services, and devices on your account. A more detailed description of what is returned can be found in the documentation for the server/details method.

Valid options for category include:

  Dedicated             -- This includes dedicated and virtual servers as well as special dedicated items
  VirtualDedicated      -- Legacy vps and provisioned servers
  StrictDedicated       -- Dedicated servers
  SpecialDedicated      -- This list includes network devices and load balancers
  Provisioned           -- Products which are subject to automated provisioning, such as Storm
  LoadBalancer          -- A hardware or software load balancer
  ObjectStorage         -- An object storage account.
  SBS                   -- Products backed by our Storm Block Storage technology

Parameters:

ParameterTypeNotes
alsowithA single word, consisting of only letters, digits, and underscores.
categoryEither: a single word, consisting of only letters and digits.; or An array of a single word, consisting of only letters and digits.
domainA string of text, containing no newlines or other control characters.
exclude_default_alsowithsA boolean value (0 or 1).* Optional
  • Defaults to: 0
page_numA positive integer value (i.e. 1 and up).* Optional
  • Defaults to: 1
page_sizeA positive integer value (i.e. 1 and up).* Optional
  • Defaults to: 25
parentA six-character identifier, containing only capital letters and digits.
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.

Returns:

FieldType
item_countA non-negative integer value (i.e. 0 and up).
item_totalA non-negative integer value (i.e. 0 and up).
itemsAn array of associative arrays containing
 
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional
page_numA positive integer value (i.e. 1 and up).
page_sizeA positive integer value (i.e. 1 and up).
page_totalA positive integer value (i.e. 1 and up).

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

reboot

URL:

https://api.stormondemand.com/v1/Server/reboot

Description:

Reboot a server. The 'force' flag will do a hard shutdown/boot of the server from the parent server.

If the server in question does not support automatic rebooting, a reboot request will be created in helpdesk.

Parameters:

ParameterTypeNotes
forceA boolean value (0 or 1).
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldTypeNotes
rebootedA six-character identifier, containing only capital letters and digits.* Optional
requestedA six-character identifier, containing only capital letters and digits.* Required if:
  • rebooted is not given

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

resize

URL:

https://api.stormondemand.com/v1/Server/resize

Description:

Resize a server to a new configuration. Available config_ids can be found in storm/config/list

You will be billed for the prorated difference of the price of the new configuration compared to the price of your old configuration. The difference will be refunded or charged at your next billing date.

When resizing to a larger configuration, the filesystem resize operation can be skipped by passing the 'skip_fs_resize' option. In this case, the storage associated with the new configuration is allocated, but not available immediately. The filesystem resize should be scheduled with the support team.

Skipping the filesystem resize is only possible when moving to a larger configuration. This option has no effect if moving to the same or smaller configuration.

Parameters:

ParameterTypeNotes
diskspaceA positive integer value (i.e. 1 and up).* Required if:
  • newsize is set to '0'
memoryA positive integer value (i.e. 1 and up).* Required if:
  • newsize is set to '0'
newsizeEither: a non-negative integer value (i.e. 0 and up).; or a valid product code, at least 3 chars long, including at least one letter.* Required
parentA six-character identifier, containing only capital letters and digits.* Required if:
  • newsize is set to '0'
skip_fs_resizeA boolean value (0 or 1).* Optional
  • Defaults to: 0
uniq_idA six-character identifier, containing only capital letters and digits.* Required
vcpuA positive integer value (i.e. 1 and up).* Required if:
  • newsize is set to '0'

Returns:

FieldTypeNotes
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

shutdown

URL:

https://api.stormondemand.com/v1/Server/shutdown

Description:

Stop a server. The 'force' flag will do a hard stop of the server from the parent server. Otherwise, it will issue a halt command to the server and shutdown normally.

Parameters:

ParameterTypeNotes
forceA boolean value (0 or 1).
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldType
shutdownA six-character identifier, containing only capital letters and digits.

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

start

URL:

https://api.stormondemand.com/v1/Server/start

Description:

Boot a server. If the server is already running, this will do nothing.

Parameters:

ParameterTypeNotes
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldType
startedA six-character identifier, containing only capital letters and digits.

Possible Errors:

Refer to the Error Handling documentation for the list of exception types

update

URL:

https://api.stormondemand.com/v1/Server/update

Description:

Update details about your server, including the backup and bandwidth plans, any advanced authentication options, and the hostname ('domain') we have on file.

Updating the 'domain' field will not change the actual hostname on the server. It merely updates what our records show.

Parameters:

ParameterTypeNotes
domainA fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc)
featuresAn associative array of arbitrary keys and values.
uniq_idA six-character identifier, containing only capital letters and digits.* Required

Returns:

FieldTypeNotes
accntA valid account number, up to 6 digits in length.
activeA boolean value (0 or 1).
capabilitiesAn associative array of arbitrary keys and values.* Optional
categoriesAn array of a string.* Optional
descriptionA string.
domainEither: a fully-qualified domain name (i.e. liquidweb.com, www.liquidweb.com, etc); or a string of text, containing no newlines or other control characters.
featuresAn associative array of arbitrary keys and values.* Optional
ipAn IPv4 IP address, in quad-dotted decimal notation (i.e. 127.0.0.1)* Optional
region_idA positive integer value (i.e. 1 and up).
typeA valid subaccnt type descriptor (i.e. DS.W1, GUARD, etc), at least 3 chars long.
uniq_idA six-character identifier, containing only capital letters and digits.
usernameEither: a subaccnt username consisting of up to 20 characters (letters, numbers, hyphens, periods and underscores).; or a fixed-length identifier, 6 characters in length, containing only capital letters and numbers.* Optional
valid_source_hvsAn associative array of arbitrary keys and values.* Optional

Possible Errors:

Refer to the Error Handling documentation for the list of exception types