NAV
cURL ANC API Tools

Introduction

API Reference

The Atlantic.Net Cloud API Tools (anc-api-tools) are a set of command line tools designed to work with Linux based systems.

To begin using the anc-api-tools, please follow the steps described below:

### Obtain your API Access Key and API Private Key
Go to https://cloud.atlantic.net and click on the "API Info" link. 
Copy the API Key value and paste it into a newly created file called anc-access.key
Copy the API Secret Private Key value and paste it into a newly created file called anc-private.key

### Download the anc-api-tools and extract to a folder of your choice.
wget -O anc-api-tools.tgz https://www.atlantic.net/docs/api/anc-api-tools_2017-12-29.tgz
tar xzf anc-api-tools.tgz
cd anc-api-tools/bin

### Set environment variables for Atlantic.Net Cloud API Tools (anc-api-tools) by entering the following in a linux terminal.
### Note: If you wish to have the values permanently set when you start a new terminal session add the below lines to your 
### ~/.bashrc if you use bash as your shell and then type source ~/.bashrc in a linux terminal.
export ANC_HOME=/path/to/where/you/extracted/anc-api-tools/ # path to anc-api-tools
export ANC_ACCESS_KEY_ID=/path/to/your/anc-access.key # your public key
export ANC_PRIVATE_KEY=/path/to/your/anc-private.key # your private key

The Atlantic.Net Cloud API https://cloudapi.atlantic.net is a RESTful query interface designed to allow users to programmatically manage Atlantic.Net Cloud services. Calls are made over the Internet by sending HTTPS requests to the Atlantic.Net Cloud API endpoint. Nearly any computer language can be used to communicate over HTTPS with the API endpoint. You may write your own API tools using the information provided here or use one of the Atlantic.Net supplied tools or libraries.

Current examples exists for cURL and Atlantic.Net Cloud API Tools (anc-api-tools). You can view code examples in the dark area to the right and you can switch the binding of the examples with the tabs in the top right.

Authentication

# Set and export your public access key
export ACCESS_KEY=your_public_access_key_here

# Set and export your private key
export PRIVATE_KEY=your_private_key_here
The anc-api-tools handle authentication for you.

Please see the Introduction section above for configuration instructions.

To make API calls you will need your API key and your API private key, which can be found in your Atlantic.Net Cloud Control Panel under the “API Info” section.

Please note that you should never share your API private key with anyone. We will never ask you for your private key in any communication. Also, never send us the API private key in any API calls you make.

Input

Certain arguments are required no matter which API method you are calling. The following table lists the required inputs. There could be other required parameters depending on the method you are calling. Please see the documentation for individual API calls below in this document for inputs required for specific methods.

Input values must be URL-encoded. This is especially necessary for the Signature input.

Required Input

Parameter Type Description
Version string Version of the API. E.g. 2010-12-30
ACSAccessKeyId string Your API Key
Format string The expected format you need the response to be in. Possible values: json, xml
Timestamp int The date and time at which the request has been signed. Normally, this would be the current time on your server posted in the unix seconds since epoch format. This input is also used to create the Signature as described in the section ‘Making Secure Requests’ on this page. E.g. 1293131636
Rndguid string A randomly generated sequence of characters. This input is also used to create the Signature. E.g. 6400c61a-a90d-453b-99cf-af40a16b75e2
Signature string This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described above. E.g. pHjZAShlX8MdOlrJuQxquWWvUmFdIBvTAvck4K%2B5EVQ%3D
Action string This input lets you describe the API method you wish to invoke E.g. describe-instance

Error Messages

As mentioned above certain arguments are required for all API calls. When these arguments are not supplied, error messages can be expected. Please refer to the following table that delineates the possible universal error messages.

Error Messages

Code Message
E0001 API Key not supplied
E0002 API key/Signature is invalid
E0003 No Action has been specified
E0004 Signature has not been supplied
E0005 Action requested is not valid
E0006 Version requested is not valid
E0007 Timestamp was not supplied
E0008 Random identifier that was used in signature computation was not supplied
E0017 This is possibly a replay attack or a duplicate call. This request will be ignored.
E0020 API access for your account is currently deactivated. Normally, API access is deactivated by default. Please log into the web interface to activate your API access.

Versioning

The version can be updated by setting the "ANC_VERSION" variable in the "anc-cmd" program located in anc-api-tools/bin/.

Default value is set to 2010-12-30

When we make backwards-incompatible changes to the API, we release new dated versions.

The current version is 2010-12-30

The version is not an indication of when the API was last updated with new features, but simply the versioning specification that the API methods/actions conform to.

Rate Limits

The Atlantic.Net Cloud API allows clients to make a limited number of calls per given time-frame.

Present default rate limits

Type Description Default
API Key Calls are limited by your API Key 60/minute
Originating IP Address Calls are limited by the IP Address your calls originate from 60/minute

If you require changes to these default limits, please contact support.

Making Secure Requests

### The below is an example of making a complete secure request to the API endpoint

# Set variables
version="2010-12-30"
format="json" # xml is also a valid option
action="list-instances"
base_url="https://cloudapi.atlantic.net/?"

# Create the random GUID:
random_guid=$(uuidgen -r) # uuidgen is provided by the uuid-runtime package

# Get the current unix time in seconds since epoch:
time_since_epoch=$(date +%s)

