Scaleway API documentation.

The Scaleway API allows you to manage servers and resources in a simple, programmatic way using conventional HTTP requests. All features you will find in the web control panel are also available through the API.

Request and response

Our API works over https and is accessed from several endpoints:

  • account.scaleway.com for Account related actions.

  • cp-<region>.scaleway.com for Compute Power related actions, where <region> is par1 or ams1.

All data is sent and received as json.

Constructing Requests

Requests are made of two components:

  • Base URL: https://cp-par1.scaleway.com or https://cp-ams1.scaleway.com

  • Resource path: servers

To construct a proper request, you need to format the URL as follows:

https://cp-<region>.scaleway.com/{resource}

Example: https://cp-par1.scaleway.com/volumes/f929fe39-63f8-4be8-a80e-1e9c8ae22a76

The following code is an example request to retrieve detailed informations about a volume

% curl -H 'X-Auth-Token: 017ce0ce-20ec-4d4ez-b44c-e561a23481d2c' -H 'Content-Type: application/json' https://cp-par1.scaleway.com/volumes/f929fe39-63f8-4be8-a80e-1e9c8ae22a76 -i

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 22 May 2014 07:55:00 GMT
Content-Type: application/json
Content-Length: 1345
Connection: keep-alive
X-Sentry-ID: None
Strict-Transport-Security: max-age=86400

{
  "volumes": [
    {
      "export_uri": null,
      "id": "f929fe39-63f8-4be8-a80e-1e9c8ae22a76",
      "name": "volume-0-1",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": null,
      "size": 10000000000,
      "volume_type": "l_ssd"
    },
    {
      "export_uri": null,
      "id": "0facb6b5-b117-441a-81c1-f28b1d723779",
      "name": "volume-0-2",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": null,
      "size": 20000000000,
      "volume_type": "l_ssd"
    }
  ]
}

Basic Authentication

You authenticate to the API by requesting a token. You can create a token from the account.scaleway.com domain related to account actions with a POST request on the /tokens HTTP resource.

Basic Authentication process:

  • Query via POST request the /tokens resource see here how to

  • Supply an “X-Auth-Token” header followed by the token you get previously, e.g. “4e0b46e4-7c1d-44d4-8ba6-dc5f80694397”

curl -X GET -H "X-Auth-Token: 4e0b46e4-7c1d-44d4-8ba6-dc5f80694397" -H "Content-Type: application/json" https://account.scaleway.com/{resources}

Errors

We use conventional HTTP response codes to indicate success or failure of an API request.

In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g., a required parameter is missing), and codes in the 5xx range indicate an error with our servers.

HTTP Status Code Summary

  • 200 OK - Everything worked as expected.

  • 400 Bad Request - Often missing a required parameter.

  • 401 Unauthorized - No valid API key provided.

  • 402 Request Failed - Parameters were valid but request failed.

  • 403 Forbidden - Insufficient privileges to access requested resource.

  • 404 Not Found - The requested item doesn’t exist.

  • 50x Server errors - something went wrong on api domain’s end.

Input and output data must be valid JSON with appropriate Content-Type header set.

Attributes

  • type:

    • invalid_request_error: Occur when your request has invalid parameters.
    • invitalid_auth: Arise when there is a problem of authentication.
    • unknown_resource: Occur when the resource doesn’t exist.
    • authorization_required: You don’t have sufficient right to access the resource.
    • api_error: API errors use in case of problem with api domain’s servers
  • message:

    • A human readable error giving more details about the error
  • fields (Optional):

    • An array of parameters with an human readable message giving more details about the error.

Errors responses example

  • Response 400 (application/json)

    {
          "fields": {
              "email": [
                  "incorrect email address",
                  "required key not provided"
              ],
              "firstname": [
                  "length of value must be at least 2",
                  "required key not provided"
              ],
              "lastname": [
                  "length of value must be at least 2",
                  "required key not provided"
              ]
          },
          "message": "Validation Error",
          "type": "invalid_request_error"
      }
  • Response 401 (application/json)

    {
          "message": "The header 'X-Auth-Token' is missing",
          "type": "invalid_auth"
      }
  • Response 403 (application/json)

    {
        "message": "The token provided doesn't have the requested permission.",
        "type": "authorization_required"
      }
  • Response 404 (application/json)

    {
          "message": "User not found",
          "type": "unknown_resource"
      }

Pagination

Most of listing requests receive a paginated response. Your client needs to handle the pagination transparently as Scaleway reserves the right to paginate any non-paginted API endpoint at anytime without warning.

Paginated request

Requests against paginated endpoints accept two querystring arguments:

  • page, a positive integer to choose the page to display.

  • per_page, an positive integer lower or equal to 100 to select the number of items to display.

Paginated endpoints usually also accept filters to search and sort results. These filters are documented along each endpoint documentation.

Paginated response

% curl -H 'X-Auth-Token: <token>' 'https://cp-par1.scaleway.com/images/?page=2&per_page=10' -i
HTTP/1.0 200 OK
[...]
X-Total-Count: 209
Link: </images/?page=1&per_page=10>; rel="first",</images/?page=1&per_page=10>; rel="previous",</images/?page=3&per_page=10>; rel="next",</images/?page=21&per_page=10>; rel="last"
[...]

The X-Total-Count header contains the total number of items for the resource.

The Link header as specified by rfc 5988 helps to navigate between pages. Each programming langage has a specific way to parse it. With Python for example, the Link header can be parsed with python-requests:

>>> response = requests.get('https://cp-par1.scaleway.com/images', headers={'X-Auth-Token': '<token>'})
>>> print response.links
{'last': {'url': '/images?page=5&per_page=50', 'rel': 'last'}, 'next': {'url': '/images?page=2&per_page=50', 'rel': 'next'}}

Tokens

A Token is an identifier associated with your account. We use this token to authenticate commands in our APIs.

Tokens

