CloudSigma API 1.0

Warning: This is a legacy page. The data might not be accurate anymore.

Deprecated: Please use CloudSigma API 2.0.

CloudSigma Back-end API 1.0 manual

  1. Using the API
  2. Key Information and Command-Line Script
  3. Authentication
  4. Data Formats
  5. Errors
  6. User Accounts Management
  7. Drives Management
  8. Virtual Servers API
  9. Resources API
  10. UI API
  11. Billing API

1. Using the API

API is implemented in a ReST style, using the URL to specify an object and an action, HTTPS GET to read state and HTTPS POST to change state.

Users, drives and servers are identified by UUIDs, which are assigned by our infrastructure and passed as a string in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

2. Key Information and Command-Line Script

The API server addresses are:

  • Zurich: api.zrh.cloudsigma.com
  • Las Vegas: api.lvs.cloudsigma.com

They support https and http protocols however we strongly recommend always using https for security reasons.

You can download our API command-line script which uses the generic Linux command-line script CURL (see http://en.wikipedia.org/wiki/CURL and http://curl.haxx.se/). Simply replace USER_EMAIL and USER_PASSWORD with your CloudSigma username and password.

You can also download our Drive upload script. If you are a Windows user you can download these. Below are a few examples of how to use the command line script.

Getting account drive information:

./cloudsigma  drives list [Enter]
efdeb730-7ed2-485d-8c60-2e23986cc63a
b4da194f-97f1-4d39-a09e-9bc6996195c3
623df5d7-b5dc-408a-a47e-eff523a76b40
f40cab2a-16fc-49c2-949a-ea7dda0c1ed5
3a70a1da-7a4e-43b2-855a-f4c7f329bd10
2d6d99ab-571f-4342-82fc-b8688023c1e7
42284959-7ed7-4aee-bc4a-35e041353f21
7f2a4643-52ca-4ce0-8cd7-36f5d00eebc7
d95cad55-8f3a-48b1-b36e-b85d052b52d4
f5a54833-b1d3-49fb-a6bf-122875749a9e
d7b4baa1-c7f6-4c9c-afc8-c532085c34dc
5c1ff3ec-d0f0-4afa-85c3-58d8838a62ff
5e70b725-438b-464b-bd9b-b8e9ddee2c8c

Creating a drive:

./cloudsigma -c drives create [Enter]
name Test
size  12582912
[Ctrl+D]

Getting single drive information:

./cloudsigma drives  d3a15904-5a2f-4d9e-b12f-f304c361422e info [Enter]
status active
name  Test
read:bytes 4096
user 6339d58e-2c04-4279-acde-dc39fe2c0bc7
drive d3a15904-5a2f-4d9e-b12f-f304c361422e
write:bytes 4096
read:requests  1
type disk
write:requests 1
size  12582912

Getting account server information:

./cloudsigma  servers info [Enter]
status stopped
name Clone
mem 2048
vnc:password duCx9gtY
persistent  true
ide:0:0  5e70b725-438b-464b-bd9b-b8e9ddee2c8c
nic:0:dhcp  auto
vnc:ip auto
server e2819a8d-36b4-4965-a73f-794393d5728b
cpu 2000
ide:0:0:media  disk
user  6339d58e-2c04-4279-acde-dc39fe2c0bc7

Creating a server:

./cloudsigma -c servers create [Enter]
status stopped
name Server2
mem 2048
cpu 2000
[Ctrl+D]

3. Authentication

API calls must use HTTP Basic Authentication, specifying the user’s email as the username and their password. http://en.wikipedia.org/wiki/Basic_access_authentication

4. Data formats

The API is in text/plain mode.
The API sends or receives one of three types of data, according to the call:

  • Single object, key value pairs of properties
  • Multiple objects, list of values
  • Multiple objects, key value pairs of properties for each

5. Errors

Errors are returned with an appropriate HTTP status code and a text description in the HTTP body. The error types are:

HTTP status code Meaning
200 OK Command succeeded, data returned (possibly 0 length)
204 No Content Command succeeded, no data returned (by definition)
400 Bad Request Invalid input data to command
401 Unauthorized HTTP Basic Authentication missing or incorrect
404 Not Found Command, drive, server or other object not found
405 Method Not Allowed GET used on command expecting POST
409 Conflict Drive, server or other resource is busy
500 Internal Server Error Failed command
500 Internal Server Error System error
504 Gateway Timeout Operation timed out

6. User Account Management

6.1 Profile info
6.2 Profile change

6.1 Profile info

GET /profile /info

Key Value Type Required Notes
email EMAIL String Yes Checks for valid email address
first_name FIRST_NAME String Yes
last_name LAST_NAME String Yes
nick_name PUBLIC_NAME String Yes Used in phpBB nick name
title TITLE String No
company COMPANY String No
address ADDRESS String No
postcode POSTCODE String No
phone PHONE String No
currency Billing currency String No Once set cannot be changed
country COUNTRY_CODE String No
language LANGUAGE_CODE String No

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Errors:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

GET  /profile/info

Returns:
    HTTP Code  200
    
    uuid  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
    email foo.bar@example.com
    secret_key  Fvsnn7SFuUa3U3VxvFJfgK7c4FPCFDBc4hevBfmm
    first_name  Foo
    last_name Bar
    nick_name FooBar
    title
    company
    address  here
    postcode 1000
    phone

6.2 Profile change

POST /profile/set

Key Value Type Required Notes
email EMAIL String Yes Checks for valid email address
first_name FIRST_NAME String Yes
last_name LAST_NAME String Yes
nick_name PUBLIC_NAME String Yes Used in phpBB nick name
title TITLE String No
company COMPANY String No
address ADDRESS String No
postcode POSTCODE String No
phone PHONE String No

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: No

Examples:

POST  /profile/set
    first_name

Returns:
    HTTP Code  400
    
    uuid  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
    email foo.bar@example.com
    secret_key  Fvsnn7SFuUa3U3VxvFJfgK7c4FPCFDBc4hevBfmm
    first_name  Foo
    errors:first_name * This field is required.
    last_name  Bar
    nick_name FooBar
    title
    company
    address  here
    postcode 1000
    phone

7. Drives Management

7.1 Drive Create

7.2 Drive Write

7.3 Drive Read

7.4 Drive Clone

7.5 Drive Destroy

7.6 Drive info

7.7 All drives info

7.8 Standard CDs

7.9 Standard images

7.10 All standard drives

7.1 Drive create

POST /drives/create

Key values pairs:

Key Value Type Required Notes
name DRIVE_NAME String Yes Drive name
size DRIVE_SIZE Integer Yes size of drive in bytes
claim:type CLAIM_TYPE String Yes optional, either `exclusive’ (the default) or `shared’
readers UUID_LIST String list Yes optional, space-separated list of users allowed to read from a drive or `ffffffff-ffff-ffff-ffff-ffffffffffff’ for all users
encryption:cipher ENCRYPTION String No optional, either `none’ or `aes-xts-plain’(the default)
tags affinity:ssd String list No optional, either `SSD’ or `HDD’(the default)

Returns:
-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /drives/create
        name TEST_DRIVE
        size 4194304

    Returns:
        status active
        user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
        size 4194304
        name TEST_DRIVE
        drive  210a0b7e-2b71-4bba-8703-195704469a81

7.2 Drive Write

POST /drives/UUID/write[/OFFSET]

Key values pairs:

  • Binary data (Content-Type: application/octet-stream) Supports raw data or Content-Encoding: gzip Does not support Transfer-Encoding: chunked
  • OFFSET is the offset in the target drive at which to start writing, not an offset in the input stream. It is specified in bytes, optionally with a k/M/G/T suffix. Our drive upload tool automatically splits the input file into 4MB chunks and transfers each chunk gzipped. You should do the same for large uploads.

7.3 Drive Read

GET /drives/UUID/read/OFFSET/SIZE

Key values pairs:

  • Binary data (Content-Type: application/octet-stream)
  • OFFSET and SIZE are specified in bytes, optionally with a k/M/G/T suffix. At present, SIZE may not exceed 4MB for a single request. Our drive download tool automatically reads the drive in 4MB chunks. You should do the same for large downloads.

7.4 Drive Clone

POST /drives/UUID/clone

Key values pairs:

Key Value Type Required Notes
name DRIVE_NAME String Yes Drive name
size DRIVE_SIZE Integer Yes size of drive in bytes
claim:type CLAIM_TYPE String Yes optional, either `exclusive’ (the default) or `shared’
readers UUID_LIST String list Yes optional, space-separated list of users allowed to read from a
drive or `ffffffff-ffff-ffff-ffff-ffffffffffff’ for all users
tags affinity:ssd String list No “/drive/UUID of SSD drive/clone name ssd-to-hdd tags” or “/drive/UUID of HDD drive>clonename hdd-to-ssdtags affinity:ssd”

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
BadRequest if drive uuid is not found or the new size is less than the original:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

7.5 Drive Destroy

POST /drives/UUID/destroy

Returns:

-Success:
HTTP Code 204

-Error:
BadRequest if drive uuid is not found or the new size is less than the original:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

7.6 Drive info

GET /drives/UUID/info

Key values pairs:

Key Value Type Required Notes
status active – inactive String Yes
user UUID String Yes
size SIZE Integer No
name NAME String No
drive UUID String No
tags affinity:ssd String list No

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
HTTP Code 400
Error key/value pairs

Requires authorization: Yes

Examples:
        GET  /drives/7e8ab721-81c9-4cb9-a651-4cafbfe1501c/info
        
        Returns:
             HTTP Code 200

            status  active
            user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            size  1073741824
            name gentoo-livecd
            drive  7e8ab721-81c9-4cb9-a651-4cafbfe1501c

7.7 All drives info

GET /drives/info

Key values pairs:

Key Value Type Required Notes
status active – inactive String Yes
user UUID String Yes
size SIZE Integer No
name NAME String No
drive UUID String No
tags affinity:ssd String list No

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
HTTP Code 400
Error key/value pairs

Requires authorization: Yes

Examples:

        GET  /drives/info
        
        Returns:
            HTTP Code  200

            status active
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            size 1073741824
            name  gentoo-livecd
            drive 7e8ab721-81c9-4cb9-a651-4cafbfe1501c

            status  active
            user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            size  5368709120
            name root
            drive  ea6a8fdb-dab3-4d06-86c2-41a5835e6ed9

            status  active
            name root1
            drive  74744450-d338-4087-b3b8-59b505110a57
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            claimed  be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:28644a70-
            9e81-4a3e-85ea-91129f724034:ide:0:0
            size  5368709120

            status active
            name root2
            drive  4ee35c17-243b-43e6-9a5f-b679f3d36e86
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            claimed  be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:b91bd1cd-
            c63b-45ae-9dda-69fc53d74f41:ide:0:0
            size  5368709120

            status active
            name data
            drive  f0026ff4-09d3-4fd0-a5c9-dfe652e01c99
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            claimed  be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:e4d50a5c-
            b516-4993-8d73-c36e7782fbbb:ide:1:0
            size  107374182400

            status active
            name root6
            drive  76018dc4-941c-4bc5-af59-15d391976512
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            size 5368709120

            status  active
            name db2
            drive  8b741c45-45a7-47ec-bad5-21bba738ecdb
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            size 536870912000

            status  active
            name root12
            drive  ad2545e9-b8ed-465a-9da7-57a02507ccc8
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            claimed  be2bcfa3-109d-4bee-8795-d75ce0865dc4:guest:22a53074-
            a098-4e2f-9997-9a8bf055830a:ide:0:0
            size  5368709120

7.8 Standard CDs

GET /drives/standard/cd/list

Returns:

-Success:
HTTP Code 200
list of DRIVE_UUID

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /drives/standard/cd/list

        Returns:
             HTTP Code 200

            a49e25b3-69f4-440b-87a8-d79fa78ace53
            5caa223b-0177-49d8-a287-39865a07e650
            b72f7b9a-69bb-47d1-b87e-de7be0924eea
            9b700743-2890-4d68-b109-66699ceb9491
            267a24ea-899f-48fb-b348-aab24fb246b3
            932ccf77-88ca-40f8-94c6-affe364a4caa
            de2adf14-61b4-430e-9cb6-6e612ee90d88
            c138e42c-2070-41fe-a354-7058870c79b0

7.9 Standard images

GET /drives/standard/img/list

Returns:

-Success:
HTTP Code 200
list of DRIVE_UUID

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /drives/standard/img/list

         Returns:
            HTTP Code  200

            a49e25b3-69f4-440b-87a8-d79fa78ace53
            5caa223b-0177-49d8-a287-39865a07e650
            b72f7b9a-69bb-47d1-b87e-de7be0924eea
            9b700743-2890-4d68-b109-66699ceb9491
            267a24ea-899f-48fb-b348-aab24fb246b3
            932ccf77-88ca-40f8-94c6-affe364a4caa
            de2adf14-61b4-430e-9cb6-6e612ee90d88
            c138e42c-2070-41fe-a354-7058870c79b0

7.10 All standard drives

GET /drives/standard/list

GET /drives/standard/list

Returns:

-Success:
HTTP Code 200
list of DRIVE_UUID

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

8. Virtual servers API

8.1 Servers list

8.2 Server create

8.3 Server clone

8.4 Server destroy

8.5 Multiple servers destroy

8.6 Server info

8.8 Server change

8.9 Server stop

8.10 Server shutdown

8.11 Server start

8.12 Server destroy

8.13 Multiple servers stop

8.14 Multiple servers start

8.1 Servers list

GET /servers/list
GET /guests/list

Returns:

Requires authorization: Yes

Examples:

        GET  /servers/list
        Returns:
             HTTP Code 200

            b91bd1cd-c63b-45ae-9dda-69fc53d74f41
            179f2015-f28b-4537-beab-a5d30d5fd4e2
            e4d50a5c-b516-4993-8d73-c36e7782fbbb
            28644a70-9e81-4a3e-85ea-91129f724034
            bb783ced-d2b4-4003-a66e-87337ea6427e
            a7a1653b-4ba5-4e12-8a45-a46b7230b2cb
            e375ebf5-47ff-45c6-8f69-8ae45aaf95b2
            6140e660-8e10-43f4-8511-1ad2f7d63ffd
            22a53074-a098-4e2f-9997-9a8bf055830a
            55cac183-e6f6-4c41-b2ac-b124336401bd
            b2e644e2-d749-4625-a306-2c8d481a722e
            c041eb14-c511-4734-89db-bb0b0b9db605

8.2 Server create

POST /servers/list
POST /guests/list

Key values pairs:

Key Notes
name Server name.
parent UUID of parent object, if any.
cpu cpu quota in core MHz.
smp number of virtual processors (Minimum granularity is 1GHz per core, Maximum is 2.2GHz per core) or `auto’ to calculate based on cpu.
mem virtual memory size in MB.
ide:BUS[0-1]:UNIT[0-1]
block:INDEX[0-7] Drive UUID to connect as specified device.
ide:BUS[0-1]:UNIT[0-1]:media
block:INDEX[0-7]:media Media type – set to `cdrom’ to simulate a cdrom, set to `disk’ or leave unset to simulate a hard disk.
boot Device to boot, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable.
nic:0:model Create network interface with given type (use `e1000′ as default value; `rtl8139′ or `virtio’ are also available).
nic:0:dhcp The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to `auto’ to allocate a temporary IP at boot.
nic:1:model Create network interface with given type (use `e1000′ as default value; `rtl8139′ or `virtio’ are also available).
nic:1:vlan The VLAN to which the network interface is attached.
nic:1:mac The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the
VLAN.
vnc:ip IP address for overlay VNC access on port 5900. Set to `auto’, to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot.
vnc:password Password for VNC access. If unset, VNC is disabled.
vnc:tls Set to `on’ to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available.

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servers/create
        name Test server
        cpu 1000
        mem 1000
        ide:0:0  6baaa083-534a-4376-8a60-c5488fc99258

    Returns:
        status active
        name Test  server
        tx 0
        mem 1000
        cpu 1000
        rx 0
        server 23a89931-424b-4d20-bcc0-0f7815809ec7
        user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
        ide:0:0  6baaa083-534a-4376-8a60-c5488fc99258
        smp 1