# Create the string that needs to be encoded to make the signature:
string_to_sign="${time_since_epoch}${random_guid}"

# Create a hash of the signature using sha256 and then base64 encode the sha256 hash:
signature=$(echo -n "${string_to_sign}" | openssl dgst -sha256 -hmac "${PRIVATE_KEY}" -binary | openssl enc -base64)

# URL encode the signature:
signature="$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "${signature}")"

# Create the full URL to call:
url="https://cloudapi.atlantic.net/?&Action=${action}&Format=${format}&Version=${version}&ACSAccessKeyId=${ACCESS_KEY}&Timestamp=${time_since_epoch}&Rndguid=${random_guid}&Signature=${signature}"

# Execute the command via curl:
curl "${url}"
The anc-api-tools handle the job of making the secure requests for you.

Please see the Introduction section above for configuration instructions. 

All requests are required to include a signature computed using a base 64 encoded, SHA256 encrypted hash generated from the request timestamp and a random GUID. The encryption needs to be done using your API private key.

We receive the signature with your request and run a similar operation at our end on the timestamp and the random GUID you sent us. This lets us verify that that you are the account holder sending the request and that the request is not a replay attack.

The API can only be accessed over the secure HTTPS protocol.

Locations

List Locations

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=list-locations \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-list-locations | python -m json.tool

RESPONSE

{
    "Timestamp": 1514544343,
    "list-locationsresponse": {
        "KeysSet": {
            "1item": {
                "description": "USA-Central-1 (Dallas, TX)",
                "info_message": null,
                "is_active": "N",
                "location_code": "USCENTRAL1",
                "location_name": "USA-Central-1"
            },
            "2item": {
                "description": "Canada-East-1 (Toronto, ON)",
                "info_message": null,
                "is_active": "N",
                "location_code": "CAEAST1",
                "location_name": "Canada-East-1"
            }
            ...
        },
        "requestid": "eb5f0a3b-be7d-4445-9c07-6b4e4b46ec84"
    }
}

This method will list available Cloud locations.

URL

https://cloudapi.atlantic.net/?Action=list-locations

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section

Error Messages

Code Message
NA NA

Cloud Servers

Run Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=run-instance \
-d planname=G2.4GB \
-d imageid=ubuntu-14.04_64bit \
-d server_qty=1 \
-d servername=apitestserver \
-d vm_location=USEAST2 \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440018102 \
-d Rndguid=6396399d-cb7d-446a-91c6-1334d0f939d8 \
-d Signature=jWVpW3rV0oxclj116wOcg77km5NiXVFN%2FW7QX6vnUtc%3D \
 | python -m json.tool
anc-run-instance PlanName=G2.4GB ImageId=ubuntu-14.04_64bit ServerName=apitestserver Format=json vm_location=USEAST2 ServerQty=1 | python -m json.tool

RESPONSE

{
    "Timestamp": 1440018190,
    "run-instanceresponse": {
        "instancesSet": {
            "item": {
                "instanceid": "153979",
                "ip_address": "45.58.35.251",
                "password": "8q%Q6KaQ",
                "username": "root"
            }
        },
        "requestid": "6396399d-cb7d-446a-91c6-1334d0f939d8"
    }
}

This method enables you to create new Cloud Servers by specifying a flexible set of configuration parameters.

URL

https://cloudapi.atlantic.net/?Action=run-instance

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
servername Required String This input is used to create the hostname for the server and also server description field that is returned with a call to Describe Cloud Server Instance. If the value of argument serverqty is greater than 1, the servers will have hostnames like 1, 2, and so on.
imageid Required String The identification string of the system image you wish to use to create the new Cloud Server. Please note that you have to supply either this input or the cloneimage input, but not both. E.g. ubuntu-14.04_64bit
planname Required String Plan type for the Cloud Server. (e.g. G2.4GB indicates large server)
vm_location Required String Determines the physical location where your server is created. Valid values can be determined by referencing the location_code values as returned by the list-locations method.
enablebackup String Enables backup for the server if set to Y. If set to N, backups will not be enabled for the server. Valid values are Y or N.
cloneimage String The name of the image you wish you use as a clone to create your new server(s). E.g. 503408-243434345. This name can be obtained by calling list-instance and selecting the value of parameter vm_name. Please note this server that you would be choosing as a clone template would need to be “clonable”. Please contact us if you wish to have a particular Cloud Server made “cloneable”
serverqty Int The number of servers you wish to create. Please make sure that this value is less than the maximum number of servers you are allowed to create less any current Cloud Servers you have. serverqty defaults to a value of 1
term String The term you wish wish to select for your server(s). Valid values are on-demand, 1-year, 3-year. term defaults to a value of on-demand. Note that if you select a 1-year or 3-year term you may receive a discount as specified on our website and you will not be able to remove your server until the term has ended.
key_id String The ID of the SSH Key you wish to embed in your new server(s). E.g. yt9p4y64f7dem3e. This ID can be obtained by calling list-sshkeys and selecting the value of parameter key_id.

Error Messages