POST /tokens
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "email": "jsnow@got.com",
  "password": "winteriscoming",
  "expires": false
}
Responses201
  • Headers (application/json)

    location: https://account.cloud.online.net/tokens/9de8f869-c58e-4aa3-9208-2d4eaff5fa20
Body
{
  "token": {
    "creation_date": "2014-05-22T08:05:57.556385+00:00",
    "expires": null,
    "id": "9de8f869-c58e-4aa3-9208-2d4eaff5fa20",
    "inherits_user_perms": true,
    "permissions": [],
    "roles": {
      "organization": null,
      "role": null
    },
    "user_id": "5bea0358-db40-429e-bd82-914686a7e7b9"
  }
}

Create a token
POST/tokens

Authenticates a user against their username, password, and then returns a new Token, which can be used until it expires.

The response is an object that has a key called token. This key contain a standard token object.

URI Parameters
HideShow
email
string (required) Example: jsnow@got.com

User email

password
string (required) Example: winteriscoming

User password

expires
boolean (optional) Example: false

Set if you want a Token wich doesn’t expire (default: true)


GET /tokens
Responses200
Headers
Content-Type: application/json
Body
{
    {
        "tokens": [
            {
                "creation_date": "2014-03-13T10:53:11.456319+00:00",
                "expires": null,
                "id": "4e5570fb-c854-5349-979f-9f51d608d34z",
                "inherits_user_perms": true,
                "permissions": [],
                "roles": {
                    "organization": null,
                    "role": null
                },
                "user_id": "5bea0358-db40-429e-bd82-953016a7e2s7"
            },
           {
                "creation_date": "2014-05-19T18:05:47.304433+00:00",
                "expires": "2014-05-20T14:05:06.393875+00:00",
                "id": "654c95b0-2cf5-41a3-b3cc-733ffba4b4b7",
                "inherits_user_perms": true,
                "permissions": [],
                "roles": {
                    "organization": null,
                    "role": null
                },
                "user_id": "5bea0358-db40-429e-bd82-953016a7e2s7"
            }
        ]
    }
}

List all tokens
GET/tokens

List all Tokens associate with your account

The response is an object that has a key called tokens. This key contain an array of token objects each of which contain the standard token attributes.


Token

GET /tokens/654c95b0-2cf5-41a3-b3cc-733ffba4b4b7
Responses200
Headers
Content-Type: application/json
Body
{
  "token": {
    "creation_date": "2014-05-22T08:06:51.742826+00:00",
    "expires": "2014-05-20T14:05:06.393875+00:00",
    "id": "654c95b0-2cf5-41a3-b3cc-733ffba4b4b7",
    "inherits_user_perms": true,
    "permissions": [],
    "roles": {
      "organization": null,
      "role": null
    },
    "user_id": "5bea0358-db40-429e-bd82-953016a7e2s7"
  }
}

Retrieve a token
GET/tokens/{token_id}

List an individual Token

The response is an object that has a key called token. This key contain a standard token object.

URI Parameters
HideShow
token_id
string (required) Example: 654c95b0-2cf5-41a3-b3cc-733ffba4b4b7

Token unique identifier


PATCH /tokens/654c95b0-2cf5-41a3-b3cc-733ffba4b4b7
Responses200
Headers
Content-Type: application/json
Body
{
  "token": {
    "creation_date": "2014-05-22T08:06:51.742826+00:00",
    "expires": "2014-05-22T11:18:07.786841+00:00",
    "id": "654c95b0-2cf5-41a3-b3cc-733ffba4b4b7",
    "inherits_user_perms": true,
    "permissions": [],
    "roles": {
      "organization": null,
      "role": null
    },
    "user_id": "5bea0358-db40-429e-bd82-953016a7e2s7"
  }
}

Update a token
PATCH/tokens/{token_id}

Increase Token expiration time of 30 minutes

The response is an object that has a key called token. This key contain a standard token object.

URI Parameters
HideShow
token_id
string (required) Example: 654c95b0-2cf5-41a3-b3cc-733ffba4b4b7

Token unique identifier


DELETE /tokens/654c95b0-2cf5-41a3-b3cc-733ffba4b4b7
Responses204
This response has no content.

Remove a token
DELETE/tokens/{token_id}

Delete an individual token

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
token_id
string (required) Example: 654c95b0-2cf5-41a3-b3cc-733ffba4b4b7

Token unique identifier


Organizations

This resources of API methods allows you to get your Organizations informations

Organizations

GET /organizations
Responses200
Headers
Content-Type: application/json
Body
{
  "organizations": [
    {
      "id": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "name": "jsnow@got.com",
      "users": [
        {
          "email": "jsnow@got.com",
          "firstname": "John",
          "fullname": "John Snow",
          "id": "59a98700-8622-4495-a11a-e1efbfac5972",
          "lastname": "Snow",
          "organizations": [
            {
              "id": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
              "name": "jsnow@got.com"
            }
          ],
          "roles": [
            {
              "organization": {
                "id": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
                "name": "jsnow@got.com"
              },
              "role": "manager"
            }
          ],
          "ssh_public_keys": []
        }
      ]
    }
  ]
}

List all organizations
GET/organizations

List all Organizations associate with your account

The response is an object that has a key called organizations. This key contain an array of organization objects each of which contain the standard organization attributes.


Users

User

GET /users/5bea0358-db40-429e-bd82-953016a7e2s7
Responses200
Headers
Content-Type: application/json
Body
"user": {
        "email": "jsnow@got.com",
        "firstname": "John",
        "fullname": "John Snow",
        "id": "5bea0358-db40-429e-bd82-953016a7e2s7",
        "lastname": "Snow",
        "organizations": null,
        "roles": null,
        "ssh_public_keys": null
    }

Retrieve a user
GET/users/{user_id}

List informations about your user account

The response is an object that has a key called user. This key contain a standard user object.

URI Parameters
HideShow
user_id
string (required) Example: 5bea0358-db40-429e-bd82-953016a7e2s7

User unique identifier


Servers

A Server is a dedicated machine for your own use. servers endpoint allow you to create, list or delete your servers.

