API Introduction
Below you will find a current list of the available methods on our CenturyLink Cloud API. If you need help or support, please head over to our Knowledge Base or Getting Started pages.
The calling conventions for the REST API is to send a POST request to the URL of the given method (e.g. https://api.ctl.io/REST/VirtualServer/CreateServer/FORMAT
where FORMAT is either XML
or JSON
). In addition, the content type of the HTTP request must be set as well to either text/xml
for XML requests, or application/json; charset=utf-8
for JSON requests. The combination of the format node and the Content Type will determine how the request is interpreted as well as control what format the responses are returned.
The SOAP based API supports the same features as the REST API, and while the request and response messages are essentially identical to those of the REST API, you will want to pull down the WSDL for each API to verify the details. URL's to each API's SOAP WSDL can be found on the individual API pages.
All requests will receive a response (in either JSON or XML format) with at least the following three attributes:
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ParentAlias | String | Account alias of the parent account | Yes |
AccountAlias | String | New, four character account alias. If left empty, one is automatically generated | No |
Location | String | Account alias of the parent account | Yes |
Many API calls will also return additional information which will be described in detail.
Authentication Overview
Authentication for the Public API will be handled differently than the CenturyLink Cloud Control System, To create an API user you must access the Control Portal and create an API user here. The credentials for the API consist of a string based API key and a password.
Prior to calling into the API, consumers must first call into the Authentication API to Logon. On successful login, the API will write a persistent cookie as part of its response. The encrypted cookie will be evaluated as part of each subsequent request, this will prevent the need of providing credentials with each API call.
The URL to the SOAP version of the Authentication API can be found at https://api.ctl.io/soap/auth.asmx and the WSDL can be found here.
For a complete walkthrough of the authentication process with the REST/HTTP API, see Using the HTTP API to Log In and Query Servers.
Authentication API Methods
Logon
This method is required to be called prior to calling any other method exposed by the CenturyLink Cloud API. This method validates your credentials and writes the Encrypted cookie required to be present for all subsequent calls into the API.
URL
REST: https://api.ctl.io/REST/Auth/Logon/
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
APIKey | String | The API access key provided by CenturyLink Cloud. | Yes |
Password | String | The API password provided by CenturyLink Cloud. | Yes |
Examples
XML
<LogonRequest>
<APIKey>apikey</APIKey>
<Password>password</Password>
</LogonRequest>
JSON
{
"APIKey":"apikey",
"Password":"password"
}
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
XML
<LogonResponse Success="true" Message="Login Successful" StatusCode="0" />
JSON
{
"Success":true,
"Message":"Login Successful",
"StatusCode":0
}
Status Codes
Status Code | Description |
---|---|
0 | Logon was successful |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - The APIKey & Password combination were not valid. Verify that the values provided in your message match the values given to you by CenturyLink Cloud. |
Logout
This method will log you out of the API. The Logon method must be called again prior to accessing the API again.
URL
REST: https://api.ctl.io/REST/Auth/Logout/
Request
Attributes
None Required.
Status Codes
Status Code | Description |
---|---|
0 | Logout was successful |
CreateAccount
Create a brand new (sub) account in the system. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/CreateAccount/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=CreateAccount
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ParentAlias | String | Account alias of the parent account. | Yes |
AccountAlias | String | New, four character account alias. If left empty, one is automatically generated. | No |
Location | String | Location alias of the primary data center for this account. | Yes |
BusinessName | String | Long form business name associated with the account. | Yes |
Address1 | String | Street address associated with the account. | Yes |
Address2 | String | Secondary street address associated with the account. | No |
City | String | City associated with the account. | Yes |
StateProvince | String | State or province associated with the account. | Yes |
PostalCode | String | Postal code associated with the account. | Yes |
Country | String | Country associated with the account. | Yes |
Telephone | String | Telephone number associated with the account. | Yes |
Fax | String | Fax number associated with the account. | No |
TimeZone | String | Timezone of the account holder. Timezone must be one of the values in the list below, otherwise the value is set to the parent account's Timezone. | No |
ShareParentNetworks | Boolean | Determines whether this account shares the networks of the parent account. | Yes |
BillingResponsibilityID | Integer | Determines the recipient of the bill. 1 = Account Directly 2 = Parent Account |
Yes |
Examples
JSON (REST)
{
"ParentAlias":"1000",
"AccountAlias":"1001",
"Location":"WA1",
"BusinessName":"Demo Biz",
"Address1":"110 110th Avenue",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98004",
"Country":"USA",
"Telephone":"877-388-4373",
"Fax":null,
"TimeZone":"Pacific Standard Time",
"ShareParentNetworks":"true",
"BillingResponsibilityID":"2"
}
XML (REST)
<CreateAccountRequest>
<ParentAlias>1000</ParentAlias>
<AccountAlias>1001</AccountAlias>
<Location>QA1</Location>
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax></Fax>
<TimeZone>Pacific Standard Time</TimeZone>
<ShareParentNetworks>true</ShareParentNetworks>
<BillingResponsibilityID>2</BillingResponsibilityID>
</CreateAccountRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateAccount xmlns="http://www.tier3.com/">
<request>
<ParentAlias>1000</ParentAlias>
<AccountAlias>1001</AccountAlias>
<Location>WA</Location>
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax></Fax>
<TimeZone>Pacific Standard Time</TimeZone>
<ShareParentNetworks>true</ShareParentNetworks>
<BillingResponsibilityID>2</BillingResponsibilityID>
</request>
</CreateAccount>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountDetails | Complex (see below) | The account details |
AccountDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short name associated with the account. |
ParentAlias | String | Short name associated with parent account of the queried account. |
Location | String | Data center location alias associated with this account. |
BusinessName | String | Full name of the business that the account is registered under. |
Address1 | String | Street address of the business associated with this account. |
Address2 | String | Secondary street address (if any) of the business associated with this account. |
City | String | City of the business associated with this account. |
StateProvince | String | State or province of the business associated with this account. |
PostalCode | String | Postal code of the business associated with this account. |
Country | String | Country of the business associated with this account. |
Telephone | String | Telephone number of the business associated with this account. |
Fax | String | Fax number (if any) of the business associated with this account. |
TimeZone | String | Time zone of the business associated with this account. |
Status | Int | Indicator of whether the account is active or not. Active = 1 Inactive = 0 |
ShareParentNetworks | Boolean | True/false flag indicating whether this account shares the networks of its parent. |
Examples
JSON (REST)
{
"AccountDetails": {
"AccountAlias":"1001",
"ParentAlias":"1000",
"Location":"WA1",
"BusinessName":"Demo Biz",
"Address1":"110 110th Avenue",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98004",
"Country":"USA",
"Telephone":"877-388-4373",
"Fax":null,
"TimeZone":"Pacific Standard Time",
"Status":1,
"ShareParentNetworks":true
},
"Success":true,
"Message":"Account successfully created.",
"StatusCode":0
}
XML (REST)
<AccountDetailsResponse Success="true" Message="Account successfully created." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="1" ShareParentNetworks="true">
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax />
</AccountDetails>
</AccountDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateAccountResponse xmlns="http://www.tier3.com/">
<CreateAccountResult Success="true" Message="Account successfully created." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="1" ShareParentNetworks="true">
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax />
</AccountDetails>
</CreateAccountResult>
</CreateAccountResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
1601 | Address Required. You must provide a primary address when calling this method. |
1602 | Business Name Required. You must provide a business name when calling this method. |
1603 | City Required. You must provide a city name when calling this method. |
1604 | Country Required. You must provide a country name when calling this method. |
1605 | Postal Code Required. You must provide a postal code when calling this method. |
1606 | State Province Required. You must provide a state or province name when calling this method. |
1607 | Telephone Required. You must provide a telephone number when calling this method. |
1608 | TimeZone Required. You must provide a timezone value when calling this method. |
1609 | Parent Alias Required. You must provide a parent alias when calling this method. |
1610 | Postal Code Required. You must provide a primary location when calling this method. |
1611 | Duplicate Account. You must provide a unique alias and business name when calling this method. |
1613 | Email Address Required. You must provide an email address when calling this method. |
1616 | Invalid Billing Responsibility. You must provide valid billing responsibilty when calling this method. |
1610 | Postal Code Required. You must provide a primary location when calling this method. |
Valid Timezone Entries
- Dateline Standard Time
- UTC-11
- Hawaiian Standard Time
- Alaskan Standard Time
- Pacific Standard Time (Mexico)
- Pacific Standard Time
- US Mountain Standard Time
- Mountain Standard Time (Mexico)
- Mountain Standard Time
- Central America Standard Time
- Central Standard Time
- Central Standard Time(Mexico)
- Canada Central Standard Time
- SA Pacific Standard Time
- Eastern Standard Time
- US Eastern Standard Time
- Venezuela Standard Time
- Paraguay Standard Time
- Atlantic Standard Time
- Central Brazilian Standard Time
- SA Western Standard Time
- Pacific SA Standard Time
- Newfoundland Standard Time
- E. South America Standard Time
- Argentina Standard Time
- SA Eastern Standard Time
- Greenland Standard Time
- Montevideo Standard Time
- Bahia Standard Time
- UTC-02
- Mid-Atlantic Standard Time
- Azores Standard Time
- Cape Verde Standard Time
- Morocco Standard Time
- UTC
- GMT Standard Time
- Greenwich Standard Time
- W. Europe Standard Time
- Central Europe Standard Time
- Romance Standard Time
- Central European Standard Time
- W. Central Africa Standard Time
- Namibia Standard Time
- Jordan Standard Time
- GTB Standard Time
- Middle East Standard Time
- Egypt Standard Time
- Syria Standard Time
- South Africa Standard Time
- FLE Standard Time
- Turkey Standard Time
- Israel Standard Time
- E. Europe Standard Time
- Arabic Standard Time
- Kaliningrad Standard Time
- Arab Standard Time
- E. Africa Standard Time
- Iran Standard Time
- Arabian Standard Time
- Azerbaijan Standard Time
- Russian Standard Time
- Mauritius Standard Time
- Georgian Standard Time
- Caucasus Standard Time
- Afghanistan Standard Time
- Pakistan Standard Time
- West Asia Standard Time
- India Standard Time
- Sri Lanka Standard Time
- Nepal Standard Time
- Central Asia Standard Time
- Bangladesh Standard Time
- Ekaterinburg Standard Time
- Myanmar Standard Time
- SE Asia Standard Time
- N. Central Asia Standard Time
- China Standard Time
- North Asia Standard Time
- Singapore Standard Time
- W. Australia Standard Time
- Taipei Standard Time
- Ulaanbaatar Standard Time
- North Asia East Standard Time
- Tokyo Standard Time
- Korea Standard Time
- Cen. Australia Standard Time
- AUS Central Standard Time
- E. Australia Standard Time
- AUS Eastern Standard Time
- West Pacific Standard Time
- Tasmania Standard Time
- Yakutsk Standard Time
- Central Pacific Standard Time
- Vladivostok Standard Time
- New Zealand Standard Time
- UTC+12
- Fiji Standard Time
- Magadan Standard Time
- Kamchatka Standard Time
- Tonga Standard Time
- Samoa Standard Time
Enable Account
Enable a suspended account in the system. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/EnableAccount/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=EnableAccount
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Account alias. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "ACCT"
}
XML (REST)
<AccountStatusRequest>
<AccountAlias>ACCT</AccountAlias>
</AccountStatusRequest>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<EnableAccount xmlns="http://www.tier3.com/">
<request>
<AccountAlias>ACCT</AccountAlias>
</request>
</EnableAccount>
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON (REST)
{
"Success": true,
"Message": "Account Enabled.",
"StatusCode": 0,
"RequestID": 100
}
XML (REST)
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<EnableAccountResponse xmlns="http://www.tier3.com/">
<QueuedItemResponse Success="true" Message="Account Enabled." StatusCode="0">
<ResponseID>100</ResponseID>
</QueuedItemResponse>
</EnableAccountResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
GetAccountDetails
Gets all of the contact information and settings for a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/GetAccountDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=GetAccountDetails
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000"
}
XML (REST)
<GetAccountDetailsRequest>
<AccountAlias>1000</AccountAlias>
</GetAccountDetailsRequest>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccountDetails xmlns="http://www.tier3.com/">
<request>
<AccountAlias>1000</AccountAlias>
</request>
</GetAccountDetails>
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountDetails | Complex | The account details |
AccountDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short name associated with the account. |
ParentAlias | String | Short name associated with parent account of the queried account. |
Location | String | Data center location alias associated with this account. |
BusinessName | String | Full name of the business that the account is registered under. |
Address1 | String | Street address of the business associated with this account. |
Address2 | String | Secondary street address (if any) of the business associated with this account. |
City | String | City of the business associated with this account. |
StateProvince | String | State or province of the business associated with this account. |
PostalCode | String | Postal code of the business associated with this account. |
Country | String | Country of the business associated with this account. |
Telephone | String | Telephone number of the business associated with this account. |
Fax | String | Fax number (if any) of the business associated with this account. |
TimeZone | String | Time zone of the business associated with this account. |
Status | Int | Indicator of whether the account is active or not. Active = 1, Disabled = 2, Deleted = 3, Demo = 4 |
ShareParentNetworks | Boolean | True/false flag indicating whether this account shares the networks of its parent. |
SupportLevel | String | Indicator of support level for the account. developer, legacy, professional, enterprise |
Examples
JSON (REST)
{
"AccountDetails": {
"AccountAlias":"1001",
"ParentAlias":"1000",
"Location":"WA1",
"BusinessName":"Example Business Name",
"Address1":"110 110th Avenue",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98004",
"Country":"USA",
"Telephone":"877-388-4373",
"Fax":null,
"TimeZone":"Pacific Standard Time",
"Status":2,
"ShareParentNetworks":true
},
"Success":true,
"Message":"Account details successfully queried.",
"StatusCode":0
}
XML (REST)
<AccountDetailsResponse Success="true" Message="Account details successfully queried." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="2" ShareParentNetworks="true">
<BusinessName>Example Business Name</BusinessName>
<Address1>110 110th Avenue</Address1>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
</AccountDetails>
</AccountDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetAccountDetailsResponse xmlns="http://www.tier3.com/">
<GetAccountDetailsResult Success="true" Message="Account details successfully queried." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="2" ShareParentNetworks="true">
<BusinessName>Example Business Name</BusinessName>
<Address1>110 110th Avenue</Address1>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
</AccountDetails>
</GetAccountDetailsResult>
</GetAccountDetailsResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
GetAccounts
Gets details of the API user's account and any sub-accounts. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/GetAccounts/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=AccountsResponseMsg
Request
Attributes
None.
Examples
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AccountsResponseMsg xmlns="http://www.tier3.com/" />
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Account[] | Complex | The list of accounts (see below). |
Account Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short name associated with the account. |
ParentAlias | String | Short name associated with the parent account. |
Location | String | Data center alias (3 letters). List of data center alias is retrieved from GetLocations operation. |
BusinessName | String | Full business name associated with the account. |
IsActive | Boolean | True/False indicator of whether the account is active or not. |
SupportLevel | String | Indicator of support level for the account. developer, legacy, professional, enterprise |
Examples
JSON (REST)
{
"Accounts":[
{
"AccountAlias":"1001",
"ParentAlias":"1000",
"Location":"WA1",
"BusinessName":"Example Business Name",
"IsActive":true
},
{
"AccountAlias":"1002",
"ParentAlias":"1001",
"Location":"WA1",
"BusinessName":"Example Department",
"IsActive":true}
],
"Success":true,
"Message":"Accounts successfully queried.",
"StatusCode":0
}
XML (REST)
<AccountsResponse Success="true" Message="Accounts successfully queried." StatusCode="0">
<Accounts>
<Account AccountAlias="1001" ParentAlias="1000" Location="WA1" BusinessName="ExampleBusiness Name" IsActive="true"/>
<Account AccountAlias="1002" ParentAlias="1001" Location="WA1" BusinessName="Example Department" IsActive="true" />
</Accounts>
</AccountsResponse>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AccountsResponseMsgResponse xmlns="http://www.tier3.com/">
<AccountsResponseMsgResult>
<Accounts>
<Account AccountAlias="1001" ParentAlias="1000" Location="WA1" BusinessName="Example Business Name" IsActive="true" />
<Account AccountAlias="1002" ParentAlias="1001" Location="WA1" BusinessName="Example Department" IsActive="true" />
</Accounts>
</AccountsResponseMsgResult>
</AccountsResponseMsgResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetCustomFields
Gets the account custom field definitions.
URL
REST: https://api.ctl.io/REST/Account/GetCustomFields/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=GetCustomFields
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The Account Alias that has custom fields configured on it. | Yes |
Examples
JSON
{
"AccountAlias": "ACCT"
}
XML
<GetCustomFieldsRequest>
<AccountAlias>ACCT</AccountAlias>
</GetCustomFieldsRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountCustomField | Complex | Account Custom Field complex object |
AccountCustomField Attributes
Name | Type | Description |
---|---|---|
ID | Int | Deprecated. Value is -1. Use UUID instead. |
UUID | String | Unique identifier of the Account Custom Field. |
CustomFieldTypeID | Int | Deprecated. Value is -1. Use CustomFieldType instead. |
CustomFieldType | String | The type of field: "Text", "Option", or "Checkbox". |
Name | String | Friendly name of the Custom Field. |
IsRequired | Boolean | Whether or not the Custom Field is required. |
AccountCustomFieldOptions | Complex | Options for the Account Custom Field, specific to the field type. |
Examples
JSON
{
"AccountCustomFields": [
{
"ID": -1,
"CustomFieldTypeID": -1,
"CustomFieldType": "Text",
"Name": "Name",
"IsRequired": true,
"UUID":"dba67b15-6e77-4e1f-b413-ddfa3dc4ac1d"
"AccountCustomFieldOptions": null
},
{
"ID": -1,
"CustomFieldTypeID": -1,
"CustomFieldType": "Option",
"Name": "Type",
"IsRequired": true,
"UUID":"d61daab2-e99f-40c2-a4b5-820c3d97eea4"
"AccountCustomFieldOptions": [
{
"Name": "My Type",
"Value": "1"
},
{
"Name": "Your Type",
"Value": "2"
}
]
},
{
"ID": -1,
"CustomFieldTypeID": -1,
"CustomFieldType": "Checkbox",
"Name": "Enabled",
"IsRequired": true,
"UUID": "de775088-8b94-4e9f-b64b-416623477cf8"
"AccountCustomFieldOptions": []
}
],
"Success": true,
"Message": "Custom Fields retrieved successfully.",
"StatusCode": 0
}
XML
<AccountCustomFieldsResponse
Success="true"
Message="Custom Fields retrieved successfully."
StatusCode="0">
<AccountCustomFields>
<AccountCustomField ID="-1" CustomFieldTypeID="-1" CustomFieldType="Text" Name="Name" UUID="dba67b15-6e77-4e1f-b413-ddfa3dc4ac1d" IsRequired="true" />
<AccountCustomField ID="-1" CustomFieldTypeID="-1" CustomFieldType="Option" Name="Type" UUID="d61daab2-e99f-40c2-a4b5-820c3d97eea4" IsRequired="true">
<AccountCustomFieldOptions Name="My Type" Value="1" />
<AccountCustomFieldOptions Name="Your Type" Value="2" />
</AccountCustomField>
<AccountCustomField ID="-1" CustomFieldTypeID="-1" CustomFieldType="Checkbox" Name="Enabled" UUID="de775088-8b94-4e9f-b64b-416623477cf8" IsRequired="true" />
</AccountCustomFields>
</AccountCustomFieldsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetLocations
Gets list of all valid data center location codes that are used in subsequent Account operations. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/GetLocations/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=LocationsResponseMsg
Request
Attributes
None
Examples
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LocationsResponseMsg xmlns="http://www.tier3.com/" />
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Location[] | Complex | The list of locations (see below) |
Location Attributes
Name | Type | Description |
---|---|---|
Alias | String | Short name associated with the data center. This is the value used as input to other Account operations. |
Region | String | Full name, or friendly name, of the data center. |
Examples
JSON (REST)
{
"Locations":[
{
"Alias":"100",
"Region":"Demo Region 1"
},
{
"Alias":"101",
"Region":"Demo Region 2"
},
{
"Alias":"102",
"Region":"Demo Region 3"
}
],
"Success":true,
"Message":"Locations successfully queried.",
"StatusCode":0
}
XML (REST)
<LocationsResponse Success="true" Message="Locations successfully queried." StatusCode="0">
<Locations>
<Location Alias="100" Region="Demo Region 1" />
<Location Alias="101" Region="Demo Region 2" />
<Location Alias="102" Region="Demo Region 3" />
</Locations>
</LocationsResponse>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LocationsResponseMsgResponse xmlns="http://www.tier3.com/">
<LocationsResponseMsgResult>
<Locations>
<Location Alias="string" Region="string" />
<Location Alias="string" Region="string" />
</Locations>
</LocationsResponseMsgResult>
</LocationsResponseMsgResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
SuspendAccount
Disable an existing account in the system. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/SuspendAccount/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=SuspendAccount
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Four character account alias. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000"
}
XML (REST)
<AccountStatusRequest>
<AccountAlias>1000</AccountAlias>
</AccountStatusRequest>
XML (SOAP
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SuspendAccount xmlns="http://www.tier3.com/">
<request>
<AccountAlias>1000</AccountAlias>
</request>
</SuspendAccount>
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status aof the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON (REST)
{
"Success": true,
"Message": "Account Suspended.",
"StatusCode": 0,
"RequestID": 100
}
XML (REST)
<QueuedItemResponse Success="true" Message="Account Suspended." StatusCode="0">
<RequestID>100</RequestID>
</QueuedItemResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SuspendAccountResponse xmlns="http://www.tier3.com/">
<QueuedItemResponse Success="true" Message="Account Suspended." StatusCode="0">
<ResponseID>100</ResponseID>
</QueuedItemResponse>
</SuspendAccountResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
UpdateAccountDetails
Make changes to an existing account in the system. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Account/UpdateAccountDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Account.asmx?op=UpdateAccountDetails
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Four character account alias. | Yes |
BusinessName | String | Long form business name associated with the account. | Yes |
Address1 | String | Street address associated with the account. | Yes |
Address2 | String | Secondary street address associated with the account. | No |
City | String | City associated with the account. | Yes |
StateProvince | String | State or province associated with the account. | Yes |
PostalCode | String | Postal code associated with the account. | Yes |
Country | String | Country associated with the account. | Yes |
Telephone | String | Telephone number associated with the account. | Yes |
Fax | String | Fax number associated with the account. | No |
TimeZone | String | Timezone of the account holder. Timezone must be one of the values in the list below, otherwise the value is set to the parent account's Timezone. | Yes |
ShareParentNetworks | Boolean | Determines whether this account shares the networks of the parent account. | Yes |
Examples
JSON (REST)
{
"AccountAlias":"1001",
"BusinessName":"Demo Biz",
"Address1":"110 110th Avenue",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98004",
"Country":"USA",
"Telephone":"877-388-4373",
"Fax":null,
"TimeZone":"Pacific Standard Time",
"ShareParentNetworks":"true"
}
XML (REST)
<UpdateAccountDetailsRequest>
<AccountAlias>1001</AccountAlias>
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax></Fax>
<TimeZone>Pacific Standard Time</TimeZone>
<ShareParentNetworks>true</ShareParentNetworks>
</UpdateAccountDetailsRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<UpdateAccountDetails xmlns="http://www.tier3.com/">
<request>
<AccountAlias>1001</AccountAlias>
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax></Fax>
<TimeZone>Pacific Standard Time</TimeZone>
<ShareParentNetworks>true</ShareParentNetworks>
</request>
</UpdateAccountDetails>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountDetails | Complex | The account details |
AccountDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short name associated with the account. |
ParentAlias | String | Short name associated with parent account of the queried account. |
Location | String | Data center location alias associated with this account. |
BusinessName | String | Full name of the business that the account is registered under. |
Address1 | String | Street address of the business associated with this account. |
Address2 | String | Secondary street address (if any) of the business associated with this account. |
City | String | City of the business associated with this account. |
StateProvince | String | State or province of the business associated with this account. |
PostalCode | String | Postal code of the business associated with this account. |
Country | String | Country of the business associated with this account. |
Telephone | String | Telephone number of the business associated with this account. |
Fax | String | Fax number (if any) of the business associated with this account. |
TimeZone | String | Time zone of the business associated with this account. |
Status | Int | Indicator of whether the account is active or not. Active = 1 Inactive = 0 |
ShareParentNetworks | Boolean | True/false flag indicating whether this account shares the networks of its parent. |
Examples
JSON (REST)
{
"AccountDetails":{
"AccountAlias":"1001",
"ParentAlias":"1000",
"Location":"WA1",
"BusinessName":"Demo Biz"
"Address1":"110 110th Avenue",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98004",
"Country":"USA",
"Telephone":"877-388-4373",
"Fax":null,
"TimeZone":"Pacific Standard Time",
"Status":1,
"ShareParentNetworks":true
},
"Success":true,
"Message":"Account details successfully updated.",
"StatusCode":0
}
XML (REST)
<AccountDetailsResponse Success="true" Message="Account details successfully updated." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="1" ShareParentNetworks="true">
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax />
</AccountDetails>
</AccountDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateAccountDetailsResponse xmlns="http://www.tier3.com/">
<UpdateAccountDetailsResult Success="true" Message="Account details successfully updated." StatusCode="0">
<AccountDetails AccountAlias="1001" ParentAlias="1000" Location="WA1" TimeZone="Pacific Standard Time" Status="1" ShareParentNetworks="true">
<BusinessName>Demo Biz</BusinessName>
<Address1>110 110th Avenue</Address1>
<Address2>Suite 520</Address2>
<City>Bellevue</City>
<StateProvince>WA</StateProvince>
<PostalCode>98004</PostalCode>
<Country>USA</Country>
<Telephone>877-388-4373</Telephone>
<Fax />
</AccountDetails>
</UpdateAccountDetailsResult>
</UpdateAccountDetailsResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
1601 | Address Required. You must provide a primary address when calling this method. |
1602 | Business Name Required. You must provide a business name when calling this method. |
1603 | City Required. You must provide a city name when calling this method. |
1604 | Country Required. You must provide a country name when calling this method. |
1605 | Postal Code Required. You must provide a postal code when calling this method. |
1606 | State Province Required. You must provide a state or province name when calling this method. |
1607 | Telephone Required. You must provide a telephone number when calling this method. |
1608 | TimeZone Required. You must provide a timezone value when calling this method. |
1610 | Postal Code Required. You must provide a primary location when calling this method. |
1613 | Email Address Required. You must provide an email address when calling this method. |
1610 | Postal Code Required. You must provide a primary location when calling this method. |
Valid Timezone Entries
- Dateline Standard Time
- UTC-11
- Hawaiian Standard Time
- Alaskan Standard Time
- Pacific Standard Time (Mexico)
- Pacific Standard Time
- US Mountain Standard Time
- Mountain Standard Time (Mexico)
- Mountain Standard Time
- Central America Standard Time
- Central Standard Time
- Central Standard Time(Mexico)
- Canada Central Standard Time
- SA Pacific Standard Time
- Eastern Standard Time
- US Eastern Standard Time
- Venezuela Standard Time
- Paraguay Standard Time
- Atlantic Standard Time
- Central Brazilian Standard Time
- SA Western Standard Time
- Pacific SA Standard Time
- Newfoundland Standard Time
- E. South America Standard Time
- Argentina Standard Time
- SA Eastern Standard Time
- Greenland Standard Time
- Montevideo Standard Time
- Bahia Standard Time
- UTC-02
- Mid-Atlantic Standard Time
- Azores Standard Time
- Cape Verde Standard Time
- Morocco Standard Time
- UTC
- GMT Standard Time
- Greenwich Standard Time
- W. Europe Standard Time
- Central Europe Standard Time
- Romance Standard Time
- Central European Standard Time
- W. Central Africa Standard Time
- Namibia Standard Time
- Jordan Standard Time
- GTB Standard Time
- Middle East Standard Time
- Egypt Standard Time
- Syria Standard Time
- South Africa Standard Time
- FLE Standard Time
- Turkey Standard Time
- Israel Standard Time
- E. Europe Standard Time
- Arabic Standard Time
- Kaliningrad Standard Time
- Arab Standard Time
- E. Africa Standard Time
- Iran Standard Time
- Arabian Standard Time
- Azerbaijan Standard Time
- Russian Standard Time
- Mauritius Standard Time
- Georgian Standard Time
- Caucasus Standard Time
- Afghanistan Standard Time
- Pakistan Standard Time
- West Asia Standard Time
- India Standard Time
- Sri Lanka Standard Time
- Nepal Standard Time
- Central Asia Standard Time
- Bangladesh Standard Time
- Ekaterinburg Standard Time
- Myanmar Standard Time
- SE Asia Standard Time
- N. Central Asia Standard Time
- China Standard Time
- North Asia Standard Time
- Singapore Standard Time
- W. Australia Standard Time
- Taipei Standard Time
- Ulaanbaatar Standard Time
- North Asia East Standard Time
- Tokyo Standard Time
- Korea Standard Time
- Cen. Australia Standard Time
- AUS Central Standard Time
- E. Australia Standard Time
- AUS Eastern Standard Time
- West Pacific Standard Time
- Tasmania Standard Time
- Yakutsk Standard Time
- Central Pacific Standard Time
- Vladivostok Standard Time
- New Zealand Standard Time
- UTC+12
- Fiji Standard Time
- Magadan Standard Time
- Kamchatka Standard Time
- Tonga Standard Time
- Samoa Standard Time
GetAccountSummary
Gets monthly and hourly charges and estimates for a given account or collection of accounts. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetAccountSummary/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetAccountSummary
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000"
}
XML (REST)
<BillingRequest>
<AccountAlias>1000</AccountAlias>
</BillingRequest>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccountSummary xmlns="http://www.tier3.com/">
<request>
<accountAlias>1000</accountAlias>
</request>
</GetAccountSummary>
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
MonthlyEstimates | Decimal | The current estimate of total hourly charges, assuming the current hourly run rate. |
MonthToDate | Decimal | The total of actual hourly charges incurred thus far. |
CurrentHour | Decimal | The total charges incurred during the current hour. |
PreviousHour | Decimal | The total charges incurred during the previous hour. |
OneTimeCharges | Decimal | The total one time charges incurred this month (this would be for non-recurring charges such as domain name registration, SSL Certificates, etc.). |
MonthToDateTotal | Decimal | The total charges incurred this month to date, including One Time Charges. |
Examples
JSON (REST)
{
"OneTimeCharges":0,
"MonthToDateTotal":2.000000,
"MonthlyEstimate":2.000000,
"MonthToDate":2.000000,
"CurrentHour":0.0,
"PreviousHour":0.0,
"Success":true,
"Message":"OK",
"StatusCode":0
}
XML (REST)
<BillingSummmaryResponse
Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="161.870000"
MonthToDate="82.050000"
CurrentHour="0.223600"
PreviousHour="0.223600"
OneTimeCharges="0"
MonthToDateTotal="82.050000" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetAccountSummaryResponse xmlns="http://www.tier3.com/">
<GetAccountSummaryResult
Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="2.000000"
MonthToDate="2.000000"
CurrentHour="0.0"
PreviousHour="0.0"
OneTimeCharges="0"
MonthToDateTotal="2.000000" />
</GetAccountSummaryResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
GetBillingHistory
Gets the entire billing history for a given account or collection of accounts. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetBillingHistory/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetBillingHistory
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000"
}
XML (REST)
<BillingRequest>
<AccountAlias>1000</AccountAlias>
</BillingRequest>
XML (SOAP)
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetBillingHistory xmlns="http://www.tier3.com/">
<request>
<accountAlias>1000</accountAlias>
</request>
</GetBillingHistory>
</soap:Body>
</soap:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountAlias | String | Short name associated with an account. |
OutstandingBalance | Decimal | The total unpaid balance associated with the account. |
LedgerEntry | Complex (see below) | List of invoices that describe the credits and debits on an account. |
LedgerEntry Attributes
Name | Type | Description |
---|---|---|
InvoiceID | String | Identifier for the account's invoice. |
Date | DateTime | Date of the invoice. |
Description | String | Descriptive text of the invoice; typically the name of the invoice. |
Debit | Decimal | Charges associated with the invoice period. |
Credit | Decimal | Credits applied to the account during this invoice period. |
OutstandingBalance | Decimal | Total balance due for this invoice. |
Examples
JSON (REST)
{
"AccountAlias":"1001",
"OutstandingBalance":1722.4500,
"BillingHistory":[
{
"InvoiceID":"ID123456",
"Date":"\/Date(1343775600000)\/",
"Description":"Invoice ID123456",
"Debit":1258.8100,
"Credit":0,
"OutstandingBalance":1363.8900,
"ItemID":244,
"DisplayPrecedence":1
},
{
"InvoiceID":"ID67890",
"Date":"\/Date(1346454000000)\/",
"Description":"Invoice ID67890",
"Debit":358.5600,
"Credit":0,
"OutstandingBalance":1722.4500,
"ItemID":277,
"DisplayPrecedence":1
}
],
"Success":true,
"Message":"OK",
"StatusCode":0
}
XML (REST)
<BillingHistoryResponse Success="true" Message="OK" StatusCode="0" AccountAlias="RSDA" OutstandingBalance="1722.4500">
<BillingHistory>
<LedgerEntry InvoiceID="ID123456"
Date="2012-08-31T23:00:00"
Description="Invoice ID123456"
Debit="1258.8100"
Credit="0"
OutstandingBalance="1363.8900" />
<LedgerEntry InvoiceID="ID67890"
Date="2012-09-30T23:00:00"
Description="Invoice ID67890"
Debit="358.5600"
Credit="0"
OutstandingBalance="1722.4500" />
</BillingHistory>
</BillingHistoryResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetBillingHistoryResponse xmlns="http://www.tier3.com/">
<GetBillingHistoryResult Success="true" Message="OK" StatusCode="0" AccountAlias="RSDA" OutstandingBalance="1722.4500">
<BillingHistory>
<LedgerEntry InvoiceID="RSDA4503BF68"
Date="2012-08-31T23:00:00"
Description="Invoice RSDA4503BF68"
Debit="1258.8100"
Credit="0"
OutstandingBalance="1363.8900" />
<LedgerEntry InvoiceID="RSDA9278D23F"
Date="2012-09-30T23:00:00"
Description="Invoice RSDA9278D23F"
Debit="358.5600" Credit="0"
OutstandingBalance="1722.4500" />
</BillingHistory>
</GetBillingHistoryResult>
</GetBillingHistoryResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
GetGroupEstimate
Gets estimated costs for a group of servers. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetGroupEstimate/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetGroupEstimate
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | No |
HardwareGroupUUID | String | Unique identifier of the group that can be acquired via Groups API, or by retrieving this value from the URL when viewing the group in the Control Portal. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a"
}
XML (REST)
<GroupEstimateRequest>
<AccountAlias>1000</AccountAlias>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
</GroupEstimateRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetGroupEstimate xmlns="http://www.tier3.com/">
<groupUuid>8a03fbae8ddfe311b05f00505682315a</groupUuid>
</GetGroupEstimate>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
MonthlyEstimate | Decimal | Estimated cost of this group given current rate of usage. |
MonthToDate | Decimal | Charges incurred up to today. |
CurrentHour | Decimal | Charges for the current hour of usage. |
PreviousHour | Decimal | Charges for the previous hour of usage. |
Examples
JSON (REST)
{
"MonthlyEstimate":0,
"MonthToDate":0,
"CurrentHour":0,
"PreviousHour":0,
"Success":true,
"Message":"OK",
"StatusCode":0
}
XML (REST)
<BillingResponse Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="0"
MonthToDate="0"
CurrentHour="0"
PreviousHour="0" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetGroupEstimateResponse xmlns="http://www.tier3.com/">
<GetGroupEstimateResult Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="0"
MonthToDate="0"
CurrentHour="0"
PreviousHour="0" />
</GetGroupEstimateResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group Not Found. You must provide a valid hardware group ID when calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
GetGroupSummaries
Gets the charges for groups and servers within a given account, and for any date range. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetGroupSummaries/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetGroupSummaries
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | No |
StartDate | String | Start date for query range. If missing, this defaults to beginning of the current month. | No |
EndDate | String | End date for query range. If missing, this defaults to current day of the current month. | No |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"StartDate":"2012-11-01",
"EndDate":"2012-11-15"
}
XML (REST)
<BillingRequest>
<AccountAlias>1000</AccountAlias>
<StartDate>2012-11-01</StartDate>
<EndDate>2012-11-15</EndDate>
</BillingRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetGroupSummaries xmlns="http://www.tier3.com/">
<accountAlias>1000</accountAlias>
</GetGroupSummaries>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountAlias | String | Account that this group summary applied to. |
StartDate | String | Start date of the query range. |
EndDate | Decimal | End date of the query range. |
Summary | Complex (see below) | Overview of costs for the group. |
ServerGroupTotals | Complex (see below) | Details of individual costs of the group. |
Summary Attributes
Name | Type | Description |
---|---|---|
MonthlyEstimate | Decimal | Estimated costs for all groups based on current usage. |
MonthToDate | Decimal | Current charges so far this month. |
CurrentHour | Decimal | Charges for the current hour. |
MonthToDate | Decimal | Charges for the previous hour. |
ServerGroupTotals Attributes
Name | Type | Description |
---|---|---|
MonthlyEstimate | Decimal | Estimated costs for all groups based on current usage. |
MonthToDate | Decimal | Current charges so far this month. |
CurrentHour | Decimal | Charges for the current hour. |
PreviousHour | Decimal | Charges for the previous hour. |
GroupID | Integer | Unique identifier for this specific group. |
GroupName | String | User-given name to this group. |
LocationAlias | String | Data center alias corresponding to this group. |
ServerTotal | Complex (see below) | Collection of servers that make up the group, and the individual cost of each. |
ServerTotal Attributes
Name | Type | Description |
---|---|---|
MonthlyEstimate | Decimal | Estimated costs for the server based on current usage. |
MonthToDate | Decimal | Current charges so far this month. |
CurrentHour | Decimal | Charges for the current hour. |
PreviousHour | Decimal | Charges for the previous hour. |
ServerName | String | Name of this server that is incurring charges. |
Examples
JSON (REST)
{
"Summary": {
"MonthlyEstimate":73.790,
"MonthToDate":73.790,
"CurrentHour":0.0,
"PreviousHour":0.0
},
"AccountAlias":"1000",
"StartDate":"11/1/2012",
"EndDate":"11/15/2012",
"GroupTotals": [
{
"GroupID":1634,
"GroupName":"Group 1",
"LocationAlias":"WA1",
"ServerTotals":[
{
"ServerName":"SERVER1",
"MonthlyEstimate":73.790,
"MonthToDate":73.790,
"CurrentHour":0.0,
"PreviousHour":0.0
}
],
"MonthlyEstimate":73.790,
"MonthToDate":73.790,
"CurrentHour":0.0,
"PreviousHour":0.0
}
],
"Success":true,
"Message":"Ok",
"StatusCode":0
}
XML (REST)
<GroupSummariesResponse Success="true" Message="Ok" StatusCode="0" AccountAlias="1000" StartDate="11/1/2012" EndDate="11/15/2012">
<Summary MonthlyEstimate="73.790" MonthToDate="73.790" CurrentHour="0.0" PreviousHour="0.0" />
<GroupTotals>
<ServerGroupTotal MonthlyEstimate="73.790"
MonthToDate="73.790"
CurrentHour="0.0"
PreviousHour="0.0"
GroupID="1634"
GroupName="Group 1"
LocationAlias="WA1">
<ServerTotals>
<ServerTotal MonthlyEstimate="73.790"
MonthToDate="73.790"
CurrentHour="0.0"
PreviousHour="0.0"
ServerName="SERVER1" />
</ServerTotals>
</ServerGroupTotal>
</GroupTotals>
</GroupSummariesResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetGroupSummariesResponse xmlns="http://www.tier3.com/">
<GetGroupSummariesResult Success="true"
Message="Ok"
StatusCode="0"
AccountAlias="1000"
StartDate="11/1/2012"
EndDate="11/16/2012">
<Summary MonthlyEstimate="83.180"
MonthToDate="83.180"
CurrentHour="0.223600"
PreviousHour="0.223600" />
<GroupTotals>
<ServerGroupTotal MonthlyEstimate="83.180"
MonthToDate="83.180"
CurrentHour="0.223600"
PreviousHour="0.223600"
GroupID="1634"
GroupName="Group 1
LocationAlias="WA1">
<ServerTotals>
<ServerTotal MonthlyEstimate="83.180"
MonthToDate="83.180"
CurrentHour="0.223600"
PreviousHour="0.223600"
ServerName="SERVER1" />
</ServerTotals>
</ServerGroupTotal>
</GroupTotals>
</GetGroupSummariesResult>
</GetGroupSummariesResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group Not Found. You must provide a valid hardware group ID when calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
1801 | Invalid Start Date. You must provide a valid start date when calling this method. |
1802 | Invalid End Date. You must provide a valid end date when calling this method. |
GetInvoiceDetails
Gets the details for a given invoice within an account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the V2 Billing | Get Invoice Data for an Account Alias API.URL
REST: https://api.ctl.io/REST/Billing/GetInvoiceDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetInvoiceDetails
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | Yes |
InvoiceID | String | Unique identifier for a given invoice. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"InvoiceID":"ABC1235"
}
XML (REST)
<InvoiceRequest>
<AccountAlias>1000</AccountAlias>
<InvoiceID>ABC1235</InvoiceID>
</InvoiceRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetInvoiceDetails xmlns="http://www.tier3.com/">
<accountAlias>1000</accountAlias>
<invoiceId>ABC1235</invoiceId>
</GetInvoiceDetails >
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
OpeningBalance | Decimal | Previous balance on the account. |
NewCharges | Decimal | New charges for the invoice period. |
Payments | Decimal | Amount of payments received. |
EndingBalance | Decimal | Total billed amount for this invoice. |
CurrentOutstandingBalance | Decimal | Total amount owed by this account. |
Invoice | Complex (see below) | Invoice details and line items. |
SupportLevel | String | Indicator of support level for the account. developer, legacy, professional, enterprise |
Invoice Attributes
Name | Type | Description |
---|---|---|
ID | String | Unique identifier of the invoice. |
Terms | String | Billing terms of this invoice. |
CompanyName | String | Name of the company associated with the account. |
AccountAlias | String | Short code of the account. |
Address1 | String | Street address associated with the account. |
City | String | City associated with the account. |
StateProvince | String | State or province associated with the account. |
PostalCode | String | Postcal code associated with the account. |
BillingContactEmail | String | Email address associated with the account. |
InvoiceCCEmail | String | Secondary email address associated with the account. |
TotalAmount | Decimal | Total amount of this invoice. |
InvoiceDate | DateTime | Date of the invoice. |
PONumber | String | Purchase Order identifier. |
InvoiceLineItem | Complex (see below) | Individual line item on the invoice. |
InvoiceLineItem Attributes
Name | Type | Description |
---|---|---|
Quantity | Integer | Count of the item that is being charged. |
Description | String | Typically the name of the billed resource or container. |
UnitCost | Decimal | Cost of one unit of the resource. |
ItemTotal | Decimal | Unit cost multiplied by the quantity. |
ServiceLocation | String | Data center alias associated with this resource. |
LineItemDetail | Complex (see below) | Individual line item description and cost. For instance, may refer to the servers within a group. |
LineItemDetail Attributes
Name | Type | Description |
---|---|---|
Description | String | Typically the name of the lowest level billed resource, such as a server name. |
Cost | Decimal | Cost of this resource. |
Examples
JSON (REST)
{
"OpeningBalance":1363.8900,
"NewCharges":358.5600,
"Payments":0.0,
"EndingBalance":1722.4500,
"CurrentOutstandingBalance":1722.4500,
"Invoice":
{
"ID":"RSDA9278D23F",
"Terms":"Upon Receipt",
"CompanyName":"Demo Account",
"AccountAlias":"1000",
"ParentAccountAlias":null,
"Address1":"123 100th St NE",
"Address2":null,
"City":"Bellevue",
"StateProvince":"WA",
"PostalCode":"98155",
"BillingContactEmail":"user@company.com",
"InvoiceCCEmail":"",
"TotalAmount":358.5600,
"InvoiceDate":"\/Date(1349046000000)\/",
"PONumber":null,
"LineItems":[
{
"Quantity":1,
"Description":"Group 1",
"UnitCost":103.5800,
"ItemTotal":103.5800,
"ServiceLocation":"WA1",
"ItemDetails":[
{
"Description":"SERVER123",
"Cost":103.5800
}
]
},
{
"Quantity":1,
"Description":"Demo Group 2",
"UnitCost":252.9800,
"ItemTotal":252.9800,
"ServiceLocation":"WA1",
"ItemDetails":[
{
"Description":"SERVER987",
"Cost":252.9800
}
]
},
{
"Quantity":1,
"Description":"External IP Address (QA1)",
"UnitCost":2.0000,
"ItemTotal":2.0000,
"ServiceLocation":"WA1",
"ItemDetails":[]
}
]
},
"Success":true,
"Message":"Ok",
"StatusCode":0
}
XML (REST)
<InvoiceDetailResponse
Success="true"
Message="Ok"
StatusCode="0"
OpeningBalance="1363.8900"
NewCharges="358.5600"
Payments="0.0"
EndingBalance="1722.4500"
CurrentOutstandingBalance="1722.4500">
<Invoice
ID="RSDA9278D23F"
Terms="Upon Receipt"
CompanyName="Demo Company"
AccountAlias="1000"
Address1="123 100th St NE"
City="Bellevue"
StateProvince="WA"
PostalCode="98155"
BillingContactEmail="user@company.com"
InvoiceCCEmail=""
TotalAmount="358.5600"
InvoiceDate="2012-09-30T23:00:00">
<LineItems>
<InvoiceLineItem Quantity="1" Description="Demo Group 1" UnitCost="103.5800" ItemTotal="103.5800" ServiceLocation="WA1">
<ItemDetails>
<LineItemDetail Description="SERVER123" Cost="103.5800" />
</ItemDetails>
</InvoiceLineItem>
<InvoiceLineItem Quantity="1" Description="Demo Group 2" UnitCost="252.9800" ItemTotal="252.9800" ServiceLocation="WA1">
<ItemDetails>
<LineItemDetail Description="SERVER987" Cost="252.9800" />
</ItemDetails>
</InvoiceLineItem>
<InvoiceLineItem Quantity="1" Description="External IP Address (QA1)" UnitCost="2.0000" ItemTotal="2.0000" ServiceLocation="QA1">
<ItemDetails />
</InvoiceLineItem>
</LineItems>
</Invoice>
</InvoiceDetailResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInvoiceDetailsResponse xmlns="http://www.tier3.com/">
<GetInvoiceDetailsResult
Success="true"
Message="Ok"
StatusCode="0"
OpeningBalance="1363.8900"
NewCharges="358.5600"
Payments="0.0"
EndingBalance="1722.4500"
CurrentOutstandingBalance="1722.4500">
<Invoice ID="RSDA9278D23F"
Terms="Upon Receipt"
CompanyName="Demo Account"
AccountAlias="1000"
Address1="123 100th St NE"
City="Bellevue"
StateProvince="WA"
PostalCode="98155"
BillingContactEmail="user@company.com"
InvoiceCCEmail=""
TotalAmount="358.5600"
InvoiceDate="2012-09-30T23:00:00">
<LineItems>
<InvoiceLineItem Quantity="1" Description="Group 1" UnitCost="103.5800" ItemTotal="103.5800" ServiceLocation="WA1">
<ItemDetails>
<LineItemDetail Description="SERVER123" Cost="103.5800" /></ItemDetails>
</InvoiceLineItem>
<InvoiceLineItem Quantity="1" Description="Group 2" UnitCost="252.9800" ItemTotal="252.9800" ServiceLocation="WA1">
<ItemDetails><LineItemDetail Description="SERVER987" Cost="252.9800" /></ItemDetails>
</InvoiceLineItem>
<InvoiceLineItem Quantity="1" Description="External IP Address (QA1)" UnitCost="2.0000" ItemTotal="2.0000" ServiceLocation="WA1">
<ItemDetails />
</InvoiceLineItem>
</LineItems>
</Invoice>
</GetInvoiceDetailsResult>
</GetInvoiceDetailsResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
1804 | Invoice ID Required. You must provide a valid invoice ID when calling this method. |
1805 | Invoice Not Found. There is no valid invoice for the ID provided. |
GetServerEstimate
Gets the estimated monthly cost for a given server. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetServerEstimate/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetServerEstimate
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | No |
ServerName | String | Name given to the server. | Yes |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"ServerName":"SVR1"
}
XML (REST)
<ServerEstimateRequest>
<AccountAlias>RSDA</AccountAlias>
<ServerName>SVR1</ServerName>
</ServerEstimateRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetServerEstimate xmlns="http://www.tier3.com/">
<name>SVR1</name>
</GetServerEstimate>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
MonthlyEstimate | Decimal | Estimated cost of this server given current rate of usage. |
MonthToDate | Decimal | Charges incurred up to today. |
CurrentHour | Decimal | Charges for the current hour of usage. |
PreviousHour | Decimal | Charges for the previous hour of usage. |
Examples
JSON (REST)
{
"MonthlyEstimate":0,
"MonthToDate":0,
"CurrentHour":0,
"PreviousHour":0,
"Success":true,
"Message":"OK",
"StatusCode":0
}
XML (REST)
<BillingResponse Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="0"
MonthToDate="0"
CurrentHour="0"
PreviousHour="0" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServerEstimateResponse xmlns="http://www.tier3.com/">
<GetServerEstimateResult Success="true"
Message="OK"
StatusCode="0"
MonthlyEstimate="0"
MonthToDate="0"
CurrentHour="0"
PreviousHour="0" />
</GetServerEstimateResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Does Not Exist. You must provide a valid server identifier when calling this method. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group Not Found. You must provide a valid hardware group ID when calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
GetServerHourlyCharges
Gets the server-based hourly cost for any time period. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/Billing/GetServerHourlyCharges/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Billing.asmx?op=GetServerHourlyCharges
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | No |
ServerName | String | Name given to the server. | Yes |
StartDate | DateTime | Start of the query period. | No |
EndDate | String | End of the query period. | No |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"ServerName":"QA1RSDASER101",
"StartDate":"2012-11-14",
"EndDate":"2012-11-15"
}
XML (REST)
<ServerRequest>
<AccountAlias>RSDA</AccountAlias>
<ServerName>QA1RSDASER101</ServerName>
<StartDate>2012-11-14</StartDate>
<EndDate>2012-11-15</EndDate>
</ServerRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetServerHourlyCharges xmlns="http://www.tier3.com/">
<accountAlias>1000</accountAlias>
<name>QA1RSDASER101</name>
<startDate>2012-11-15</startDate>
<endDate>2012-11-15</endDate>
</GetServerHourlyCharges>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountAlias | String | Short code for a particular account. |
ServerName | String | Name given to the server. |
StartDate | DateTime | Start of the query period. |
EndDate | DateTime | End of the query period. |
Summary | Complex | Aggregation of charges for the server. |
HourlyCharges | Complex | Per hour for the server. |
Examples
JSON (REST)
{
"Summary":
{
"MonthlyEstimate":0.0,
"MonthToDate":0.0,
"CurrentHour":0.0,
"PreviousHour":0.0
},
"AccountAlias":"RSDA",
"ServerName":"QA1RSDASER101",
"StartDate":"\/Date(1352851200000)\/",
"EndDate":"\/Date(1352937600000)\/",
"HourlyCharges": [
{
"Hour":"2012-11-14T12:00:00",
"ProcessorCost":"0",
"MemoryCost":"0",
"StorageCost":"0",
"OSCost":"0"
},
{
"Hour":"2012-11-14T01:00:00",
"ProcessorCost":"0",
"MemoryCost":"0",
"StorageCost":"0",
"OSCost":"0"
}
],
"Success":true,
"Message":"OK",
"StatusCode":0
}
XML (REST)
<ServerHourlyChargesResponse
Success="true"
Message="OK"
StatusCode="0"
AccountAlias="RSDA"
ServerName="QA1RSDASER101"
StartDate="2012-11-14T00:00:00"
EndDate="2012-11-15T00:00:00">
<Summary MonthlyEstimate="0.0" MonthToDate="0.0" CurrentHour="0.0" PreviousHour="0.0" />
<HourlyCharge>
<ServerHourlyCost Hour="2012-11-14T12:00:00" ProcessorCost="0" MemoryCost="0" StorageCost="0" OSCost="0" />
<ServerHourlyCost Hour="2012-11-14T01:00:00" ProcessorCost="0" MemoryCost="0" StorageCost="0" OSCost="0" />
</HourlyCharge>
</ServerHourlyChargesResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServerHourlyChargesResponse xmlns="http://www.tier3.com/">
<GetServerHourlyChargesResult Success="true"
Message="OK"
StatusCode="0"
AccountAlias="RSDA"
ServerName="QA1RSDASER101"
StartDate="2012-11-14T00:00:00"
EndDate="2012-11-15T00:00:00">
<Summary MonthlyEstimate="0.0" MonthToDate="0.0" CurrentHour="0.0" PreviousHour="0.0" />
<HourlyCharges>
<ServerHourlyCost Hour="2012-11-14T12:00:00" ProcessorCost="0" MemoryCost="0" StorageCost="0" OSCost="0" />
<ServerHourlyCost Hour="2012-11-14T01:00:00" ProcessorCost="0" MemoryCost="0" StorageCost="0" OSCost="0" />
</HourlyCharges>
</GetServerHourlyChargesResult>
</GetServerHourlyChargesResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Does Not Exist. You must provide a valid server identifier when calling this method. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group Not Found. You must provide a valid hardware group ID when calling this method. |
1800 | Account Not Found. You must provide a valid account alias when calling this method. |
1801 | Start Date Invalid. You must provide a valid start date when calling this method. |
1802 | End Date Invalid. You must provide a valid end date when calling this method. |
Deploy Blueprint
Deploys a Blueprint with the given set of parameter values.
URL
REST: https://api.ctl.io/REST/Blueprint/DeployBlueprint/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=DeployBlueprint
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ID | Int | The ID of the Blueprint to deploy. | Yes |
LocationAlias | string | The alias of the Datacenter where you would like to deploy the blueprint to. If not provided, it will default to your primary datacenter. | No |
Parameters | List (see below) | A list of Parameter values to use during the deployment of the Blueprint. | Yes |
CustomFields | Complex (see below) | Custom Fields that need to be set on each server created during blueprint deployment | No |
Parameter Attributes
Name | Type | Description |
---|---|---|
Name | String | The name of the Parameter being set. |
Value | String | The value for the Parameter. This value will be validated based on the type and validation rules specified by the Blueprint Parameter definition. |
CustomField Attributes
Name | Type | Description |
---|---|---|
ID | String | Unique identifier that is associated with the Account Custom Field. Call Account/GetCustomFields for a list of all custom fields set at the account level. |
Value | String | For Text: Any value; For Option values, call Account/GetCustomFields to see possible values to pass in. Checkbox values should be "true" or "false". |
Examples
JSON
{
"ID": "1",
"LocationAlias": "WA1",
"Parameters": [
{ "Name":"T3.BuildServerTask.Password", "Value":"password" },
{ "Name":"T3.BuildServerTask.Network","Value":"VLAN_XXX" },
{ "Name":"T3.BuildServerTask.PrimaryDNS","Value":"192.168.64.19" },
{ "Name":"T3.BuildServerTask.SecondaryDNS","Value":"192.168.64.20" }
],
"CustomFields": [
{ "ID": "ea97c6e09f604eb689dcdc080114b04d","Value": "A test"},
{ "ID": "b9f454f2ae664998acc3302b24330c5b","Value": "2"},
{ "ID": "d1f12de4ce4b4685b72ba632db0685c6","Value": "true"}
]
}
XML
<DeployBlueprintRequest>
<ID>107</ID>
<LocationAlias>WA1</LocationAlias>
<Parameters>
<Parameter Name="T3.BuildServerTask.Password" Value="Pass@word1" />
<Parameter Name="T3.BuildServerTask.Network" Value="VLAN_XXX" />
<Parameter Name="T3.BuildServerTask.PrimaryDNS" Value="192.168.64.19" />
<Parameter Name="T3.BuildServerTask.SecondaryDNS" Value="192.168.64.20" />
</Parameters>
<CustomFields ID="ea97c6e09f604eb689dcdc080114b04d" Value="Test text" />
<CustomFields ID="b9f454f2ae664998acc3302b24330c5b" Value="2" />
<CustomFields ID="d1f12de4ce4b4685b72ba632db0685c6" Value="true" />
</DeployBlueprintRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request to deploy the Blueprint. Status of the request can be obtained by calling the GetDeploymentStatus method. |
Examples
JSON
{
"RequestID": 1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1210 | A required Parameter is missing. |
1211 | A Parameter value is invalid. Ensure that the supplied value meets the validation rules of the Blueprint Parameter. |
1212 | A Parameter type is invalid. Ensure that the supplied value is convertible to the type defined by the Blueprint Parameter. |
Get Blueprint Details
Gets the full details of the specified Blueprint.
URL
REST: https://api.ctl.io/REST/Blueprint/GetBlueprintDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetBlueprintDetailsResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ID | Int | The ID of the Blueprint to retrieve details for. | Yes |
Examples
JSON
{ "ID": "1" }
XML
<BlueprintRequest>
<ID>1</ID>
</BlueprintRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
BlueprintDetails | Complex (see below) | The Blueprint details (see below) |
BlueprintDetails Attributes
Name | Type | Description |
---|---|---|
Author | String | The name of the company that authored the Blueprint. |
Capabilities | String[] | List of capabilities that the Blueprint has been tagged with. |
Description | String | A long description of the Blueprint. |
ID | Int | The ID of the Blueprint |
Name | String | The name of the Blueprint. |
Status | Int | The status of the Blueprint. 1 = Active 3 = Deleted 4 = Under Construction |
Visibility | Int | The visibility of the Blueprint. 1 = Public 2 = Private |
Examples
JSON
{
"BlueprintDetails":{
"ID":1,
"Name":"Blueprint 01",
"Visibility":1,
"Status":1
"Author":"",
"Capabilities":["Web Applications","CDN"],
"Description":"This is the first Blueprint"
},
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetBlueprintDetailsResponse Success="true" Message="Success" StatusCode="0">
<BlueprintDetails ID="1" Status="1" Visibility="1">
<Name>Blueprint 01</Name>
<Author></Author>
<Description>This is the first Blueprint</Description>
</BlueprintDetails>
</GetBlueprintDetailsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Blueprint with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
Get Blueprint Parameters
Gets a the full list of parameters that are required to deploy a Blueprint.
URL
REST: https://api.ctl.io/REST/Blueprint/GetBlueprintParameters/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetBlueprintParamatersResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ID | Int | The ID of the Blueprint to retrieve parameters for. | Yes |
Examples
JSON
{ "ID":1 }
XML
<BlueprintRequest>
<ID>1</ID>
</BlueprintRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Parameters | List (see below) | A list of the parameters required to deploy the Blueprint (see below) |
Parameter Attributes
Name | Type | Description |
---|---|---|
Name | String | The name of the Parameter. |
Options | List | A list of options to choose from if the Parameter is an Option or MultiSelect type. Each option has 2 attributes: Name and Value . |
Regex | String | A regular expression defining any additional validation that the Parameter value must pass. This value is supplied by the Blueprint author. |
Type | JSON: Int XML: String |
The data type of the Parameter 1/Network = internal name of an existing network 2/Numeric = numeric value 3/Option = constrained to only one of the listed options 4/Password = password value 5/Server = name of an existing server 6/ServerIP = IP address of an existing server 7/String = string value 8/MultiSelect = value constrained to one or more of the listed options |
Examples
JSON
{
"ID":1,
"Parameters":[
{
"Name":"T3.ScriptTask.Parameter01",
"Regex":null,
"Type":7,
"Options":[]
},
{
"Name":"T3.ScriptTask.Parameter02",
"Regex":null,
"Type":3,
"Options":[
{"Name":"Option 1","Value":"1"},
{"Name":"Option 2","Value":"2"}
]
}
],
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetBlueprintParamatersResponse Success="true" Message="Success" StatusCode="0">
<ID>46</ID>
<Parameters>
<Parameter Name="T3.ScriptTask.Parameter01" Type="String" />
<Parameter Name="T3.ScriptTask.Parameter02" Type="Option">
<Option Name="Option 1" Value="1"/>
<Option Name="Option 2" Value="1"/>
</Parameter>
</Parameters>
</GetBlueprintParamatersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Blueprint with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
Get Blueprints
Gets a list of all Blueprints with the specified search criteria.
URL
REST:https://api.ctl.io/REST/Blueprint/GetBlueprints/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetBlueprintsResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
CompanySize | Int | The target company size the of the Blueprint 1 = 1 - 100 2 = 101 - 1,000 3 = 1,001 - 5,000 4 = 5,000+ |
No |
OperatingSystems | Int [] | A list of the operating systems that a Blueprint contains Cent OS - 64 bit = 7 Ubuntu - 64 bit = 20 Debian 64-bit = 21 RedHat Enterprise Linux 64-bit = 22 RedHat Enterprise Linux 5 64-bit = 25 Windows 2012 Datacenter 64-bit = 27 Windows 2012 R2 Datacenter 64-bit = 28 Ubuntu 12 64-Bit = 31 CentOS 5 64-Bit = 33 CentOS 6 64-Bit = 35 Debian 6 64-Bit = 36 Debian 7 64-Bit = 37 RedHat 6 64-Bit = 38 CoreOS = 39 PXE Boot = 40 Ubuntu 14 64-Bit = 41 RedHat 7 64-Bit = 42 Windows 2008 R2 Standard 64-Bit = 43 Windows 2008 R2 Enterprise 64-Bit = 44 Windows 2008 R2 Datacenter 64-Bit = 45 |
No |
Search | String | A keyword search within the Name and Description of the Blueprint | No |
Visibility | Int | The visibility level of the Blueprint. 1 = Public 2 = Private 3 = Private Shared |
Yes |
Examples
JSON
{
"CompanySize": "2",
"OperatingSystems": [ 7, 20, 22, 28],
"Search": "High Performance",
"Visibility": 1
}
XML
<GetBlueprintsRequest>
<CompanySize>2</CompanySize>
<OperatingSystems>
<OS>7</OS>
<OS>20</OS>
<OS>22</OS>
<OS>28</OS>
</OperatingSystems>
<Search>High Performance</Search>
<Visibility>1</Visibility>
</GetBlueprintsRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Blueprints | Complex (see below) | A list of Blueprints (see below). |
Blueprint Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Blueprint. |
Name | String | The name of the Blueprint. |
Examples
JSON
{
"Blueprints":[
{"ID":1,"Name":"Blueprint 01"},
{"ID":2,"Name":"Blueprint 02"},
],
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetBlueprintsResponse Success="true" Message="Success" StatusCode="0">
<Blueprints>
<Blueprint ID="1" Name="Blueprint 01" />
<Blueprint ID="2" Name="Blueprint 02" />
</Blueprints>
</GetBlueprintsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1201 | The Visibility value is missing or invalid. |
Get Deployment Status
Gets the status of the specified Blueprint deployment.
URL
REST: https://api.ctl.io/REST/Blueprint/GetDeploymentStatus/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetDeploymentStatusMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
RequestID | Int | The ID of the Blueprint Deployment to retrieve status for. | Yes |
LocationAlias | String | The location of the Blueprint Deployment to retrieve status for. If not provided, will default to the API user's default data center. No | |
AccountAlias | String | ID of the account | Yes |
Examples
JSON
{
"RequestID": "1",
"LocationAlias": "WA1"
}
XML
<GetDeploymentStatusRequest>
<RequestID>1</RequestID>
<LocationAlias>WA1</LocationAlias>
</GetDeploymentStatusRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Blueprint deployment request. (Obtained from DeployBlueprint.) |
CurrentStatus | String | The status of the Blueprint deployment. Valid values are: NotStarted , Executing , Succeeded , Failed , and Resumed . |
Description | String | A detailed description of the current status. |
PercentComplete | Int | The percentage of the work that has been completed on the request. |
StatusDate | DateTime | The timestamp (UTC) that the most recent status was recorded on the Request. |
Step | String | The current step being executed. |
Servers | Array | An array of strings with the names of any servers built as part of the Blueprint. This element is only populated when the Request was originally for server creation. |
Examples
JSON
{
"RequestID":210,
"CurrentStatus":"Failed",
"Description":"Error Building Blueprint",
"StatusDate":"\/Date(1318480463790)\/",
"Step":"0",
"PercentComplete":0,
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers":["WA1T3NWEB01"]
}
XML
<GetDeploymentStatusResponse
Success="true"
Message="Success"
StatusCode="0"
RequestID="210"
CurrentStatus="Failed"
Description="Error Building Blueprint"
StatusDate="2011-10-12T21:34:23.79"
Step="0"
PercentComplete="0"
<Servers>
<string>WA1T3NWEB01</string>
</Servers>
</GetDeploymentStatusResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Blueprint with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
Get Packages
Gets a list of Blueprint Packages.
URL
REST: https://api.ctl.io/REST/Blueprint/GetPackages/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetPackagesResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
Classification | Int | The type of Packages that should be returned. 1 = System (reserved) 2 = Script 3 = Software |
Yes |
Visibility | Int | The visibility of Packages that should be returned. 1 = Public 2 = Private 3 = Shared |
Yes |
Examples
JSON
{ "Classification": "1", "Visibility": "1" }
XML
<GetPackagesRequest>
<Classification>1</Classification>
<Visibility>1</Visibility>
</GetPackagesRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Packages | Complex (see below) | A list of Packages (see below). |
Package Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Package. This value is for reference only. |
Name | String | The name of the Package. |
Classification | Int | The classification of the Package. 1 = System 2 = Script 3 = Software |
Examples
JSON
{
"Packages": [
{"ID":2,"Name":"Add Disk","Classification":1},
{"ID":3,"Name":"Add IP Address","Classification":1},
{"ID":4,"Name":"Add Mapped IP Address","Classification":1},
{"ID":5,"Name":"Snapshot Server","Classification":1},
{"ID":6,"Name":"Reboot Server","Classification":1}
],
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetPackagesResponse Success="true" Message="Success" StatusCode="0">
<Packages>
<Package ID="2" Name="Add Disk" Classification="1" />
<Package ID="3" Name="Add IP Address" Classification="1" />
<Package ID="4" Name="Add Mapped IP Address" Classification="1" />
<Package ID="5" Name="Snapshot Server" Classification="1" />
<Package ID="6" Name="Reboot Server" Classification="1" />
</Packages>
</GetPackagesResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1200 | The Classification value is missing or invalid. |
1201 | The Visibility value is missing or invalid. |
Get Pending Packages
Gets a list of Blueprint Packages that are pending publication.
This list contains all Packages that were uploaded to via FTP or that were uploaded in the UI via HTTP.
URL
REST: https://api.ctl.io/REST/Blueprint/GetPendingPackages/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=GetPendingPackages
Request
Attributes
None.
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Packages | Complex (see below) | A list of Packages (see below) |
Package Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Package. This value is for reference only and will always be 0. |
Name | String | The name of the Package. This will be the name of the Package zip file that was uploaded. |
Classification | Int | This value will always be 0 for pending packages |
Examples
JSON
{
"Packages": [
{"ID":0,"Name":"Script 01","Classification":0},
{"ID":0,"Name":"Software 01","Classification":0}
],
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetPackagesResponse Success="true" Message="Success" StatusCode="0">
<Packages>
<Package ID="0" Name="Script 01" Classification="0" />
<Package ID="0" Name="Software 01" Classification="0" />
</Packages>
</GetPackagesResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
Publish Package
Publishes a Blueprint Package for use within the Blueprint Designer.
URL
REST: https://api.ctl.io/REST/Blueprint/PublishPackage/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Blueprints.asmx?op=PublishPackage
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
Classification | Int | The type of Packages that should be returned 1 = System (reserved) 2 = Script 3 = Software |
Yes |
Name | String | The name of the Package file to publish. Obtained via the GetPendingPackages method. |
Yes |
OperatingSystems | Int[] | A list of operating systems that this Package can be deployed to (see table below). * The most recent list is always available from the ListAvailableServerTemplates API call. |
Yes |
Visibility | Int | The visibility of Packages that should be returned 1 = Public 2 = Private 3 = Shared |
Yes |
Operating Systems
Operating System | Description |
---|---|
2 | Windows 2003 R2 Standard 32-bit |
3 | Windows 2003 R2 Standard 64-bit |
5 | Windows 2008 R2 Standard 64-bit |
15 | Windows 2003 R2 Enterprise 32-bit |
16 | Windows 2003 R2 Enterprise 64-bit |
18 | Windows 2008 R2 Enterprise 64-bit |
20 | BOSH Stemcell Template |
20 | Stemcell - Micro-BOSH |
25 | RedHat Enterprise Linux 5 64-bit |
26 | Windows 2008 R2 Datacenter Edition 64-bit |
27 | Windows 2012 Datacenter Edition 64-bit |
28 | Windows 2012 R2 Datacenter Edition 64-bit |
29 | Ubuntu 10 32-bit |
30 | Ubuntu 10 64-bit |
30 | Web Fabric Ubuntu x64 Template |
30 | Web Fabric Ubuntu x64 Template V2 |
31 | Ubuntu 12 64-bit |
32 | CentOS 5 32-bit |
33 | CentOS 5 64-bit |
34 | CentOS 6 32-bit |
35 | CentOS 6 64-bit |
36 | Debian 6 64-bit |
37 | Debian 7 64-bit |
38 | RedHat Enterprise Linux 6 64-bit |
40 | PXE Boot [EXPERIMENTAL] |
41 | Ubuntu 14 64-bit |
Examples
JSON
{
"Classification": "2",
"Name":"Script01.zip",
"OperatingSystems":[4,5],
"Visibility": "1"
}
XML
<PublishPackageRequest>
<Classification>2</Classification>
<Name>Script01.zip</Name>
<OperatingSystems>
<OS>4</OS>
<OS>5</OS>
</OperatingSystems>
<Visibility>1</Visibility>
</PublishPackageRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request to publish the Package. Status of the request can be obtained by calling the GetRequestStatus method. |
Examples
JSON
{
"RequestID": 1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1200 | The Classification value is missing or invalid. |
1201 | The Visibility value is missing or invalid. |
1202 | The supplied operating system values are missing or invalid. |
ArchiveHardwareGroup
Archives all Servers in the Group and then archives the Group.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Group Actions | Archive Group API.URL
REST: https://api.ctl.io/REST/Group/ArchiveHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=ArchiveHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to archive. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
CreateHardwareGroup
Creates a new Hardware Group.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Groups | Create Group API.URL
REST: https://api.ctl.io/REST/Group/CreateHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=CreateHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account to owns the group. Can be the parent alias or a sub-account alias. | Yes |
ParentUUID | String | The unique identifier of the parent group. | Yes |
Name | String | The name of the Hardware Group | Yes |
Description | String | A description of the Hardware Group.If none is supplied, the Name will be used. | No |
Examples
JSON
{
"AccountAlias": "UNK",
"ParentUUID": "b7e44f0391824d408732f215a91a0578",
"Name": "Group 01",
"Description": "My new group"
}
XML
<CreateHardwareGroupRequest>
<AccountAlias>ACCT</AccountAlias>
<ParentUUID>b7e44f0391824d408732f215a91a0578</ParentUUID>
<Name>Group 01</Name>
<Description>My new group</Description>
</CreateHardwareGroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Group | Complex | The created group (see below). |
Group Attributes
Name | Type | Description |
---|---|---|
ID | Int | The legacy ID of the Group. Deprecated. Not available after May 6, 2015. Use UUID instead. |
UUID | String | The unique identifier of the Group. |
ParentID | Int | The legacy ID of the parent Group. Deprecated. Not available after May 6, 2015. Use ParentUUID instead. |
ParentUUID | String | The unique identifier of the Parent Group. |
Name | String | The name of the Group. |
IsSystemGroup | Bool | Denotes a required system Group. |
Examples
JSON
{
"Group":
{
"ID":5,
"UUID":"3d30a6ab6c1243388b7bc966d073e353",
"ParentID":2,
"ParentUUID":"b7e44f0391824d408732f215a91a0578"
"Name":"Group 01",
"IsSystemGroup":false
},
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<CreateHardwareGroupResponse Success="true" Message="Success" StatusCode="0">
<Group ID="5" UUID="3d30a6ab6c1243388b7bc966d073e353"
ParentID="2" ParentUUID="b7e44f0391824d408732f215a91a0578"
Name="Group 01" IsSystemGroup="false" />
</CreateHardwareGroupResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Parent Group with the specified ID cannot be found. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1310 | The Name attribute is missing. |
DeleteHardwareGroup
Deletes the Hardware Group along with all child groups and servers.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Groups | Delete Group API.URL
REST: https://api.ctl.io/REST/Group/DeleteHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=DeleteHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to delete. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<DeleteGroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</DeleteGroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request to delete the Group. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetGroups
Gets a list of all groups with the specified search criteria.
URL
REST: https://api.ctl.io/REST/Group/GetGroups/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=GetGroups
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the groups. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
Location | String | The data center location to query for groups. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Location": "DC1"
}
XML
<GetGroupsRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>WA1</Location>
</GetGroupsRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | The alias of the account that owns the groups. |
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
HardwareGroups | Complex | A list of Hardware Groups (see below) |
Hardware Group Attributes
Name | Type | Description |
---|---|---|
ID | Int | The legacy ID of the Group. Deprecated. Not available after May 6, 2015. Use UUID instead. |
UUID | String | The unique identifier of the Group. |
ParentID | Int | The legacy ID of the parent Group. Deprecated. Not available after May 6, 2015. Use ParentUUID instead. |
ParentUUID | String | The unique identifier of the Parent Group. |
Name | String | The name of the Group. |
IsSystemGroup | Bool | Denotes a required system Group. |
Examples
JSON
{
"AccountAlias":"UNK",
"HardwareGroups": [
{
"ID":5,
"UUID":"3d30a6ab6c1243388b7bc966d073e353",
"ParentID":2,
"ParentUUID":"b7e44f0391824d408732f215a91a0578"
"Name":"Group 01",
"IsSystemGroup":false
},
{
"ID":2,
"UUID":"b7e44f0391824d408732f215a91a0578",
"ParentID":1,
"ParentUUID":"8a03fcae8ddfe321b05f00505682315a",
"Name":"Group 02",
"IsSystemGroup":false
}
],
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<GetGroupsResponse AccountAlias="UNK" Success="true" Message="Success" StatusCode="0">
<HardwareGroups>
<HardwareGroup ID="5" UUID="3d30a6ab6c1243388b7bc966d073e353"
ParentID="2" ParentUUID="b7e44f0391824d408732f215a91a0578"
Name="Group 01" IsSystemGroup="false" />
<HardwareGroup ID="2" UUID="b7e44f0391824d408732f215a91a0578"
ParentID="1" ParentUUID="8a03fcae8ddfe321b05f00505682315a"
Name="Group 02" IsSystemGroup="false" />
</HardwareGroups>
</GetGroupsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
HardwareGroupMaintenance
Enables or disables Maintenance Mode on a Hardware Group.
URL
REST: https://api.ctl.io/REST/Group/HardwareGroupMaintenance/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=HardwareGroupMaintenance
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group. | Yes |
Enable | Boolean | Turn Maintenance Mode on or off. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578",
"Enable": true
}
XML
<GroupMaintenanceRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
<Enable>true</Enable>
</GroupMaintenanceRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
PauseHardwareGroup
Pauses the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/PauseHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=PauseHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to pause. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
PowerOffHardwareGroup
Powers off the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/PowerOffHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=PowerOffHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to power off. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
PowerOnHardwareGroup
Power on the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/PowerOnHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=PowerOnHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to power on. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
RebootHardwareGroup
Reboot the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/RebootHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=RebootHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to reboot. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
ResetHardwareGroup
Reset the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/ResetHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=ResetHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to reset. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
RestoreHardwareGroup
Restores an archived Hardware Group.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Group Actions | Restore Group API.URL
REST: https://api.ctl.io/REST/Group/RestoreHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=RestoreHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the hardware group to restore. | Yes |
ParentUUID | String | The unique identifier of the hardware group to become the restored group's parent. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578",
"ParentUUID": "8a03fcae8ddfe321b05f00505682315a"
}
XML
<RestoreGroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
<ParentUUID>8a03fcae8ddfe321b05f00505682315a</ParentUUID>
</RestoreGroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an archived state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
ShutdownHardwareGroup
Shutdown the Hardware Group along with all child groups and servers.
URL
REST: https://api.ctl.io/REST/Group/ShutdownHardwareGroup/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Group.asmx?op=ShutdownHardwareGroup
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the group. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access groups in your sub accounts. | No |
UUID | String | The unique identifier of the Hardware Group to shutdown. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"UUID": "b7e44f0391824d408732f215a91a0578"
}
XML
<GroupRequest>
<AccountAlias>ACCT</AccountAlias>
<UUID>b7e44f0391824d408732f215a91a0578</UUID>
</GroupRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
6 | Invalid Operation. Group must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
AddPublicIPAddress
Maps a public IP Address to a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Public IP | Add Public IP Address API.URL
REST: https://api.ctl.io/REST/Network/AddPublicIPAddress/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=AddPublicIPAddress
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
ServerName | String | The name of the server. | Yes |
IPAddress | String | An existing internal IP Address on the server to use for the mapping. Leaving this blank will assign a new internal IP Address. | No |
ServerPassword | String | The existing password, for authentication. Required only if existing internal IP was not provided and new IP must be assigned. | Depends |
AllowHTTP | Boolean | The public IP mapping will allow HTTP requests. | No |
AllowHTTPonPort8080 | Boolean | The public IP mapping will allow HTTP requests on port 8080. | No |
AllowHTTPS | Boolean | The public IP mapping will allow HTTPS requests. | No |
AllowFTP | Boolean | The public IP mapping will allow FTP requests. | No |
AllowFTPS | Boolean | The public IP mapping will allow FTPS requests. | No |
AllowSFTP | Boolean | The public IP mapping will allow SFTP requests. | No |
AllowSSH | Boolean | The public IP mapping will allow SSH requests. | No |
AllowRDP | Boolean | The public IP mapping will allow RDP requests. | No |
Examples
JSON
{
"AccountAlias": "SUB1",
"ServerName": "WA1T3NWEB01",
"IPAddress": "1.1.1.1",
"ServerPassword": "password",
"AllowHTTP": true,
"AllowHTTPonPort8080": false,
"AllowHTTPS": false,
"AllowFTP": false,
"AllowFTPS": false,
"AllowSFTP": false,
"AllowSSH": false,
"AllowRDP": false
}
XML
<AddIPAddressRequest>
<AccountAlias>SUB1</AccountAlias>
<ServerName>WA1T3NWEB01</ServerName>
<IPAddress>1.1.1.1</IPAddress>
<ServerPassword>password</ServerPassword>
<AllowHTTP>true</AllowHTTP>
<AllowHTTPonPort8080>false</AllowHTTPonPort8080>
<AllowHTTPS>false</AllowHTTPS>
<AllowFTP>false</AllowFTP>
<AllowFTPS>false</AllowFTPS>
<AllowSFTP>false</AllowSFTP>
<AllowSSH>false</AllowSSH>
<AllowRDP>false</AllowRDP>
</AddIPAddressRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Blueprint Request submitted to perform this operation. You can check the status of this operation by calling the GetRequestStatus method on the Queue API. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"RequestID":1
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0" RequestID="1" />
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
101 | Access Denied - Your API user account does not have access to the account specified. |
506 | Server Name Required. |
514 | Server Password Required. |
1000 | The IP Address provided is not configured on the Server. |
GetAccountNetworks
Gets the list of Networks mapped to an account in any Data Center.
URL
REST: https://api.ctl.io/REST/Network/GetAccountNetworks/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=GetAccountNetworks
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the network. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to get networks in your sub accounts. | No |
Location | String | The Network's home datacenter alias. If blank, the account home datacenter location is assumed. | No |
Examples
JSON
{
"AccountAlias": "UNK",
"Location": "UN1"
}
XML
<NetworkRequest>
<AccountAlias>UNK</AccountAlias>
<Location>UN1</Location>
</NetworkRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Networks | Complex | A list of Networks (see below). |
Network Attributes
Name | Type | Description |
---|---|---|
Name | String | The name of the Network. This value should be used on other API methods that require a network reference. |
Description | String | The friendly name of the network if one has been configured. |
Gateway | IPAddress | The default gateway for the network. |
Examples
JSON
{
"Networks": [
{
"Name": "vlan_1114_10.81.14",
"Description": "vlan_1114_10.81.14",
"Gateway": "10.81.14.1",
"Location": "UN1",
"AccountAlias": "UNK"
},
{
"Name": "vlan_1241_10.81.141",
"Description": "vlan_1241_10.81.141",
"Gateway": "10.81.141.1",
"Location": "UN1",
"AccountAlias": "UNK"
}
],
"Success": true,
"Message": "Networks successfully queried.",
"StatusCode": 0
}
XML
<GetNetworksResponse Success="true" Message="Networks successfully queried." StatusCode="0">
<Networks>
<Network Name="vlan_1114_10.81.14" Description="vlan_1114_10.81.14" Gateway="10.81.14.1" Location="UN1" AccountAlias="UNK"/>
<Network Name="vlan_1241_10.81.141" Description="vlan_1241_10.81.141" Gateway="10.81.141.1" Location="UN1" AccountAlias="UNK"/>
</Networks>
</GetNetworksResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetDeployableNetworks
Gets the list of Networks mapped to an account in any Data Center that are deployable.
URL
REST: https://api.ctl.io/REST/Network/GetDeployableNetworks/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=GetDeployableNetworks
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the network. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to get networks in your sub accounts. | No |
Location | String | The Network's home datacenter alias. If blank, the account home datacenter location is assumed. | No |
Examples
JSON
{
"AccountAlias": "UNK",
"Location": "UN1"
}
XML
<NetworkRequest>
<AccountAlias>UNK</AccountAlias>
<Location>UN1</Location>
</NetworkRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Networks | Complex (see below) | A list of Network (see below) |
Network Attributes
Name | Type | Description |
---|---|---|
Name | String | The name of the Network. This value should be used on other api methods that require a network reference. |
Description | String | The friendly name of the network if one has been configured. |
Gateway | IPAddress | The default gateway for the network. |
Examples
JSON
{
"Networks": [
{
"Name": "vlan_1114_10.81.14",
"Description": "vlan_1114_10.81.14",
"Gateway": "10.81.14.1",
"Location": "UN1",
"AccountAlias": "UNK"
},
{
"Name": "vlan_1241_10.81.141",
"Description": "vlan_1241_10.81.141",
"Gateway": "10.81.141.1",
"Location": "UN1",
"AccountAlias": "UNK"
}
],
"Success": true,
"Message": "Networks successfully queried.",
"StatusCode": 0
}
XML
<GetNetworksResponse Success="true" Message="Networks successfully queried." StatusCode="0">
<Networks>
<Network Name="vlan_1114_10.81.14" Description="vlan_1114_10.81.14" Gateway="10.81.14.1" Location="UN1" AccountAlias="UNK"/>
<Network Name="vlan_1241_10.81.141" Description="vlan_1241_10.81.141" Gateway="10.81.141.1" Location="UN1" AccountAlias="UNK"/>
</Networks>
</GetNetworksResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetNetworkDetails
Gets the details for a Network and its IP Addresses.
URL
REST: https://api.ctl.io/REST/Network/GetNetworkDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=GetNetworkDetailsResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the network. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to get networks in your sub accounts. | No |
Location | String | The Network's home datacenter alias. If blank, the account home datacenter location is assumed. | No |
Name | String | The Network name. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Location": "UN1",
"Name": "vlan_1114_10.81.14"
}
XML
<GetNetworkDetailsRequest>
<AccountAlias>UNK</AccountAlias>
<Location>UN1</Location>
<Name>vlan250_172.21.250</Name>
</GetNetworkDetailsRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
NetworkDetails | Complex | The NetworkDetails (see below) |
NetworkDetails Attributes
Name | Type | Description |
---|---|---|
Name | String | The Network name. |
Description | String | The friendly name of the network if one has been configured. |
Gateway | String | The default gateway for the network. |
NetworkMask | String | The network mask. |
Location | String | The Network's home datacenter alias. |
IPAddresses | String | A list of IPAddress (see below) |
IPAddress Attributes
Name | Type | Description |
---|---|---|
Address | String | The IP Address. |
AddressType | String | The type of the IP Address RIP - Real IP (internal IP configured on the VLAN) MIP - Mapped IP (external IP configured on the Firewall) VIP - Virtual IP (external IP configured on the Load Balancer) |
IsClaimed | Boolean | Indicates if the address is claimed or available. |
ServerName | String | The name of the Server using this IP address, if applicable. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"NetworkDetails":{
"Name":"vlan250_172.21.250",
"Description":"vlan250_172.21.250",
"Gateway":"172.21.250.1",
"NetworkMask":"255.255.255.0",
"Location":"WA1",
"IPAddresses: [
{
"Address":"172.21.250.2",
"AddressType":"RIP",
"IsClaimed":false,
"ServerName":""
},
{
"Address":"172.21.250.3",
"AddressType":"RIP",
"IsClaimed":true,
"ServerName":"DEMOFIRST01"
}
]
}
}
XML
<NetworkDetailsResponse Success="true" Message="Success" StatusCode="0">
<NetworkDetails Name="vlan250_172.21.250" Description="vlan250_172.21.250"
Gateway="172.21.250.1" NetworkMask="255.255.255.0" Location="WA1">
<IPAddresses>
<IPAddress Address="172.21.250.2" AddressType="RIP"
IsClaimed="false" ServerName="" />
<IPAddress Address="172.21.250.3" AddressType="RIP"
IsClaimed="true" ServerName="DEMOFIRST01" />
</IPAddresses>
</NetworkDetails>
</NetworkDetailsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Network with the specified name cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1510 | Name Required. |
GetNetworks
Gets the list of Networks mapped to the account in its Primary Data Center.
URL
REST: https://api.ctl.io/REST/Network/GetNetworks/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=GetNetworks
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. If not provided, then the API user's account is used. | No |
Location | String | The alias of the primary data center. | No |
Examples
JSON (REST)
{
"AccountAlias": "1000",
"Location":"WA1"
}
XML (REST)
<Networks>
<AccountAlias>1000</AccountAlias>
<Location>WA1</Location>
</Networks>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Networks xmlns="http://www.tier3.com/">
<AccountAlias>1000</AccountAlias>
<Location>WA1</Location>
</Networks>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Networks | Complex | A list of Network (see below) |
Network Attributes
Name | Type | Description |
---|---|---|
Name | String | The name of the Network. This value should be used on other API methods that require a network reference. |
Description | String | The friendly name of the network if one has been configured. |
Gateway | IPAddress | The default gateway for the network. |
Examples
JSON
{
"Networks": [
{
"Name": "vlan_1114_10.81.14",
"Description": "vlan_1114_10.81.14",
"Gateway": "10.81.14.1",
"Location": "UN1",
"AccountAlias": "UNK"
},
{
"Name": "vlan_1241_10.81.141",
"Description": "vlan_1241_10.81.141",
"Gateway": "10.81.141.1",
"Location": "UN1",
"AccountAlias": "UNK"
}
],
"Success": true,
"Message": "Networks successfully queried.",
"StatusCode": 0
}
XML
<GetNetworksResponse Success="true" Message="Networks successfully queried." StatusCode="0">
<Networks>
<Network Name="vlan_1114_10.81.14" Description="vlan_1114_10.81.14" Gateway="10.81.14.1" Location="UN1" AccountAlias="UNK"/>
<Network Name="vlan_1241_10.81.141" Description="vlan_1241_10.81.141" Gateway="10.81.141.1" Location="UN1" AccountAlias="UNK"/>
</Networks>
</GetNetworksResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
UpdatePublicIPAddress
Configures firewall settings on a public IP Address.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Public IP | Update Public IP Address API.URL
REST: https://api.ctl.io/REST/Network/UpdatePublicIPAddress/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Network.asmx?op=UpdatePublicIPAddress
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
ServerName | String | The name of the server. | Yes |
PublicIPAddress | String | The public, mapped IP to manage. | Yes |
AllowHTTP | Boolean | The public IP mapping will allow HTTP requests. | No |
AllowHTTPonPort8080 | Boolean | The public IP mapping will allow HTTP requests on port 8080. | No |
AllowHTTPS | Boolean | The public IP mapping will allow HTTPS requests. | No |
AllowFTP | Boolean | The public IP mapping will allow FTP requests. | No |
AllowFTPS | Boolean | The public IP mapping will allow FTPS requests. | No |
AllowSFTP | Boolean | The public IP mapping will allow SFTP requests. | No |
AllowSSH | Boolean | The public IP mapping will allow SSH requests. | No |
AllowRDP | Boolean | The public IP mapping will allow RDP requests. | No |
Examples
JSON
{
"AccountAlias": "SUB1",
"ServerName": "WA1T3NWEB01",
"PublicIPAddress": "1.1.1.1",
"AllowHTTP": true,
"AllowHTTPonPort8080": false,
"AllowHTTPS": false,
"AllowFTP": false,
"AllowFTPS": false,
"AllowSFTP": false,
"AllowSSH": false,
"AllowRDP": false
}
XML
<UpdateIPAddressRequest>
<AccountAlias>SUB1</AccountAlias>
<ServerName>WA1T3NWEB01</ServerName>
<PublicIPAddress>1.1.1.1</PublicIPAddress>
<AllowHTTP>true</AllowHTTP>
<AllowHTTPonPort8080>false</AllowHTTPonPort8080>
<AllowHTTPS>false</AllowHTTPS>
<AllowFTP>false</AllowFTP>
<AllowFTPS>false</AllowFTPS>
<AllowSFTP>false</AllowSFTP>
<AllowSSH>false</AllowSSH>
<AllowRDP>false</AllowRDP>
</UpdateIPAddressRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Blueprint Request submitted to perform this operation. You can check the status of this operation by calling the GetRequestStatus method on the Queue API. |
Examples
JSON
{
"Success": true,
"Message": "Success",
"StatusCode": 0,
"RequestID": 1
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0" RequestID="1" />
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
101 | Access Denied - Your API user does not have access to the account specified. |
506 | Server Name Required. |
1511 | Public IP Address Required. |
1000 | The Public IP Address provided is not configured on the Server. |
GetRequestStatus
This method can be used to check the status of any of the long running requests which must be performed asynchronously.
NOTE: This Queue is not the same as the Blueprint Queue. For operations related to the Blueprint Queue, please reference Blueprint/GetDeploymentStatus.
URL
REST: https://api.ctl.io/REST/Queue/GetRequestStatus/<format> (format = XML | JSON)
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
RequestID | Int | This is the Request ID returned by any of the operations which Queues an async request to perform any given task. | Yes |
Examples
XML
<QueueStatusRequest>
<RequestID>50</RequestID>
</QueueStatusRequest>
JSON
{"RequestID":"50"}
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestDetails | Complex | An entity containing the details of the request. |
RequestID | Int | The ID of the Request whose details were returned. |
CurrentStatus | String | The current status of the request, valid values are: Not Started , Executing , Succeeded , Failed , and Resumed . |
PercentComplete | Int | The percentage of the work that has been completed on the request. |
ProgressDesc | String | A description of the progress of the request, for example a description of the step currently being executed. |
RequestTitle | String | A description of what the Request was created to do. |
StepNumber | Int | The number of the current step being executed. |
StatusDate | DateTime | The timestamp (GMT) that the most recent status was recorded on the Request. |
Examples
XML
<QueueStatusResponse Success="true" Message="Request Status successfully retrieved." StatusCode="0">
<RequestDetails RequestID="50" RequestTitle="Creating Server UT1XXLAB01" ProgressDesc="Request completed" StatusDate="2010-05-28T18:48:49.527" PercentComplete="100" CurrentStatus="Succeeded" StepNumber="0" />
</QueueStatusResponse>
JSON
{
"RequestDetails": {
"RequestID":50,
"RequestTitle":"Creating Server UT1XXLAB01",
"ProgressDesc":"Request completed",
"StatusDate":"\/Date(1275097729527)\/",
"PercentComplete":100,
"CurrentStatus":"Succeeded",
"StepNumber":0
},
"Success":true,
"Message":"Request Status successfully retrieved.",
"StatusCode":0
}
Status Codes
Status Code | Description |
---|---|
0 | Create Server request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
ListQueueRequests
This method can be used to get a list of Queued requests and their current status details.
NOTE: This Queue is not the same as the Blueprint Queue. For operations related to the Blueprint Queue, please reference Blueprint/GetDeploymentStatus.
URL
REST: https://api.ctl.io/REST/Queue/ListQueueRequests/<format> (format = XML | JSON)
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
ItemStatusType | Int | This value indicates the types of statuses you want to get. Valid values are: 1- All 2 - Pending 3 - Complete 4 - Error |
Yes |
Examples
XML
<ListQueueItemsRequest>
<ItemStatusType>1</ItemStatusType>
</ListQueueItemsRequest>
JSON
{
"ItemStatusType":"1"
}
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Requests | List | A List of QueueItem entities. |
QueueItem | Complex | An entity containing the details of the request. |
RequestID | Int | The ID of the Request whose details were returned. |
CurrentStatus | String | The current status of the request, valid values are: Not Started , Executing , Succeeded , Failed , and Resumed . |
PercentComplete | Int | The percentage of the work that has been completed on the request. |
ProgressDesc | String | A description of the progress of the request, for example a description of the step currently being executed. |
RequestTitle | String | A description of what the Request was created to do. |
StepNumber | Int | The number of the current step being executed. |
StatusDate | DateTime | The timestamp (GMT) that the most recent status was recorded on the Request. |
Examples
XML
<ListQueueItemsResponse Success="true" Message="3 Queue requests were found for your account" StatusCode="0">
<Requests>
<QueueItem RequestID="106" RequestTitle="Installing SQL Server on WA1XXLAB01" ProgressDesc="Request completed" StatusDate="2010-06-15T22:31:33.633" PercentComplete="100" CurrentStatus="Succeeded" StepNumber="0" />
<QueueItem RequestID="105" RequestTitle="Creating Server WA1XXPREM01" ProgressDesc="Request completed" StatusDate="2010-06-15T16:11:03.083" PercentComplete="100" CurrentStatus="Succeeded" StepNumber="0" />
<QueueItem RequestID="104" RequestTitle="Creating Lab Server WA1XXLAB01" ProgressDesc="Request completed" StatusDate="2010-06-15T15:59:10.76" PercentComplete="100" CurrentStatus="Succeeded" StepNumber="0" />
</Requests>
</ListQueueItemsResponse>
JSON
{
"Requests": [
{
"RequestID":106,
"RequestTitle":"Installing SQL Server on WA1XXLAB01",
"ProgressDesc":"Request completed",
"StatusDate":"\/Date(1276666293633)\/",
"PercentComplete":100,
"CurrentStatus":"Succeeded",
"StepNumber":0
},
{
"RequestID":105,
"RequestTitle":"Creating Server WA1XXPREM01",
"ProgressDesc":"Request completed",
"StatusDate":"\/Date(1276643463083)\/",
"PercentComplete":100,
"CurrentStatus":"Succeeded",
"StepNumber":0
},
{
"RequestID":104,
"RequestTitle":"Creating Lab Server WA1XXLAB01",
"ProgressDesc":"Request completed",
"StatusDate":"\/Date(1276642750760)\/",
"PercentComplete":100,
"CurrentStatus":"Succeeded",
"StepNumber":0
}
],
"Success":true,
"Message":"15 Queue requests were found for your account",
"StatusCode":0
}
Status Codes
Status Code | Description |
---|---|
0 | Create Server request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
901 | The ItemStatus value is invalid. |
Queue API Overview
Many operations performed by the API are actually long running tasks, for example making a change to a firewall or publishing a package. As a result, these tasks are performed asynchronously. All of the operations which need to be processed asynchronously will return a RequestID
property in their responses. The Queue API allows you to query into the queue to get the status of your requests using this RequestID
. Many of these operations also send email notifications upon completion.
NOTE: This Queue is not the same as the Blueprint Queue. For operations related to the Blueprint Queue, please reference Blueprint/GetDeploymentStatus.
The URL to the SOAP version of the Queue API can be found at https://api.ctl.io/soap/Queue.asmx and the WSDL can be found here.
Archive Server
Archives the server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Server Actions | Archive Server API.URL
REST: https://api.ctl.io/REST/Server/ArchiveServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ArchiveServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to archive servers in your sub accounts. | No |
Name | String | The name of the Server to archive. | Yes |
Examples
JSON
{
"AccountAlias":"UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>UNK</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
Change Password
Updates the Admin/Root password for a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Set Server Credentials API.URL
REST: https://api.ctl.io/REST/Server/ChangePassword/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ChangePassword
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
CurrentPassword | String | The existing password, for authentication. | Yes |
NewPassword | String | The new password to apply. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "WA1T3NWEB01",
"CurrentPassword": "password",
"NewPassword": "newPassword"
}
XML
<ChangePasswordRequest>
<AccountAlias>UNK</AccountAlias>
<Name>QA1FMACC554L01</Name>
<CurrentPassword>password</CurrentPassword>
<NewPassword>newPassword</NewPassword>
</ChangePasswordRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<APIResponse Success="true" Message="Success" StatusCode="0" />
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1411 | Password Required. Both current and new passwords are required. |
Configure Server
Configures the CPU, Memory, Group and additional storage for a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Set Server CPU/Memory, Servers | Set Server Disks, and Servers | Set Server Description/Group APIs.URL
REST: https://api.ctl.io/REST/Server/ConfigureServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ConfigureServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
HardwareGroupUUID | String | The unique identifier of the Hardware Group to add this server to. | Yes |
Cpu | Int | The number of processors to configure the server with.Valid values are 1, 2 and 4 | Yes |
MemoryGB | Int | The number of GB of memory to configure the server with.Valid values are between 1 and 16. | Yes |
AdditionalStorageGB | Int | If greater than 0, the size a new disk to add to the server. | No |
CustomFields | Complex (see below) | A list of Custom Fields associated to this server (see below) | No |
CustomField Attributes
Name | Type | Description |
---|---|---|
ID | String | Unique identifier that is associated with the Account Custom Field. Call Account/GetCustomFields for a list of all custom fields set at the account level. |
Value | String | For Text: Any value; For Option values, call Account/GetCustomFields to see possible values to pass in. Checkbox values should be "true" or "false". |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "WA1T3NWEB01",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a",
"Cpu": 2,
"MemoryGB": 4,
"AdditionalStorageGB": 50,
"CustomFields": [
{ "ID": "ea97c6e09f604eb689dcdc080114b04d","Value": "A test"},
{ "ID": "b9f454f2ae664998acc3302b24330c5b","Value": "2"},
{ "ID": "d1f12de4ce4b4685b72ba632db0685c6","Value": "true"}
]
}
XML
<ConfigureServerRequest>
<AccountAlias>UNK</AccountAlias>
<Name>WEB</Name>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
<Cpu>2</Cpu>
<MemoryGB>4</MemoryGB>
<AdditionalStorageGB>50</AdditionalStorageGB>
<CustomFields ID="ea97c6e09f604eb689dcdc080114b04d" Value="Test text" />
<CustomFields ID="b9f454f2ae664998acc3302b24330c5b" Value="2" />
<CustomFields ID="d1f12de4ce4b4685b72ba632db0685c6" Value="true" />
</ConfigureServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Hardware Group with the specified ID cannot be found. - OR - A Server with the specified Name cannot be found |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
500 | Invalid Memory Value. |
501 | Invalid CPU Value. |
541 | Hardware Group ID Required. |
1310 | Name Required. |
1413 | Additional Storage max size exceeded. |
Convert Server To Template
Converts the server to a template.
URL
REST: https://api.ctl.io/REST/Server/ConvertServerToTemplate/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ConvertServerToTemplate
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
Password | String | The administrator/root password for the server to convert. | Yes |
TemplateAlias | String | The alias for the Template to create. | Yes |
Examples
JSON
{
"Name": "WA1T3NWEB01",
"AccountAlias": "UNK",
"Password": "password",
"TemplateAlias": "TEMP"
}
XML
<ConvertServerToTemplateRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>WEB</Name>
<Password>password</Password>
<TemplateAlias>TEMP</TemplateAlias>
</ConvertServerToTemplateRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1411 | Password Required. |
ConvertTemplateToServer
Converts the Template to a Server.
URL
REST: https://api.ctl.io/REST/Server/ConvertTemplateToServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ConvertTemplateToServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the Template. | Yes |
Password | String | The new administrator/root password for the converted server. | Yes |
HardwareGroupUUID | String | The unique identifier of the hardware group to add the converted server to. | Yes |
Network | String | The name of the network to add the converted server to. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "WA1T3NWEB01",
"Password": "password",
"HardwareGroupUUID": "b7e44f0391824d408732f215a91a0578",
"Network": "VLAN113_172.21.113"
}
XML
<ConvertTemplateToServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>WEB</Name>
<Password>password</Password>
<HardwareGroupUUID>b7e44f0391824d408732f215a91a0578</HardwareGroupUUID>
<Network>VLAN113_172.21.113</Network>
</ConvertTemplateToServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found - OR - A Hardware Group with the specified ID cannot be found |
6 | Invalid Operation. Template must be in an active state. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1411 | Password Required. |
1510 | Network Required. |
Create Server
Creates a new Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Create Server API.URL
REST: https://api.ctl.io/REST/Server/CreateServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=CreateServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account to own the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to create servers in your sub accounts. | No |
LocationAlias | String | The alias of the data center in which to create the server. If not provided, will default to the API user's default data center. | No |
Template | String | The name of the template to create the server from | Yes |
Alias | String | The alias for the server. Limit 6 charcters | Yes |
Description | String | An optional description for the server. If none is supplied the server name will be used. | No |
HardwareGroupUUID | String | The unique identifier of the Hardware Group to add this server to. | Yes |
ServerType | Int | The type of server to create1 = Standard 2 = Enterprise |
Yes |
ServiceLevel | Int | The service level/performance for the underlying data store1 = Premium 2 = Standard |
Yes |
Cpu | Int | The number of processors to configure the server with. | Yes |
MemoryGB | Int | The number of GB of memory to configure the server with. | Yes |
ExtraDriveGB | Int | Required. Represents the size in GB of an additional drive to add to the server. If no additional drive is needed, pass in a 0 value. | Yes |
PrimaryDns | IPAddress | The primary DNS to set on the server.If not supplied the default value set on the account will be used. | No |
SecondaryDns | IPAddress | The secondary DNS to set on the server.If not supplied the default value set on the account will be used. | No |
Network | String | The name of the network to which to deploy the server. If your account has not yet been assigned a network, leave this blank and one will be assigned automatically. If one or more networks are available, the network name is required. | No |
Password | String | The desired Admin/Root password. Please note the password must meet the password strength policy. Leave blank to have the system generate a password. | No |
CustomFields | Complex (see below) | A list of Custom Fields associated to this server (see below) | No |
CustomField Attributes
Name | Type | Description |
---|---|---|
ID | String | Unique identifier that is associated with the Account Custom Field. Call Account/GetCustomFields for a list of all custom fields set at the account level. |
Value | String | For Text: Any value; For Option values, call Account/GetCustomFields to see possible values to pass in. Checkbox values should be "true" or "false". |
Examples
JSON
{
"AccountAlias": "UNK",
"LocationAlias": "UN1",
"Template": "WIN2K8R2",
"Alias": "WEB",
"Description": "Web server",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a",
"ServerType": 1,
"ServiceLevel": 2,
"Cpu": 2,
"MemoryGB": 4,
"ExtraDriveGB": 50,
"PrimaryDns": "4.2.2.2",
"SecondaryDns": "4.2.2.3",
"Network": "VLAN113_172.21.113",
"CustomFields": [
{ "ID": "ea97c6e09f604eb689dcdc080114b04d","Value": "A test"},
{ "ID": "b9f454f2ae664998acc3302b24330c5b","Value": "2"},
{ "ID": "d1f12de4ce4b4685b72ba632db0685c6","Value": "true"}
]
}
XML
<CreateServerRequest>
<AccountAlias>ACCT</AccountAlias>
<LocationAlias>QA1</LocationAlias>
<Template>UBUNTU-10-32-TEMPLATE</Template>
<MemoryGB>1</MemoryGB>
<Cpu>1</Cpu>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
<Alias>WHEE</Alias>
<Description>Web server</Description>
<ExtraDriveGB>0</ExtraDriveGB>
<PrimaryDns>172.17.1.26</PrimaryDns>
<SecondaryDns>172.17.1.27</SecondaryDns>
<Network>vlan199_172.21.199</Network>
<Password>Pass@word1</Password>
<ServerType>1</ServerType>
<ServiceLevel>2</ServiceLevel>
<CustomFields ID="ea97c6e09f604eb689dcdc080114b04d" Value="Test text" />
<CustomFields ID="b9f454f2ae664998acc3302b24330c5b" Value="2" />
<CustomFields ID="d1f12de4ce4b4685b72ba632db0685c6" Value="true" />
</CreateServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Hardware Group with the specified ID cannot be found. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
500 | Invalid Memory Value. |
501 | Invalid CPU Value. |
502 | Alias Required. |
503 | Alias Length Exceeded. |
541 | Hardware Group ID Required. |
1510 | Network Required. |
1413 | Extra Drive max storage size exceeded. |
1414 | Password does not meet strength requirements. |
Delete Disk
Deletes a disk on a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Set Server Disks API.URL
REST: https://api.ctl.io/REST/Server/DeleteDisk/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=DeleteDisk
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
ScsiBusID | String | The SCSI bus ID of the disk. | Yes |
ScsiDeviceID | String | The SCSI device ID of the disk. | Yes |
OverrideFailsafes | Boolean | Set to 'True' to override safety checks that prevent deleting typical primary operating system drives. e.g. SCSI Bus ID 0, SCSI Device ID 0 on Windows (typically C drive) and SCSI Bus ID 0, SCSI Device IDs 0,1,2 on Linux (typically boot, swap and root disks). | No |
Examples
{
"AccountAlias": "UNK",
"Name": "WA1UNKWEB01",
"ScsiBusID": "0",
"ScsiDeviceID": "1",
"OverrideFailsafes": false
}
XML
<DeleteDiskRequest>
<AccountAlias>UNK</AccountAlias>
<Name>WA1UNKWEB01</Name>
<ScsiBusID>0</ScsiBusID>
<ScsiDeviceID>1</ScsiDeviceID>
<OverrideFailsafes>false</OverrideFailsafes>
</DeleteDiskRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Hardware Group with the specified ID cannot be found. - OR - A Server with the specified Name cannot be found |
6 | Invalid Operation. Server must not have snapshots. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1415 | Unknown snapshot state. |
Delete Server
Deletes the machine and releases all associated resources.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Delete Server API.URL
REST: https://api.ctl.io/REST/Server/DeleteServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=DeleteServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to delete servers in your sub accounts. | No |
Name | String | The name of the Server to delete. | Yes |
Examples
JSON
{
"AccountAlias": "ACCT",
"Name": "DC1ACCTSVR01"
}
XML
<ServerRequest>
<AccountAlias>UNK</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
Delete Snapshot
Deletes a named snapshot for a specified server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Server Actions | Delete Snapshot API.URL
REST: https://api.ctl.io/REST/Server/DeleteSnapshot/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=DeleteSnapshot
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server. | Yes |
SnapshotName | String | The name of the Snapshot to delete | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "1",
"SnapshotName": "2012-01-01-12:00:00"
}
XML
<SnapshotRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
<SnapshotName>2012-01-01-12:00:00</SnapshotName>
</SnapshotRequest>
Response
Attribute
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<APIResponse Success="true" Message="Success" StatusCode="0"/>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified name cannot be found. -OR- A Snapshot with the specified name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
1412 | SnapshotName required. The name of the snapshot must be specified. |
DeleteTemplate
Deletes the Template with the specified name.
URL
REST: https://api.ctl.io/REST/Server/DeleteTemplate/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=DeleteTemplate
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the template. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to delete templates in your sub accounts. | No |
Name | String | The name of the Template to delete. | Yes |
Examples
JSON
{
"AccountAlias": "ACCT",
"Name": "TEMPLATENAME01"
}
XML
<ServerRequest>
<AccountAlias>UNK</AccountAlias>
<Name>TEMPLATENAME01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Template with the specified Name cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
GetAllServersByModifiedDates
Gets a deep list of all modified Servers for a given Hardware Group and its sub groups, or all Servers for a given location. To get all servers that have changed since a certain date, only provide a BeginDate and omit the EndDate.
URL
REST: https://api.ctl.io/REST/Server/GetAllServersByModifiedDates/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetAllServersByModifiedDatesResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the servers. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to query a particular sub-account. | No |
HardwareGroupUUID | String | The unique identifier of the Hardware Group, or empty string if providing Location. | No |
Location | String | The data center location. Otherwise leave blank and provide HardwareGroupID or let it default to account's primary data center. | No |
BeginDate | DateTime | Beginning of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value equals today minus one day. | No |
EndDate | DateTime | End of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value is set to the current date time. | No |
Examples
JSON
{
"AccountAlias": "ACCT",
"Location": "WA1",
"BeginDate": "2013-05-01",
"EndDate": "2013-06-30"
}
XML
<GetAllServersRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>WA1</Location>
<BeginDate>2013-05-01</BeginDate>
<EndDate>2013-06-30</EndDate>
</GetAllServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex | A list of Server Objects. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB01",
"Description":"WA1T3NWEB01",
"DnsName":"WA1T3NWEB01",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"2",
"ServiceLevel":"1",
"OperatingSystem":4,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.1"
"IPAddresses:[
{"Address":"172.0.0.1", "AddressType":1}
],
"CustomFields":[
{ "ID":"9f4150b68d4340cca652a209a4b32c34", "CustomFieldID": -1, "Name": "My Field", "Type": "Text", "Value": "A test"},
{ "ID":"393a0aafd15d47118d57dde0a3d556e3", "CustomFieldID": -1, "Name": "My Field 2", "Type": "Option", "Value": "2"},
{ "ID":"7997a9c0181644c99e490c5c465cf297", "CustomFieldID": -1, "Name": "My Field 3", "Type": "Checkbox", "Value": "true"}
]
}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB01" Description="WA1T3NWEB01" DnsName="WA1T3NWEB01"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.1">
<IPAddresses>
<IPAddress Address="172.0.0.1" AddressType="RIP" />
</IPAddresses>
<CustomFields ID="9f4150b68d4340cca652a209a4b32c34" CustomFieldID="-1" Name="My Field" Type="Text" Value="Test Value" />
<CustomFields ID="393a0aafd15d47118d57dde0a3d556e3" CustomFieldID="-1" Name="My 2nd Field" Type="Option" Value="Value 3" />
<CustomFields ID="7997a9c0181644c99e490c5c465cf297" CustomFieldID="-1" Name="My 3rd Field" Type="Checkbox" Value="true" />
</Server>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
Get All Servers For Account Hierarchy By Modified Date
Gets a deep list of all modified servers for a given account hierarchy within a given data center. Use this operation to get a full list of all servers contained within an account and all its subaccounts. To get all servers that have changed since a certain date, only provide a BeginDate and omit the EndDate.
URL
REST: https://api.ctl.io/REST/Server/GetAllServersForAccountHierarchyByModifiedDates/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetAllServersForAccountHierarchyByModifiedDatesMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the servers. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to query a particular sub-account. | No |
Location | String | The data center location. Otherwise leave blank and provide HardwareGroupID or let it default to account's primary data center. | No |
BeginDate | DateTime | Beginning of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value equals today minus one day. | No |
EndDate | DateTime | End of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value is set to the current date time. | No |
Examples
JSON
{
"AccountAlias": "ACCT",
"Location": "WA1",
"BeginDate": "2013-05-01",
"EndDate": "2013-06-30"
}
XML
<GetAllServersByModifiedDatesRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>WA1</Location>
<BeginDate>2013-05-01</BeginDate>
<EndDate>2013-06-30</EndDate>
</GetAllServersByModifiedDatesRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex | A list of AccountServerGroups, each containing Server Objects |
Examples
JSON
{
"AccountServers":[
{
"AccountAlias":"ACT1",
"Servers":[
{
"ID":-1,
"HardwareGroupID":1197,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Location":"WA1",
"Name":"SERVERDEMO01",
"Description":"Demo server",
"DnsName":"",
"IsTemplate":false,
"Cpu":1,
"MemoryGB":2,
"DiskCount":1,
"TotalDiskSpaceGB":24,
"Status":"UnderConstruction",
"PowerState":"Stopped",
"InMaintenanceMode":false,
"IPAddress":"",
"ServerType":1,
"ServiceLevel":2,
"OperatingSystem":18,
"DateModified":"\/Date(1347577422943)\/",
"ModifiedBy":"user@company.com",
"IPAddresses":[
{"Address":"142.25.114.13", "AddressType":"RIP"}
],
"CustomFields":null
}
]
},
{
"AccountAlias":"ACT2",
"Servers":[
{
"ID":-1,
"HardwareGroupID":1595,
"HardwareGroupUUID":"b9f454f2ae664998acc3302b24330c5b",
"Location":"WA1",
"Name":"SERVERDEMO03",
"Description":"demo server",
"DnsName":"QA1SSUBSERO9401",
"IsTemplate":false,
"Cpu":1,
"MemoryGB":1,
"DiskCount":3,
"TotalDiskSpaceGB":17,
"Status":"Active",
"PowerState":"Started",
"InMaintenanceMode":false,
"IPAddress":"173.25.114.15","ServerType":1,"ServiceLevel":2,"OperatingSystem":20,
"DateModified":"\/Date(1372476852953)\/","ModifiedBy":"user@company.com",
"IPAddresses":[
{"Address":"173.25.114.15", "AddressType":"RIP"}
],
"CustomFields":null
}
]
}
],
"Success":true,
"Message":"Successfully retrieved deep view of servers",
"StatusCode":0
}
XML
<GetAccountHierarchyServersResponse Success="true" Message="Successfully retrieved deep view of servers" StatusCode="0">
<AccountServers>
<AccountServerGroup AccountAlias="ACT1">
<Servers>
<Server
ID="-1"
HardwareGroupID="1197"
HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Location="WA1"
Name="SERVERDEMO01"
Description="Server1"
DnsName=""
IsTemplate="false"
Cpu="1"
MemoryGB="2"
DiskCount="1"
TotalDiskSpaceGB="24"
Status="UnderConstruction"
PowerState="Stopped"
InMaintenanceMode="false"
IPAddress=""
ServerType="1"
ServiceLevel="2"
OperatingSystem="18"
DateModified="2012-09-13T16:03:42.943"
ModifiedBy="user@company.com">
<IPAddresses Address="142.25.114.13" AddressType="RIP" />
</Server>
</Servers>
</AccountServerGroup>
<AccountServerGroup AccountAlias="ACT2">
<Servers>
<Server
ID="-1"
HardwareGroupID="1595"
HardwareGroupUUID="b9f454f2ae664998acc3302b24330c5b"
Location="WA1"
Name="SERVERDEMO03"
Description="Server 3"
DnsName="SERVERDEMO03"
IsTemplate="false"
Cpu="1"
MemoryGB="1"
DiskCount="3"
TotalDiskSpaceGB="17"
Status="Active"
PowerState="Started"
InMaintenanceMode="false"
IPAddress="173.25.114.15"
ServerType="1"
ServiceLevel="2"
OperatingSystem="20"
DateModified="2013-06-28T20:34:12.953"
ModifiedBy="user@company.com">
</Server>
</Servers>
</AccountServerGroup>
</AccountServers>
</GetAccountHierarchyServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetAllServersForAccountHierarchy
Gets a deep list of all servers for a given account hierarchy within a given data center. Use this operation to get a full list of all servers contained within an account and all its subaccounts.
URL
REST: https://api.ctl.io/REST/Server/GetAllServersForAccountHierarchy/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetAllServersForAccountHierarchyMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that contains sub-accounts with servers. If not provided, it will assume the account to which the API user is mapped. | No |
Location | String | The data center location. Otherwise leave blank and let it default to account's primary data center. | No |
Examples
JSON
{
"AccountAlias": "ACCT",
"Location": "WA1"
}
XML
<GetAllServersRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>WA1</Location>
</GetAllServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
AccountServers | Complex | A list of AccountServerGroups, each containing Server Objects |
Examples
JSON
{
"AccountServers":[
{
"AccountAlias":"ACT1",
"Servers":[
{
"ID":-1,
"HardwareGroupID":1197,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Location":"WA1",
"Name":"SERVERDEMO01",
"Description":"Demo server",
"DnsName":"",
"IsTemplate":false,
"Cpu":1,
"MemoryGB":2,
"DiskCount":1,
"TotalDiskSpaceGB":24,
"Status":"UnderConstruction",
"PowerState":"Stopped",
"InMaintenanceMode":false,
"IPAddress":"",
"ServerType":1,
"ServiceLevel":2,
"OperatingSystem":18,
"DateModified":"\/Date(1347577422943)\/",
"ModifiedBy":"user@company.com",
"IPAddresses":[
{"Address":"142.25.114.13", "AddressType":"RIP"}
],
"CustomFields":null
}
]
},
{
"AccountAlias":"ACT2",
"Servers":[
{
"ID":-1,
"HardwareGroupID":1595,
"HardwareGroupUUID":"b9f454f2ae664998acc3302b24330c5b",
"Location":"WA1",
"Name":"SERVERDEMO03",
"Description":"demo server",
"DnsName":"QA1SSUBSERO9401",
"IsTemplate":false,
"Cpu":1,
"MemoryGB":1,
"DiskCount":3,
"TotalDiskSpaceGB":17,
"Status":"Active",
"PowerState":"Started",
"InMaintenanceMode":false,
"IPAddress":"173.25.114.15","ServerType":1,"ServiceLevel":2,"OperatingSystem":20,
"DateModified":"\/Date(1372476852953)\/","ModifiedBy":"user@company.com",
"IPAddresses":[
{"Address":"173.25.114.15", "AddressType":"RIP"}
],
"CustomFields":null
}
]
}
],
"Success":true,
"Message":"Successfully retrieved deep view of servers",
"StatusCode":0
}
XML
<GetAccountHierarchyServersResponse Success="true" Message="Successfully retrieved deep view of servers" StatusCode="0">
<AccountServers>
<AccountServerGroup AccountAlias="ACT1">
<Servers>
<Server
ID="-1"
HardwareGroupID="1197"
HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Location="WA1"
Name="SERVERDEMO01"
Description="Server1"
DnsName=""
IsTemplate="false"
Cpu="1"
MemoryGB="2"
DiskCount="1"
TotalDiskSpaceGB="24"
Status="UnderConstruction"
PowerState="Stopped"
InMaintenanceMode="false"
IPAddress=""
ServerType="1"
ServiceLevel="2"
OperatingSystem="18"
DateModified="2012-09-13T16:03:42.943"
ModifiedBy="user@company.com">
<IPAddresses Address="142.25.114.13" AddressType="RIP" />
</Server>
</Servers>
</AccountServerGroup>
<AccountServerGroup AccountAlias="ACT2">
<Servers>
<Server
ID="-1"
HardwareGroupID="1595"
HardwareGroupUUID="b9f454f2ae664998acc3302b24330c5b"
Location="WA1"
Name="SERVERDEMO03"
Description="Server 3"
DnsName="SERVERDEMO03"
IsTemplate="false"
Cpu="1"
MemoryGB="1"
DiskCount="3"
TotalDiskSpaceGB="17"
Status="Active"
PowerState="Started"
InMaintenanceMode="false"
IPAddress="173.25.114.15"
ServerType="1"
ServiceLevel="2"
OperatingSystem="20"
DateModified="2013-06-28T20:34:12.953"
ModifiedBy="user@company.com">
</Server>
</Servers>
</AccountServerGroup>
</AccountServers>
</GetAccountHierarchyServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetAllServers
Gets a deep list of all Servers for a given Hardware Group and its sub groups, or all Servers for a given location.
URL
REST: https://api.ctl.io/REST/Server/GetAllServers/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetAllServersResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the servers. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
HardwareGroupUUID | String | The unique identifier of the Hardware Group, or empty string if providing Location. | No |
Location | String | The data center location. Otherwise leave blank and provide HardwareGroupUUID. | No |
Examples
JSON
{
"AccountAlias":"ACCT",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a",
"Location": "WA1"
}
XML
<GetAllServersRequest>
<AccountAlias>ACCT</AccountAlias>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
<Location>WA1</Location>
</GetAllServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex | A list of Server Objects |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB01",
"Description":"WA1T3NWEB01",
"DnsName":"WA1T3NWEB01",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"2",
"ServiceLevel":"1",
"OperatingSystem":4,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.1"
"IPAddresses:[
{"Address":"172.0.0.1", "AddressType":1}
],
"CustomFields":[
{ "ID":"9f4150b68d4340cca652a209a4b32c34", "CustomFieldID": -1, "Name": "My Field", "Type": "Text", "Value": "A test"},
{ "ID":"393a0aafd15d47118d57dde0a3d556e3", "CustomFieldID": -1, "Name": "My Field 2", "Type": "Option", "Value": "2"},
{ "ID":"7997a9c0181644c99e490c5c465cf297", "CustomFieldID": -1, "Name": "My Field 3", "Type": "Checkbox", "Value": "true"}
]
},
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB02",
"Description":"WA1T3NWEB02",
"DnsName":"WA1T3NWEB02",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"1",
"ServiceLevel":"2",
"OperatingSystem":6,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.2",
"IPAddresses: [
{"Address":"172.0.0.2", "AddressType":1}
],
"CustomFields": []
}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB01" Description="WA1T3NWEB01" DnsName="WA1T3NWEB01"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.1">
<IPAddresses>
<IPAddress Address="172.0.0.1" AddressType="RIP" />
</IPAddresses>
<CustomFields ID="9f4150b68d4340cca652a209a4b32c34" CustomFieldID="-1" Name="My Field" Type="Text" Value="Test Value" />
<CustomFields ID="393a0aafd15d47118d57dde0a3d556e3" CustomFieldID="-1" Name="My 2nd Field" Type="Option" Value="Value 3" />
<CustomFields ID="7997a9c0181644c99e490c5c465cf297" CustomFieldID="-1" Name="My 3rd Field" Type="Checkbox" Value="true" />
</Server>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB02" Description="WA1T3NWEB02" DnsName="WA1T3NWEB02"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.2">
<IPAddresses>
<IPAddress Address="172.0.0.2" AddressType="RIP"/>
</IPAddresses>
<CustomFields />
</Server>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetArchiveServers
Gets the list of Archive Servers.
URL
REST: https://api.ctl.io/REST/Server/GetArchiveServers/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetArchiveServers
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex (see below) | A list of Archive Servers (see below) |
Archive Server Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Server. Deprecated. Value is -1. |
Name | String | The full name of the Server. |
Description | String | The description of the Server as provided on creation. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{"ID":-1, "Name":"WA1T3NWEB01", "Description":"WA1T3NWEB01"},
{"ID":-1, "Name":"WA1T3NWEB02", "Description":"WA1T3NWEB02"}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" Name="WA1T3NWEB01" Description="WA1T3NWEB01"/>
<Server ID="-1" Name="WA1T3NWEB02" Description="WA1T3NWEB02"/>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. The archive group could not be found. Please contact support. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetServerCredentials
Gets the credentials for the specified server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Get Server Credentials API.URL
REST: https://api.ctl.io/REST/Server/GetServerCredentials/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetServerCredentials
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The Name of the server. | Yes |
Examples
JSON
{
"AccountAlias": "ACCT",
"Name": "DC1ACCTSVR01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>DC1ACCTSVR01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Username | String | The administrator or root user name for the server. |
Password | String | The password associated with the account. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Username":"administrator",
"Password":"password"
}
XML
<GetServerCredentialsResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Username>administrator</Username>
<Password>password</Password>
</GetServerCredentialsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A server with the specified name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Server Name Required. |
GetServerTemplates
Gets the list of Templates available to the account.
URL
REST: https://api.ctl.io/REST/Server/GetServerTemplates/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetServerTemplates
Request
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Templates | Complex | A list of Server Template Objects |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0,
"Templates":[
{
"ID":1001,
"Name":"CENTOS-6-32",
"Description":"Cent OS 6 | 32-bit",
"Cpu":1,
"MemoryGB":2,
"DiskCount":1,
"TotalDiskSpaceGB":8,
"OperatingSystem":6
},
{
"ID":1002,
"Name":"WIN2008R2STD-64",
"Description":"Windows 2008 R2 Standard | 64-bit",
"Cpu":1,
"MemoryGB":4,
"DiskCount":1,
"TotalDiskSpaceGB":16,
"OperatingSystem":18
}
]
}
XML
<GetTemplatesResponse Success="true" Message="Successfully retrieved templates" StatusCode="0">
<Templates>
<Template ID="1001" Name="CENTOS-6-32" Description="CentOS 6 | 32-bit" Cpu="1"
MemoryGB="2" DiskCount="1" TotalDiskSpaceGB="8" OperatingSystem="6" />
<Template ID="1001" Name="WIN2008R2STD-64" Description="Windows 2008 R2 Standard | 64-bit"
Cpu="1" MemoryGB="4" DiskCount="1" TotalDiskSpaceGB="16" OperatingSystem="18" />
</Templates>
</GetTemplatesResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetServer
Gets the detail for one server.
URL
REST: https://api.ctl.io/REST/Server/GetServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ServerResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
Examples
JSON
{ "Name": "WA1T3NWEB01" }
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>WA1T3NWEB01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Server | Complex | A Server Object. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB01",
"Description":"WA1T3NWEB01",
"DnsName":"WA1T3NWEB01",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"2",
"ServiceLevel":"1",
"OperatingSystem":4,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.1"
"IPAddresses:[
{"Address":"172.0.0.1", "AddressType":1}
],
"CustomFields":[
{ "ID":"9f4150b68d4340cca652a209a4b32c34", "CustomFieldID": -1, "Name": "My Field", "Type": "Text", "Value": "A test"},
{ "ID":"393a0aafd15d47118d57dde0a3d556e3", "CustomFieldID": -1, "Name": "My Field 2", "Type": "Option", "Value": "2"},
{ "ID":"7997a9c0181644c99e490c5c465cf297", "CustomFieldID": -1, "Name": "My Field 3", "Type": "Checkbox", "Value": "true"}
]
}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB01" Description="WA1T3NWEB01" DnsName="WA1T3NWEB01"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.1">
<IPAddresses>
<IPAddress Address="172.0.0.1" AddressType="RIP" />
</IPAddresses>
<CustomFields ID="9f4150b68d4340cca652a209a4b32c34" CustomFieldID="-1" Name="My Field" Type="Text" Value="Test Value" />
<CustomFields ID="393a0aafd15d47118d57dde0a3d556e3" CustomFieldID="-1" Name="My 2nd Field" Type="Option" Value="Value 3" />
<CustomFields ID="7997a9c0181644c99e490c5c465cf297" CustomFieldID="-1" Name="My 3rd Field" Type="Checkbox" Value="true" />
</Server>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
GetServersByModifiedDates
Gets the list of Servers for a given Hardware Group and only those that have been updated within a given date range. To get all servers that have changed since a particular date, provide only a BeginDate and omit the EndDate.
URL
REST: https://api.ctl.io/REST/Server/GetServersByModifiedDates/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetServersByModifiedDatesResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the servers. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to query a particular sub-account. | No |
HardwareGroupUUID | String | The unique identifier of the Hardware Group | Yes |
BeginDate | DateTime | Beginning of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value equals today minus one day. | No |
EndDate | DateTime | End of date range for querying modified servers. Can be a partial DateTime (e.g. 2013-05-10) or a full DateTime (e.g. 2013:05-10T14:30:12). If date is missing, then the value is set to the current date time. | No |
Examples
JSON
{
"AccountAlias": "ACCT",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a",
"BeginDate": "2013-06-01",
"EndDate": "2013-06-30"
}
XML
<GetServersRequest>
<AccountAlias>ACCT</AccountAlias>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
<BeginDate>2013-06-01</BeginDate>
<EndDate>2013-06-30</EndDate>
</GetServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex | A list of Server Objects. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB01",
"Description":"WA1T3NWEB01",
"DnsName":"WA1T3NWEB01",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"2",
"ServiceLevel":"1",
"OperatingSystem":4,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.1"
"IPAddresses:[
{"Address":"172.0.0.1", "AddressType":1}
],
"CustomFields":[
{ "ID":"9f4150b68d4340cca652a209a4b32c34", "CustomFieldID": -1, "Name": "My Field", "Type": "Text", "Value": "A test"},
{ "ID":"393a0aafd15d47118d57dde0a3d556e3", "CustomFieldID": -1, "Name": "My Field 2", "Type": "Option", "Value": "2"},
{ "ID":"7997a9c0181644c99e490c5c465cf297", "CustomFieldID": -1, "Name": "My Field 3", "Type": "Checkbox", "Value": "true"}
]
},
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB02",
"Description":"WA1T3NWEB02",
"DnsName":"WA1T3NWEB02",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"1",
"ServiceLevel":"2",
"OperatingSystem":6,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.2",
"IPAddresses: [
{"Address":"172.0.0.2", "AddressType":1}
],
"CustomFields": []
}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB01" Description="WA1T3NWEB01" DnsName="WA1T3NWEB01"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.1">
<IPAddresses>
<IPAddress Address="172.0.0.1" AddressType="RIP" />
</IPAddresses>
<CustomFields ID="9f4150b68d4340cca652a209a4b32c34" CustomFieldID="-1" Name="My Field" Type="Text" Value="Test Value" />
<CustomFields ID="393a0aafd15d47118d57dde0a3d556e3" CustomFieldID="-1" Name="My 2nd Field" Type="Option" Value="Value 3" />
<CustomFields ID="7997a9c0181644c99e490c5c465cf297" CustomFieldID="-1" Name="My 3rd Field" Type="Checkbox" Value="true" />
</Server>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB02" Description="WA1T3NWEB02" DnsName="WA1T3NWEB02"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.2">
<IPAddresses>
<IPAddress Address="172.0.0.2" AddressType="RIP"/>
</IPAddresses>
<CustomFields />
</Server>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group UUID Required. |
GetServers
Gets the list of Servers for a given Hardware Group.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Groups | Get Group API.URL
REST: https://api.ctl.io/REST/Server/GetServers/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetServersResponseMsg
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the servers. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
HardwareGroupUUID | String | The unique identifier of the Hardware Group | Yes |
Examples
JSON
{
"AccountAlias": "ACCT",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a"
}
XML
<GetServersRequest>
<AccountAlias>ACCT</AccountAlias>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
</GetServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex | A list of Server Objects |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers": [
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB01",
"Description":"WA1T3NWEB01",
"DnsName":"WA1T3NWEB01",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"2",
"ServiceLevel":"1",
"OperatingSystem":4,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.1"
"IPAddresses:[
{"Address":"172.0.0.1", "AddressType":1}
],
"CustomFields":[
{ "ID":"9f4150b68d4340cca652a209a4b32c34", "CustomFieldID": -1, "Name": "My Field", "Type": "Text", "Value": "A test"},
{ "ID":"393a0aafd15d47118d57dde0a3d556e3", "CustomFieldID": -1, "Name": "My Field 2", "Type": "Option", "Value": "2"},
{ "ID":"7997a9c0181644c99e490c5c465cf297", "CustomFieldID": -1, "Name": "My Field 3", "Type": "Checkbox", "Value": "true"}
]
},
{
"ID":-1,
"HardwareGroupID":1,
"HardwareGroupUUID":"8a03fbae8ddfe311b05f00505682315a",
"Name":"WA1T3NWEB02",
"Description":"WA1T3NWEB02",
"DnsName":"WA1T3NWEB02",
"IsTemplate":false,
"Cpu":2,
"MemoryGB":4,
"DiskCount":3,
"TotalDiskSpaceGB":116,
"Status":"Active",
"ServerType":"1",
"ServiceLevel":"2",
"OperatingSystem":6,
"PowerState":"Started",
"Location":"WA1",
"IPAddress":"172.0.0.2",
"IPAddresses: [
{"Address":"172.0.0.2", "AddressType":1}
],
"CustomFields": []
}
]
}
XML
<GetServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB01" Description="WA1T3NWEB01" DnsName="WA1T3NWEB01"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.1">
<IPAddresses>
<IPAddress Address="172.0.0.1" AddressType="RIP" />
</IPAddresses>
<CustomFields ID="9f4150b68d4340cca652a209a4b32c34" CustomFieldID="-1" Name="My Field" Type="Text" Value="Test Value" />
<CustomFields ID="393a0aafd15d47118d57dde0a3d556e3" CustomFieldID="-1" Name="My 2nd Field" Type="Option" Value="Value 3" />
<CustomFields ID="7997a9c0181644c99e490c5c465cf297" CustomFieldID="-1" Name="My 3rd Field" Type="Checkbox" Value="true" />
</Server>
<Server ID="-1" HardwareGroupID="1" HardwareGroupUUID="8a03fbae8ddfe311b05f00505682315a"
Name="WA1T3NWEB02" Description="WA1T3NWEB02" DnsName="WA1T3NWEB02"
IsHyperscale="false" IsTemplate="false" Cpu="2" MemoryGB="4" DiskCount="3"
TotalDiskSpaceGB="116" Status="Active" ServerType="1" ServiceLevel="2"
OperatingSystem="2" PowerState="Started" Location="WA1" IPAddress="172.0.0.2">
<IPAddresses>
<IPAddress Address="172.0.0.2" AddressType="RIP"/>
</IPAddresses>
<CustomFields />
</Server>
</Servers>
</GetServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Group with the specified ID cannot be found. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
541 | Hardware Group UUID Required. |
GetSnapshots
Gets the list of Snapshots associated with the server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Get Server API.URL
REST: https://api.ctl.io/REST/Server/GetSnapshots/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=GetSnapshots
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to get Snapshots for. | Yes |
Examples
JSON
{
"Name": "DEMOFIRST01",
"AccountAlias": "UNK"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Snapshots | Complex (see below) | A list of Snapshots (see below). |
Snapshot Attributes
Name | Type | Description |
---|---|---|
Name | String | The full name of the Snapshot. |
Description | String | The description of the Snapshot. |
DateCreated | DateTime | The time (in UTC) when the Snapshot was created. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0,
"Snapshots":[
{"Name":"2012-01-01-12:00:00","Description":"Snapshot (2012-01-01-12:00:00)","DateCreated":"\/Date(1330047404893)\/"}
]
}
XML
<GetSnapshotsResponse Success="true" Message="Successfully retrieved snapshots" StatusCode="0">
<Snapshots>
<Snapshot>
<Name>2012-01-01-12:00:00</Name>
<Description>Snapshot (2012-01-01-12:00:00)</Description>
<DateCreated>2012-01-01T12:00:00.000</DateCreated>
</Snapshot>
</Snapshots>
</GetSnapshotsResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. A server with the specified name could not be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name is required. |
ListArchiveServers
Lists archived servers.
URL
REST: https://api.ctl.io/REST/Server/ListArchivedServers/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ListArchivedServers
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Location | String | The data center of the servers. | No |
Examples
JSON
{
"AccountAlias": "ACCT",
"Location": "DC1"
}
XML
<ListArchivedServersRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>DC1</Location>
</ListArchivedServersRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Servers | Complex (see below) | A list of Archive Servers (see below) |
Archive Server Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Server. Deprecated. Value is -1. |
Name | String | The full name of the Server. |
Description | String | The description of the Server as provided on creation. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0,
"Servers":[
{"ID":-1,"Name":"WA1T3NWEB01","Description":"WA1T3NWEB01"},
{"ID":-1,"Name":"WA1T3NWEB02","Description":"WA1T3NWEB02"}
]
}
XML
<GetArchiveServersResponse Success="true" Message="Successfully retrieved servers" StatusCode="0">
<Servers>
<ArchiveServer ID="-1" Name="WA1T3NWEB01" Description="WA1T3NWEB01"/>
<ArchiveServer ID="-1" Name="WA1T3NWEB02" Description="WA1T3NWEB02"/>
</Servers>
</GetArchiveServersResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. The archive group could not be found. Please contact support. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
ListAvailableServerTemplates
Gets the list of Templates available to the account and location.
URL
REST: https://api.ctl.io/REST/Server/ListAvailableServerTemplates/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ListAvailableServerTemplates
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Location | String | The data center of the server templates. | No |
Examples
XML
<ListTemplatesRequest>
<AccountAlias>ACCT</AccountAlias>
<Location>WA1</Location>
</ListTemplatesRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Templates | Complex | A list of Server Template Objects |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0,
"Templates":[
{
"ID":1001,"Name":"CENTOS-6-32","Description":"Cent OS 6 | 32-bit",
"Cpu":1,"MemoryGB":2 "DiskCount":1 "TotalDiskSpaceGB":8 "OperatingSystem":6
},
{
"ID":1002,"Name":"WIN2008R2STD-64","Description":"Windows 2008 R2 Standard | 64-bit",
"Cpu":1,"MemoryGB":4 "DiskCount":1 "TotalDiskSpaceGB":16 "OperatingSystem":18
}
]
}
XML
<GetTemplatesResponse Success="true" Message="Successfully retrieved templates" StatusCode="0">
<Templates>
<Template ID="1001" Name="CENTOS-6-32" Description="CentOS 6 | 32-bit" Cpu="1"
MemoryGB="2" DiskCount="1" TotalDiskSpaceGB="8" OperatingSystem="6" />
<Template ID="1001" Name="WIN2008R2STD-64" Description="Windows 2008 R2 Standard | 64-bit"
Cpu="1" MemoryGB="4" DiskCount="1" TotalDiskSpaceGB="16" OperatingSystem="18" />
</Templates>
</GetTemplatesResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
ListDisks
Lists the disks on a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Get Server API.URL
REST: https://api.ctl.io/REST/Server/ListDisks/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ListDisks
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
QueryGuestDiskNames | Boolean | Set to 'True' to retrieve disk mount points / drive letters. | No |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "WA1T3NWEB01",
"QueryGuestDiskNames": true
}
XML
<ListDiskRequest>
<AccountAlias>UNK</AccountAlias>
<Name>WEB</Name>
<QueryGuestDiskNames>true</QueryGuestDiskNames>
</ListDiskRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Disks | DiskInfo | List of the disks on the server. |
Examples
JSON
{
"Server": "WA1MDAUBU04",
"HasSnapshot": false,
"Disks": [
{
"Name": "[0:0]",
"ScsiBusID": "0",
"ScsiDeviceID": "0",
"SizeGB": 16
}
],
"Success": true,
"Message": "OK",
"StatusCode": 0
}
XML
<ListDiskResponse Success="true" Message="OK" StatusCode="0" Server="WA1MDAUBU04" HasSnapshot="false">
<Disks>
<DiskInfo Name="[0:0]" ScsiBusID="0" ScsiDeviceID="0" SizeGB="16"/>
</Disks>
</ListDiskResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Hardware Group with the specified ID cannot be found. - OR - A Server with the specified Name cannot be found |
6 | Invalid Operation. Server must be in an active state, and must not have snapshots. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1415 | Unknown snapshot state. |
PauseServer
Pauses the server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Pause Server API.URL
REST: https://api.ctl.io/REST/Server/PauseServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=PauseServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the Server to pause. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "1"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
PowerOffServer
Powers off the server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Power Off Server API.URL
REST: https://api.ctl.io/REST/Server/PowerOffServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=PowerOffServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to power off. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
PowerOnServer
Powers on the server (or resumes from a paused state).
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Power On Server API.URL
REST: https://api.ctl.io/REST/Server/PowerOnServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=PowerOnServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to power on. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
RebootServer
Reboots the server (OS reboot).
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Reboot Server API.URL
REST: https://api.ctl.io/REST/Server/RebootServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=RebootServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to reboot. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
ResetServer
Resets the server (forced power cycle).
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Reset Server API.URL
REST: https://api.ctl.io/REST/Server/ResetServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ResetServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to reset. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
ResizeDisk
Resizes a disk on a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Servers | Set Server Disks API.URL
REST: https://api.ctl.io/REST/Server/ResizeDisk/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ResizeDisk
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the Account the API user is mapped to. Providing this value gives you the ability to manage servers in your sub accounts. | No |
Name | String | The name of the server. | Yes |
ScsiBusID | String | The SCSI bus ID of the disk. | Yes |
ScsiDeviceID | String | The SCSI device ID of the disk. | Yes |
ResizeGuestDisk | Boolean | Set to 'True' to attempt to expand the file system on the disk after the resize. | No |
NewSizeGB | Int | The expanded size of the disk. Must be greater than the existing disk size. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "WA1T3NWEB01",
"ScsiBusID": "0",
"ScsiDeviceID": "2",
"ResizeGuestDisk": true,
"NewSizeGB": 50
}
XML
<ResizeDiskRequest>
<AccountAlias>UNK</AccountAlias>
<Name>WEB</Name>
<ScsiBusID>0</ScsiBusID>
<ScsiDeviceID>2</ScsiDeviceID>
<ResizeGuestDisk>true</ResizeGuestDisk>
<NewSizeGB>50</NewSizeGB>
</ResizeDiskRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID":1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Hardware Group with the specified ID cannot be found. - OR - A Server with the specified Name cannot be found |
6 | Invalid Operation. Server must be in an active state, and must not have snapshots. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
1410 | Name Required. |
1415 | Unknown snapshot state. |
RestoreServer
Restores an archived server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Server Actions | Restore Server API.URL
REST: https://api.ctl.io/REST/Server/RestoreServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=RestoreServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the archived Server. | Yes |
HardwareGroupUUID | String | The unique identifier of the hardware group to the restore the server to. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01",
"HardwareGroupUUID": "8a03fbae8ddfe311b05f00505682315a"
}
XML
<RestoreServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
<HardwareGroupUUID>8a03fbae8ddfe311b05f00505682315a</HardwareGroupUUID>
</RestoreServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request.Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. - OR - A Group with the specified ID cannot be found. |
6 | Invalid Operation. Server must be in an archived state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
RevertToSnapshot
Reverts to a named snapshot for a specified server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Server Actions | Revert to Snapshot API.URL
REST: https://api.ctl.io/REST/Server/RevertToSnapshot/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=RevertToSnapshot
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server. | Yes |
SnapshotName | String | The name of the Snapshot to revert to. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "1",
"SnapshotName": "2012-01-01-12:00:00"
}
XML
<SnapshotRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
<SnapshotName>2012-01-01-12:00:00</SnapshotName>
</SnapshotRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<APIResponse Success="true" Message="Success" StatusCode="0"/>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified name cannot be found. - OR - A Snapshot with the specified name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
1412 | SnapshotName required. The name of the snapshot must be specified. |
ServerMaintenance
Enables or disables maintenance mode on a Server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Start Maintenance Mode, and Power Operations | Stop Maintenance ModeAPIs.URL
REST: https://api.ctl.io/REST/Server/ServerMaintenance/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ServerMaintenance
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts. | No |
Name | String | The name of the Server. | Yes |
Enable | Boolean | Turn maintenance mode on or off. | Yes |
Examples
JSON
{
"Name": "DEMOFIRST01",
"AccountAlias": "UNK",
"Enable": true
}
XML
<ServerMaintenanceRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>DEMOFIRST01</Name>
<Enable>true</Enable>
</ServerMaintenanceRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
Server Object
Server Attributes
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Server. Deprecated. Value is -1. |
HardwareGroupID | Int | The legacy ID of the containing Group. Deprecated. Not available after May 6, 2015. Use UUID instead. |
HardwareGroupUUID | String | The unique identifier of the containing Group. |
Name | String | The full name of the Server. |
Description | String | The description of the Server as provided on creation. |
DnsName | String | The DNS name of the Server. |
Cpu | Int | The number of processors configured on the Server. |
MemoryGB | Int | Total GB of RAM configured on the Server. |
DiskCount | Int | Total number of disks configured on the Server. |
TotalDiskSpaceGB | Int | Total space across all disk configured on the Server. |
IsTemplate | Bool | True if the Server is a template, else False. |
Status | Json:Int / Xml:String | Active , Archived , Deleted , UnderConstruction , QueuedForArchive , QueuedForDelete , or QueuedForRestore |
ServerType | String | The type of server. Standard or Premium |
ServiceLevel | String | The service level/performance for the underlying data store. Standard or Premium |
OperatingSystem | Int | Operating System of the server (see below). |
PowerState | Json:Int / Xml:String | The current power state of the Server. 0 = Stopped 1 = Started 2 = Paused |
InMaintenanceMode | Boolean | Indicates if the Server is in Maintenance Mode. |
Location | String | Home datacenter of the Server. |
IPAddress | String | The primary IP address of the Server. |
IPAddresses | Complex | A list of all IP Addresses assigned to the server (see below) |
CustomFields | Complex | A list of Custom Fields associated to this server (see below) |
Operating Systems
Operating System | Description |
---|---|
7 | CentOS 64-bit |
20 | Ubuntu 64-bit |
21 | Debian 64-bit |
22 | RedHat Enterprise Linux 64-bit |
25 | RedHat Enterprise Linux 5 64-bit |
27 | Windows 2012 Datacenter 64-bit |
28 | Windows 2012 R2 Datacenter 64-Bit |
31 | Ubuntu 12 64-Bit |
33 | CentOS 5 64-Bit |
35 | CentOS 6 64-Bit |
36 | Debian 6 64-Bit |
37 | Debian 7 64-Bit |
38 | RedHat 6 64-Bit |
39 | CoreOS |
40 | PXE Boot |
41 | Ubuntu 14 64-Bit |
42 | RedHat 7 64-Bit |
43 | Windows 2008 R2 Standard 64-Bit |
44 | Windows 2008 R2 Enterprise 64-Bit |
45 | Windows 2008 R2 Datacenter 64-Bit |
46 | Windows 2012 R2 Standard 64-bit |
IPAddress Attributes
Name | Type | Description |
---|---|---|
Address | String | The IP Address |
AddressType | Int | The type of the IP Address RIP - Real IP (internal IP configured on the VLAN) MIP - Mapped IP (external IP configured on the Firewall) VIP - Virtual IP (external IP configured on the Load Balancer) |
CustomField Attributes
Name | Type | Description |
---|---|---|
ID | String | Unique identifier that is associated with the Account Custom Field. Call Account/GetCustomFields for a list of all custom fields set at the account level. |
CustomFieldID | Int | Deprecated. Value is -1. Use CustomFieldType instead. |
Name | String | Name for the Custom Field. |
Type | String | Type of custom field: Text , Option or Checkbox . |
Value | String | For Text: Any value; For Option values, call Account/GetCustomFields to see possible values to pass in. Checkbox values should be "true" or "false". |
Examples
JSON
{
"Servers": [
{
"ID": -1,
"HardwareGroupID": 2158,
"HardwareGroupUUID": "4c20467154cb4de99a381cc011a20b96"
"Location": "WA1",
"Name": "WA1MDAS-STD01",
"Description": "foo",
"DnsName": null,
"IsTemplate": false,
"Cpu": 0,
"MemoryGB": 0,
"DiskCount": 0,
"TotalDiskSpaceGB": 0,
"Status": "Archived",
"PowerState": "Stopped",
"InMaintenanceMode": false,
"IPAddress": null,
"ServerType": 1,
"ServiceLevel": 2,
"OperatingSystem": 41,
"DateModified": "\/Date(1358410186310)\/",
"ModifiedBy": "CenturyLink Cloud System",
"IPAddresses": [],
"CustomFields": []
},
{
"ID": -1,
"HardwareGroupID": 5199,
"HardwareGroupUUID": "ea97c6e09f604eb689dcdc080114b04d"
"Location": "WA1",
"Name": "WA1MDA2K1202",
"Description": "2k12",
"DnsName": "WA1MDA2K1202",
"IsTemplate": false,
"Cpu": 1,
"MemoryGB": 1,
"DiskCount": 3,
"TotalDiskSpaceGB": 110,
"Status": "Active",
"PowerState": "Stopped",
"InMaintenanceMode": false,
"IPAddress": "10.81.14.18",
"ServerType": 1,
"ServiceLevel": 2,
"OperatingSystem": 28,
"DateModified": "\/Date(1358793254250)\/",
"ModifiedBy": "bob@company.com",
"IPAddresses": [],
"CustomFields": []
}
]
}
ServerTemplateObject
Server Template Object
Name | Type | Description |
---|---|---|
ID | Int | The ID of the Template. |
Name | String | The name of the Template. |
Description | String | The description of the Template. |
Location | String | Home datacenter of the Template. |
Cpu | Int | The number of processors configured in the Template. |
MemoryGB | Int | Total GB of RAM configured in the Template. |
DiskCount | Int | Total number of disks configured on the Template. |
TotalDiskSpaceGB | Int | Storage space taken up by the Template. |
OperatingSystem | Int | Operating System of the Template (see below). |
Operating Systems
Operating System | Description |
---|---|
2 | Windows 2003 32-bit |
3 | Windows 2003 64-bit |
4 | Windows 2008 32-bit |
5 | Windows 2008 64-bit |
6 | CentOS 32-bit |
7 | CentOS 64-bit |
8 | Windows XP 32-bit |
9 | Windows Vista 32-bit |
10 | Windows Vista 64-bit |
11 | Windows 7 32-bit |
12 | Windows 7 64-bit |
13 | FreeBSD 32-bit |
14 | FreeBSD 64-bit |
15 | Windows 2003 Enterprise 32-bit |
16 | Windows 2003 Enterprise 64-bit |
17 | Windows 2008 Enterprise 32-bit |
18 | Windows 2008 Enterprise 64-bit |
19 | Ubuntu 32-bit |
20 | Ubuntu 64-bit |
21 | Debian 64-bit |
22 | RedHat Enterprise Linux 64-bit |
23 | Windows 8 64-bit |
24 | Windows 2012 64-bit |
25 | RedHat Enterprise Linux 5 64-bit |
26 | Windows 2008 Datacenter 64-bit |
27 | Windows 2012 Datacenter 64-bit |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0,
"Templates":[
{
"ID":1001,
"Name":"CENTOS-6-32",
"Description":"Cent OS 6 | 32-bit",
"Cpu":1,
"MemoryGB":2,
"DiskCount":1,
"TotalDiskSpaceGB":8,
"OperatingSystem":6
},
{
"ID":1002,
"Name":"WIN2008R2STD-64",
"Description":"Windows 2008 R2 Standard | 64-bit",
"Cpu":1,
"MemoryGB":4,
"DiskCount":1,
"TotalDiskSpaceGB":16,
"OperatingSystem":18
}
]
}
XML
<GetTemplatesResponse Success="true" Message="Successfully retrieved templates" StatusCode="0">
<Templates>
<Template ID="1001" Name="CENTOS-6-32" Description="CentOS 6 | 32-bit" Cpu="1"
MemoryGB="2" DiskCount="1" TotalDiskSpaceGB="8" OperatingSystem="6" />
<Template ID="1001" Name="WIN2008R2STD-64" Description="Windows 2008 R2 Standard | 64-bit"
Cpu="1" MemoryGB="4" DiskCount="1" TotalDiskSpaceGB="16" OperatingSystem="18" />
</Templates>
</GetTemplatesResponse>
ShutdownServer
Shuts down the operating system and then powers off server.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Power Operations | Shut Down Server API.URL
REST: https://api.ctl.io/REST/Server/ShutdownServer/<format>
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=ShutdownServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to shut down. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
SnapshotServer
Takes a server snapshot.
V2 API Available
There is an equivalent V2 API that should be used instead. Please use the Server Actions | Create Snapshot API.URL
REST: https://api.ctl.io/REST/Server/SnapshotServer/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/Server.asmx?op=SnapshotServer
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | The alias of the account that owns the server. If not provided it will assume the account to which the API user is mapped. Providing this value gives you the ability to access servers in your sub accounts | No |
Name | String | The name of the Server to snapshot. | Yes |
Examples
JSON
{
"AccountAlias": "UNK",
"Name": "SERVER01"
}
XML
<ServerRequest>
<AccountAlias>ACCT</AccountAlias>
<Name>SERVER01</Name>
</ServerRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RequestID | Int | The ID of the Queued request. Status of the request can be obtained by calling the Get Deployment Status method. |
Examples
JSON
{
"RequestID:1,
"Success":true,
"Message":"Success",
"StatusCode":0
}
XML
<QueuedItemResponse Success="true" Message="Success" StatusCode="0">
<RequestID>1</RequestID>
</QueuedItemResponse>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | Resource Not Found. A Server with the specified Name cannot be found. |
6 | Invalid Operation. Server must be in an active state. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1410 | Name required. The name parameter must be specified. |
SMTP Relay API Overview
The SMTP Relay API provides methods which allow you to manage SMTP Relay settings with CenturyLink Cloud.
The URL to the SOAP version of the SMTP Relay API can be found at https://api.ctl.io/soap/SMTPRelay.asmx and the WSDL can be found here.
CreateAlias
This method will create a new SMTP Relay alias.
URL
REST: https://api.ctl.io/REST/SMTPRelay/CreateAlias/<format> (format = XML | JSON)
Request
Attributes
None.
Examples
JSON
N/A
XML
N/A
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
RelayAlias | String | The new Relay Alias created for your account. |
Password | String | The password associated with the new Relay Alias. |
Examples
XML
<CreateAliasResponse Success="true" Message="Alias has been created." StatusCode="0" RelayAlias="ZZZ1-relay@t3mx.com" Password="password" />
JSON
{
"Success":true,
"Message":"Alias has been disabled.",
"StatusCode":0,
"RelayAlias":"ZZZ1-relay@t3mx.com",
"Password":"password"
}
Status Codes
Status Code | Description |
---|---|
0 | CreateAlias request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
400 | You have reached the SMTP Relay Alias limit set on your account. Contact the support to increase your account limit if you need more. |
DisableAlias
This method will disable an existing SMTP Relay alias.
URL
https://api.ctl.io/REST/SMTPRelay/DisableAlias/<format> (format = XML | JSON)
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
RelayAlias | String | The the SMTP relay alias to disable. | Yes |
Examples
JSON
{
"RelayAlias":"ZZZ1-relay@t3mx.com"
}
XML
<SMTPUserRequest>
<RelayAlias>ZZZ1-relay@t3mx.com</RelayAlias>
</SMTPUserRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"Alias has been disabled.",
"StatusCode":0
}
XML
<APIResponse Success="true" Message="Alias has been disabled." StatusCode="0" />
Status Codes
Status Code | Description |
---|---|
0 | DisableAlias request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | SMTP Relay alias does not exist for your account. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
401 | RelayAlias attribute is required. |
402 | Relay alias was previously deleted. |
403 | Relay alias has already been disabled. |
Get Invalid Addresses
This method will retrieve the list of invalid address responses that have been saved by the SMTP Relay system related to your domain.
URL
REST: https://api.ctl.io/REST/SMTPRelay/GetInvalidAddresses/<format> (format = XML | JSON)
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
DomainAlias | String | The domain to search for as the source of SMTP Relay errors. | Yes |
StartDate | Date | This is the starting date to use for the query. This value is inclusive. | Yes |
EndDate | Date | This is the ending date to use for the query. This value is inclusive. | Yes |
Examples
JSON
{
"DomainAlias":"mydomain",
"StartDate":"\/Date(1261014726677)\/",
"EndDate":"\/Date(1261045879270)\/"
}
XML
<InvalidAddressRequest>
<DomainAlias>mydomain</DomainAlias>
<StartDate>2010-09-01</StartDate>
<EndDate>2010-09-02</EndDate>
</InvalidAddressRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
BadAddresses | List | The List of Bad Address entries containing the details of the rejected aliases. |
Address | String | The destination email address which was rejected. |
Reason | String | The reason reported for the rejection. |
Server | String | The mail server which rejected the email. |
LogDate | Datetime | The date and time the error was logged. |
Examples
JSON
{
"BadAddresses":
[
{
"Address":" user@xyz.net ",
"Reason":"mydomain.com sender, but not from mydomain.com-approved relay.",
"Server":"mail2.xyz.net",
"LogDate":"\/Date(1261014726677)\/"
},
{
"Address":"user@mail.com",
"Reason":"00.000.000.000 is not allowed to send mail for \u0027service@mydomain.com\u0027 : Reason: mechanism",
"Server":"mx.mail.com",
"LogDate":"\/Date(1261045879270)\/"
}
],
"Success":true,
"Message":"GetInvalidAddresses completed successfully",
"StatusCode":0
}
XML
<InvalidAddressResponse Success="true" Message="GetInvalidAddresses completed successfully" StatusCode="0">
<BadAddresses>
<BadAddress>
<Address>user@xyz.net</Address>
<Reason>mydomain.com sender, but not from mydomain.com-approved relay.</Reason>
<Server>mail2.xyz.net</Server>
<LogDate>2010-09-01T19:52:06.677</LogDate>
</BadAddress>
<BadAddress>
<Address>user@mail.com</Address>
<Reason>00.000.000.000 is not allowed to send mail for service@mydomain.com' : Reason: mechanism</Reason>
<Server>mx.mail.com</Server>
<LogDate>2010-09-02T04:31:19.27</LogDate>
</BadAddress>
</BadAddresses>
</InvalidAddressResponse>
Status Codes
Status Code | Description |
---|---|
0 | GetInvalidAddresses request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
ListAliases
This method will list of all SMTP Relay aliases for your account.
URL
https://api.ctl.io/REST/SMTPRelay/ListAliases/<format> (format = XML | JSON)
Request
Attributes
None.
Examples
JSON
N/A
XML
N/A
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
SMTPRelayAliases | List | A list of RelayAlias objects. |
RelayAlias | Complex | The details of a Relay Alias instance. |
Alias | String | The new Relay Alias created for your account. |
Password | String | The password associated with the new Relay Alias. |
Status | String | The current status of the Relay Alias (expected values are Active , Deleted , and Disabled ) |
Examples
XML
<ListAliasesResponse Success="true" Message="ListAliases completed successfully" StatusCode="0">
<SMTPRelayAliases>
<RelayAlias Alias="ZZZ1-relay@t3mx.com" Password="password" Status="Active" />
<RelayAlias Alias="ZZZ2-relay@t3mx.com" Password="password" Status="Deleted" />
<RelayAlias Alias="ZZZ3-relay@t3mx.com" Password="password" Status="Disabled" />
</SMTPRelayAliases>
</ListAliasesResponse>
JSON
{
"SMTPRelayAliases":[
{
"Alias":"ZZZ1-relay@t3mx.com",
"Password":"password",
"Status":"Active"
},
{
"Alias":"ZZZ2-relay@t3mx.com",
"Password":"password",
"Status":"Deleted"
},
{
"Alias":"ZZZ3-relay@t3mx.com",
"Password":"password",
"Status":"Disabled"
}
],
"Success":true,
"Message":"ListAliases completed successfully",
"StatusCode":0
}
Status Codes
Status Code | Description |
---|---|
0 | ListAliases request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
RemoveAlias
This method will delete an existing SMTP Relay alias.
URL
REST: https://api.ctl.io/REST/SMTPRelay/RemoveAlias/<format> (format = XML | JSON)
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
RelayAlias | String | The the SMTP relay alias to delete. | Yes |
Examples
JSON
{
"RelayAlias":"ZZZ1-relay@t3mx.com"
}
XML
<SMTPUserRequest>
<RelayAlias>ZZZ1-relay@t3mx.com</RelayAlias>
</SMTPUserRequest>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"Alias has been deleted.",
"StatusCode":0
}
XML
<APIResponse Success="true" Message="Alias has been deleted." StatusCode="0" />
Status Codes
Status Code | Description |
---|---|
0 | RemoveAlias request was successfully processed |
2 | Unknown Error - An application error occurred processing your request, contact support to resolve the issue. |
3 | Invalid Request Format. This value indicates that the XML or JSON requests do not match the expected format. |
5 | SMTP Relay alias does not exist for your account. |
100 | Authentication Failed - You must logon to the API prior to calling this method. |
401 | RelayAlias attribute is required. |
402 | Relay alias has already been deleted. |
DeleteUser
Delete a user associated with a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/DeleteUser/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=DeleteUser
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
UserName | String | User name, which is typically the email address. | Yes |
Examples
JSON
{
"UserName": "user3@company.com"
}
XML (REST)
<UserRequest>
<UserName>user3@company.com</UserName>
</UserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<DeleteUser xmlns="http://www.tier3.com/">
<request>
<UserName>user3@company.com</UserName>
</request>
</DeleteUser>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{
"Success":true,
"Message":"User deleted.",
"StatusCode":0
}
XML (REST)
<APIResponse Success="true" Message="User deleted." StatusCode="0" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DeleteUserResponse xmlns="http://www.tier3.com/">
<DeleteUserResult Success="true" Message="User deleted." StatusCode="0"/>
</DeleteUserResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1704 | Username Required. You must provide a valid user name when calling this method. |
1705 | User Not Found. Provided user name does not exist. |
CreateUser
Create a new user within a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/CreateUser/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=CreateUser
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
UserName | String | Unique username for the new user. Can be an email address or any other string value. | Yes |
AccountAlias | String | Short code for a particular account. | Yes |
EmailAddress | String | Email address of the new user. | Yes |
FirstName | String | First name of the new user. | Yes |
LastName | String | Last name of the new user. | Yes |
AlternateEmailAddress | String | Additional email address for the user. | No |
Title | String | Job title of the user. | No |
OfficeNumber | String | Office phone number of the user. | No |
MobileNumber | String | Mobile phone number of the user. | No |
AllowSMSAlerts | Boolean | Flag determining whether this user can receive SMS messages. | No |
FaxNumber | String | Fax number of the user. | No |
SAMLUserName | String | String holding the value used during single-sign-on processes. | No |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Administrator 3 = Billing Manager 8 = DNS Manager 9 = Account Administrator 10 = Account Viewer 12 = Network Manager 13 = Security Manager 14 = Server Operator 15 = Server Scheduler |
Yes |
TimeZoneID | String | Time zone of the user. Timezone must be one of the values in the list below, otherwise the value is set to the account"s Timezone. | No |
Examples
JSON
{
"UserName":"user3",
"AccountAlias":"1000",
"EmailAddress":"user3@company.com",
"FirstName":"Watson",
"LastName":"User",
"AlternateEmailAddress":null,
"Title":null,
"OfficeNumber":null,
"MobileNumber":null,
"AllowSMSAlerts":false,
"FaxNumber":null,
"SAMLUserName":null,
"Roles":[2,8],
"TimeZoneID":null
}
XML (REST)
<CreateUserRequest>
<UserName>user3</UserName>
<AccountAlias>1000</AccountAlias>
<EmailAddress>user3@company.com</EmailAddress>
<FirstName>Watson</FirstName>
<LastName>User</LastName>
<AlternateEmailAddress></AlternateEmailAddress>
<Title></Title>
<OfficeNumber></OfficeNumber>
<MobileNumber></MobileNumber>
<AllowSMSAlerts>false</AllowSMSAlerts>
<FaxNumber></FaxNumber>
<SAMLUserName></SAMLUserName>
<Roles><int>8</int></Roles>
<TimeZoneID></TimeZoneID>
</CreateUserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateUser xmlns="http://www.tier3.com/">
<request>
<UserName>user3</UserName>
<AccountAlias>1000</AccountAlias>
<EmailAddress>user3@company.com</EmailAddress>
<FirstName>Watson</FirstName>
<LastName>User</LastName>
<AlternateEmailAddress></AlternateEmailAddress>
<Title></Title>
<OfficeNumber></OfficeNumber>
<MobileNumber></MobileNumber>
<AllowSMSAlerts>false</AllowSMSAlerts>
<FaxNumber></FaxNumber>
<SAMLUserName></SAMLUserName>
<Roles><int>8</int></Roles>
<TimeZoneID></TimeZoneID>
</request>
</CreateUser>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of "0" indicates success, all non-zero StatusCodes indicate an error state. |
UserDetails | Complex | The details of the newly created user. |
UserDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short code for a particular account. |
UserName | String | User name, which is typically the email address. |
EmailAddress | String | Email address for the user. |
FirstName | String | First name of the user. |
LastName | String | Last name of the user. |
AlternateEmailAddress | String | Additional email address for the user. |
Title | String | Job title of the user. |
OfficeNumber | String | Office phone number of the user. |
MobileNumber | String | Mobile phone number of the user. |
AllowSMS | Boolean | Flag indicating whether this user can receive SMS messages. |
FaxNumber | String | Fax number for the user. |
SAMLUserName | String | Name used for single-sign-on process. |
TimeZoneID | String | Time zone that the user resides in. |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Administrator 3 = Billing Manager 8 = DNS Manager 9 = Account Administrator 10 = Account Viewer 12 = Network Manager 13 = Security Manager 14 = Server Operator |
Examples
JSON
{
"UserDetails":
{
"AccountAlias":"1000",
"UserName":"user3@company.com",
"EmailAddress":"user3@company.com",
"FirstName":"Watson",
"LastName":"Demo",
"AlternateEmailAddress":null,
"Title":null,
"OfficeNumber":null,
"MobileNumber":null,
"AllowSMS":false,
"FaxNumber":null,
"SAMLUserName":null,
"TimeZoneID":"Pacific Standard Time",
"Roles":[2,8]
},
"Success":true,
"Message":"User successfully created.",
"StatusCode":0
}
XML (REST)
<UserDetailsResponse Success="true" Message="User successfully created." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user3@company.com"
EmailAddress="user3@company.com"
FirstName="Watson"
LastName="Demo"
AlternateEmailAddress=""
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles><int>8</int></Roles>
</UserDetails>
</UserDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateUserResponse xmlns="http://www.tier3.com/">
<CreateUserResult Success="true" Message="User successfully created." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user3@company.com"
EmailAddress="user3@company.com"
FirstName="Watson"
LastName="Demo"
AlternateEmailAddress=""
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles><int>8</int></Roles>
</UserDetails>
</CreateUserResult>
</CreateUserResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
1700 | Email Address Required. You must provide an email address when calling this method. |
1701 | User Already Exists. You must provide a unique user name when calling this method. |
1702 | First Name Required. You must provide user"s first name when calling this method. |
1703 | Last Name Required. You must provide a user"s last name when calling this method. |
1706 | Invalid User Roles. You must provide a valid user role (2, 8, and 9) when calling this method. |
1707 | Invalid Email Address. You must provide a valid email address. |
Valid Timezone Entries
- Dateline Standard Time
- UTC-11
- Hawaiian Standard Time
- Alaskan Standard Time
- Pacific Standard Time (Mexico)
- Pacific Standard Time
- US Mountain Standard Time
- Mountain Standard Time (Mexico)
- Mountain Standard Time
- Central America Standard Time
- Central Standard Time
- Central Standard Time(Mexico)
- Canada Central Standard Time
- SA Pacific Standard Time
- Eastern Standard Time
- US Eastern Standard Time
- Venezuela Standard Time
- Paraguay Standard Time
- Atlantic Standard Time
- Central Brazilian Standard Time
- SA Western Standard Time
- Pacific SA Standard Time
- Newfoundland Standard Time
- E. South America Standard Time
- Argentina Standard Time
- SA Eastern Standard Time
- Greenland Standard Time
- Montevideo Standard Time
- Bahia Standard Time
- UTC-02
- Mid-Atlantic Standard Time
- Azores Standard Time
- Cape Verde Standard Time
- Morocco Standard Time
- UTC
- GMT Standard Time
- Greenwich Standard Time
- W. Europe Standard Time
- Central Europe Standard Time
- Romance Standard Time
- Central European Standard Time
- W. Central Africa Standard Time
- Namibia Standard Time
- Jordan Standard Time
- GTB Standard Time
- Middle East Standard Time
- Egypt Standard Time
- Syria Standard Time
- South Africa Standard Time
- FLE Standard Time
- Turkey Standard Time
- Israel Standard Time
- E. Europe Standard Time
- Arabic Standard Time
- Kaliningrad Standard Time
- Arab Standard Time
- E. Africa Standard Time
- Iran Standard Time
- Arabian Standard Time
- Azerbaijan Standard Time
- Russian Standard Time
- Mauritius Standard Time
- Georgian Standard Time
- Caucasus Standard Time
- Afghanistan Standard Time
- Pakistan Standard Time
- West Asia Standard Time
- India Standard Time
- Sri Lanka Standard Time
- Nepal Standard Time
- Central Asia Standard Time
- Bangladesh Standard Time
- Ekaterinburg Standard Time
- Myanmar Standard Time
- SE Asia Standard Time
- N. Central Asia Standard Time
- China Standard Time
- North Asia Standard Time
- Singapore Standard Time
- W. Australia Standard Time
- Taipei Standard Time
- Ulaanbaatar Standard Time
- North Asia East Standard Time
- Tokyo Standard Time
- Korea Standard Time
- Cen. Australia Standard Time
- AUS Central Standard Time
- E. Australia Standard Time
- AUS Eastern Standard Time
- West Pacific Standard Time
- Tasmania Standard Time
- Yakutsk Standard Time
- Central Pacific Standard Time
- Vladivostok Standard Time
- New Zealand Standard Time
- UTC+12
- Fiji Standard Time
- Magadan Standard Time
- Kamchatka Standard Time
- Tonga Standard Time
- Samoa Standard Time
GetUserDetails
Gets the details of a specific user associated with a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/GetUserDetails/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=GetUserDetails
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. | Yes |
UserName | String | User name, which is typically the email address. | Yes |
Examples
JSON
{
"AccountAlias": "1000",
"UserName": "user1@company.com"
}
XML (REST)
<GetUserRequest>
<AccountAlias>RSDA</AccountAlias>
<UserName>user1@company.com</UserName>
</GetUserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetUserDetails xmlns="http://www.tier3.com/">
<request>
<AccountAlias>1000</AccountAlias>
<UserName>user1@company.com</UserName>
</request>
</GetUserDetails>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
UserDetails | Complex | The list of users |
UserDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short code for a particular account. |
UserName | String | User name, which is typically the email address. |
EmailAddress | String | Email address for the user. |
FirstName | String | First name of the user. |
LastName | String | Last name of the user. |
AlternateEmailAddress | String | Additional email address for the user. |
Title | String | Job title of the user. |
OfficeNumber | String | Office phone number of the user. |
MobileNumber | String | Mobile phone number of the user. |
AllowSMS | Boolean | Flag indicating whether this user can receive SMS messages. |
FaxNumber | String | Fax number for the user. |
SAMLUserName | String | Name used for single-sign-on process. |
TimeZoneID | String | Time zone that the user resides in. |
Status | String | Status of the user. May be 'Active', 'Disabled' or 'Deleted'. |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Administrator 3 = Billing Manager 8 = DNS Manager 9 = Account Administrator 10 = Account Viewer 12 = Network Manager 13 = Security Manager 14 = Server Operator 15 = Server Scheduler |
Examples
JSON
{
"UserDetails": {
"AccountAlias":"1000",
"UserName":"user1@company.com",
"EmailAddress":"user1@company.com",
"FirstName":"Ellie",
"LastName":"User",
"AlternateEmailAddress":"",
"Title":"",
"OfficeNumber":"",
"MobileNumber":"",
"AllowSMS":false,
"FaxNumber":"",
"SAMLUserName":null,
"TimeZoneID":"Pacific Standard Time",
"Roles":[8]
},
"Success":true,
"Message":"User successfully located.",
"StatusCode":0
}
XML (REST)
<UserDetailsResponse Success="true" Message="User successfully located." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user1@company.com"
EmailAddress="user1@company.com"
FirstName="Ellie"
LastName="User"
AlternateEmailAddress=""
Title=""
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles>
<int>8</int>
</Roles>
</UserDetails>
</UserDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUserDetailsResponse xmlns="http://www.tier3.com/">
<GetUserDetailsResult Success="true" Message="User successfully located." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user1@company.com"
EmailAddress="user1@company.com"
FirstName="Ellie"
LastName="User"
AlternateEmailAddress=""
Title=""
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles>
<int>8</int>
</Roles>
</UserDetails>
</GetUserDetailsResult>
</GetUserDetailsResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
1700 | Email Address Required. You must provide an email address when calling this method. |
1705 | User Not Found. Provided user name does not exist. |
GetUsers
Gets all of users assigned to a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/GetUsers/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=GetUsers
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
AccountAlias | String | Short code for a particular account. | Yes |
Examples
JSON
{
"AccountAlias": "1000"
}
XML (REST)
<GetUserRequest>
<AccountAlias>RSDA</AccountAlias>
</GetUserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetUsers xmlns="http://www.tier3.com/">
<request>
<AccountAlias>1000</AccountAlias>
</request>
</GetUsers>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
UserDetails | Complex | The list of users |
UserDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short code for a particular account. |
UserName | String | User name, which is typically the email address. |
EmailAddress | String | Email address for the user. |
FirstName | String | First name of the user. |
LastName | String | Last name of the user. |
AlternateEmailAddress | String | Additional email address for the user. |
Title | String | Job title of the user. |
OfficeNumber | String | Office phone number of the user. |
MobileNumber | String | Mobile phone number of the user. |
AllowSMS | Boolean | Flag indicating whether this user can receive SMS messages. |
FaxNumber | String | Fax number for the user. |
SAMLUserName | String | Name used for single-sign-on process. |
TimeZoneID | String | Time zone that the user resides in. |
Status | String | Status of the user. May be 'Active', 'Disabled' or 'Deleted'. |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Administrator 3 = Billing Manager 8 = DNS Manager 9 = Account Administrator 10 = Account Viewer 12 = Network Manager 13 = Security Manager 14 = Server Operator 15 = Server Scheduler |
Examples
JSON
{
"Users":[
{
"AccountAlias":null,
"UserName":"user1@company.com",
"EmailAddress":"user1@company.com",
"FirstName":"Ellie",
"LastName":"User",
"AlternateEmailAddress":null,
"Title":"",
"OfficeNumber":"",
"MobileNumber":"",
"AllowSMS":false,
"FaxNumber":null,
"TimeZoneID":null,
"Roles":[8]
},
{
"AccountAlias":null,
"UserName":"user2@company.com",
"EmailAddress":"user2@company.com",
"FirstName":"Jessie",
"LastName":"User",
"AlternateEmailAddress":null,
"Title":null,
"OfficeNumber":null,
"MobileNumber":null,
"AllowSMS":false,
"FaxNumber":null,
"TimeZoneID":null,
"Roles":[9]
}
],
"Success":true,
"Message":"Users successfully located.",
"StatusCode":0
}
XML (REST)
<UserListResponse Success="true" Message="Users successfully located." StatusCode="0">
<Users>
<UserDetails UserName="user1@company.com"
EmailAddress="user1@company.com"
FirstName="Ellie"
LastName="User"
Title="" OfficeNumber=""
MobileNumber=""
AllowSMS="false">
<Roles>
<int>8</int>
</Roles>
</UserDetails>
<UserDetails UserName="user2@company.com"
EmailAddress="user2@company.com"
FirstName="Jessie"
LastName="User"
AllowSMS="false">
<Roles>
<int>9</int>
</Roles>
</UserDetails>
</Users>
</UserListResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUsersResponse xmlns="http://www.tier3.com/">
<GetUsersResult Success="true" Message="Users successfully located." StatusCode="0">
<Users>
<UserDetails UserName="user1@company.com"
EmailAddress="user1@company.com"
FirstName="Ellie"
LastName="User"
Title="" OfficeNumber=""
MobileNumber=""
AllowSMS="false">
<Roles>
<int>8</int>
</Roles>
</UserDetails>
<UserDetails UserName="user2@company.com"
EmailAddress="user2@company.com"
FirstName="Jessie"
LastName="User"
AllowSMS="false">
<Roles>
<int>9</int>
</Roles>
</UserDetails>
</Users>
</GetUsersResult>
</GetUsersResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
5 | Resource Not Found. Provided account alias does not exist. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1600 | Account Alias Required. You must provide an account alias when calling this method. |
SuspendUser
Deactivate a user associated with a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/SuspendUser/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=SuspendUser
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
UserName | String | User name, which is typically the email address. | Yes |
Examples
JSON
{
"UserName": "user3@company.com"
}
XML (REST)
<UserRequest>
<UserName>user3@company.com</UserName>
</UserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SuspendUser xmlns="http://www.tier3.com/">
<request>
<UserName>user3@company.com</UserName>
</request>
</SuspendUser>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{"Success":true, "Message":"User suspended.", "StatusCode":0}
XML (REST)
<APIResponse Success="true" Message="User suspended." StatusCode="0" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SuspendUserResponse xmlns="http://www.tier3.com/">
<SuspendUserResult Success="true" Message="User suspended." StatusCode="0"/>
</SuspendUserResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1704 | Username Required. You must provide a valid user name when calling this method. |
1705 | User Not Found. Provided user name does not exist. |
UnsuspendUser
Reactivate a user associated with a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/UnsuspendUser/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=UnsuspendUser
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
UserName | String | User name, which is could be their email address. | Yes |
Examples
JSON
{
UserName": "user3@company.com"
}
XML (REST)
<UserRequest><UserName>user3@company.com</UserName></UserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<UnsuspendUser xmlns="http://www.tier3.com/">
<request>
<UserName>user3@company.com</UserName>
</request>
</UnsuspendUser>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
Examples
JSON
{"Success":true, "Message":"User unsuspended.", "StatusCode":0}
XML (REST)
<APIResponse Success="true" Message="User unsuspended." StatusCode="0" />
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UnsuspendUserResponse xmlns="http://www.tier3.com/">
<UnsuspendUserResult Success="true" Message="User unsuspended." StatusCode="0"/>
</UnsuspendUserResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1704 | Username Required. You must provide a valid user name when calling this method. |
1705 | User Not Found. Provided user name does not exist. |
UpdateUser
Update a specific user within a given account. Calls to this operation must include an authorization cookie acquired from the Logon operation.
URL
REST: https://api.ctl.io/REST/User/UpdateUser/<format> (format = XML | JSON)
SOAP: https://api.ctl.io/SOAP/User.asmx?op=UpdateUser
Request
Attributes
Name | Type | Description | Req. |
---|---|---|---|
UserName | String | User name, which is typically the email address. | Yes |
EmailAddress | String | Email address of the new user. | Yes |
FirstName | String | First name of the new user. | Yes |
Last Name | String | Last name of the new user. | Yes |
AlternateEmailAddress | String | Additional email address for the user. | No |
Title | String | Job title of the user. | No |
OfficeNumber | String | Office phone number of the user. | No |
MobileNumber | String | Mobile phone number of the user. | No |
AllowSMSAlerts | Boolean | Flag determining whether this user can receive SMS messages. | No |
FaxNumber | String | Fax number of the user. | No |
SAMLUserName | String | String holding the value used during single-sign-on processes. | No |
TimeZoneID | String | Time zone of the user. Timezone must be one of the values in the list below, otherwise the value is set to the account's Timezone. | No |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Administrator 3 = Billing Manager 8 = DNS Manager 9 = Account Administrator 10 = Account Viewer 12 = Network Manager 13 = Security Manager 14 = Server Operator 15 = Server Scheduler |
No |
Examples
JSON
{
"UserName":"user3@company.com",
"EmailAddress":"user3@company.com",
"FirstName":"Watson",
"LastName":"User",
"AlternateEmailAddress":null,
"Title":"President",
"OfficeNumber":null,
"MobileNumber":null,
"AllowSMSAlerts":false,
"FaxNumber":null,
"SAMLUserName":null,
"Roles":[8],
"TimeZoneID":null
}
XML (REST)
<UpdateUserRequest>
<UserName>user3@company.com</UserName>
<EmailAddress>user3@company.com</EmailAddress>
<FirstName>Watson</FirstName>
<LastName>User</LastName>
<AlternateEmailAddress></AlternateEmailAddress>
<Title>President</Title>
<OfficeNumber></OfficeNumber>
<MobileNumber></MobileNumber>
<AllowSMSAlerts>false</AllowSMSAlerts>
<FaxNumber></FaxNumber>
<SAMLUserName></SAMLUserName>
<Roles><int>8</int></Roles>
<TimeZoneID></TimeZoneID>
</UpdateUserRequest>
XML (SOAP)
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<UpdateUser xmlns="http://www.tier3.com/">
<request>
<UserName>user3@company.com</UserName>
<EmailAddress>user3@company.com</EmailAddress>
<FirstName>Watson</FirstName>
<LastName>User</LastName>
<AlternateEmailAddress></AlternateEmailAddress>
<Title>President</Title>
<OfficeNumber></OfficeNumber>
<MobileNumber></MobileNumber>
<AllowSMSAlerts>false</AllowSMSAlerts>
<FaxNumber></FaxNumber>
<SAMLUserName></SAMLUserName>
<Roles><int>8</int></Roles>
<TimeZoneID></TimeZoneID>
</request>
</UpdateUser>
</soap12:Body>
</soap12:Envelope>
Response
Attributes
Name | Type | Description |
---|---|---|
Success | Boolean | True if the request was successful, otherwise False. |
Message | String | A description of the result. The contents of this field does not contain any actionable information, it is purely intended to provide a human readable description of the result. |
StatusCode | Int | This value will help to identify any errors which were encountered while processing the request. The value of '0' indicates success, all non-zero StatusCodes indicate an error state. |
UserDetails | Complex | The details of the updated user. |
UserDetails Attributes
Name | Type | Description |
---|---|---|
AccountAlias | String | Short code for a particular account. |
UserName | String | User name, which is typically the email address. |
EmailAddress | String | Email address for the user. |
FirstName | String | First name of the user. |
LastName | String | Last name of the user. |
AlternateEmailAddress | String | Additional email address for the user. |
Title | String | Job title of the user. |
OfficeNumber | String | Office phone number of the user. |
MobileNumber | String | Mobile phone number of the user. |
AllowSMS | Boolean | Flag indicating whether this user can receive SMS messages. |
FaxNumber | String | Fax number for the user. |
SAMLUserName | String | Name used for single-sign-on process. |
TimeZoneID | String | Time zone that the user resides in. |
Roles | Integer[] | List of values indicating the roles assigned to this user. 2 = Server Admin 8 = Domain Admin 9 = Account Admin |
Examples
JSON
{
"UserDetails":
{
"AccountAlias":"1000",
"UserName":"user3@company.com",
"EmailAddress":"user3@company.com",
"FirstName":"Watson",
"LastName":"Demo",
"AlternateEmailAddress":null,
"Title":'President',
"OfficeNumber":null,
"MobileNumber":null,
"AllowSMS":false,
"FaxNumber":null,
"SAMLUserName":null,
"TimeZoneID":"Pacific Standard Time",
"Roles":[8]
},
"Success":true,
"Message":"User successfully updated.",
"StatusCode":0
}
XML (REST)
<UserDetailsResponse Success="true" Message="User successfully updated." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user3@company.com"
EmailAddress="user3@company.com"
FirstName="Watson"
LastName="Demo"
AlternateEmailAddress=""
Title="President"
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles><int>8</int></Roles>
</UserDetails>
</UserDetailsResponse>
XML (SOAP)
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateUserResponse xmlns="http://www.tier3.com/">
<UpdateUserResult Success="true" Message="User successfully updated." StatusCode="0">
<UserDetails AccountAlias="1000"
UserName="user3@company.com"
EmailAddress="user3@company.com"
FirstName="Watson"
LastName="Demo"
AlternateEmailAddress=""
Title="President"
OfficeNumber=""
MobileNumber=""
AllowSMS="false"
FaxNumber=""
TimeZoneID="Pacific Standard Time">
<Roles><int>8</int></Roles>
</UserDetails>
</UpdateUserResult>
</UpdateUserResponse>
</soap:Body>
</soap:Envelope>
Status Codes
Status Code | Description |
---|---|
0 | Request was successfully processed |
2 | Unknown Error. An application error occurred processing your request, contact support to resolve the issue. |
100 | Authentication Failed. You must logon to the API prior to calling this method. |
1700 | Email Address Required. You must provide an email address when calling this method. |
1702 | First Name Required. You must provide user's first name when calling this method. |
1703 | Last Name Required. You must provide a user's last name when calling this method. |
1704 | Username Required. You must provide a valid username when calling this method. |
1705 | User Not Found. This user was not found in the system. |
1706 | Invalid User Roles. You must provide a valid user role (2, 8, and 9) when calling this method. |
Valid Timezone Entries
- Dateline Standard Time
- UTC-11
- Hawaiian Standard Time
- Alaskan Standard Time
- Pacific Standard Time (Mexico)
- Pacific Standard Time
- US Mountain Standard Time
- Mountain Standard Time (Mexico)
- Mountain Standard Time
- Central America Standard Time
- Central Standard Time
- Central Standard Time(Mexico)
- Canada Central Standard Time
- SA Pacific Standard Time
- Eastern Standard Time
- US Eastern Standard Time
- Venezuela Standard Time
- Paraguay Standard Time
- Atlantic Standard Time
- Central Brazilian Standard Time
- SA Western Standard Time
- Pacific SA Standard Time
- Newfoundland Standard Time
- E. South America Standard Time
- Argentina Standard Time
- SA Eastern Standard Time
- Greenland Standard Time
- Montevideo Standard Time
- Bahia Standard Time
- UTC-02
- Mid-Atlantic Standard Time
- Azores Standard Time
- Cape Verde Standard Time
- Morocco Standard Time
- UTC
- GMT Standard Time
- Greenwich Standard Time
- W. Europe Standard Time
- Central Europe Standard Time
- Romance Standard Time
- Central European Standard Time
- W. Central Africa Standard Time
- Namibia Standard Time
- Jordan Standard Time
- GTB Standard Time
- Middle East Standard Time
- Egypt Standard Time
- Syria Standard Time
- South Africa Standard Time
- FLE Standard Time
- Turkey Standard Time
- Israel Standard Time
- E. Europe Standard Time
- Arabic Standard Time
- Kaliningrad Standard Time
- Arab Standard Time
- E. Africa Standard Time
- Iran Standard Time
- Arabian Standard Time
- Azerbaijan Standard Time
- Russian Standard Time
- Mauritius Standard Time
- Georgian Standard Time
- Caucasus Standard Time
- Afghanistan Standard Time
- Pakistan Standard Time
- West Asia Standard Time
- India Standard Time
- Sri Lanka Standard Time
- Nepal Standard Time
- Central Asia Standard Time
- Bangladesh Standard Time
- Ekaterinburg Standard Time
- Myanmar Standard Time
- SE Asia Standard Time
- N. Central Asia Standard Time
- China Standard Time
- North Asia Standard Time
- Singapore Standard Time
- W. Australia Standard Time
- Taipei Standard Time
- Ulaanbaatar Standard Time
- North Asia East Standard Time
- Tokyo Standard Time
- Korea Standard Time
- Cen. Australia Standard Time
- AUS Central Standard Time
- E. Australia Standard Time
- AUS Eastern Standard Time
- West Pacific Standard Time
- Tasmania Standard Time
- Yakutsk Standard Time
- Central Pacific Standard Time
- Vladivostok Standard Time
- New Zealand Standard Time
- UTC+12
- Fiji Standard Time
- Magadan Standard Time
- Kamchatka Standard Time
- Tonga Standard Time
- Samoa Standard Time