Code Message
E0009 Cloud Server name was not supplied
E0015 You specified an invalid image as the clone source for the new server(s). You possibly do not have access to the image you are attempting to clone.
E0010 You have already provisioned the maximum number of servers allowed for your account. If you require the ability to provision more Cloud Servers, please contact support to have the limit raised.
E0011 The number of servers you requested will push you above the maximum number of servers allowed for your account. If you require the ability to provision more Cloud Servers, please contact support to have the limit raised.
E0012 Operating System image identified or clone image identifier for the Cloud Server not supplied.
E0013 Plan size for the Cloud Server not supplied.
E0014 Your server could not be created. Please try again later.

List Instances

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=list-instances \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440018676 \
-d Rndguid=c2a1bc2a-4440-438a-bd28-74dbc10a4047 \
-d Signature=56g5DFceDKejz6ULDh%2BCk1iIyecDsR8IKIn7S4LyQuI%3D \
 | python -m json.tool
anc-list-instances Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1440018626,
    "list-instancesresponse": {
        "instancesSet": {
            "1item": {
                "InstanceId": "145607",
                "cu_id": "17",
                "rate_per_hr": "0.0341",
                "vm_cpu_req": "1",
                "vm_created_date": "1438048503",
                "vm_description": "New",
                "vm_disk_req": "40",
                "vm_image": "CentOS-7.1-cPanel_64bit",
                "vm_image_display_name": "CentOS 6.5 64bit Server - cPanel/WHM",
                "vm_ip_address": "209.208.65.177",
                "vm_name": "17-145607",
                "vm_network_req": "1",
                "vm_os_architecture": "64",
                "vm_plan_name": "G2.1GB",
                "vm_ram_req": "1024",
                "vm_status": "RUNNING"
            },
            "item": {
                "InstanceId": "153979",
                "cu_id": "17",
                "rate_per_hr": "0.0547",
                "vm_cpu_req": "2",
                "vm_created_date": "1440018294",
                "vm_description": "apitestserver",
                "vm_disk_req": "100",
                "vm_image": "ubuntu-14.04_64bit",
                "vm_image_display_name": "ubuntu-14.04_64bit",
                "vm_ip_address": "45.58.35.251",
                "vm_name": "17-153979",
                "vm_network_req": "1",
                "vm_os_architecture": "64",
                "vm_plan_name": "G2.4GB",
                "vm_ram_req": "4096",
                "vm_status": "RUNNING"
            }
        },
        "requestid": "c2a1bc2a-4440-438a-bd28-74dbc10a4047"
    }
}

This method enables the client to retrieve the list of currently active cloud servers.

URL

https://cloudapi.atlantic.net/?Action=list-instances

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section

Error Messages

There are currently no specific error messages for this method

Describe Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=describe-instance \
-d instanceid=153979 \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440020031 \
-d Rndguid=3affbe87-ad45-41de-a1d2-29b522aa88b2 \
-d Signature=jZ40oz73csnmNuSrV%2BoRZXc0PUhChV8bElegHJE%2Fa9U%3D \
 | python -m json.tool
anc-describe-instance Format=json InstanceId=153979 | python -m json.tool

RESPONSE

{
    "Timestamp": 1440020019,
    "describe-instanceresponse": {
        "instanceSet": {
            "item": {
                "InstanceId": "153979",
                "cloned_from": "",
                "cu_id": "17",
                "disallow_deletion": "N",
                "rate_per_hr": "0.0547",
                "removed": "N",
                "reprovisioning_processed_date": null,
                "resetpwd_processed_date": null,
                "vm_cpu_req": "2",
                "vm_created_date": "1440018294",
                "vm_description": "apitestserver",
                "vm_disk_req": "100",
                "vm_id": "153979",
                "vm_image": "ubuntu-14.04_64bit",
                "vm_image_display_name": "ubuntu-14.04_64bit",
                "vm_ip_address": "45.58.35.251",
                "vm_ip_gateway": "45.58.34.1",
                "vm_ip_subnet": "255.255.254.0",
                "vm_network_req": "1",
                "vm_os_architecture": "64",
                "vm_plan_name": "G2.4GB",
                "vm_ram_req": "4096",
                "vm_removed_date": null,
                "vm_status": "RUNNING",
                "vm_username": "root",
            }
        },
        "requestid": "3affbe87-ad45-41de-a1d2-29b522aa88b2"
    }
}

This method enables the you to retrieve the details of a specific Cloud Server.

URL

https://cloudapi.atlantic.net/?Action=describe-instance

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to retrieve the details for. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId

Possible server statuses that can be returned by the API

Below is a list of possible server statuses as displayed in the returned vm_status field

Note: This list is subject to change as the API evolves.

Error Messages

Code Message
E0016 You do not have access to perform actions on that server. Expected when you do not own the Cloud Server indicated by the instanceid input or the the Cloud Server in question has been removed.
E0022 Cloud server Instance Id not supplied. Expected when you do not supply the required instanceid parameter and/or value

Reboot Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=reboot-instance \
-d instanceid=153979 \
-d reboottype=soft \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440171938 \
-d Rndguid=6723430f-c416-46de-a03d-2d2ea38d3af7 \
-d Signature=FiwhankM2nZZmu5WVnOOy225lSrLOgsiRc1RLBxcGcw%3D \
 | python -m json.tool
anc-reboot-instance Format=json InstanceId=153979 reboottype=soft | python -m json.tool

RESPONSE

{
    "Timestamp": 1440171938,
    "reboot-instanceresponse": {
        "requestid": "6723430f-c416-46de-a03d-2d2ea38d3af7",
        "return": {
            "Message": "Successfully queued for  reboot",
            "value": "true"
        }
    }
}