8.3 Server clone

POST /servers/UUID/clone
POST /guests/UUID/clone

Key values pairs:

Key Value Type Required Notes
name SERVER_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servers/e8b8a739-7c39-442e-a86d-ba6a043f3d4c/clone
        name  node005_clone

    Returns:
        HTTP Code 200
         
        status active
        name node005_clone
        tx 0
        nic:1:model  e1000
        mem 4096
        boot ide:0:0
        rx 0
        persistent true
        server  e2d38cf0-ba63-479b-9bd8-a9b9a449c6cd
        nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
        ide:0:0  666f076f-d2cc-4c4c-a8b2-2acb0f52fc3a
        user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
        nic:1:mac 6a:98:e3:23:c2:47
        smp 1
        cpu 2000

8.4 Server destroy

GET /servers/UUID/destroy
GET /guests/UUID/destroy

Returns:

-Success:
HTTP Code 204

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/destroy

    Returns:
        HTTP Code 204

8.5 Multiple servers destroy

POST /servers/destroy
POST /guest/destroy

Returns:

-Success:
HTTP Code 200
Servers list

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servers/destroy
        server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
        server:1  179f2015-f28b-4537-beab-a5d30d5fd4e2
        server:2  e4d50a5c-b516-4993-8d73-c36e7782fbb

    Returns:
        HTTP Code 200

        e2ac6e98-986c-4361-8ecf-de31be73dc4a
        d5883e0c-2dc3-424f-826c-8cc7d0f250f3
        a32282b2-a411-4bc1-9d69-fa10a685bffb
        0d2eba54-eb17-4597-a77f-56a7f3ade7e3
        e8b8a739-7c39-442e-a86d-ba6a043f3d4c
        9f33f3ee-37d5-490f-b883-8ee4a8bc2ff1