Servers

POST /servers
Requestsexample 1
Body
{
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "name": "my_server",
  "image": "85917034-46b0-4cc5-8b48-f0a2245e357e",
  "commercial_type": "VC1S",
  "tags": [
    "test",
    "www"
  ],
  "enable_ipv6": true
}
Responses201
Headers
Content-Type: application/json
location: https://cp-par1.scaleway.com/servers/3cb18e2d-f4f7-48f7-b452-59b88ae8fc8c
Body
{
  "server": {
    "bootscript": null,
    "dynamic_ip_required": true,
    "id": "3cb18e2d-f4f7-48f7-b452-59b88ae8fc8c",
    "image": {
      "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
      "name": "ubuntu working"
    },
    "name": "my_server",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "private_ip": null,
    "public_ip": null,
    "enable_ipv6": true,
    "state": "stopped",
    "ipv6": null,
    "commercial_type": "VC1S",
    "arch": "x86_64",
    "tags": [
      "test",
      "www"
    ],
    "volumes": {
      "0": {
        "export_uri": null,
        "id": "d9257116-6919-49b4-a420-dcfdff51fcb1",
        "name": "vol simple snapshot",
        "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
        "server": {
          "id": "3cb18e2d-f4f7-48f7-b452-59b88ae8fc8c",
          "name": "my_server"
        },
        "size": 10000000000,
        "volume_type": "l_ssd"
      }
    }
  }
}

Create a new server
POST/servers

Create a new server

The response is an object that has a key called server. This key contain a standard server object.

URI Parameters
HideShow
name
string (required) Example: my_server

The server name

organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier

image
string (required) Example: 85917034-46b0-4cc5-8b48-f0a2245e357e

Image unique identifier