This method enables the you to restart a specific cloud server or multiple cloud servers at one time.

URL

https://cloudapi.atlantic.net/?Action=reboot-instance

Input Parameters

Name Version Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to reboot. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId.
reboottype String This input lets you specify how you wish you server to be restarted. Possible values are hard or soft. A value of soft indicates that the server will be gracefully shut down, allowing each server process to finish. A value of hard indicates that the server will be restarted forcibly which is the equivalent of disconnecting the power and reconnecting it back. Choose hard restart if you wish to reboot the server when is stuck or not responding. If RebootType is not supplied, the request will default to a soft reboot.

Error Messages

Code Message Explanation
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0022 Cloud server Instance Id not supplied. Expected when you do not supply the required input for instanceid

Shutdown Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=shutdown-instance \
-d instanceid=153979 \
-d shutdowntype=soft \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440171938 \
-d Rndguid=6723430f-c416-46de-a03d-2d2ea38d3af7 \
-d Signature=FiwhankM2nZZmu5WVnOOy225lSrLOgsiRc1RLBxcGcw%3D \
 | python -m json.tool
anc-shutdown-instance Format=json InstanceId=153979 shutdowntype=soft | python -m json.tool

RESPONSE

{
    "Timestamp": 1514557485,
    "shutdown-instanceresponse": {
        "instancesSet": {
            "item": {
                "InstanceId": "153979",
                "Message": "Successfully queued for shutdown",
                "value": "true"
            }
        },
        "requestid": "ac077672-10f6-4036-94db-be218ef9c5d1"
    }
}

This method enables the you to shutdown a specific cloud server or multiple cloud servers at one time.

URL

https://cloudapi.atlantic.net/?Action=shutdown-instance

Input Parameters

Name Version Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to shutdown. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId.
shutdowntype String This input lets you specify how you wish you server to be shutdown. Possible values are hard or soft. A value of soft indicates that the server will be gracefully shut down, allowing each server process to finish. A value of hard indicates that the server will be shutdown forcibly which is the equivalent of disconnecting the power and reconnecting it back. Choose hard shutdown if you wish to shutdown the server when is stuck or not responding. If shutdowntype is not supplied, the request will default to a soft shutdown. You can chain instanceid by specifying them like instanceid_1=86&instanceid_2=87. This will let you shutdown multiple servers at once.

Error Messages

Code Message Explanation
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0018 This request expects atleast one instance id to be supplied. Please supply atleast one instance id. Expected when you do not supply the required input instanceid
E0032 You cannot perform the requested action on a managed server. Please contact support for assistance.

Power On Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=power-on-instance \
-d instanceid=153979 \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440171938 \
-d Rndguid=6723430f-c416-46de-a03d-2d2ea38d3af7 \
-d Signature=FiwhankM2nZZmu5WVnOOy225lSrLOgsiRc1RLBxcGcw%3D \
 | python -m json.tool
anc-power-on-instance Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1514557783,
    "power-on-instanceresponse": {
        "instancesSet": {
            "item": {
                "InstanceId": "153979",
                "Message": "Successfully queued for powering up",
                "value": "true"
            }
        },
        "requestid": "217efb6f-6ded-4771-87ee-cae1432fd2e7"
    }
}

This method enables the you to power on a specific cloud server or multiple cloud servers at one time.

URL

https://cloudapi.atlantic.net/?Action=power-on-instance

Input Parameters

Name Version Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to power on. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId. You can chain instanceid by specifying them like instanceid_1=86&instanceid_2=87. This will let you power on multiple servers at once.

Error Messages

Code Message Explanation
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0018 This request expects atleast one instance id to be supplied. Please supply atleast one instance id. Expected when you do not supply the required input instanceid
E0032 You cannot perform the requested action on a managed server. Please contact support for assistance.

Resize Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=resize-instance \
-d instanceid=153979 \
-d planname=G2.8GB \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440171938 \
-d Rndguid=6723430f-c416-46de-a03d-2d2ea38d3af7 \
-d Signature=FiwhankM2nZZmu5WVnOOy225lSrLOgsiRc1RLBxcGcw%3D \
 | python -m json.tool
anc-resize-instance instanceid=153979 planname=G2.8GB Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1514549574,
    "resize-instanceresponse": {
        "requestid": "4d7a10d3-88a4-4391-92c4-0e670706a66f",
        "return": {
            "1instance": {
                "Message": "Successfully queued for resize.",
                "instanceid": "153979",
                "value": "true",
                "vm_status": "RESIZINGSERVER"
            }
        }
    }
}

This method enables the you to resize a Cloud Server to a larger plan size.

URL

https://cloudapi.atlantic.net/?Action=resize-instance

Input Parameters

Name Version Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to resize. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId.
planname Required String Plan type for the Cloud Server. (e.g. G2.8GB). The plan must be a plan with a larger amount of disk space than the current plan of the Cloud Server. The available plans can be obtained by calling Describe Plans.

Error Messages