8.6 Server info

GET /servers/UUID/info
GET /guests/UUID/info

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
HTTP Code 400
Error key/value pairs

Requires authorization: Yes

Examples:

        GET  /servers/bb783ced-d2b4-4003-a66e-87337ea6427e/info
        Returns:
            HTTP Code  200

            status active
            name dbserver1
            tx 0
            nic:1:model  e1000
            mem 4096
            rx 0
            boot ide:0:0
            vnc:password  KD9R3jcF
            persistent true
            ide:0:1  76096e90-6e34-40b6-9ef5-216abe6b330b
            ide:0:0  529ec0ce-f930-4b69-8aca-d438e9bbe6d3
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            cpu 4000
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            nic:0:model e1000
            nic:1:mac  66:c8:fd:23:a7:a2
            vnc:ip 91.203.56.72
            smp 4
            server  bb783ced-d2b4-4003-a66e-87337ea6427e
            nic:0:dhcp 91.203.56.72

8.7 All servers info

GET /servers/info
GET /guests/info

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
HTTP Code 400
Error key/value pairs

Requires authorization: Yes

Examples:

        GET  /servers/info
        Returns:
             HTTP Code 200

            status  active                                                                
            rx 0                                                                          
            name  node003                                                                 
            tx 0                                                                          
            nic:1:model  e1000                                                            
            mem 4096                                                                      
            boot  ide:0:0                                                                 
            vnc:password  KD9R3jcF                                                        
            persistent  true                                                              
            server  179f2015-f28b-4537-beab-a5d30d5fd4e2                                  
            ide:0:0  7cdddd0a-3caa-49c3-b02d-66054880a0b8                                 
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a                              
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b                                    
            nic:0:model  e1000                                                            
            nic:1:mac  42:ff:6d:27:2a:55                                                  
            vnc:ip  91.203.56.133                                                         
            smp 1                                                                         
            cpu 2000                                                                      
            nic:0:dhcp  91.203.56.133                                                     

            status  active
            rx 0         
            name node012
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server 22a53074-a098-4e2f-9997-9a8bf055830a
            ide:0:0  ad2545e9-b8ed-465a-9da7-57a02507ccc8
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  ca:15:c3:b4:0e:44                    
            vnc:ip 91.203.56.76                             
            smp 1                                          
            cpu 2000                                        

            status  active
            rx 0         
            name node001
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server 28644a70-9e81-4a3e-85ea-91129f724034
            ide:0:0  74744450-d338-4087-b3b8-59b505110a57
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  3e:76:0e:3b:13:1a                    
            vnc:ip 91.203.56.71                             
            smp 1                                          
            cpu 2000                                        

            status  active
            rx 0         
            name node008
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server 55cac183-e6f6-4c41-b2ac-b124336401bd
            ide:0:0  04a83b07-f5a2-4811-ac68-ad38baf4f02d
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  6a:fc:42:b1:04:a2                    
            vnc:ip 91.203.56.77                             
            smp 1                                          
            cpu 2000                                        

            status  active
            rx 0         
            name node010
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server 6140e660-8e10-43f4-8511-1ad2f7d63ffd
            ide:0:0  3309eb92-207f-4311-94fe-08f75d985cc5
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  b2:33:51:01:95:e6                    
            vnc:ip 91.203.56.75                             
            smp 1                                          
            cpu 2000                                        

            status  active
            name dbserver2
            tx 0          
            nic:1:model  e1000
            mem 4096         
            vnc:password KD9R3jcF
            cpu 4000              
            rx 0                 
            persistent  true      
            ide:0:1 8b741c45-45a7-47ec-bad5-21bba738ecdb
            ide:0:0  33524286-8a31-4708-91ed-00c0e22c7933
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:0:model  e1000                              
            nic:1:mac d2:ff:96:74:61:f7                     
            vnc:ip 91.203.56.73                            
            smp 4                                           
            server  a7a1653b-4ba5-4e12-8a45-a46b7230b2cb    
            nic:0:dhcp  91.203.56.73                        

            status  active
            rx 0         
            name node011
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server b2e644e2-d749-4625-a306-2c8d481a722e
            ide:0:0  115b770b-743f-427d-a817-86cf5207cedd
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  ea:18:ec:af:42:25                    
            vnc:ip 91.203.56.78                             
            smp 1                                          
            cpu 2000                                        

            status  active
            rx 80967670  
            name gateway
            tx 7214582    
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server b91bd1cd-c63b-45ae-9dda-69fc53d74f41
            ide:0:0  4ee35c17-243b-43e6-9a5f-b679f3d36e86
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:0:model  e1000                              
            nic:1:mac c6:c3:33:54:fd:b3                     
            vnc:ip 91.203.56.132                           
            smp 1                                           
            cpu 2000                                        
            nic:0:dhcp 91.203.56.132                       

            status  active
            name dbserver1
            tx 0          
            nic:1:model  e1000
            mem 4096         
            rx 0             
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            ide:0:1 76096e90-6e34-40b6-9ef5-216abe6b330b
            ide:0:0  529ec0ce-f930-4b69-8aca-d438e9bbe6d3
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            cpu 4000                                        
            user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:0:model  e1000                              
            nic:1:mac 66:c8:fd:23:a7:a2                     
            vnc:ip 91.203.56.72                            
            smp 4                                           
            server  bb783ced-d2b4-4003-a66e-87337ea6427e    
            nic:0:dhcp  91.203.56.72                        

            status  active
            rx 0         
            name node006
            tx 0          
            nic:1:model e1000
            mem 4096         
            boot  ide:0:0     
            vnc:password KD9R3jcF
            persistent  true      
            server c041eb14-c511-4734-89db-bb0b0b9db605
            ide:0:0  76018dc4-941c-4bc5-af59-15d391976512
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b      
            nic:1:mac  0a:7e:4a:74:35:3d                    
            vnc:ip 91.203.56.79                             
            smp 1                                          
            cpu 2000                                        

            status  active
            rx 0         
            name node009
            tx 0
            nic:1:model  e1000
            mem 4096
            boot ide:0:0
            vnc:password  KD9R3jcF
            persistent true
            server  e375ebf5-47ff-45c6-8f69-8ae45aaf95b2
            ide:0:0  919f4cf1-de69-4828-8b01-e505f3e233ba
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            nic:1:mac 26:6b:f6:3f:5b:13
            vnc:ip  91.203.56.74
            smp 1
            cpu 2000

            status active
            rx 14074
            name  node005
            tx 0
            nic:1:model e1000
            mem 4096
            boot  ide:0:0
            cpu 2000
            vnc:password KD9R3jcF
            persistent  true
            server e4d50a5c-b516-4993-8d73-c36e7782fbbb
            ide:0:0  666f076f-d2cc-4c4c-a8b2-2acb0f52fc3a
            nic:1:vlan  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            nic:0:model e1000
            nic:1:mac  ee:9c:05:ed:c1:a2
            vnc:ip 91.203.56.70
            smp 1
            ide:1:0  f0026ff4-09d3-4fd0-a5c9-dfe652e01c99
            nic:0:dhcp 91.203.56.70