volumes
list (required) Example: volumes: {1: {name: "vol_demo", organization: "ecc1c86a-eabb-43a7-9c0a-77e371753c0a", size: 10000000000, volume_type: "l_sdd"

A list of volumes identifier to be attached to the server

commercial_type (optional, string, `commercial_type: "VC1S"`)
string (required) 

The type of the server you want to create (C1, VC1S, VC1M, VC1L, C2S, C2M, C2L).

tags
list (optional) Example: [test, www]

A list of tags

enable_ipv6 (optional, boolean, `enable_ipv6: true`)
string (required) 

Enable IPv6 on the server.


GET /servers
Responses200
Headers
Content-Type: application/json
Body
{
  "servers": [
    {
      "bootscript": null,
      "dynamic_public_ip": false,
      "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
      "image": {
        "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
        "name": "ubuntu working"
      },
      "name": "my_server",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "private_ip": null,
      "public_ip": null,
      "state": "running",
      "tags": [
        "test",
        "www"
      ],
      "volumes": {
        "0": {
          "export_uri": null,
          "id": "c1eb8f3a-4f0b-4b95-a71c-93223e457f5a",
          "name": "vol simple snapshot",
          "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
          "server": {
            "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
            "name": "my_server"
          },
          "size": 10000000000,
          "volume_type": "l_ssd"
        }
      }
    },
    {
      "bootscript": null,
      "dynamic_public_ip": false,
      "id": "0e9f85af-b6aa-401e-a00d-484f832c5024",
      "image": {
        "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
        "name": "ubuntu working"
      },
      "name": "my_server",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "private_ip": null,
      "public_ip": null,
      "state": "running",
      "tags": [
        "test",
        "www"
      ],
      "volumes": {
        "0": {
          "export_uri": null,
          "id": "fb09bb31-ecd9-4dff-8b55-b6e45715199d",
          "name": "vol simple snapshot",
          "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
          "server": {
            "id": "0e9f85af-b6aa-401e-a00d-484f832c5024",
            "name": "my_server"
          },
          "size": 10000000000,
          "volume_type": "l_ssd"
        }
      }
    }
  ]
}

List all servers
GET/servers

List all servers associate with your account

The response is an object that has a key called servers. This key contain an array of server objects each of which contain the standard server attributes.


Server

GET /servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8
Responses200
Headers
Content-Type: application/json
Body
{
  "server": {
    "bootscript": null,
    "dynamic_public_ip": false,
    "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
    "image": {
      "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
      "name": "ubuntu working"
    },
    "name": "my_server",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "private_ip": null,
    "public_ip": null,
    "state": "running",
    "tags": [
      "test",
      "www"
    ],
    "volumes": {
      "0": {
        "export_uri": null,
        "id": "c1eb8f3a-4f0b-4b95-a71c-93223e457f5a",
        "name": "vol simple snapshot",
        "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
        "server": {
          "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
          "name": "my_server"
        },
        "size": 10000000000,
        "volume_type": "l_ssd"
      }
    }
  }
}

Retrieve a server
GET/servers/{server_id}

List an individual server

The response is an object that has a key called server. This key contain a standard server object.

URI Parameters
HideShow
server_id
string (required) Example: 741db378-6b87-46d4-a8c5-4e46a09ab1f8

Server unique identifier


PUT /servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8
Requestsexample 1
Body
{
  "bootscript": null,
  "dynamic_public_ip": false,
  "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
  "image": {
    "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
    "name": "ubuntu working"
  },
  "name": "my_server",
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "private_ip": null,
  "public_ip": null,
  "state": "running",
  "tags": [
    "test",
    "www",
    "new"
  ],
  "volumes": {
    "0": {
      "export_uri": null,
      "id": "c39b49f4-1804-4d03-96b4-952896b0918e",
      "name": "vol simple snapshot",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": {
        "id": "345b862b-9198-4633-94a5-3f0307702652",
        "name": "my_server"
      },
      "size": 10000000000,
      "volume_type": "l_ssd"
    }
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "server": {
    "bootscript": null,
    "dynamic_public_ip": false,
    "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
    "image": {
      "id": "85917034-46b0-4cc5-8b48-f0a2245e357e",
      "name": "ubuntu working"
    },
    "name": "my_server",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "private_ip": null,
    "public_ip": null,
    "state": "running",
    "tags": [
      "prod",
      "www",
      "new"
    ],
    "volumes": {
      "0": {
        "export_uri": null,
        "id": "c1eb8f3a-4f0b-4b95-a71c-93223e457f5a",
        "name": "vol simple snapshot",
        "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
        "server": {
          "id": "741db378-6b87-46d4-a8c5-4e46a09ab1f8",
          "name": "my_server"
        },
        "size": 10000000000,
        "volume_type": "l_ssd"
      }
    }
  }
}

Update a server
PUT/servers/{server_id}

Update details about a server

The response is an object that has a key called server. This key contain a standard server object.

URI Parameters
HideShow
server_id
string (required) Example: 741db378-6b87-46d4-a8c5-4e46a09ab1f8

Server unique identifier


DELETE /servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8
Responses204
This response has no content.

Remove a server
DELETE/servers/{server_id}

Delete a server

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
server_id
string (required) Example: 741db378-6b87-46d4-a8c5-4e46a09ab1f8

Server unique identifier


Actions

A collection of actions to be applied on a server

GET /servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8/action
Responses200
Headers
Content-Type: application/json
Body
{
  "actions": [
    "poweron",
    "poweroff",
    "reboot"
  ]
}

List all actions
GET/servers/{server_id}/action

List all actions available for the secified server

The response is an object that has a key called actions. This key contain an array of action

URI Parameters
HideShow
server_id
string (required) Example: 741db378-6b87-46d4-a8c5-4e46a09ab1f8

Server unique identifier


POST /servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8/action
Requestsexample 1
Body
{
  "action": "poweroff"
}
Responses202
Headers
Content-Type: application/json
location: https://cp-par1.scaleway.com/tasks/a8a1775c-0dda-4f52-87b2-4e8101d68d6e
Body
{
  "task": {
    "description": "server_poweroff",
    "href_from": "/servers/741db378-6b87-46d4-a8c5-4e46a09ab1f8/action",
    "id": "a8a1775c-0dda-4f52-87b2-4e8101d68d6e",
    "progress": "0",
    "status": "pending"
  }
}

Execute an action
POST/servers/{server_id}/action

Execute an action on a server

The response is an object that has a key called task. This key contain a standard task object.

URI Parameters
HideShow
server_id
string (required) Example: 741db378-6b87-46d4-a8c5-4e46a09ab1f8

Server unique identifier

action
string (required) Example: poweron

Action to execute


Volumes

A Volume abstracts data storage operations for your servers in a flexible manner. volumes endpoint allow you to create, list or delete your volumes.

Volumes

POST /volumes
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "name": "volume-0-3",
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "size": 10000000000,
  "volume_type": "l_ssd"
}
Responses201
  • Headers (application/json)

    https://cp-par1.scaleway.com/volumes/c675f420-cfeb-48ff-ba2a-9d2a4dbe3fcd
Body
{
  "volume": {
    "export_uri": null,
    "id": "c675f420-cfeb-48ff-ba2a-9d2a4dbe3fcd",
    "name": "volume-0-3",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "server": null,
    "size": 10000000000,
    "volume_type": "l_ssd"
  }
}

Create a new volume
POST/volumes

Create a new volume

The response is an object that has a key called volume. This key contain a standard volume object.

URI Parameters
HideShow
name
string (required) Example: volume-0-3

The volume name

organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Unique organization identifier

volume_type (required, string, `l_ssd`)
string (required) 

The volume type l_ssd

size
integer (required) Example: 10000000000

The volume size


GET /volumes
Responses200
Headers
Content-Type: application/json
Body
{
  "volumes": [
    {
      "export_uri": null,
      "id": "f929fe39-63f8-4be8-a80e-1e9c8ae22a76",
      "name": "volume-0-1",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": null,
      "size": 10000000000,
      "volume_type": "l_ssd"
    },
    {
      "export_uri": null,
      "id": "0facb6b5-b117-441a-81c1-f28b1d723779",
      "name": "volume-0-2",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": null,
      "size": 20000000000,
      "volume_type": "l_ssd"
    }
  ]
}

Retrieves all volumes
GET/volumes

List all volumes associate with your account

The response is an object that has a key called volumes. This key contain an array of volume objects each of which contain the standard volume attributes.


Volume

GET /volumes/f929fe39-63f8-4be8-a80e-1e9c8ae22a76
Responses200
Headers
Content-Type: application/json
Body
{
  "volume": {
    "export_uri": null,
    "id": "f929fe39-63f8-4be8-a80e-1e9c8ae22a76",
    "name": "volume-0-1",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "server": null,
    "size": 10000000000,
    "volume_type": "l_ssd"
  }
}

Retrieves informations about a volume
GET/volumes/{volume_id}

List an individual volume

The response is an object that has a key called volume. This key contain a standard volume object.

URI Parameters
HideShow
volume_id
string (required) Example: f929fe39-63f8-4be8-a80e-1e9c8ae22a76

Volume unique identifier


DELETE /volumes/f929fe39-63f8-4be8-a80e-1e9c8ae22a76
Responses204
This response has no content.

Delete a volume
DELETE/volumes/{volume_id}

Delete a volume

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
volume_id
string (required) Example: f929fe39-63f8-4be8-a80e-1e9c8ae22a76

Volume unique identifier


Snapshots

A snapshot is a full-volume copy stored in our secure data centers.

Snapshots

POST /snapshots
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "name": "snapshot-0-1",
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "volume_id": "701a8946-ff9d-4579-95e3-1c2c2d0f892d"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "snapshot": {
    "base_volume": {
      "id": "701a8946-ff9d-4579-95e3-1c2c2d0f892d",
      "name": "vol simple snapshot"
    },
    "creation_date": "2014-05-22T12:10:05.596769+00:00",
    "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
    "name": "snapshot-0-1",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "size": 10000000000,
    "state": "snapshotting",
    "volume_type": "l_ssd"
  }
}

