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_2016-03-04.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.

Cloud Servers

Run Instance

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=run-instance \
-d planname=L \
-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=L 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. L indicates large server)
vm_location Required String Determines the physical location where your server is created. Valid values are USEAST1, USEAST2, USCENTRAL1, USWEST1, CAEAST1, EUWEST1. USEAST1 is Orlando, FL; USEAST2 is New York City, NY; USCENTRAL1 is Dallas, TX; USWEST1 is San Francisco, CA; CAEAST1 is Toronto, ON; EUWEST1 is London, UK.
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
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_bandwidth": "600",
                "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": "S",
                "vm_ram_req": "1024",
                "vm_status": "RUNNING"
            },
            "item": {
                "InstanceId": "153979",
                "cu_id": "17",
                "rate_per_hr": "0.0547",
                "vm_bandwidth": "600",
                "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": "L",
                "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_bandwidth": "600",
                "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": "L",
                "vm_ram_req": "4096",
                "vm_removed_date": null,
                "vm_status": "RUNNING",
                "vm_username": "root",
                "vm_vnc_password": "8$EOs$Rs",
                "vnc_port": "18248"
            }
        },
        "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

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 Plans

EXAMPLE

curl https://cloudapi.atlantic.net/?Action=describe-plan \
-d plan_name=L \
-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=L platform=linux Format=json | python -m json.tool

RESPONSE

{
    "Timestamp": 1439932362,
    "describe-planresponse": {
        "plans": {
            "1item": {
                "bandwidth": 600,
                "centos_capable": "Y",
                "cpanel_capable": "Y",
                "disk": "100",
                "display_bandwidth": "600Mbits",
                "display_disk": "100GB",
                "display_ram": "4GB",
                "free_transfer": "5",
                "num_cpu": "2",
                "ostype": "linux",
                "plan_name": "L",
                "platform": "linux",
                "ram": "4096",
                "rate_per_hr": 0.0547
            }
        },
        "requestid": "4aae48ae-af7b-4bbd-9309-58aadbfd02d3"
    }
}

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. XL indicates extra large server, S indicates small server, etc
platform String e.g. linux, windows

Error Messages

Code Message Explanation
E0019 Please specify both the plan name and the platform argument. Expected when you specify the plan name argument but not 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== user@workstation-206"
            }
        },
        "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