8.8 Server change

POST /servers/UUID/set
POST /guests/UUID/set

Key values pairs:

Key Notes
name Server name.
parent UUID of parent object, if any.
cpu cpu quota in core MHz.
smp number of virtual processors or `auto’ to calculate based on
cpu.
mem virtual memory size in MB.
ide:BUS[0-1]:UNIT[0-1]
block:INDEX[0-7] Drive UUID to connect as specified device.
ide:BUS[0-1]:UNIT[0-1]:media
block:INDEX[0-7]:media Media type – set to `cdrom’ to simulate a cdrom, set to `disk’ or leave unset to simulate a hard disk.
boot Device to boot, e.g. ide:0:0 or ide:1:0. Set to a list to make multiple devices bootable.
nic:0:model Create network interface with given type (use `e1000′ as default value; `rtl8139′ or `virtio’ are also available).
nic:0:dhcp The IP address offered by DHCP to network interface 0. If unset, no address is offered. Set to `auto’ to allocate a temporary IP at boot.
nic:1:model Create network interface with given type (use `e1000′ as default value; `rtl8139′ or `virtio’ are also available).
nic:1:vlan The VLAN to which the network interface is attached.
nic:1:mac The MAC address of the network interface. If unset, a randomly generated address is used. If set, should be unique on the VLAN.
vnc:ip IP address for overlay VNC access on port 5900. Set to `auto’, to reuse nic:0:dhcp if available, or otherwise allocate a temporary IP at boot.
vnc:password Password for VNC access. If unset, VNC is disabled.
vnc:tls Set to `on’ to require VeNCrypt-style TLS auth in addition to the password. If this is unset, only unencrypted VNC is available.

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