Create a snapshot
POST/snapshots

Create a new snapshot.

The response is an object that has a key called snapshot. This key contain a standard snapshot object.

URI Parameters
HideShow
name
string (required) 

Human readable snapshot name

organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Unique organization identifier

volume_id
string (required) Example: 701a8946-ff9d-4579-95e3-1c2c2d0f892d

Unique volume identifier


GET /snapshots
Responses200
Headers
Content-Type: application/json
Body
{
  "snapshots": [
    {
      "base_volume": {
        "id": "09a4184c-733b-43c8-99c3-f1dde30536fe",
        "name": "vol simple snapshot"
      },
      "creation_date": "2014-05-22T12:11:06.055998+00:00",
      "id": "6f418e5f-b42d-4423-a0b5-349c74c454a4",
      "name": "snapshot-0-1",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "size": 10000000000,
      "state": "snapshotting",
      "volume_type": "l_ssd"
    },
    {
      "base_volume": {
        "id": "09a4184c-733b-43c8-99c3-f1dde30536fe",
        "name": "vol simple snapshot"
      },
      "creation_date": "2014-05-22T12:13:09.877961+00:00",
      "id": "c6ff5501-eb35-44b8-aa01-8777211a830b",
      "name": "snapshot-0-2",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "size": 10000000000,
      "state": "snapshotting",
      "volume_type": "l_ssd"
    }
  ]
}

List all snapshots
GET/snapshots

List all snapshots associate with your account

The response is an object that has a key called snapshots. This key contain an array of snapshot objects each of which contain the standard snapshot attributes.


Snapshot

GET /snapshots/6f418e5f-b42d-4423-a0b5-349c74c454a4
Responses200
Headers
Content-Type: application/json
Body
{
  "snapshot": {
    "base_volume": {
      "id": "09a4184c-733b-43c8-99c3-f1dde30536fe",
      "name": "vol simple snapshot"
    },
    "creation_date": "2014-05-22T12:11:06.055998+00:00",
    "id": "6f418e5f-b42d-4423-a0b5-349c74c454a4",
    "name": "snapshot-0-1",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "size": 10000000000,
    "state": "snapshotting",
    "volume_type": "l_ssd"
  }
}

Retrieve a snapshot
GET/snapshots/{snapshot_id}

List an individual snapshot

The response is an object that has a key called snapshot. This key contain a standard snapshot object.

URI Parameters
HideShow
snapshot_id
string (required) Example: 6f418e5f-b42d-4423-a0b5-349c74c454a4

Snapshot unique identifier


PUT /snapshots/6f418e5f-b42d-4423-a0b5-349c74c454a4
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "organization": "f1350c5d-f1d8-4f9d-b114-6053905578e1"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "snapshot": {
    "base_volume": {
      "id": "09a4184c-733b-43c8-99c3-f1dde30536fe",
      "name": "vol simple snapshot"
    },
    "creation_date": "2014-05-22T12:11:06.055998+00:00",
    "id": "6f418e5f-b42d-4423-a0b5-349c74c454a4",
    "name": "snapshot-0-1",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "size": 10000000000,
    "state": "snapshotting",
    "volume_type": "l_ssd"
  }
}

Update a snapshot
PUT/snapshots/{snapshot_id}

Update details about a snapshot

The response is an object that has a key called snapshot. This key contain a standard snapshot object.

URI Parameters
HideShow
snapshot_id
string (required) Example: 6f418e5f-b42d-4423-a0b5-349c74c454a4

Snapshot unique identifier

organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier


DELETE /snapshots/6f418e5f-b42d-4423-a0b5-349c74c454a4
Responses204
This response has no content.

Remove a snapshot
DELETE/snapshots/{snapshot_id}

Delete a snapshot

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
snapshot_id
string (required) Example: 6f418e5f-b42d-4423-a0b5-349c74c454a4

Snapshot unique identifier


Images

Images allow you to create series of servers with predefined configuration. For instance, you can prepare to scale your serving capacity with a frontend image for an Apache server.

Images

POST /images
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "arch": "arm",
  "name": "my_image",
  "root_volume": "f0361e7b-cbe4-4882-a999-945192b7171b"
}
Responses201
Headers
Content-Type: application/json
Body
{
  "image": {
    "arch": "arm",
    "creation_date": "2014-05-22T12:56:56.984011+00:00",
    "extra_volumes": "[]",
    "from_image": null,
    "from_server": null,
    "id": "98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0",
    "marketplace_key": null,
    "modification_date": "2014-05-22T12:56:56.984011+00:00",
    "name": "my_image",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "public": false,
    "root_volume": {
      "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
      "name": "vol-0-1"
    }
  }
}

Create a new image
POST/images

Create a new image

The response is an object that has a key called image. This key contain a standard image object.

URI Parameters
HideShow
organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier

name
string (required) Example: my_image

The image name

arch
string (required) Example: arm

The architecture type

root_volume
string (required) Example: f0361e7b-cbe4-4882-a999-945192b7171b

The root volume unique identifier


GET /images
Responses200
Headers
Content-Type: application/json
Body
{
  "images": [
    {
      "arch": "arm",
      "creation_date": "2014-05-22T12:56:56.984011+00:00",
      "extra_volumes": "[]",
      "from_image": null,
      "from_server": null,
      "id": "98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0",
      "marketplace_key": null,
      "modification_date": "2014-05-22T12:56:56.984011+00:00",
      "name": "my_image",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "public": false,
      "root_volume": {
        "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
        "name": "vol-0-1"
      }
    },
    {
      "arch": "arm",
      "creation_date": "2014-05-22T12:57:22.514299+00:00",
      "extra_volumes": "[]",
      "from_image": null,
      "from_server": null,
      "id": "1f73d975-35fc-4365-9ead-8dab7e54152f",
      "marketplace_key": null,
      "modification_date": "2014-05-22T12:57:22.514299+00:00",
      "name": "my_image_1",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "public": false,
      "root_volume": {
        "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
        "name": "vol-0-2"
      }
    }
  ]
}