Code Message Explanation
E0005 Action requested is not valid
E0013 Plan size for the Cloud Server not supplied.
E0014 Your server could not be created. Please try again later.
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0018 This request expects atleast one instance id to be supplied. Please supply atleast one instance id. Expected when you do not supply the required input instanceid
E0022 Cloud server Instance Id not supplied.
E0030 You have chosen a plan that is currently unavailable. Please choose a different plan.
E0031 You account status does not allow provisioning larger plan servers. To unlock these larger plans, please contact support.
E0032 You cannot perform the requested action on a managed server. Please contact support for assistance.
E0060 You can not resize your server to a plan with smaller disk size. Please choose a different plan.

Reprovision Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=reprovision-instance \
-d instanceid=153979 \
-d planname=G2.8GB \
-d imageid=Windows-2016-Datacenter_64bit \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440171938 \
-d Rndguid=6723430f-c416-46de-a03d-2d2ea38d3af7 \
-d Signature=FiwhankM2nZZmu5WVnOOy225lSrLOgsiRc1RLBxcGcw%3D \
 | python -m json.tool
anc-reprovision-instance instanceid=153979 planname=G2.8GB imageid=Windows-2016-Datacenter_64bit Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1514549390,
    "reprovision-instanceresponse": {
        "requestid": "4836bba3-66ae-4280-892c-d4b1ea779def",
        "return": {
            "1instance": {
                "Message": "Your server has been queued for reprovisioning and will be re-provisioned shortly.",
                "instanceid": "153979",
                "value": "true",
                "vm_status": "REPROVISIONING"
            },
            "1item": {
                "password": "Pw3SUjnwz27Oqva4",
                "username": "Administrator"
            }
        }
    }
}

This method enables the you to reprovision (rebuild) a Cloud Server with the same or different specifications.

URL

https://cloudapi.atlantic.net/?Action=reprovision-instance

Input Parameters

Name Version Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you are trying to reprovision. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId.
planname Required String Plan type for the Cloud Server. (e.g. G2.8GB). The available plans can be obtained by calling Describe Plans.
imageid Required String The identification string of the system image you wish to use to create the new Cloud Server. The available images can be obtained by calling Describe Image.

Error Messages

Code Message Explanation
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0022 Cloud server Instance Id not supplied.
E0028 The combination of operating system image and the plan name you requested is either misspelled or not currently being offered. Please call the describe-image and describe-plan methods to get a listing of available operating system images and plans. As an example, Please note that if a plan reads centos_capable=N, it means that CentOS is not available in that plan size.
E0029 You have reached the server limit for this plan. Please choose a different plan.
E0030 You have chosen a plan that is currently unavailable. Please choose a different plan.
E0031 You account status does not allow provisioning larger plan servers. To unlock these larger plans, please contact support.
E0032 You cannot perform the requested action on a managed server. Please contact support for assistance.
E0035 This plan is temporarily unavailable. Please choose a different plan.
E0057 You cannot reduce the contract term for your server. Please keep the contract term the same or choose a higher term.
E0058 You can reprovision your server to a lower rate plan only if you agree to a contract term greater than your current term. Please upgrade to a higher term if you wish to choose a lower rate plan.
E0059 You server could not be reprovisioned. Please try again later.

Terminate Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=terminate-instance \
-d instanceid=154809 \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1440175806 \
-d Rndguid=4dec8ab5-29e7-48f3-934e-e4bc3101de80 \
-d Signature=IuyuNcRWaw4ciaHQc7dsX8JdNZ2FPH5A5eBhFiDlP60%3D \
 | python -m json.tool
anc-terminate-instance Format=json InstanceId=154809 | python -m json.tool

RESPONSE

{
    "Timestamp": 1440175812,
    "terminate-instanceresponse": {
        "instancesSet": {
            "item": {
                "InstanceId": "154809",
                "message": "queued for termination",
                "result": "true"
            }
        },
        "requestid": "4dec8ab5-29e7-48f3-934e-e4bc3101de80"
    }
}

This method enables the you to remove a specific cloud server or multiple cloud servers at one time.

URL

https://cloudapi.atlantic.net/?Action=terminate-instance

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
instanceid Required Int The server id of the Cloud Server you want to remove. This information can be obtained by calling List Instances and choosing the desired value based on the field InstanceId. You can chain instanceid by specifying them like instanceid_1=86&instanceid_2=87. This will let you remove multiple servers at once.

Error Messages

Code Message Explanation
E0016 You do not have access to perform actions on that server. Expected when you do not own the cloud server indicated by the instanceid input or the the cloud server in question has been removed.
E0018 This request expects atleast one instance id to be supplied. Please supply atleast one instance id. Expected when you do not supply the required input instanceid

Images

Describe Image

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=describe-image \
-d imageid=ubuntu-14.04_64bit \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439933642 \
-d Rndguid=eb221f31-d023-452d-a7e9-9614fc575a9d \
-d Signature=A%2B8vMSB6fEri5v%2B%2BSeSPxkU1FOnvSFDv09HeGQPKNhQ%3D \
 | python -m json.tool
anc-describe-image Format=json imageid=ubuntu-14.04_64bit | python -m json.tool

RESPONSE

{
    "Timestamp": 1439933643,
    "describe-imageresponse": {
        "imagesset": {
            "1item": {
                "architecture": "x86_64",
                "displayname": "Ubuntu 14.04 LTS Server 64-Bit",
                "image_type": "os",
                "imageid": "ubuntu-14.04_64bit",
                "ostype": "linux",
                "owner": "atlantic",
                "platform": "linux",
                "version": "14.04 LTS"
            }
        },
        "requestid": "eb221f31-d023-452d-a7e9-9614fc575a9d"
    }
}