8.9 Server stop

GET /servers/UUID/stop
GET /guests/UUID/stop

Returns:

-Success:
HTTP Code 204
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/stop

    Returns:
        HTTP Code 204

8.10 Server shutdown

GET /servers/UUID/shutdown
GET /guests/UUID/shutdown

Returns:

-Success:
HTTP Code 204
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/shutdown

    Returns:
        HTTP Code 204

8.11 Server start

GET /servers/UUID/start
GET /guests/UUID/start

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/start

    Returns:
        HTTP Code 204

8.12 Server destroy

GET /servers/UUID/destroy
GET /guests/UUID/destroy

Returns:

-Success:
HTTP Code 204
Key/value pairs

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servers/b91bd1cd-c63b-45ae-9dda-69fc53d74f41/destroy

    Returns:
        HTTP Code 204

8.13 Multiple servers stop

POST /servers/stop
POST /guests/stop

Key values pairs:

Key Value Type Required Notes
server:NUMBER SERVER_UUID String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST /servers/stop
        server:0  b91bd1cd-c63b-45ae-9dda-69fc53d74f41
         server:1  179f2015-f28b-4537-beab-a5d30d5fd4e2
         server:2  e4d50a5c-b516-4993-8d73-c36e7782fbb

    Returns:
        TODO

8.14 Multiple servers start

POST /servers/start
POST /guests/start

Key values pairs:

Key Value Type Required Notes
server:NUMBER SERVER_UUID String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servers/start
        server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
        server:1  179f2015-f28b-4537-beab-a5d30d5fd4e2
         server:2  e4d50a5c-b516-4993-8d73-c36e7782fbb

    Returns:
        HTTP Code 200  (or may be will be better 204)

9. Resources API

9.1 VLAN list

9.2 VLAN info

9.3 VLAN create

9.4 VLAN rename

9.5 Static IP info

9.6 Static IP list

9.7 Static IP create

9.8 Static IP destroy

9.1 VLANlist

GET /resources/vlan/list

Returns:

-Success:
HTTP Code 200
Key/value pairs list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /resources/vlan/list

    Returns:
        vlan 6e2d1f6a-03c8-422b-bc8e-d744612cf46a

9.2 VLAN info

GET /resources/vlan/UUID/info

Key values pairs:

Key Value Type Required Notes
resource UUID String Yes
type vlan String Yes
user USER_UUID String Yes
name VLAN_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Errors:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /resources/vlan/6e2d1f6a-03c8-422b-bc8e-d744612cf46a/info
        Returns:
            HTTP Code  200

            resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            type vlan
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            name My VLAN

9.3 VLAN create

POST /resources/vlan/create

Key values pairs:

Key Value Type Required Notes
name VLAN_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        POST  /resources/vlan/create
            name My VLAN1

         Returns:
            HTTP Code  200

            resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            type vlan
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            name My VLAN1

9.4 VLAN rename

POST /resources/vlan/UUID/set

Key values pairs:

Key Value Type Required Notes
name VLAN_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        POST  /resources/vlan/6e2d1f6a-03c8-422b-bc8e-d744612cf46a/info
            name My  VLAN1

        Returns:
            HTTP Code 200

            resource  6e2d1f6a-03c8-422b-bc8e-d744612cf46a
            type vlan
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            name My VLAN1

9.5 Static IP Info

GET /resources/ip/info

Returns:

-Success:
HTTP Code 200
Key/value list

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    
  GET  /resources/ip/info

  Returns:
     resource 178.22.67.72
     name p9
     netmask 255.255.248.0
     user a7ef3fa9-23ce-4a6f-8660-983d96991692
     nameserver 178.22.66.167 178.22.64.25
     type ip
     gateway 178.22.64.1

9.6 Static IP list

GET /resources/ip/list

Returns:

-Success:
HTTP Code 200
Key/value list

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /resources/ip/list

        Returns:
            HTTP Code 200

            ip  91.203.56.71
            ip 91.203.56.70
            ip 91.203.56.78

9.7 Static IP create

POST /resources/ip/create

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        POST  /resources/ip/create

        Returns:
             HTTP Code 200

            resource  91.203.56.71
            netmask 255.255.255.0
            user  f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
            nameserver 91.203.56.1
            type ip
            gateway  91.203.56.1

9.8 Static IP destroy

GET /resources/ip/IP/destroy

Returns:

-Success:
HTTP Code 204

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /resources/91.203.56.71/destroy

         Returns:
            HTTP Code  204

10. UI API

10.1 Server group create

10.2 Server group rename

10.3 Server group destroy

10.4 Servers groups list

10.5 Servers group info

10.6 Get server group name

10.7 Add servers to group

10.8 Remove servers from group

10.9 Start servers in group

10.10 Stop servers in group

10.1 Server group create

POST /servergroups/create

Key values pairs:

Key Value Type Required Notes
name GROUP_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servergroups/create
        name Database Servers

    Returns:
        HTTP Code 200

        uuid  7baa150e-00ca-4f48-ac6c-02e59b23d04d
        name Database Servers

10.2 Server group rename

POST /servergroupss/UUID/set

Key values pairs:

Key Value Type Required Notes
name GROUP_NAME String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servergroups/set
        name Web Servers

    Returns:
        HTTP Code 200

        name Web  Servers
        description

10.3 Server group destroy

POST /servergroupss/UUID/destroy

Key values pairs:

Key Value Type Required Notes
name GROUP_NAME String Yes
description DESCRIPTION/NOTES String No

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servergroups/destroy
    
    Returns:
        HTTP Code 200  (or may be will be better 204)

10.4 Servers groups list

GET /servergroups/list

Returns:

-Success:
HTTP Code 200
Server groups UUID list

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servergroups/list

    Returns:
        HTTP Code 200

        11e0eda4-fa7e-49a9-abcd-0988666bd9b4
        a814f0f1-21f5-45e8-9ecd-2748d76c016a
        24af14f6-5d8c-442b-9cfa-2db6a03c2458

10.5 Servers group info

GET /servergroups/UUID/info

Returns:

-Success:
HTTP Code 200
Server groups UUID list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servergroups/abee3635-74b2-4592-849a-a7897e209645/info

    Returns:
        HTTP Code 200

        uuid  abee3635-74b2-4592-849a-a7897e209645
         name Database Servers

10.6 Get server group name

GET /servergroups/UUID/info

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/info
    
    Returns:
        HTTP Code 200

        name Database servers
        description  all kind of database servers

10.7 Add servers to group

POST /servergroups/UUID/add

Key values pairs:

Key Value Type Required Notes
server:NUMBER SERVER_UUID String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servergroups/add
        server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41
        server:1  179f2015-f28b-4537-beab-a5d30d5fd4e2
        server:2  e4d50a5c-b516-4993-8d73-c36e7782fbb

    Returns:
        b91bd1cd-c63b-45ae-9dda-69fc53d74f41
        179f2015-f28b-4537-beab-a5d30d5fd4e2
        e4d50a5c-b516-4993-8d73-c36e7782fbb

10.8 Remove servers from group

POST /servergroups/UUID/remove

Key values pairs:

Key Value Type Required Notes
server:NUMBER SERVER_UUID String Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /servergroups/remove
        server:0 b91bd1cd-c63b-45ae-9dda-69fc53d74f41

    Returns:
        179f2015-f28b-4537-beab-a5d30d5fd4e2
        e4d50a5c-b516-4993-8d73-c36e7782fbb

10.9 Start servers in group

GET /servergroups/UUID/start

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/start
    
    Returns:
        HTTP Code 200

        fe467c69-6da1-4e9e-8b22-62135641ab68
        3c6adc8d-f7f6-44c9-8061-dcc095ec034b
        843fb463-9eac-4ab5-aff7-d437d47e5590
        9fcd25e4-5a49-45a6-80df-3cedfad46d65
        b9c158a3-a7ef-4ca4-b9f5-cb965f40a7e4

10.10 Stop servers in group

GET /servergroups/UUID/stop

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /servergroups/92f5ba00-7851-4ebf-9c0f-b5311ceed042/stop
    
    Returns:
        HTTP Code 200

        fe467c69-6da1-4e9e-8b22-62135641ab68
        3c6adc8d-f7f6-44c9-8061-dcc095ec034b
        843fb463-9eac-4ab5-aff7-d437d47e5590
        9fcd25e4-5a49-45a6-80df-3cedfad46d65
        b9c158a3-a7ef-4ca4-b9f5-cb965f40a7e4

11Billing API

11.1 System currencies list

11.2 Current use

11.3 Current pricing

11.4 Transaction history

11.5 Balance

11.6 Total subscribed resources

11.7 Total subscribed network resources

11.8 Subscriptions list

11.9 Resource subscriptions add

11.10 Resource subscriptions create

11.11 IPs subscriptions create

11.12 IPs subscriptions calculate

11.13 VLANs subscriptions create