List all images
GET/images

List all images associate with your account

The response is an object that has a key called images. This key contain an array of image objects each of which contain the standard images attributes.


Operation on a single image

GET /images/98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0
Responses200
Headers
Content-Type: application/json
Body
{
  "image": {
    "arch": "arm",
    "creation_date": "2014-05-22T12:56:56.984011+00:00",
    "extra_volumes": "[]",
    "from_image": null,
    "from_server": null,
    "id": "98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0",
    "marketplace_key": null,
    "modification_date": "2014-05-22T12:56:56.984011+00:00",
    "name": "my_image",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "public": false,
    "root_volume": {
      "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
      "name": "vol-0-1"
    }
  }
}

Retrieves an image
GET/images/{image_id}

List an individual image

The response is an object that has a key called image. This key contain a standard image object.

URI Parameters
HideShow
image_id
string (required) Example: 98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0

Image unique identifier


PUT /images/98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "arch": "arm",
  "creation_date": "2014-05-22T12:57:22.514299+00:00",
  "extra_volumes": "[]",
  "from_image": null,
  "from_server": null,
  "id": "1f73d975-35fc-4365-9ead-8dab7e54152f",
  "marketplace_key": null,
  "modification_date": "2014-05-22T12:58:42.511040+00:00",
  "name": "my_image_old",
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "public": false,
  "root_volume": {
    "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
    "name": "vol-0-1"
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "image": {
    "arch": "arm",
    "creation_date": "2014-05-22T12:56:56.984011+00:00",
    "extra_volumes": "[]",
    "from_image": null,
    "from_server": null,
    "id": "98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0",
    "marketplace_key": null,
    "modification_date": "2014-05-22T13:00:15.462764+00:00",
    "name": "my_image_old",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "public": false,
    "root_volume": {
      "id": "f0361e7b-cbe4-4882-a999-945192b7171b",
      "name": "TOTO"
    }
  }
}

Update an image
PUT/images/{image_id}

Update details about a image

The response is an object that has a key called image. This key contain a standard image object.

URI Parameters
HideShow
image_id
string (required) Example: 98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0

Image unique identifier


DELETE /images/98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0
Responses204
This response has no content.

Delete an image
DELETE/images/{image_id}

Delete an image

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
image_id
string (required) Example: 98bf3ac2-a1f5-471d-8c8f-1b706ab57ef0

Image unique identifier


IPs

A reserved IP address is a static IP address designed for cloud computing. Reserved IPs address allow you to mask the failure of a server rapidly reallocating the IPs address to another server in your account.

IPs

POST /ips
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a"
}
Responses201
Headers
Content-Type: application/json
Body
{
  "ip": {
    "address": "212.47.226.88",
    "id": "b50cd740-892d-47d3-8cbf-88510ef626e7",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "server": null
  }
}

Create a new IP
POST/ips

Create a new reserved IP address

The response is an object that has a key called ip. This key contain a standard ip object.

URI Parameters
HideShow
organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier


GET /ips
Responses200
Headers
Content-Type: application/json
Body
{
  "ips": [
    {
      "address": "212.47.226.88",
      "id": "b50cd740-892d-47d3-8cbf-88510ef626e7",
      "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
      "server": null
    }
  ]
}

Retrieves all IPs addresses
GET/ips

List all IPs associate with your account

The response is an object that has a key called ips. This key contain an array of ip objects each of which contain the standard ip attributes.


IP

GET /ips/b50cd740-892d-47d3-8cbf-88510ef626e7
Responses200
Headers
Content-Type: application/json
Body
{
  "ip": {
    "address": "212.47.226.88",
    "id": "b50cd740-892d-47d3-8cbf-88510ef626e7",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "server": null
  }
}

Retrieve an IP address
GET/ips/{ip_id}

List an individual IP address

The response is an object that has a key called ip. This key contain a standard ip object.

URI Parameters
HideShow
ip_id
string (required) Example: b50cd740-892d-47d3-8cbf-88510ef626e7

Ip unique identifier


PUT /ips/b50cd740-892d-47d3-8cbf-88510ef626e7
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "address": "212.47.226.88",
  "id": "b50cd740-892d-47d3-8cbf-88510ef626e7",
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "server": "c2d8994f-1582-413e-8d48-c53076db06cc"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "ip": {
    "address": "212.47.226.88",
    "id": "b50cd740-892d-47d3-8cbf-88510ef626e7",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "server": {
      "id": "c2d8994f-1582-413e-8d48-c53076db06cc",
      "name": "default_server_name - acfb51"
    }
  }
}

Attach an IP address
PUT/ips/{ip_id}

Allow you to remap an IP address to another server

The response is an object that has a key called ip. This key contain a standard ip object.

URI Parameters
HideShow
ip_id
string (required) Example: b50cd740-892d-47d3-8cbf-88510ef626e7

Ip unique identifier


DELETE /ips/b50cd740-892d-47d3-8cbf-88510ef626e7
Responses204
This response has no content.

Remove an IP address
DELETE/ips/{ip_id}

Delete an IP

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
ip_id
string (required) Example: b50cd740-892d-47d3-8cbf-88510ef626e7

Ip unique identifier


Security groups

Security groups are like a virtual firewall. With security groups, you can define rules that restrict network access to your servers.

Security Groups

POST /security_groups
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "name": "security-group-01",
  "description": "Security group 01"
}
Responses201
Headers
Content-Type: application/json
Body
{
  "security_group": {
    "description": "Security group 01",
    "enable_default_security": true,
    "id": "adb5887b-5ab5-445a-ae70-276df95a9852",
    "name": "security-group-01",
    "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
    "organization_default": false,
    "servers": []
  }
}

Create a security group
POST/security_groups

Create a new security group

The response is an object that has a key called security_group. This key contain a standard security_group object.

URI Parameters
HideShow
organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier

name
string (required) Example: security-group-01

The security group name

description
string (required) Example: arm

The security group description


GET /security_groups
Responses200
Headers
Content-Type: application/json
Body
{
  "security_groups": [
    {
      "description": "Base security group",
      "enable_default_security": true,
      "id": "000a115d-2852-4b1a-9ce8-47f1134ba95a",
      "name": "Base group",
      "organization": "ecc1c86a-eabb-43a7-9c0a-77e371753c0a",
      "organization_default": true,
      "servers": [
        {
          "id": "b5614869-1967-9ce8-8cd2-801febf9a3f9",
          "name": "scw-9b0823"
        },
        {
          "id": "4167bf23-9ce8-4790-2852-d7c5b86934df",
          "name": "scw-9b088e"
        }
      ]
    }
  ]
}

List all security groups
GET/security_groups

List all security groups associate with your account

The response is an object that has a key called security_groups. This key contain an array of security group objects each of which contain the standard security_groups attributes.


Operation on a security groups

GET /security_groups/000a115d-2852-4b1a-9ce8-47f1134ba95a
Responses200
Headers
Content-Type: application/json
Body
{
  "security_group": {
    "description": "Base security group",
    "enable_default_security": true,
    "id": "000a115d-2852-4b1a-9ce8-47f1134ba95a",
    "name": "Base group",
    "organization": "ecc1c86a-eabb-43a7-9c0a-77e371753c0a",
    "organization_default": true,
    "servers": [
      {
        "id": "b5614869-1967-9ce8-8cd2-801febf9a3f9",
        "name": "scw-9b0823"
      },
      {
        "id": "4167bf23-9ce8-4790-2852-d7c5b86934df",
        "name": "scw-9b088e"
      }
    ]
  }
}

Retrieves a security group
GET/security_groups/{group_id}

List an individual security group

The response is an object that has a key called security_group. This key contain a standard security_group object.

URI Parameters
HideShow
group_id
string (required) Example: 000a115d-2852-4b1a-9ce8-47f1134ba95a

Security group id unique identifier


PUT /security_groups/000a115d-2852-4b1a-9ce8-47f1134ba95a
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
  "name": "security-group-02",
  "description": "Security group 02"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "security_group": {
    "description": "Security group 02",
    "enable_default_security": true,
    "id": "000a115d-2852-4b1a-9ce8-47f1134ba95a",
    "name": "security-group-02",
    "organization": "ecc1c86a-eabb-43a7-9c0a-77e371753c0a",
    "organization_default": true,
    "servers": [
      {
        "id": "b5614869-1967-9ce8-8cd2-801febf9a3f9",
        "name": "scw-9b0823"
      },
      {
        "id": "4167bf23-9ce8-4790-2852-d7c5b86934df",
        "name": "scw-9b088e"
      }
    ]
  }
}

Update a security group
PUT/security_groups/{group_id}

Update a security group details

The response is an object that has a key called security_group. This key contain a standard security_group object.

URI Parameters
HideShow
group_id
string (required) Example: 000a115d-2852-4b1a-9ce8-47f1134ba95a

Security group id unique identifier


DELETE /security_groups/000a115d-2852-4b1a-9ce8-47f1134ba95a
Responses204
This response has no content.

Delete a security group
DELETE/security_groups/{group_id}

Delete a security group

The response code is a 204, which means that the action was successful with no returned body data.

URI Parameters
HideShow
group_id
string (required) Example: 000a115d-2852-4b1a-9ce8-47f1134ba95a

Security group id unique identifier


Manage rules

POST /security_groups/rules
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "action": "drop",
  "direction": "inbound",
  "ip_range": "0.0.0.0/0",
  "protocol": "TCP"
}
Responses201
Headers
Content-Type: application/json
Body
{
  "rule": {
    "direction": "inbound",
    "protocol": "TCP",
    "ip_range": "0.0.0.0/0",
    "dest_port_from": null,
    "action": "drop",
    "position": 2,
    "dest_port_to": null,
    "editable": null,
    "id": "ef2136c9-6c21-491a-b238-b38de24726a7"
  }
}

Create a new rule
POST/security_groups/rules

Create a new rule

The response is an object that has a key called rule. This key contain a standard rule object.

action: “accept” direction: “outbound” ip_range: “0.0.0.0/0” protocol: “ICMP”

URI Parameters
HideShow
organization
string (required) Example: 000a115d-2852-4b0a-9ce8-47f1134ba95a

Organization unique identifier

action
string (required) Example: accept, drop

The rule action

direction
string (required) Example: outbound, inbound

The rule direction

ip_range
string (required) Example: 0.0.0.0/0
protocol
string (required) Example: TCP, UDP, ICMP

The rule protocol

dest_port_from
string (optional) Example: 25

The port between 1 and 65535


GET /security_groups/rules
Responses200
Headers
Content-Type: application/json
Body
{
  "rules": [
    {
      "direction": "outbound",
      "protocol": "TCP",
      "ip_range": "0.0.0.0/0",
      "dest_port_from": 25,
      "action": "drop",
      "position": 1,
      "dest_port_to": null,
      "editable": false,
      "id": "58909be7-d17c-4ac8-9eb3-23d5fc58abc5"
    },
    {
      "direction": "outbound",
      "protocol": "TCP",
      "ip_range": "0.0.0.0/0",
      "dest_port_from": 465,
      "action": "drop",
      "position": 2,
      "dest_port_to": null,
      "editable": false,
      "id": "25680235-108b-4bbc-8e25-114303d950bd"
    },
    {
      "direction": "outbound",
      "protocol": "TCP",
      "ip_range": "0.0.0.0/0",
      "dest_port_from": 587,
      "action": "drop",
      "position": 3,
      "dest_port_to": null,
      "editable": false,
      "id": "4a31b633-118e-4900-bd52-facf1085fc8d"
    }
  ]
}

List all rules
GET/security_groups/rules

List all rules for a security group