This method enables the client to retrieve the description of all available cloud images or the description of a specific cloud image by providing the image id (e.g. ubuntu-14.04_64bit)

URL

https://cloudapi.atlantic.net/?Action=describe-image

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
imageid String Indicates flavor and version number of the operating system image e.g. ubuntu-14.04_64bit

Error Messages

Code Message Explanation
E0021 No such image. Expected when you specify an incorrect or invalid value for the optional imageid argument.

Plans

Describe Plan

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=describe-plan \
-d plan_name=G2.8GB \
-d platform=linux \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-describe-plan plan_name=G2.8GB platform=linux Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1514544259,
    "describe-planresponse": {
        "plans": {
            "1item": {
                "centos_capable": "Y",
                "cpanel_capable": "Y",
                "display_disk": "160GB",
                "display_ram": "8GB",
                "free_transfer": "6144GB",
                "num_cpu": "4",
                "ostype": "linux",
                "plan_locked": "N",
                "plan_name": "G2.8GB",
                "plan_type": "General Purpose",
                "platform": "linux",
                "rate_per_hr": "0.119048",
                "rate_per_hr_1y": "0.110119",
                "rate_per_hr_3y": "0.10119",
                "windows_capable": "Y"
            }
        },
        "requestid": "8990facb-6e27-4f6b-8ec8-713c46d0e81e"
    }
}

This method enables the client to retrieve a list of available cloud server plans, narrow the listing down optionally by server platform (Windows, Linux, etc ), or get information about just one specific plan (e.g. L which represents the large plan)

URL

https://cloudapi.atlantic.net/?Action=describe-plan

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
plan_name String e.g. G2.8GB A list of all avaiable plans can be obatined by calling describe plan without specifying a specific plan or platform.
platform String e.g. linux, windows

Error Messages

Code Message
E0019 Please specify both the plan name and the platform argument.

SSH Keys

List SSH Keys

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=list-sshkeys \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-list-sshkeys Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1457105502,
    "list-sshkeysresponse": {
        "KeysSet": {
            "item": {
                "key_id": "yt9p4y64f7dem3e",
                "key_name": "My Public SSH Key",
                "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAsdfAn4sozeeBHWCv6B/tkTcUFz47fg48FgasdfasdfJNp4T5Fyq+3/6BA6fdZoI9skdudkfy3n6IUxHr5fwIUD0tn7QNsn5jp9rpjVRuXqoHUP3OYh6ZSlPBnsVmRNOI2ZWiBqMCIsWaeUkenVfnmvLZ/eMVwoKiDhakHs1dvaB8X4kEc7DnXKDZEyy0hAb+Eei8ppUqs9uMq+utXLEMCk0cPMTtqMialvk1pnz2lMuVPw1HGNRh2mjyGI7+6DoPCHaYurDQMXcyfF+05pSpBZCQAVJWvZFzivGfzUOAc4bgFBLznECQ== [email protected]"
            }
        },
        "requestid": "acea7888-a756-4ea1-b9db-6d2267673247"
    }
}

This method enables the client to retrieve the details of all SSH Keys that they have added to their account. The client can then specify an SSH Key to embed into their Cloud Server at the time of creation.

URL

https://cloudapi.atlantic.net/?Action=list-sshkeys

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section

Error Messages

Code Message Explanation
NA NA NA

Add SSH Key

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=add-sshkey \
-d key_name=workstation-206 \
-d public_key='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAsdfAn4sozeeBHWCv6B/tkTcUFz47fg48FgasdfasdfJNp4T5Fyq+3/6BA6fdZoI9skdudkfy3n6IUxHr5fwIUD0tn7QNsn5jp9rpjVRuXqoHUP3OYh6ZSlPBnsVmRNOI2ZWiBqMCIsWaeUkenVfnmvLZ/eMVwoKiDhakHs1dvaB8X4kEc7DnXKDZEyy0hAb+Eei8ppUqs9uMq+utXLEMCk0cPMTtqMialvk1pnz2lMuVPw1HGNRh2mjyGI7+6DoPCHaYurDQMXcyfF+05pSpBZCQAVJWvZFzivGfzUOAc4bgFBLznECQ== [email protected]' \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-add-sshkey key_name=workstation-206 public_key='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAsdfAn4sozeeBHWCv6B/tkTcUFz47fg48FgasdfasdfJNp4T5Fyq+3/6BA6fdZoI9skdudkfy3n6IUxHr5fwIUD0tn7QNsn5jp9rpjVRuXqoHUP3OYh6ZSlPBnsVmRNOI2ZWiBqMCIsWaeUkenVfnmvLZ/eMVwoKiDhakHs1dvaB8X4kEc7DnXKDZEyy0hAb+Eei8ppUqs9uMq+utXLEMCk0cPMTtqMialvk1pnz2lMuVPw1HGNRh2mjyGI7+6DoPCHaYurDQMXcyfF+05pSpBZCQAVJWvZFzivGfzUOAc4bgFBLznECQ== [email protected]' | python -m json.tool

RESPONSE

{
    "Timestamp": 1514496340,
    "add-sshkeyresponse": {
        "requestid": "94e0cfa1-726e-442a-b62e-472bc09099c1",
        "result": {
            "key_id": "nf1pu3gah",
            "message": "SSH key has been successfully added.",
            "result": "true"
        }
    }
}