11.14 VLANs subscriptions calculate

11.15 Software subscriptions create

11.16 Software subscriptions calculate

11.17 Extending subscriptiont

11.18 Calculate subscription extension

11.1 System currencies list

GET /currencies/list

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401
Requires authorization: Yes

Examples:

    GET  /currencies/list
    
    Returns:
        HTTP Code 200

        EUR
        GBP
        USD

11.2 Current use

GET /usage/info

Key values pairs:

Key Value Type Required Notes
cpu CURRENT_CPU_USE Integer Yes
Current CPU usage MHz mem CURRENT_RAM_USE Integer Yes
Current RAM usage Mb disk CURRENT_DISK_USE Integer Yes
Current disk usage cpu:burst BURST_CPU_USE Integer Yes
Burst CPU usage MHz mem:burst BURST_RAM_USE Integer Yes
Burst RAM usage Mb disk:burst BURST_DISK_USE Integer Yes
cpu:sub SUBSCRIPTION_CPU_USE Integer Yes
Subscribed CPU mem:sub SUBSCRIPTION_RAM_USE Integer Yes
Subscribed RAM disk:sub SUBSCRIPTION_DISK_USE Integer Yes
Subscribed disk

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET /usage/info
    
    Returns:
        HTTP Code 200

        cpu 24000
        mem 43008
        disk 1173
        cpu:burst  21000
        mem:burst 41008
        disk:burst 173
        cpu:sub 3000
        mem:sub 2000
        disk:sub 1000
        rx:total  2342343
        tx:total 0.001
        xfer:total 0.001
        xfer:burst
        xfer:sub

11.3 Current pricing

GET /pricing/info

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Unauthorized:
HTTP Code 401
Requires authorization: Yes

Examples:

    GET /pricing/info
    
    Returns:
        HTTP Code 200

        start 2010-02-23 17:18:32.401708
        end 2010-02-23  17:23:32.401708
        cpu:sub 0.200
        cpu:burst 1.500
        mem:sub 0.200
        mem:burst  0.000
        xfer:sub 0.01
        xfer:burst 0.01
        disk:sub 0.200
        disk:burst  0.200
        ip 2.00
        vlan 5.00
        msft_lwa_00135 10.00
        msft_p73_04837  20.00
        msft_tfa_00009 15.00

11.4 Transaction history

GET /transactions/list

Returns:

-Success:
HTTP Code 200
Key/value pairs list

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET  /transactions/list
    
    Returns:
        HTTP Code 200

        date  2010-02-24 11:04:18
        description 5 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:10:04 until 2010-02-24 10:15:04
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -13.75                                                                                                          

        date  2010-02-24 11:04:13
        description 5 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:05:03 until 2010-02-24 10:10:03
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -13.75                                                                                                          

        date  2010-02-24 10:27:52
        description 6 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:20:04 until 2010-02-24 10:26:04
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -16.50                                                                                                          

        date  2010-02-24 10:27:50
        description 6 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:15:05 until 2010-02-24 10:21:05
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -16.50                                                                                                          

        date  2010-02-24 10:27:48
        description 6 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:10:04 until 2010-02-24 10:16:04
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -16.50                                                                                                          

        date  2010-02-24 10:27:47
        description 6 minutes of burst virtual server use at  rate of 2.750 from 2010-02-24 10:05:03 until 2010-02-24 10:11:03
        value n/a                                                                                                              
        tax n/a                                                                                                                
        total -16.50

11.5 Balance

GET /balance/info

Key values pairs:

Key Value Type Required Notes
balance AMOUNT Integer Yes
Balance amount currency CURRENCY String Yes
Currency from account profile

Returns:

-Success:
HTTP Code 200
Key/value pairs

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    GET /balance/info
    
    Returns:
        HTTP Code 200

        balance 1220.87
        currency EUR

11.6 Total subscribed resources

GET /subscriptions/resources/info

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

11.7 Total subscribed network resources

GET /subscriptions/net/info

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

11.8 Subscriptions list

GET /subscriptions/list

Key values pairs:

Key Value Type Required Notes
type cpu – mem – disk – xfer String Yes
type_str LABEL String Yes
unit Unit label String Yes
quantity QUANTITY Integer Yes
start_time SUBSCRIPTION_START Date
end_time SUBSCRIPTION_END Date Yes
months MONTHS Integer Yes

Returns:

-Success:
HTTP Code 200
Key/value pairs list

-Error:
Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

        GET  /subscriptions/list
        
        Returns:
            HTTP Code  200

            type xfer
            type_str Committed data transfer
            unit GB  per month
            quantity 10
            start_time 2010-03-08 21:15:18
            end_time  2010-04-08 21:15:18

            type disk
            type_str Disk
            unit GB
            quantity  100
            start_time 2010-03-08 21:15:18
            end_time  2010-04-08 21:15:18

            type mem
            type_str Memory
            unit MB
            quantity  2000
            start_time 2010-03-08 21:15:18
            end_time  2010-04-08 21:15:18

            type cpu
            type_str CPU
            unit core  MHz
            quantity 2000
            start_time 2010-03-08 21:15:18
            end_time  2010-04-08 21:15:18

11.9 Resource subscriptions add

POST /subscriptions/resources/create

Key values pairs:

Key Value Type Required Notes
type cpu – mem – disk – xfer String Yes
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Servers UUID list

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/resources/create
        cpu 2000
        mem 2000
        disk 100
        xfer 10
        start_time  2010-03-20 13:20
        months 1

    Returns:

        cpu 2000
        mem 2000
        disk 100
        xfer 10
        start_time  2010-03-20 13:20
        end_time 2010-03-20 13:20

11.10 Resource subscriptions create

POST /subscriptions/resources/create

Key values pairs:

Key Value Type Required Notes
type cpu – mem – disk – xfer String Yes
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscription info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/resources/create
        cpu 2000
        mem 2000
        disk 100
        xfer 10
        start_time  2010-04-12 00:00
        months 1

    Returns:
        type cpu
        subscription 233bfb80-a1a8-4e9a-a1e4-d7822a87b681
        type_str CPU
        unit core MHz
        quantity 2000
        start_time  2010-03-10 21:24
        end_time 2010-04-10 21:24

        type mem
        subscription  be59f94b-b684-4715-83f6-75c97bd65cc9
        type_str Memory
        unit MB
        quantity 2000
        start_time  2010-03-10 21:24
        end_time 2010-04-10 21:24

        type disk
        subscription  ed69da42-6a92-4527-8129-de5568580c99
        type_str Disk
        unit GB
        quantity 100
        start_time  2010-03-10 21:24
        end_time 2010-04-10 21:24

        type xfer
        subscription  5a005402-1853-4cb7-b207-4ff06b4c975e
        type_str Committed data transfer
        unit GB per  month
        quantity 10
        start_time 2010-03-10 21:24
        end_time  2010-04-10 21:24

    
    POST  /subscriptions/resources/create
        cpu 1000
        mem 1000
        disk 100
        xfer 10
        start_time  2010-03-22 00:12
        months 1
    
    Returns:
        cpu 1000
        errors:cpu The  minimum CPU subscription is 2000 core MHz
        mem 1000
        errors:mem The  minimum memory subscription is 1024 MB
        disk 100
        xfer 10
        start_time  2010-03-22 00:12
        end_time 2010-04-22 00:12

11.11 IPs subscriptions create

POST /subscriptions/resources/create

Key values pairs

Key Value Type Required Notes
type ip String Yes Return only
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscription info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/network/ip/create
        quantity 2
        start_time  2010-03-23 00:00
        months 1

    Returns:
        type ip
        resource 91.203.56.75
        type_str Static  IP address admin
        unit IPs
        quantity 2
        start_time 2010-03-10 11:49:09
        end_time  2010-04-10 11:49:09

        type ip
        resource 91.203.56.77
        type_str Static  IP address admin
        unit IPs
        quantity 2
        start_time 2010-03-10 11:49
        end_time  2010-04-10 11:49


    POST /subscriptions/network/ip/create
        quantity 1

    Returns:
        quantity 1
        start_time
        errors:start_time  This field is required.
        end_time

11.12 IPs subscriptions calculate

POST /subscriptions/network/ip/calculate

Key values pairs:

Key Value Type Required Notes
type ip String Yes Return only
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscriptions info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/network/ip/calculate
        quantity 2
        start_time  2010-03-22 00:00
        months 1

    Returns:
        amount 16.00
        currency EUR

11.13 VLANs subscriptions create

POST /subscriptions/network/vlan/create

Key values pairs:

Key Value Type Required Notes
type vlan String Yes Return only
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscriptions info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/network/vlan/create
        quantity 1
        start_time  2010-03-09 14:04
        months 1

    Returns:

        type vlan
        resource  727d8022-9045-48ff-92ae-a4d243bab890
        type_str Private network VLAN
        unit VLANs
        quantity 1
        start_time  2010-03-10 19:30
        end_time 2010-04-10 19:30

11.14 VLANs subscriptions calculate

POST /subscriptions/network/vlan/calculate

Key values pairs:

Key Value Type Required Notes
type vlan String Yes Return only
type_str LABEL String Yes Return only
unit Unit label String Yes Return only
quantity QUANTITY Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscriptions info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/network/vlan/calculate
        quantity 2
        start_time  2010-03-22 00:00
        months 1

    Returns:
        amount 40.00
        currency EUR

11.15 Software subscriptions create

POST /subscriptions/software/create

Key values pairs:

Key Value Type Required Notes
msft_lwa_00135 Windows Web Server 2008 Integer Yes
msft_p73_04837 Windows Server 2008 Standard Integer Yes
msft_tfa_00009 Microsoft SQL Server 2008 Web Edition Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:

HTTP Code 200
Subscriptions info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

     POST  /subscriptions/software/create
        msft_lwa_00135 1
        msft_p73_04837 0
        msft_tfa_00009  0
        start_time 2010-03-21 12:21
        months 1

    Returns:

        msft_lwa_00135  1
        msft_p73_04837 0
        msft_tfa_00009 0
        start_time  2010-03-21 12:21
        end_time 2010-03-31 12:21:00

11.16 Software subscriptions calculate

POST /subscriptions/software/create

Key values pairs:

Key Value Type Required Notes
msft_lwa_00135 Windows Web Server 2008 Integer Yes
msft_p73_04837 Windows Server 2008 Standard Integer Yes
msft_tfa_00009 Microsoft SQL Server 2008 Web Edition Integer Yes
start_date SUBSCRIPTION_START Date Yes Format Y-m-d H:M
end_date SUBSCRIPTION_END Date Yes Return only. Format Y-m-d H:M
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscriptions info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/software/calculate
        msft_lwa_00135 1
        msft_p73_04837 1
        msft_tfa_00009  1
        start_time 2010-03-22 00:00
        months 1

    Returns:
        amount 45.00
        currency EUR

11.17 Extending subscription

POST /subscriptions/UUID/set

Key values pairs:

Key Value Type Required Notes
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscription info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/c8308b4d-3c98-472c-9944-024b9c700c10/set
        months 1

    Returns:

        type cpu
        subscription  c8308b4d-3c98-472c-9944-024b9c700c10
        type_str CPU
        unit core MHz
        quantity 2000
        start_time  2010-03-10 20:58
        end_time 2010-07-10 20:58

11.18 Calculate subscription extension

POST /subscriptions/UUID/set/calculate

Key values pairs:

Key Value Type Required Notes
months MONTHS Integer Yes Input only

Returns:

-Success:
HTTP Code 200
Subscription info

-Error:
Invalid input:
HTTP Code 400
Error key/value pairs

Unauthorized:
HTTP Code 401

Requires authorization: Yes

Examples:

    POST  /subscriptions/3cb16f75-1bac-48a4-8b29-e021d4fa0019/set/calculate
        months 1

    Returns:
        amount 60.00
        currency EUR

This post is also available in: Bulgarian