The response is an object that has a key called rules. This key contain an array of rules for a security group each of which contain the standard rule attributes.


Operation on a security rule

PUT /security_groups/rules/
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "action": "drop",
  "direction": "outbound",
  "ip_range": "0.0.0.0/0",
  "protocol": "TCP"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "rule": {
    "direction": "outbound",
    "protocol": "TCP",
    "ip_range": "0.0.0.0/0",
    "dest_port_from": null,
    "action": "drop",
    "position": 2,
    "dest_port_to": null,
    "editable": null,
    "id": "ef2136c9-6c21-491a-b238-b38de24726a7"
  }
}

Update a security rule
PUT/security_groups/rules/

Update a security rule

The response is an object that has a key called rule. This key contain a standard rule object.


GET /security_groups/rules/
Responses200
Headers
Content-Type: application/json
Body
{
  "rule": {
    "direction": "outbound",
    "protocol": "TCP",
    "ip_range": "0.0.0.0/0",
    "dest_port_from": null,
    "action": "drop",
    "position": 2,
    "dest_port_to": null,
    "editable": null,
    "id": "ef2136c9-6c21-491a-b238-b38de24726a7"
  }
}

Retrieves a security rule
GET/security_groups/rules/

List an individual security rule

The response is an object that has a key called rule. This key contain a standard rule object.


DELETE /security_groups/rules/
Responses204
This response has no content.

Delete a security rule
DELETE/security_groups/rules/

Delete and deactivate a security rule

The response code is a 204, which means that the action was successful with no returned body data.


Metadata

Resources related to server Metadata available from your servers at http://169.254.42.42

Server metadata

GET /conf?format=json
Responses200200
Headers
Content-Type: application/json
Body
{
  "id": "9fc9a037-5eaa-4073-9919-63adbe400ab9",
  "name": "Server 2",
  "organization": "11111111-1111-4111-8111-111111111111",
  "private_ip": "10.42.1.2",
  "public_ip": "42.1.2.3",
  "ssh_public_keys": [
    "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjHvTHk5QY+JZdCvAep6APwOhZvIimlC4aybrXkGSBxpNeZI1f+AexDuFFWGZPb1y135pgTAc7VXpKD2FU2xd4EwsSTHaBcaBIs1HkhpFScTwN15IfLiefIHgjgveP/8U8AKQvCK7oecz3egjvqNtBDDj9cHySpQ6w5Zq/rtF7Ku8xAfBa78NEQrwaYvdfHqI/1APeoo61MJse+xZH2LVHX1EZp79jRbHny/0WkZifVXudDCmM9aqI3G1ZgWTWvFxHW/HTkSLz1v8OHD1ZPOEjIIKLxCoYE4kukK2eVZVUWFb+iU+u6GunwqWUa6W/g+0NzpEoSHVcasIC88d3tBZD",
    "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAutWtCIFyrtcpxBevMyDrNlYabV6cCVPjfWwfuKABofuWwCSX8gP2gSnmjQCdtTwYnz/vAuAXbKxn8pxtUy4c24oRvtwqHpEsFDMpzzMzWtghQFOHEd7NWzda3yDGCaJ8OFD1IkiFad5QNKmOt8nlERBUK9cwbPjzhTnP/o2Odn5nJJ8WySn0/TWwMaHH6hpZTtKMSrIn06Fo5MviPfeZ9Loe8IfgV7llB7ITMFTUKP5vPVvMlPJi8MYeo0AYmhFhbTO5wWj8hK8AJELF9RwMCehcsxjDRxKKbxiv9RL3yIdBH0dftlaNX5rYazRp4zB2BYvfPNjhpTqrY2RdPYAvTw=="
  ],
  "tags": [],
  "volumes": []
}
Headers
Content-Type: plain/text
Body
NAME='Server 2'
TAGS=0
PUBLIC_IP=42.1.2.3
SSH_PUBLIC_KEYS=2
SSH_PUBLIC_KEYS_0='ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjHvTHk5QY+JZdCvAep6APwOhZvIimlC4aybrXkGSBxpNeZI1f+AexDuFFWGZPb1y135pgTAc7VXpKD2FU2xd4EwsSTHaBcaBIs1HkhpFScTwN15IfLiefIHgjgveP/8U8AKQvCK7oecz3egjvqNtBDDj9cHySpQ6w5Zq/rtF7Ku8xAfBa78NEQrwaYvdfHqI/1APeoo61MJse+xZH2LVHX1EZp79jRbHny/0WkZifVXudDCmM9aqI3G1ZgWTWvFxHW/HTkSLz1v8OHD1ZPOEjIIKLxCoYE4kukK2eVZVUWFb+iU+u6GunwqWUa6W/g+0NzpEoSHVcasIC88d3tBZD'
SSH_PUBLIC_KEYS_1='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAutWtCIFyrtcpxBevMyDrNlYabV6cCVPjfWwfuKABofuWwCSX8gP2gSnmjQCdtTwYnz/vAuAXbKxn8pxtUy4c24oRvtwqHpEsFDMpzzMzWtghQFOHEd7NWzda3yDGCaJ8OFD1IkiFad5QNKmOt8nlERBUK9cwbPjzhTnP/o2Odn5nJJ8WySn0/TWwMaHH6hpZTtKMSrIn06Fo5MviPfeZ9Loe8IfgV7llB7ITMFTUKP5vPVvMlPJi8MYeo0AYmhFhbTO5wWj8hK8AJELF9RwMCehcsxjDRxKKbxiv9RL3yIdBH0dftlaNX5rYazRp4zB2BYvfPNjhpTqrY2RdPYAvTw=='
PRIVATE_IP=10.42.1.2
VOLUMES=0
ORGANIZATION=11111111-1111-4111-8111-111111111111
ID=9fc9a037-5eaa-4073-9919-63adbe400ab9

Serves server metadata
GET/conf{?format}

Serves instance metadata using its own IP address as authentication token.

URI Parameters
HideShow
format
string (optional) Example: json

Rendering format