This method enables the client to add a SSH Key to their account. The client can then specify an SSH Key to embed into their Cloud Server at the time of creation.

URL

https://cloudapi.atlantic.net/?Action=add-sshkey

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
key_name Required String The name you wish to give the SSH key.
public_key Required String The contents of the public portion of your SSH Key. The value should be enclosed in single quotes.

Error Messages

Code Message
E0040 Please provide a name for the key.
E0041 Please supply the contents of the SSH public key.
E0042 Invalid SSH Key, please format your key as follows: key-type key comment
E0043 Your key does not seem to be valid, please re-enter your key. If you feel you are receiving this message in error, please contact support for assistance.
E0044 Invalid SSH key type, we currently support ssh-rsa, ssh-dss, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521.
E0045 The supplied SSH key has the comment section which contains disallowed characters. Allowed characters in the comment section are: A-Z, a-z, 0-9, -.+/[email protected]
E0046 SSH key could not be added. We will look into this problem. Please try again later.

Delete SSH Key

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=delete-sshkey \
-d key_id=nf1pu3gah \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-delete-sshkey key_id=nf1pu3gah | python -m json.tool

RESPONSE

{
    "Timestamp": 1514496504, 
    "delete-sshkeyresponse": {
        "delete-sshkey": {
            "item": {
                "key_id": "nf1pu3gah", 
                "message": "SSH key has been queued for deletion", 
                "result": "true"
            }
        }, 
        "requestid": "1068a041-d1ea-4f0d-b761-6eb0c5c0eb63"
    }
}

This method enables the client to delete SSH Keys from their account.

URL

https://cloudapi.atlantic.net/?Action=delete-sshkey

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
key_id Required String The ID of the SSH Key you wish to delete. ie: nf1pu3gah. This ID can be obtained by calling list-sshkeys and selecting the value of parameter key_id. Multiple key_ids should be comma separated with no spaces.

Error Messages

Code Message
E0052 SSH key ID not supplied. Please supply a valid SSH key ID.
E0053 One or more SSH key IDs you have supplied do not belong to your account. Please check the SSH key IDs you have supplied.

Public IP Addresses

List Public IPs

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=list-public-ips \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-list-public-ips | python -m json.tool

RESPONSE

{
    "Timestamp": 1514497012, 
    "list-public-ipsresponse": {
        "KeysSet": {
            "item": {
                "instanceid": "", 
                "ip_address": "209.26.48.50", 
                "ip_gateway": "209.26.48.1", 
                "ip_location": "USEAST1", 
                "ip_subnet": "255.255.252.0"
            }
        }, 
        "requestid": "842c46a8-ae21-4168-beec-937980e7fe87"
    }
}

This method will retreive details of the additional public IP addresses you have reserved on your account. The client can then assign the public IP to a Cloud Server.

URL

https://cloudapi.atlantic.net/?Action=list-public-ips

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
location String Allows for limiting the results to a specified location. Valid values can be determined by referencing the location_code values as returned by the list-locations method.
ip_address String Allows for limiting the results to a specified pubic IP address.

Error Messages

Code Message
NA NA

Reserve Public IP

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=reserve-public-ip \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
-d location=USEAST1 \
-d qty=1 \
 | python -m json.tool
anc-reserve-public-ip location=USEAST1 qty=1 | python -m json.tool

RESPONSE

{
    "Timestamp": 1514497351, 
    "reserve-public-ipresponse": {
        "requestid": "5cc4f630-6bbd-4d0f-a385-68d01e0fa178", 
        "reserve-ip": {
            "item": {
                "ip_address": "209.26.48.97", 
                "ip_dns1": "209.208.127.65", 
                "ip_dns2": "209.208.25.18", 
                "ip_gateway": "209.26.48.1", 
                "ip_location": "USEAST1", 
                "ip_subnet": "255.255.252.0", 
                "message": "IP address has been reserved.", 
                "result": "true"
            }
        }
    }
}

This method will reserve one or more additional public IP addresses for use in a specified location. The client can then assign a reserved public IP to a Cloud Server.

URL

https://cloudapi.atlantic.net/?Action=reserve-public-ip

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
location Required String The location where you wish to reserve the IP. Valid values can be determined by referencing the location_code values as returned by the list-locations method.
qty String The quantity of additional Public IPs you would like to reserve.

Error Messages

Code Message
E0033 You have specified an incorrect location code. Please specify the correct code for the location or contact support for assistance.
E0034 You have requested a location that is currently not active. Please specify another location or contact support for assistance.
E0039 You have reserved the maximum number of ip addresses allowed for your account. If you require the ability to reserve more ip addresses, please contact support to have the limit raised.
E0050 You cannot reserve more than 50 IP addresses at a time. Please specify the argument qty to be a number between 1 and 50.
E0051 Allotting the IP addresses per your request will put your account over the maximum number of IP addresses allowed. Please set the argument qty which denotes the quantity of IP addresses requested to a lower amount. If you require additional IP addresses beyond your limit, please contact support to have your IP address limit increased.
E0056 Location not specified. Please supply a location.

Release Public IP

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=release-public-ip \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
-d ip_address=209.26.48.97 \
 | python -m json.tool
anc-release-public-ip ip_address=209.26.48.97 | python -m json.tool

RESPONSE

{
    "Timestamp": 1514500969,
    "release-public-ipresponse": {
        "release-ip": {
            "item": {
                "ip_address": "209.26.48.97",
                "message": "IP address has been queued for release",
                "result": "true"
            }
        },
        "requestid": "8ca84423-da96-47da-b4c1-4aa6528e254a"
    }
}

This method will release one or more additional public IP addresses from your account.

URL

https://cloudapi.atlantic.net/?Action=release-public-ip

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
ip_address Required String The IP address you wish to release from your account. You can supply multiple IP addresses separated by a comma with no spaces.

Error Messages

Code Message
E0047 IP address not supplied. You can supply multiple IP addresses separated by a comma with no spaces.
E0048 IP address supplied is not valid or incorrectly formatted. Please supply a valid IP address.
E0049 One or more IP addresses you have supplied do not belong to your account. Please check the IP addresses you have supplied.

Assign Public IP

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=assign-public-ip \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
-d ip_address=209.26.48.97 \
-d instanceid=4946376438 \
 | python -m json.tool
anc-assign-public-ip ip_address=209.26.48.97 | python -m json.tool

RESPONSE

{
    "Timestamp": 1514500080,
    "assign-public-ipresponse": {
        "assign-ip": {
            "item": {
                "instanceid": 4946376438,
                "ip_address": "209.26.48.97",
                "message": "IP address has been queued for assignment to the supplied cloud server instance",
                "result": "true"
            }
        },
        "requestid": "2d6f1201-21cb-4a96-83d3-ed3154f19cb6"
    }
}

This method will assign one or more public IP addresses to a Cloud Server.

URL

https://cloudapi.atlantic.net/?Action=assign-public-ip

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
ip_address Required String The IP address you wish to release from your account. You can supply multiple IP addresses separated by a comma with no spaces.
instanceid Required String The instanceid of the Cloud Server you wish to assign the IP address to.

Error Messages

Code Message
E0016 You do not have access to perform actions on that server.
E0022 Cloud server Instance Id not supplied.
E0047 IP address not supplied. You can supply multiple IP addresses separated by a comma with no spaces.
E0048 IP address supplied is not valid or incorrectly formatted. Please supply a valid IP address.
E0049 One or more IP addresses you have supplied do not belong to your account. Please check the IP addresses you have supplied.
E0054 IP addresses cannot be assigned to the server instance supplied because the location of the IP address differs from the location of the server instance. For correct assignment, IP address must be in the same location as the cloud server instance.

Unassign Public IP

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=unassign-public-ip \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
-d ip_address=209.26.48.97 \
 | python -m json.tool
anc-unassign-public-ip ip_address=209.26.48.97 | python -m json.tool

RESPONSE

{
    "Timestamp": 1514500203,
    "unassign-public-ipresponse": {
        "requestid": "95e02f99-6dfb-4fb7-95fd-a41207d57b05",
        "unassign-ip": {
            "item": {
                "ip_address": "209.26.48.97",
                "message": "IP address has been queued for un-assignment",
                "result": "true"
            }
        }
    }
}

This method will unassign one or more public IP addresses from a Cloud Server.

URL

https://cloudapi.atlantic.net/?Action=unassign-public-ip

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section
ip_address Required String The IP address you wish to release from your account. You can supply multiple IP addresses separated by a comma with no spaces.

Error Messages

Code Message
E0047 IP address not supplied. You can supply multiple IP addresses separated by a comma with no spaces.
E0048 IP address supplied is not valid or incorrectly formatted. Please supply a valid IP address.
E0049 One or more IP addresses you have supplied do not belong to your account. Please check the IP addresses you have supplied.
E0055 IP addresses supplied is not currently assigned to a cloud server instance.

Private Networks

List Private Networks

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=list-private-networks \
-d Format=json \
-d Version=2010-12-30 \
-d ACSAccessKeyId=Atl8adf4202f9e44vcha2af611f42f84a08 \
-d Timestamp=1439932369 \
-d Rndguid=4aae48ae-af7b-4bbd-9309-58aadbfd02d3 \
-d Signature=pwWWp%2FqEBFNMoMljTmdRs2EukocCdwKw%2BbJMhQ4uZOE%3D \
 | python -m json.tool
anc-list-private-networks | python -m json.tool

RESPONSE

{
    "Timestamp": 1514501073,
    "list-private-networksresponse": {
        "KeysSet": {
            "1item": {
                "ip_range": "10.10.200.1 - 10.10.200.254",
                "network": "10.10.200.0",
                "prefix": "24"
            }
        },
        "requestid": "4f7aa544-117e-4ec2-a510-0ad9315f0d5b"
    }
}

This method will list the private network ranges assigned to your account.

URL

https://cloudapi.atlantic.net/?Action=list-private-networks

Input Parameters

Name Type Description
Version Required String Version of the API (current is 2010-12-30)
ACSAccessKeyId Required String Your API Key
Format Required String The format you need the response to be in. Possible values: json, xml
Timestamp Required Int The current time on your server posted in the unix seconds since epoch format.
Rndguid Required String A randomly generated sequence of characters.
Signature Required String This input is a base 64 encoded, hash of the Timestamp and Rndguid using the SHA256 implementation as described in Making Secure Requests section

Error Messages

Code Message
NA NA