commit a3d2b5156a1b6dc8cab8658ed1ffad08b806d8ec
Author: Stavros Sachtouris <saxtouri@admin.grnet.gr>
Date:   Mon Feb 17 18:39:03 2014 +0200

    Update server attributes in  api docs
    
    Refs: #5064
    
    Conflicts:
    
    	docs/compute-api-guide.rst

diff --git a/docs/compute-api-guide.rst b/docs/compute-api-guide.rst
index dc6bccf..7b67afe 100644
--- a/docs/compute-api-guide.rst
+++ b/docs/compute-api-guide.rst
@@ -4,9 +4,9 @@ API Guide
 *********
 
 `Cyclades <cyclades.html>`_ is the Compute Service of `Synnefo
-<http://www.synnefo.org>`_. The Cyclades API tries to be as close to the
-`OpenStack Compute API v2
-<http://docs.openstack.org/api/openstack-compute/2/content>`_ as possible.
+<http://www.synnefo.org>`_. The Cyclades/Compute API complies with
+`OpenStack Compute <http://docs.openstack.org/api/openstack-compute/2/content>`_
+with custom extensions when needed.
 
 This document's goals are:
 
@@ -14,7 +14,8 @@ This document's goals are:
 * Clarify the differences between Cyclades and OpenStack/Compute
 
 Users and developers who wish to access Cyclades through its REST API are
-advised to use the `kamaki <http://www.synnefo.org/docs/kamaki/latest/index.html>`_ command-line
+advised to use the
+`kamaki <http://www.synnefo.org/docs/kamaki/latest/index.html>`_ command-line
 client and associated python library, instead of making direct calls.
 
 Overview
@@ -74,32 +75,59 @@ Limitations
 API Operations
 ==============
 
-Servers
--------
-
-=================================================== ========================================= ====== ======== ==========
-Description                                         URI                                       Method Cyclades OS/Compute
-=================================================== ========================================= ====== ======== ==========
-`List <#list-servers>`_                             ``/servers``                              GET    ✔        ✔
-\                                                   ``/servers/detail``                       GET    ✔        ✔
-`Create <#create-server>`_                          ``/servers``                              POST   ✔        ✔
-`Get Stats <#get-server-stats>`_                    ``/servers/<server-id>/stats``            GET    ✔        **✘**
-`Get Diagnostics <#get-server-diagnostics>`_        ``/servers/<server-id>/diagnostics``      GET    ✔        **✘**
-`Get Details <#get-server-details>`_                ``/servers/<server id>``                  GET    ✔        ✔
-`Rename <#rename-server>`_                          ``/servers/<server id>``                  PUT    ✔        ✔
-`Delete <#delete-server>`_                          ``/servers/<server id>``                  DELETE ✔        ✔
-`List Addresses <#list-server-addresses>`_          ``/servers/<server id>/ips``              GET    ✔        ✔
-`Get NICs by Net <#get-server-nics-by-network>`_    ``/servers/<server id>/ips/<network id>`` GET    ✔        ✔
-`List Metadata <#list-server-metadata>`_            ``/servers/<server-id>/metadata``         GET    ✔        ✔
-`Update Metadata <#set-update-server-metadata>`_    ``/servers/<server-id>/metadata``         PUT    **✘**    ✔
-\                                                   ``/servers/<server-id>/metadata``         POST   ✔        ✔
-`Get Meta Item <#get-server-metadata-item>`_        ``/servers/<server-id>/metadata/<key>``   GET    ✔        ✔
-`Update Meta Item <#update-server-metadatum-item>`_ ``/servers/<server-id>/metadata/<key>``   PUT    ✔        ✔
-`Delete Meta Item <#delete-server-metadatum>`_      ``/servers/<server-id>/metadata/<key>``   DELETE ✔        ✔
-=================================================== ========================================= ====== ======== ==========
+.. rubric:: Servers
+
+================================================== ========================================= ====== ======== ==========
+Description                                        URI                                       Method Cyclades OS/Compute
+================================================== ========================================= ====== ======== ==========
+`List <#list-servers>`_                            ``/servers``                              GET    ✔        ✔
+\                                                  ``/servers/detail``                       GET    ✔        ✔
+`Create <#create-server>`_                         ``/servers``                              POST   ✔        ✔
+`Get Stats <#get-server-stats>`_                   ``/servers/<server-id>/stats``            GET    ✔        **✘**
+`Get Diagnostics <#get-server-diagnostics>`_       ``/servers/<server-id>/diagnostics``      GET    ✔        **✘**
+`Get Details <#get-server-details>`_               ``/servers/<server id>``                  GET    ✔        ✔
+`Rename <#rename-server>`_                         ``/servers/<server id>``                  PUT    ✔        ✔
+`Delete <#delete-server>`_                         ``/servers/<server id>``                  DELETE ✔        ✔
+`List Addresses <#list-server-addresses>`_         ``/servers/<server id>/ips``              GET    ✔        ✔
+`Get NICs by Net <#get-server-nics-by-network>`_   ``/servers/<server id>/ips/<network id>`` GET    ✔        ✔
+`List Metadata <#list-server-metadata>`_           ``/servers/<server-id>/metadata``         GET    ✔        ✔
+`Update Metadata <#set-update-server-metadata>`_   ``/servers/<server-id>/metadata``         PUT    **✘**    ✔
+\                                                  ``/servers/<server-id>/metadata``         POST   ✔        ✔
+`Get Meta Item <#get-server-metadata-item>`_       ``/servers/<server-id>/metadata/<key>``   GET    ✔        ✔
+`Update Meta Item <#update-server-metadata-item>`_ ``/servers/<server-id>/metadata/<key>``   PUT    ✔        ✔
+`Delete Meta Item <#delete-server-metadata>`_      ``/servers/<server-id>/metadata/<key>``   DELETE ✔        ✔
+`Actions <#server-actions>`_                       ``servers/<server id>/action``            POST   ✔        ✔
+================================================== ========================================= ====== ======== ==========
+
+.. rubric:: Flavors
+
+==================================== ======================== ====== ======== ==========
+Description                          URI                      Method Cyclades OS/Compute
+==================================== ======================== ====== ======== ==========
+`List <#list-flavors>`_              ``/flavors``             GET    ✔        ✔
+\                                    ``/flavors/detail``      GET    ✔        **✘**
+`Get details <#get-flavor-details>`_ ``/flavors/<flavor-id>`` GET    ✔        ✔
+==================================== ======================== ====== ======== ==========
+
+.. rubric:: Images
+
+=========================================== ===================================== ====== ======== ==========
+Description                                 URI                                   Method Cyclades OS/Compute
+=========================================== ===================================== ====== ======== ==========
+`List <#list-images>`_                      ``/images``                           GET    ✔        ✔
+\                                           ``/images/detail``                    GET    ✔        ✔
+`Get details <#get-image-details>`_         ``/images/<image-id>``                GET    ✔        ✔
+`Delete <#delete-image>`_                   ``/images/<image id>``                DELETE ✔        ✔
+`List Metadata <#list-image-metadata>`_     ``/images/<image-id>/metadata``       GET    ✔        ✔
+`Update Metadata <#update-image-metadata>`_ ``/images/<image-id>/metadata``       POST   ✔        ✔
+\                                           ``/images/<image-id>/metadata``       PUT    **✘**    ✔
+`Get Meta Item <#get-image-metadata>`_      ``/image/<image-id>/metadata/<key>``  GET    ✔        ✔
+`Update Metadata <#update-image-metadata>`_ ``/images/<image-id>/metadata/<key>`` PUT    ✔        ✔
+`Delete Metadata <#delete-image-metadata>`_ ``/images/<image-id>/metadata/<key>`` DELETE ✔        ✔
+=========================================== ===================================== ====== ======== ==========
 
 List Servers
-............
+------------
 
 List all virtual servers owned by the user.
 
@@ -117,7 +145,6 @@ URI                 Method Cyclades OS/Compute
   server attributes.
 
 |
-
 ==============  ========================= ======== ==========
 Request Header  Value                     Cyclades OS/Compute
 ==============  ========================= ======== ==========
@@ -125,7 +152,6 @@ X-Auth-Token    User authentication token required required
 ==============  ========================= ======== ==========
 
 |
-
 ================= =================================== ======== ==========
 Request Parameter Value                               Cyclades OS/Compute
 ================= =================================== ======== ==========
@@ -147,8 +173,6 @@ the response will be formated in json.
 
 * **changes-since** must be an ISO8601 date string
 
-.. note:: Request body should be empty
-
 .. rubric:: Response
 
 =========================== =====================
@@ -175,225 +199,268 @@ Response body contents::
     }, ...
   ]
 
-================= ====================== ======== ==========
-Server Attributes Description            Cyclades OS/Compute
-================= ====================== ======== ==========
-id                The server id          ✔        ✔
-name              The server name        ✔        ✔
-links             Reference links        ✔        ✔
-hostId            Server playground      empty    ✔
-created           Creation date          ✔        ✔
-updated           Creation date          ✔        ✔
-flavor            The flavor id          ✔        ✔
-image             The image id           ✔        ✔
-progress          Build progress         ✔        ✔
-status            Server status          ✔        ✔
-attachments       Network interfaces     ✔        **✘**
-addresses         Network interfaces     **✘**    ✔
-metadata          Server custom metadata ✔        ✔
-================= ====================== ======== ==========
-
-* **hostId** is not used in Cyclades, but is returned as an empty string for
-  compatibility
-
-* **progress** is changing while the server is building up and has values
-  between 0 and 100. When it reaches 100 the server is built.
-
-* **status** refers to `the status <#status-ref>`_ of the server
-
-* **metadata** are custom key:value pairs used to specify various attributes of
-  the VM (e.g. OS, super user, etc.)
-
-* **attachments** in Cyclades are lists of network interfaces (nics).
-  **Attachments** are different to OS/Compute's **addresses**. The former is a
-  list of the server's `network interface connections <#nic-ref>`_ while the
-  later is just a list of networks. Thus, a Cyclades virtual server may be
-  connected to the same network through more than one distinct network
-  interfaces (e.g. server 43 is connected to network 101 with nic-43-1 and
-  nic-43-2 in the example bellow).
-
-* **Network Interfaces (NICs)** contain information about a server's connection
-  to a network. Each NIC is identified by an id of the form
-  nic-<server-id>-<ordinal-number>. More details can be found `here
-  <#nic-ref>`_.
-
+The server attributes are listed `here <#server-ref>`_
 
 *Example List Servers: JSON (regular)*
 
 .. code-block:: javascript
 
-    [
+  GET https://example.org/compute/v2.0/servers
+
+  {
+    "servers": [
       {
         "links": [
-            {
-                "href": "https://example.org/compute/v2.0/servers/42", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/servers/42", 
-                "rel": "bookmark"
-            }
+          {
+            "href": "https://example.org/compute/v2.0/servers/42", 
+            "rel": "self"
+          }, {
+            "href": "https://example.org/compute/v2.0/servers/42", 
+            "rel": "bookmark"
+          }
         ],
         "id": "42",
         "name": "My Server",
       }, {
         "links": [
-            {
-                "href": "https://example.org/compute/v2.0/servers/43", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/servers/43", 
-                "rel": "bookmark"
-            }
+          {
+            "href": "https://example.org/compute/v2.0/servers/43", 
+            "rel": "self"
+          }, {
+            "href": "https://example.org/compute/v2.0/servers/43", 
+            "rel": "bookmark"
+          }
         ],
-        "id": "43",
+        "id": "84",
         "name": "My Server",
       }
     ]
+  }
 
 *Example List Servers: JSON (detail)*
 
 .. code-block:: javascript
 
-    [
+  {
+    "servers": [
       {
+        "addresses": [
+          "2718": [
+            {
+              "version": 6,
+              "addr": "2001:443:2dfc:1232:a810:3cf:fe9b:21ab",
+              "OS-EXT-IPS:type": "fixed"
+            }
+          ],
+          "2719": [
+            {
+              "version": 4,
+              "addr": "192.168.1.2",
+              "OS-EXT-IPS:type": "floating"
+            }
+          ]
+        ],
         "attachments": [
             {
-              "id": "nic-42-0",
-              "network_id": "101",
-              "mac_address": "aa:00:00:49:2e:7e",
+              "id": "18",
+              "network_id": "2718",
+              "mac_address": "aa:01:02:6c:34:ab",
               "firewallProfile": "DISABLED",
-              "ipv4": "192.168.4.5",
-              "ipv6": "2001:648:2ffc:1222:a800:ff:fef5:3f5b"
+              "ipv4": "",
+              "ipv6": "2001:443:2dfc:1232:a810:3cf:fe9b:21ab"
+              "OS-EXT-IPS:type": "fixed"
+            }, {
+              "id": "19",
+              "network_id": "2719",
+              "mac_address": "aa:00:0c:6d:34:bb",
+              "firewallProfile": "PROTECTED",
+              "ipv4": "192.168.1.2",
+              "ipv6": ""
+              "OS-EXT-IPS:type": "floating"
             }
         ],
         "links": [
+          {
+            "href": "https://example.org/compute/v2.0/servers/42", 
+            "rel": "self"
+          }, {
+            "href": "https://example.org/compute/v2.0/servers/42", 
+            "rel": "bookmark"
+          }
+        ],
+        "image": {
+          "id": "im4g3-1d",
+          "links": [
             {
-                "href": "https://example.org/compute/v2.0/servers/42", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/servers/42", 
-                "rel": "bookmark"
+              "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
+              "rel": "self"
+            }, {
+              "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
+              "rel": "bookmark"
+            }, {
+              "href": "https://example.org/image/v1.0/images/im4g3-1d", 
+              "rel": "alternate"
             }
-        ],
+          ]
+        },
+        "suspended": false,
         "created': '2011-04-19T10:18:52.085737+00:00',
         "flavor": {
-            "id": 1",
-            "links": [
-                {
-                    "href": "https://example.org/compute/v2.0/flavors/1", 
-                    "rel": "self"
-                }, 
-                {
-                    "href": "https://example.org/compute/v2.0/flavors/1", 
-                    "rel": "bookmark"
-                }
-            ]
-
+          "id": 1",
+          "links": [
+            {
+              "href": "https://example.org/compute/v2.0/flavors/1", 
+              "rel": "self"
+            }, {
+              "href": "https://example.org/compute/v2.0/flavors/1", 
+              "rel": "bookmark"
+            }
+          ]
         },
-        "hostId": "",
         "id": "42",
-        "image": {
-            "id": "im4g3-1d",
-            "links": [
-                {
-                    "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
-                    "rel": "self"
-                }, 
-                {
-                    "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
-                    "rel": "bookmark"
-                }, 
-                {
-                    "href": "https://example.org/image/v1.0/images/im4g3-1d", 
-                    "rel": "alternate"
-                }
-            ]
-        },
-        "metadata": {{"foo": "bar"},
-        "name": "My Server",
+        "security_groups": [{"name": "default"}],
+        "user_id": "s0m5-u5e7-1d",
+        "accessIPv4": "",
+        "accessIPv6": "",
+        "progress": 100,
+        "config_drive": "",
         "status": "ACTIVE",
-        "updated": "2011-05-29T14:07:07.037602+00:00"
+        "updated": "2011-05-29T14:07:07.037602+00:00",
+        "hostId": "",
+        "SNF:fqdn": "snf-42.vm.example.org",
+        "key_name": null,
+        "name": "My Server",
+        "created": "2014-02-12T08:31:37.834542+00:00",
+        "tenant_id": "s0m5-u5e7-1d",
+        "SNF:port_forwarding": {},
+        "SNF:task_state": "",
+        "diagnostics": [
+            {
+                "level": "DEBUG",
+                "created": "2014-02-12T08:31:37.834542+00:00",
+                "source": "image-info",
+                "source_date": "2014-02-12T08:32:35.929507+00:00",
+                "message": "Image customization finished successfully.",
+                "details": null
+            }
+        ],
+        "metadata": {
+            "os": "debian",
+            "users": "root"
+        }
       }, {
+      {
+        "addresses": [
+          "2718": [
+            {
+              "version": 6,
+              "addr": "2001:443:2dfc:1232:a810:3cf:fe9b:21cd",
+              "OS-EXT-IPS:type": "fixed"
+            }
+          ],
+          "4178": [
+            {
+              "version": 4,
+              "addr": "192.168.1.3",
+              "OS-EXT-IPS:type": "floating"
+            }
+          ]
+        ],
         "attachments": [
             {
-              "id": "nic-43-0",
-              "mac_address": "aa:00:00:91:2f:df",
-              "network_id": "1",
-              "ipv4": "192.168.32.2"
-            }, {
-              "id": "nic-43-1",
-              "network_id": "101",
-              "mac_address": "aa:00:00:49:2g:7f",
+              "id": "36",
+              "network_id": "2718",
+              "mac_address": "aa:01:02:6c:34:cd",
               "firewallProfile": "DISABLED",
-              "ipv4": "192.168.32.6",
-              "ipv6": "2001:648:2ffc:1222:a800:ff:fef5:3f5c'
+              "ipv4": "",
+              "ipv6": "2001:443:2dfc:1232:a810:3cf:fe9b:21cd"
+              "OS-EXT-IPS:type": "fixed"
             }, {
-              "id": "nic-43-2",
-              "network_id": "101",
-              "mac_address": "aa:00:00:51:2h:7f",
-              "firewallProfile": "DISABLED",
-              "ipv4": "192.168.32.7",
-              "ipv6": "2001:638:2eec:1222:a800:ff:fef5:3f5c"
+              "id": "38",
+              "network_id": "4178",
+              "mac_address": "aa:00:0c:6d:34:cc",
+              "firewallProfile": "PROTECTED",
+              "ipv4": "192.168.1.3",
+              "ipv6": ""
+              "OS-EXT-IPS:type": "floating"
             }
         ],
         "links": [
+          {
+            "href": "https://example.org/compute/v2.0/servers/84", 
+            "rel": "self"
+          }, {
+            "href": "https://example.org/compute/v2.0/servers/84", 
+            "rel": "bookmark"
+          }
+        ],
+        "image": {
+          "id": "im4g3-1d",
+          "links": [
             {
-                "href": "https://example.org/compute/v2.0/servers/43", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/servers/43", 
-                "rel": "bookmark"
+              "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
+              "rel": "self"
+            }, {
+              "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
+              "rel": "bookmark"
+            }, {
+              "href": "https://example.org/image/v1.0/images/im4g3-1d", 
+              "rel": "alternate"
             }
-        ],
-        "created": "2011-05-02T20:51:08.527759+00:00",
-        "flavor": {
-            "id": 1",
-            "links": [
-                {
-                    "href": "https://example.org/compute/v2.0/flavors/1", 
-                    "rel": "self"
-                }, 
-                {
-                    "href": "https://example.org/compute/v2.0/flavors/1", 
-                    "rel": "bookmark"
-                }
-            ]
-
+          ]
         },
-        "hostId": "",
-        "id": "43",
-        "image": {
-            "id": "im4g3-1d",
-            "links": [
-                {
-                    "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
-                    "rel": "self"
-                }, 
-                {
-                    "href": "https://example.org/compute/v2.0/images/im4g3-1d", 
-                    "rel": "bookmark"
-                }, 
-                {
-                    "href": "https://example.org/image/v1.0/images/im4g3-1d", 
-                    "rel": "alternate"
-                }
-            ]
+        "suspended": false,
+        "created': '2011-04-21T10:18:52.085737+00:00',
+        "flavor": {
+          "id": 3",
+          "links": [
+            {
+              "href": "https://example.org/compute/v2.0/flavors/3", 
+              "rel": "self"
+            }, {
+              "href": "https://example.org/compute/v2.0/flavors/3", 
+              "rel": "bookmark"
+            }
+          ]
         },
-        "name": "Other Server",
-        "description": "A sample server to showcase server requests",
-        "progress": "0",
+        "id": "84",
+        "security_groups": [{"name": "default"}],
+        "user_id": "s0m5-u5e7-1d",
+        "accessIPv4": "",
+        "accessIPv6": "",
+        "progress": 100,
+        "config_drive": "",
         "status": "ACTIVE",
-        "updated": "2011-05-29T14:59:11.267087+00:00"
+        "updated": "2011-05-30T14:07:07.037602+00:00",
+        "hostId": "",
+        "SNF:fqdn": "snf-84.vm.example.org",
+        "key_name": null,
+        "name": "My Other Server",
+        "created": "2014-02-21T08:31:37.834542+00:00",
+        "tenant_id": "s0m5-u5e7-1d",
+        "SNF:port_forwarding": {},
+        "SNF:task_state": "",
+        "diagnostics": [
+          {
+            "level": "DEBUG",
+            "created": "2014-02-21T08:31:37.834542+00:00",
+            "source": "image-info",
+            "source_date": "2014-02-21T08:32:35.929507+00:00",
+            "message": "Image customization finished successfully.",
+            "details": null
+          }
+        ],
+        "metadata": {
+          "os": "debian",
+          "users": "root"
+        }
       }
     ]
+  }
 
 
 Create Server
-.............
+-------------
 
 Create a new virtual server
 
@@ -621,7 +688,7 @@ Server attributes are `listed here <#server-ref>`_.
   />
 
 Get Server Stats
-................
+----------------
 
 .. note:: This operation is not part of OS/Compute v2.
 
@@ -717,14 +784,14 @@ netTimeSeries Network load / time graph URL
     xmlns:atom="http://www.w3.org/2005/Atom"
     serverRef="1"
     refresh="60"
-    cpuBar="https://www.example.com/stats/snf-42/cpu-bar/",
-    netTimeSeries="https://example.com/stats/snf-42/net-ts/",
-    netBar="https://example.com/stats/snf-42/net-bar/",
-    cpuTimeSeries="https://www.example.com/stats/snf-42/cpu-ts/"
+    cpuBar="https://www.example.org/stats/snf-42/cpu-bar/",
+    netTimeSeries="https://example.org/stats/snf-42/net-ts/",
+    netBar="https://example.org/stats/snf-42/net-bar/",
+    cpuTimeSeries="https://www.example.org/stats/snf-42/cpu-ts/"
   </stats>
 
 Get Server Diagnostics
-......................
+----------------------
 
 .. note:: This operation is not part of OS/Compute v2.
 
@@ -823,7 +890,7 @@ details              Detailed log description
   ]
 
 Get Server Details
-..................
+------------------
 
 This operation returns detailed information for a virtual server
 
@@ -906,7 +973,7 @@ diagnostics       Diagnostic information ✔        **✘**
 
 * **attachments** in Cyclades are lists of network interfaces (NICs).
   **Attachments** are different to OS/Compute's **addresses**. The former is a
-  list of the server's `network interface connections <#nic-ref>`_ while the
+  list of the server's `network interface connections <#attachments-ref>`_ while the
   later is just a list of networks. Thus, a Cyclades virtual server may be
   connected to the same network through more than one distinct network
   interfaces.
@@ -996,7 +1063,7 @@ diagnostics       Diagnostic information ✔        **✘**
   }
 
 Rename Server
-.............
+-------------
 
 Modify the ``name`` attribute of a virtual server. OS/Compute API also features
 the modification of IP addresses
@@ -1076,7 +1143,7 @@ Return Code                 Description
   include the new server details.
 
 Delete Server
-.............
+-------------
 
 Delete a virtual server. When a server is deleted, all its connections are
 deleted as well.
@@ -1122,7 +1189,7 @@ Return Code                 Description
 .. note:: In case of a 204 code, response body should be empty
 
 List Server Addresses
-.....................
+---------------------
 
 List all network connections of a server. In Cyclades API, connections are
 represented as Network Connection Interfaces (NICs), which describe a server -
@@ -1181,7 +1248,7 @@ Response body contents::
 
 A Network Interface Connection (or NIC) connects the current server to a
 network, through their respective identifiers. More information in NIC
-attributes are `enlisted here <#nic-ref>`_.
+attributes are `enlisted here <#attachments-ref>`_.
 
 *Example List Addresses: JSON*
 
@@ -1208,7 +1275,7 @@ attributes are `enlisted here <#nic-ref>`_.
   }
 
 Get Server NICs by Network
-..........................
+--------------------------
 
 Return the NIC that connects a server to a network.
 
@@ -1264,7 +1331,7 @@ Response body contents::
     ...
   }
 
-Network Interface Connection (NIC) attributes are listed `here <#nic-ref>`_.
+Network Interface Connection (NIC) attributes are listed `here <#attachments-ref>`_.
 
 **List Server NICs Example with server id 25455, network id 7: JSON**
 
@@ -1283,7 +1350,7 @@ Network Interface Connection (NIC) attributes are listed `here <#nic-ref>`_.
 
 
 List Server Metadata
-....................
+--------------------
 
 List the metadata of a server
 
@@ -1346,7 +1413,7 @@ Response body contents::
   }
 
 Set / Update Server Metadata
-............................
+----------------------------
 
 In Cyclades API, setting new metadata and updating the values of existing ones
 is achieved with the same type of request (``POST``), while in OS/Compute API
@@ -1431,7 +1498,7 @@ Response body contents::
   {"metadata": {"OS": "Linux", "role": "webmail", "users": "root,maild"}}
 
 Get Server Metadata Item
-........................
+------------------------
 
 Get the value of a specific piece of metadata of a virtual server
 
@@ -1445,7 +1512,7 @@ URI                                     Method Cyclades OS/Compute
 
 * **server-id** is the identifier of the virtual server
 
-* **key** is the key of a matadatum ``key``:``value`` pair
+* **key** is the key of a mata ``key``:``value`` pair
 
 |
 
@@ -1468,7 +1535,7 @@ Return Code                 Description
 400 (Bad Request)           Invalid server ID or Malformed request
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Administratively suspended server
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Meta key not found
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
 503 (Service Unavailable)   The server is not currently available
@@ -1478,14 +1545,14 @@ Response body content::
 
   metadata: {<key>: <value>}
 
-*Example Get Server Metadatum for Item 'role', JSON*
+*Example Get Server Metadata for Item 'role', JSON*
 
 .. code-block:: javascript
 
   {"metadata": {"role": "webmail"}}
 
-Update Server Metadatum Item
-.............................
+Update Server Metadata Item
+---------------------------
 
 Set a new or update an existing a metadum value for a virtual server.
 
@@ -1523,7 +1590,7 @@ Request body content::
 
   metadata: {<key>: <value>}
 
-*Example Request to Set or Update Server Metadatum "role": JSON*
+*Example Request to Set or Update Server Metadata "role": JSON*
 
 .. code-block:: javascript
 
@@ -1538,7 +1605,7 @@ Return Code                 Description
 400 (Bad Request)           Invalid server ID or Malformed request
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Administratively suspended server
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Meta key not found
 413 (OverLimit)             Maximum number of metadata exceeded
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
@@ -1549,16 +1616,16 @@ Response body content::
 
   metadata: {<key>: <value>}
 
-*Example Set or Update Server Metadatum "role":"gateway": JSON*
+*Example Set or Update Server Metadata "role":"gateway": JSON*
 
 .. code-block:: javascript
 
   {"metadata": {"role": "gateway"}}
 
-Delete Server Metadatum
-.......................
+Delete Server Metadata
+----------------------
 
-Delete a metadatum of a virtual server
+Delete a metadata of a virtual server
 
 .. rubric:: Request
 
@@ -1570,7 +1637,7 @@ URI                                     Method Cyclades OS/Compute
 
 * **server-id** is the identifier of the virtual server
 
-* **key** is the key of a matadatum ``key``:``value`` pair
+* **key** is the key of a mata ``key``:``value`` pair
 
 |
 
@@ -1593,7 +1660,7 @@ Return Code                 Description
 400 (Bad Request)           Invalid server ID
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Administratively suspended server
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Metadata key not found
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
 503 (Service Unavailable)   The server is not currently available
@@ -1812,22 +1879,8 @@ Synnefo/Cyclades, but are parts of the OS/Compute API:
 * `Revert Resized Server <http://docs.openstack.org/api/openstack-compute/2/content/Revert_Resized_Server-d1e4024.html>`_
 * `Create Image <http://docs.openstack.org/api/openstack-compute/2/content/Create_Image-d1e4655.html>`_
 
-
-Flavors
--------
-
-A flavor is a hardware configuration for a server.
-
-==================================== ======================== ====== ======== ==========
-Description                          URI                      Method Cyclades OS/Compute
-==================================== ======================== ====== ======== ==========
-`List <#list-flavors>`_              ``/flavors``             GET    ✔        ✔
-\                                    ``/flavors/detail``      GET    ✔        **✘**
-`Get details <#get-flavor-details>`_ ``/flavors/<flavor-id>`` GET    ✔        ✔
-==================================== ======================== ====== ======== ==========
-
 List Flavors
-............
+------------
 
 List the flavors that are accessible by the user
 
@@ -1841,7 +1894,6 @@ URI                 Method Cyclades OS/Compute
 =================== ====== ======== ==========
 
 |
-
 ==============  ========================= ======== ==========
 Request Header  Value                     Cyclades OS/Compute
 ==============  ========================= ======== ==========
@@ -1849,7 +1901,6 @@ X-Auth-Token    User authentication token required required
 ==============  ========================= ======== ==========
 
 |
-
 ================= ===============
 Request Parameter Value
 ================= ===============
@@ -1979,7 +2030,7 @@ only ``id`` and ``name`` attributes.
   }
 
 Get Flavor Details
-..................
+------------------
 
 Get the configuration of a specific flavor
 
@@ -2034,7 +2085,7 @@ Response code contents::
     ...
   }
 
-All flavor attributes are `listed here <flavor-ref>`_.
+All flavor attributes are `listed here <#flavor-ref>`_.
 
 *Example Flavor Details: JSON*
 
@@ -2072,31 +2123,8 @@ All flavor attributes are `listed here <flavor-ref>`_.
     xmlns:atom="http://www.w3.org/2005/Atom"
     id="1" name="One core" ram="1024" disk="20" cpu="1" />
 
-Images
-------
-
-An image is a collection of files used to create or rebuild a server. Synnefo
-deployments usually provide pre-built OS images, but custom image creation is
-also supported.
-
-============================================= ===================================== ====== ======== ==========
-Description                                   URI                                   Method Cyclades OS/Compute
-============================================= ===================================== ====== ======== ==========
-`List <#list-images>`_                        ``/images``                           GET    ✔        ✔
-\                                             ``/images/detail``                    GET    ✔        ✔
-`Get details <#get-image-details>`_           ``/images/<image-id>``                GET    ✔        ✔
-`Delete <#delete-image>`_                     ``/images/<image id>``                DELETE ✔        ✔
-`List Metadata <#list-image-metadata>`_       ``/images/<image-id>/metadata``       GET    ✔        ✔
-`Update Metadata <#update-image-metadata>`_   ``/images/<image-id>/metadata``       POST   ✔        ✔
-\                                             ``/images/<image-id>/metadata``       PUT    **✘**    ✔
-`Get Meta Item <#get-image-metadatum>`_       ``/image/<image-id>/metadata/<key>``  GET    ✔        ✔
-`Update Metadatum <#update-image-metadatum>`_ ``/images/<image-id>/metadata/<key>`` PUT    ✔        ✔
-`Delete Metadatum <#delete-image-metadatum>`_ ``/images/<image-id>/metadata/<key>`` DELETE ✔        ✔
-============================================= ===================================== ====== ======== ==========
-
-
 List Images
-...........
+-----------
 
 List all images accessible by the user
 
@@ -2160,7 +2188,7 @@ Response body contents::
       <image attribute>: <value>,
       ...
       metadata: {
-        <image metadatum key>: <value>,
+        <image meta key>: <value>,
         ...
       },
       ...
@@ -2242,7 +2270,7 @@ a collections of the `image attributes listed here <#image-ref>`_.
   }
 
 Get Image Details
-.................
+-----------------
 
 Get the details of a specific image
 
@@ -2290,7 +2318,7 @@ Response body contents::
     <image attribute>: <value>,
     ...
     metadata: {
-      <image metadatum key>: <value>
+      <image meta key>: <value>
     }
   }
 
@@ -2337,7 +2365,7 @@ Image attributes are `listed here <#image-ref>`_.
 
 
 Delete Image
-............
+------------
 
 Delete an image, by changing its status from ``ACTIVE`` to ``DELETED``.
 
@@ -2381,7 +2409,7 @@ Return Code                 Description
 .. note:: In case of a 204 code, request body should be empty
 
 List Image Metadata
-...................
+-------------------
 
 .. rubric:: Request
 
@@ -2394,7 +2422,6 @@ URI                             Method Cyclades OS/Compute
 * **image-id** is the identifier of the virtual image
 
 |
-
 ==============  ========================= ======== ==========
 Request Header  Value                     Cyclades OS/Compute
 ==============  ========================= ======== ==========
@@ -2424,7 +2451,7 @@ Return Code                 Description
 Response body content::
 
   metadata: {
-    <metadatum key>: <value>,
+    <meta key>: <value>,
   ...
   }
 
@@ -2449,7 +2476,7 @@ Response body content::
 .. note:: In OS/Compute API  the ``values`` level is missing from the response.
 
 Update Image Metadata
-.....................
+---------------------
 
 In Cyclades API, setting new metadata and updating the values of existing ones
 is achieved using one type of request (POST), while in OS/Compute API two
@@ -2474,7 +2501,6 @@ URI                             Method Cyclades OS/Compute
 * **image-id** is the identifier of the virtual image
 
 |
-
 ==============  ========================= ======== ==========
 Request Header  Value                     Cyclades OS/Compute
 ==============  ========================= ======== ==========
@@ -2494,7 +2520,7 @@ Content-Length  Length of request body    required required
 Request body content::
 
   metadata: {
-    <metadatum key>: <value>,
+    <meta key>: <value>,
     ...
   }
 
@@ -2513,7 +2539,7 @@ Return Code                 Description
 400 (Bad Request)           Malformed request or image id
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Not allowed to modify this image
-404 (Not Found)             Image or metadatum key not found
+404 (Not Found)             Image or meta key not found
 413 (OverLimit)             Maximum number of metadata exceeded
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
@@ -2546,8 +2572,8 @@ Response body content::
     }
   }
 
-Get Image Metadatum
-...................
+Get Image Metadata
+------------------
 
 .. rubric:: Request
 
@@ -2559,7 +2585,7 @@ URI                                   Method Cyclades OS/Compute
 
 * **image-id** is the identifier of the image
 
-* **key** is the key of a matadatum ``key``:``value`` pair
+* **key** is the key of a mata ``key``:``value`` pair
 
 |
 
@@ -2582,7 +2608,7 @@ Return Code                 Description
 400 (Bad Request)           Malformed request or image id
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Not allowed to access this information
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Meta key not found
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
 503 (Service Unavailable)   The server is not currently available
@@ -2592,7 +2618,7 @@ Response body content::
 
   metadata: {<key>: <value>}
 
-*Example Get Image Metadatum Item: JSON*
+*Example Get Image Metadata Item: JSON*
 
 .. code-block:: javascript
 
@@ -2600,8 +2626,8 @@ Response body content::
 
 .. note:: In OS/Compute, ``metadata`` is ``meta``
 
-Update Image Metadatum
-......................
+Update Image Metadata
+---------------------
 
 .. rubric:: Request
 
@@ -2613,7 +2639,7 @@ URI                                   Method Cyclades OS/Compute
 
 * **image-id** is the identifier of the image
 
-* **key** is the key of a matadatum ``key``:``value`` pair
+* **key** is the key of a matadata ``key``:``value`` pair
 
 |
 
@@ -2639,7 +2665,7 @@ Request body content::
 
   metadata: {<key>: <value>}
 
-*Example Update Image Metadatum Item Request: JSON*
+*Example Update Image Metadata Item Request: JSON*
 
 .. code-block:: javascript
 
@@ -2654,7 +2680,7 @@ Return Code                 Description
 400 (Bad Request)           Malformed request or image id
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Not allowed to modify this image
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Metadata key not found
 413 (OverLimit)             Maximum number of metadata exceeded
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
@@ -2665,16 +2691,16 @@ Request body content::
 
   metadata: {<key>: <value>}
 
-*Example Update Image Metadatum Item Response: JSON*
+*Example Update Image Metadata Item Response: JSON*
 
 .. code-block:: javascript
 
   {"metadata": {"os": "Kubuntu"}}
 
-Delete Image Metadatum
-......................
+Delete Image Metadata
+---------------------
 
-Delete an image metadatum by its key.
+Delete an image metadata by its key.
 
 .. rubric:: Request
 
@@ -2686,10 +2712,9 @@ URI                                   Method Cyclades OS/Compute
 
 * **image-id** is the identifier of the image
 
-* **key** is the key of a matadatum ``key``:``value`` pair
+* **key** is the key of a mata ``key``:``value`` pair
 
 |
-
 ==============  ========================= ======== ==========
 Request Header  Value                     Cyclades OS/Compute
 ==============  ========================= ======== ==========
@@ -2709,7 +2734,7 @@ Return Code                 Description
 400 (Bad Request)           Malformed image ID
 401 (Unauthorized)          Missing or expired user token
 403 (Forbidden)             Not allowed to modify this image
-404 (Not Found)             Metadatum key not found
+404 (Not Found)             Metadata key not found
 500 (Internal Server Error) The request cannot be completed because of an
 \                           internal error
 503 (Service Unavailable)   The server is not currently available
@@ -2717,663 +2742,78 @@ Return Code                 Description
 
 .. note:: In case of a 204 code, the response body should be empty.
 
-Networks
---------
-
-============= ======== ==========
-BASE URI      Cyclades OS/Compute
-============= ======== ==========
-``/networks`` ✔        **✘**
-============= ======== ==========
-
-The Network part of Cyclades API is not supported by the OS/Compute API,
-although it shares some similarities with the
-`OS Quantum API <http://docs.openstack.org/api/openstack-network/1.0/content/API_Operations.html>`_.
-There are key design differences between the two systems but they exceed the
-scope of this document, although they affect the respective APIs.
-
-A Server can connect to one or more networks identified by a numeric id.
-Networks are accessible only by the users who created them. When a network is
-deleted, all connections to it are deleted.
-
-There is a special **public** network with the id *public* that can be accessed
-at */networks/public*. All servers are connected to **public** by default and
-this network can not be deleted or modified in any way.
-
-=============================================== ================================= ======
-Description                                     URI                               Method
-=============================================== ================================= ======
-`List <#list-networks>`_                        ``/networks``                     GET
-\                                               ``/networks/detail``              GET
-`Create <#create-network>`_                     ``/networks``                     POST
-`Get details <#get-network-details>`_           ``/networks/<network-id>``        GET
-`Rename <#rename-network>`_                     ``/networks/<network-id>``        PUT
-`Delete <#delete-network>`_                     ``/networks/<network-id>``        DELETE
-`Connect <#connect-network-to-server>`_         ``/networks/<network-id>/action`` POST
-`Disconnect <#disconnect-network-from-server>`_ ``/networks/<network-id>/action`` POST
-=============================================== ================================= ======
-
-
-List Networks
-.............
+Index of Attributes
+-------------------
 
-This operation lists the networks associated with a users account
+.. _server-ref:
 
-.. rubric:: Request
+Server Attributes
+.................
 
-==================== ======
-URI                  Method
-==================== ======
-``/networks``        GET
-``/networks/detail`` GET
-==================== ======
+=================== ======== ==========
+Server attribute    Cyclades OS/Compute
+=================== ======== ==========
+id                  ✔        ✔
+name                ✔        ✔
+addresses           ✔        ✔
+links               ✔        ✔
+image               ✔        ✔
+flavor              ✔        ✔
+user_id             ✔        ✔
+tenant_id           ✔        ✔
+accessIPv4          ✔        ✔
+accessIPv6          ✔        ✔
+progress            ✔        ✔
+status              ✔        ✔
+updated             ✔        ✔
+hostId              ✔        ✔
+created             ✔        ✔
+adminPass           ✔        ✔
+metadata            ✔        ✔
+suspended           ✔        **✘**
+security_groups     ✔        **✘**
+attachments         ✔        **✘**
+config_drive        ✔        **✘**
+SNF:fqdn            ✔        **✘**
+key_name            ✔        **✘**
+SNF:port_forwarding ✔        **✘**
+SNF:task_state      ✔        **✘**
+diagnostics         ✔        **✘**
+deleted             ✔        **✘**
+=================== ======== ==========
+
+* **addresses** Networks related to this server. All information in this field
+  is redundant, since it can be infered from the ``attachments`` field, but
+  it is used for compatibility with OS/Computet
+
+* **user_id** The UUID of the owner of the virtual server
+
+* **tenant_id** The UUID of the main project for this user
+
+* *hostId*, **accessIPv4** and **accessIPv6** are always empty and are used for
+  compatibility with OS/Compute
+
+* **progress** Shows the building progress of a virtual server. After the server
+  is built, it is always ``100``
 
-|
+* **status** values are described `here <#status-ref>`_
 
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-==============  =========================
+* **updated** and **created** are date-formated
 
-.. note:: Request parameters should be empty
+* **adminPass** is shown only once (in ``create server`` response). This
+  information is not preserved in a clear text form, so it is not recoverable
 
-.. note:: Request body should be empty
+* **suspended** is True only if the server is suspended by the cloud
+  administrations or policy
 
-.. rubric:: Response
+* **progress** is a number between 0 and 100 and reflects the server building
+  status
 
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-204 (OK)                    Request succeeded
-304 (Not Modified)
-400 (Bad Request)           Malformed network id
-401 (Unauthorized)          Missing or expired user token
-404 (Not Found)             Network not found
-409 (Build In Progress)     Server is not ready yet
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   Action not supported or service currently
-\                           unavailable
-=========================== =====================
-
-Response body content::
-
-  networks: [
-    {
-      <network attribute>: <value>,
-      ...
-    },
-    ...
-  }
-
-The ``detail`` operation lists the `full network attributes <#network-ref>`_,
-while the regular operation returns only the ``id`` and ``name`` attributes.
-
-*Example Networks List Response: JSON (regular)*
-
-.. code-block:: javascript
-
-  {
-    "networks": [
-      {
-        "id": "1",
-        "name": "public",
-        "links": [
-            {
-                "href": "https://example.org/compute/v2.0/networks/1",
-                "rel": "self"
-            }, {
-                "href": "https://example.org/compute/v2.0/networks/1",
-                "rel": "bookmark"
-            }
-        ], 
-      },
-      {
-        "id": "2",
-        "name": "my private network",
-        "links": [
-            {
-                "href": "https://example.org/compute/v2.0/networks/2",
-                "rel": "self"
-            }, {
-                "href": "https://example.org/compute/v2.0/networks/2",
-                "rel": "bookmark"
-            }
-        ],
-      }
-    ]
-  }
-
-*Example Networks List Response: JSON (detail)*
-
-.. code-block:: javascript
-
-  {
-    "networks": [
-      {
-        "id": "1",
-        "name": "public",
-        "links": [
-            {
-                "href": "https://example.org/compute/v2.0/networks/1", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/networks/1", 
-                "rel": "bookmark"
-            }
-        ], 
-        "created": "2011-04-20T15:31:08.199640+00:00",
-        "updated": "2011-05-06T12:47:05.582679+00:00",
-        "attachments": ["nic-42-0", "nic-73-0"]
-      }, {
-        "id": 2,
-        "name": "my private network",
-        "links": [
-            {
-                "href": "https://example.org/compute/v2.0/networks/2", 
-                "rel": "self"
-            }, 
-            {
-                "href": "https://example.org/compute/v2.0/networks/2", 
-                "rel": "bookmark"
-            }
-        ], 
-        "created": "2011-04-20T14:32:08.199640+00:00",
-        "updated": "2011-05-06T11:40:05.582679+00:00",
-        "attachments": ["nic-42-2", "nic-7-3"]
-      }
-    ]
-  }
-
-
-Create Network
-..............
-
-This operation asynchronously provisions a new network.
-
-.. rubric:: Request
-
-==================== ======
-URI                  Method
-==================== ======
-``/networks``        POST
-==================== ======
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-Content-Type    Type or request body     
-Content-Length  Length of request body   
-==============  =========================
-
-**Example Request Headers**::
-
-  X-Auth-Token:   z31uRXUn1LZy45p1r7V==
-  Content-Type:   application/json
-  Content-Length: 60
-
-.. note:: Request parameters should be empty
-
-Request body content::
-
-  network: {
-    <request attribute>: <value>,
-    ...
-  }
-
-================== ======================= ======== =======
-Request Attributes Description             Required Default
-================== ======================= ======== =======
-name               Network name            ✔
-type               Network type            ✔
-dhcp               If use DHCP             **✘**    True
-cidr               IPv4 CIDR               **✘**    192.168.1.0/2
-cidr6              IPv6 CDIR               **✘**    null
-gateway            IPv4 gateway address    **✘**    null
-gateway6           IPv6 gateway address    **✘**    null
-public             If a public network     **✘**    False
-================== ======================= ======== =======
-
-* **name** is a string
-
-* **type** can be CUSTOM, IP_LESS_ROUTED, MAC_FILTERED, PHYSICAL_VLAN
-
-* **dhcp** and **public** are flags
-
-* **cidr**, and **gateway** are IPv4 addresses
-
-* **cidr6**, and **gateway6** are IPv6 addresses
-
-* **public** should better not be used. If True, a 403 error is returned.
-
-*Example Create Network Request Body: JSON*
-
-.. code-block:: javascript
-
-  {"network": {"name": "private_net", "type": "MAC_FILTERED"}}
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-202 (OK)                    Request succeeded
-400 (Bad Request)           Malformed network id or request
-401 (Unauthorized)          Missing or expired user token
-403 (Forbidden)             Public network is forbidden
-404 (Not Found)             Network not found
-413 (Over Limit)            Reached networks limit
-415 (Bad Media Type)        Bad network type
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   Failed to allocated network resources
-=========================== =====================
-
-Response body content::
-
-  network: {
-    <network attribute>: <value>,
-    ...
-  }
-
-A list of the valid network attributes can be found `here <#network-ref>`_.
-
-*Example Create Network Response: JSON*
-
-.. code-block:: javascript
-
-  {
-    "network": {
-      "status": "PENDING",
-      "updated": "2013-04-25T13:31:17.165237+00:00",
-      "name": "my private network",
-      "links": [
-        {
-            "href": "https://example.org/compute/v2.0/networks/6567",
-            "rel": "self"
-        }, {
-            "href": "https://example.org/compute/v2.0/networks/6567",
-            "rel": "bookmark"
-        }
-      ], 
-      "created": "2013-04-25T13:31:17.165088+00:00",
-      "cidr6": null,
-      "id": "6567",
-      "gateway6": null,
-      "public": false,
-      "dhcp": false,
-      "cidr": "192.168.1.0/24",
-      "type": "MAC_FILTERED",
-      "gateway": null,
-      "attachments": []
-    }
-  }
-
-Get Network Details
-...................
-
-.. rubric:: Request
-
-========================== ======
-URI                        Method
-========================== ======
-``/networks/<network-id>`` GET
-========================== ======
-
-* **network-id** is the identifier of the network
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-==============  =========================
-
-.. note:: Request parameters should be empty
-
-.. note:: Request body should be empty
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-200 (OK)                    Request succeeded
-400 (Bad Request)           Malformed request or network id
-401 (Unauthorized)          Missing or expired user token
-404 (Not Found)             Network not found
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   The service is not currently available
-=========================== =====================
-
-Response code content::
-
-  network: {
-    <network attribute>: <value>,
-    ...
-  }
-
-A list of network attributes can be found `here <#network-ref>`_.
-
-*Example Get Network Details Response: JSON*
-
-.. code-block:: javascript
-
-  {
-    "network": {
-      "status": "PENDING",
-      "updated": "2013-04-25T13:31:17.165237+00:00",
-      "name": "my private network",
-      "links": [
-        {
-            "href": "https://example.org/compute/v2.0/networks/6567", 
-            "rel": "self"
-        }, {
-            "href": "https://example.org/compute/v2.0/networks/6567", 
-            "rel": "bookmark"
-        }
-      ],
-      "created": "2013-04-25T13:31:17.165088+00:00",
-      "cidr6": null,
-      "id": "6567",
-      "gateway6": null,
-      "public": false,
-      "dhcp": false,
-      "cidr": "192.168.1.0/24",
-      "type": "MAC_FILTERED",
-      "gateway": null,
-      "attachments": []
-    }
-  }
-
-Rename Network
-..............
+* **metadata** are custom key:value pairs. In Cyclades, the ``OS`` and
+  ``USERS`` metadata are automatically retrieved from the servers image during
+  creation
 
-.. rubric:: Request
-
-========================== ======
-URI                        Method
-========================== ======
-``/networks/<network-id>`` PUT
-========================== ======
-
-* **network-id** is the identifier of the network
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-Content-Type    Type or request body
-Content-Length  Length of request body
-==============  =========================
-
-**Example Request Headers**::
-
-  X-Auth-Token:   z31uRXUn1LZy45p1r7V==
-  Content-Type:   application/json
-  Content-Length: 33
-
-.. note:: Request parameters should be empty
-
-Request body content::
-
-  network: {name: <new value>}
-
-*Example Update Network Name Request: JSON*
-
-.. code-block:: javascript
-
-  {"network": {"name": "new_name"}}
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-204 (OK)                    Request succeeded
-400 (Bad Request)           Malformed request or network deleted
-401 (Unauthorized)          Missing or expired user token
-403 (Forbidden)             Administratively suspended server
-404 (Not Found)             Network not found
-413 (Over Limit)            Network Limit Exceeded
-415 (Bad Media Type)        Bad network type
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   The service is not currently available
-=========================== =====================
-
-.. note:: In case of a 204 code, the response body should be empty
-
-Delete Network
-..............
-
-A network is deleted as long as it is not attached to any virtual servers.
-
-.. rubric:: Request
-
-========================== ======
-URI                        Method
-========================== ======
-``/networks/<network-id>`` DELETE
-========================== ======
-
-* **network-id** is the identifier of the network
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-==============  =========================
-
-.. note:: Request parameters should be empty
-
-.. note:: Request body should be empty
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-204 (OK)                    Request succeeded
-400 (Bad Request)           Malformed request or network already deleted
-401 (Unauthorized)          Missing or expired user token
-403 (Forbidden)             Administratively suspended server
-404 (Not Found)             Network not found
-421 (Network In Use)        The network is in use and cannot be deleted
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   The service is not currently available
-=========================== =====================
-
-.. note:: In case of a 204 code, the response body should be empty
-
-
-Connect network to Server
-..........................
-
-Connect a network to a virtual server. The effect of this operation is the
-creation of a NIC that connects the two parts.
-
-.. rubric:: Request
-
-================================= ======
-URI                               Method
-================================= ======
-``/networks/<network-id>/action`` POST
-================================= ======
-
-* **network-id** is the identifier of the network
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-Content-Type    Type or request body
-Content-Length  Length of request body
-==============  =========================
-
-**Example Request Headers**::
-
-  X-Auth-Token:   z31uRXUn1LZy45p1r7V==
-  Content-Type:   application/json
-  Content-Length: 28
-
-.. note:: Request parameters should be empty
-
-Response body content (connect)::
-
-  add {serverRef: <server id to connect>}
-
-*Example Action Add (connect to): JSON*
-
-.. code-block:: javascript
-
-  {"add" : {"serverRef" : 42}}
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-202 (OK)                    Request succeeded
-400 (Bad Request)           Malformed request or network already deleted
-401 (Unauthorized)          Missing or expired user token
-403 (Forbidden)             Not allowed to modify this network (e.g. public)
-404 (Not Found)             Network not found
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   The service is not currently available
-=========================== =====================
-
-.. note:: In case of a 202 code, the request body should be empty
-
-Disconnect network from Server
-..............................
-
-Disconnect a network from a virtual server. The effect of this operation is the
-deletion of the NIC that connects the two parts.
-
-.. rubric:: Request
-
-================================= ======
-URI                               Method
-================================= ======
-``/networks/<network-id>/action`` POST
-================================= ======
-
-* **network-id** is the identifier of the network
-
-|
-
-==============  =========================
-Request Header  Value
-==============  =========================
-X-Auth-Token    User authentication token
-Content-Type    Type or request body
-Content-Length  Length of request body
-==============  =========================
-
-**Example Request Headers**::
-
-  X-Auth-Token:   z31uRXUn1LZy45p1r7V==
-  Content-Type:   application/json
-  Content-Length: 31
-
-.. note:: Request parameters should be empty
-
-Response body content (disconnect)::
-
-  remove {serverRef: <server id to disconnect>}
-
-*Example Action Remove (disconnect from): JSON*
-
-.. code-block:: javascript
-
-  {"remove" : {"serverRef" : 42}}
-
-.. rubric:: Response
-
-=========================== =====================
-Return Code                 Description
-=========================== =====================
-202 (OK)                    Request succeeded
-400 (Bad Request)           Malformed request or network already deleted
-401 (Unauthorized)          Missing or expired user token
-403 (Forbidden)             Not allowed to modify this network (e.g. public)
-404 (Not Found)             Network not found
-500 (Internal Server Error) The request cannot be completed because of an
-\                           internal error
-503 (Service Unavailable)   The service is not currently available
-=========================== =====================
-
-.. note:: In case of a 202 code, the request body should be empty
-
-Index of Attributes
--------------------
-
-.. _server-ref:
-
-Server Attributes
-.................
-
-================ ========================== ======== ==========
-Server attribute Description                Cyclades OS/Compute
-================ ========================== ======== ==========
-id               Server ID                  ✔        ✔
-name             Server Name                ✔        ✔
-status           Server Status              ✔        ✔
-updated          Date of last modification  ✔        ✔
-created          Date of creation           ✔        ✔
-hostId           Physical host              empty    ✔
-image            A full image description   ✔        ✔
-flavor           A full flavor description  ✔        ✔
-adminPass        Superuser Password         ✔        ✔
-suspended        If server is suspended     ✔        ✔
-progress         Build progress             ✔        ✔
-metadata         Custom server metadata     ✔        ✔
-user_id          Server owner               **✘**    ✔
-tenant_id        Server tenant              **✘**    ✔
-accessIPv4       Server IPV4 net address    **✘**    ✔
-accessIPv6       Server IPV4 net address    **✘**    ✔
-addresses        Nets connected on server   **✘**    ✔
-links            Server links               **✘**    ✔
-================ ========================== ======== ==========
-
-* **status** values are described `here <#status-ref>`_
-
-* **updated** and **created** are date-formated
-
-* **hostId** is always empty in Cyclades and is returned for compatibility reasons
-
-* **image** and **flavor** always refer to existing Image and Flavor
-  specifications.
-
-* **adminPass** in Cyclades it is generated automatically during creation. For
-  safety, it is not stored anywhere in the system and it cannot be recovered
-  with a query request
-
-* **suspended** is True only of the server is suspended by the cloud
-  administrations or policy
-
-* **progress** is a number between 0 and 100 and reflects the server building
-  status
-
-* **metadata** are custom key:value pairs refering to the VM. In Cyclades, the
-  ``OS`` and ``users`` metadata are automatically retrieved from the servers
-  image during creation
+* **attachments** List of connection ports. Details `here <#attachments-ref>`_.
 
 .. _status-ref:
 
@@ -3401,87 +2841,31 @@ SUSPENDED     Suspended            **✘**    ✔
 VERIFY_RESIZE Waiting confirmation **✘**    ✔
 ============= ==================== ======== ==========
 
-.. _network-ref:
-
-Network
-.......
-
-.. note:: Networks are features in Cyclades API but not in OS/Compute API
-
-================== ===========
-Network Attributes Description
-================== ===========
-id                 Network identifier
-name               Network name
-created            Date of creation
-updates            Date of last update
-cidr               IPv4 CIDR Address
-cidr6              IPv6 CIDR Address
-dhcp               IPv4 DHCP Address
-dhcp6              IPv6 DHCP Address
-gateway            IPv4 Gateway Address
-gateway6           IPv6 Gateway Address
-public             If the network is public
-status             Network status
-attachments        Network Interface Connections (NICs)
-================== ===========
-
-* **id** and **name** are int and string respectively
+.. _attachments-ref:
 
-* **created** and **updated** are ISO8061 date strings
-
-* **public** is a boolean flag
-
-* **status** can be PENDING, ACTIVE or DELETED
-
-* **attachments** refers to the NICs connecting servers on that network.
-
-.. _nic-ref:
-
-Network Interface Connection (NIC)
-..................................
-
-A Network Interface Connection (NIC) represents a servers connection to a
-network.
-
-A NIC is identified by a server and an (obviously unique) mac address. A server
-can have multiple NICs, though. In practice, a NIC id is used of reference and
-identification.
-
-Each NIC is used to connect a specific server to a network. The network is
-aware of that connection for as long as it holds. If a NIC is disconnected from
-a network, it is destroyed.
-
-A NIC specification contains the following information:
-
-================= ====================== ======== ==========
-Server Attributes Description            Cyclades OS/Compute
-================= ====================== ======== ==========
-id                The NIC id             ✔        **✘**
-mac_address       NIC's mac address      ✔        **✘**
-network_id        Network of connection  ✔        **✘**
-firewallProfile   The firewall profile   ✔        **✘**
-ipv4              IP v4 address          ✔        **✘**
-ipv6              IP v6 address          ✔        **✘**
-================= ====================== ======== ==========
-
-* **id** is the unique identified of the NIC. It consists of the server id and
-  an ordinal number nic-<server-id>-<ordinal number> , e.g. for a server with
-  id 42::
-
-    nic-42-0, nic-42-1, ...
+Attachments (ports)
+...................
 
-* **mac_address** is the unique mac address of the interface
+In Cyclades, a port connects a virtual server to a public or private network.
 
-* **network_id** is the id of the network this nic connects to.
+Ports can be handled separately through the Cyclades/Network API.
 
-* **firewallProfile** , if set, refers to the mode of the firewall. Valid
-  firewall profile values::
+In a virtual server context, a port may contain the following information:
 
-    ENABLED, DISABLED, PROTECTED
+================= ======================
+Port Attributes    Description          
+================= ======================
+id                Port id            
+mac_address       NIC's mac address     
+network_id        Network ID
+OS-EXT-IPS:type   ``fixed`` or ``floating``
+firewallProfile   ``ENABLED``, ``DISABLED``, ``PROTECTED``
+ipv4              IP v4 address
+ipv6              IP v6 address
+================= ======================
 
-* **ipv4** and **ipv6** are the IP addresses (versions 4 and 6 respectively) of
-  the specific network connection for that machine.
+* **ipv4** and **ipv6** are mutually exclusive in practice, since a port
+    either handles an IPv4, an IPv6, or none, but not both.
 
 .. _flavor-ref:
 
@@ -3529,22 +2913,22 @@ An image is a collection of files you use to create or rebuild a server.
 
 An image item may have the fields presented bellow:
 
-================= ====================== ======== ==========
-Server Attributes Description            Cyclades OS/Compute
-================= ====================== ======== ==========
-id                Image ID               ✔        ✔
-name              Image name             ✔        ✔
-updated           Last update date       ✔        ✔
-created           Image creation date    ✔        ✔
-progress          Ready status progress  ✔        **✘**
-status            Image status           **✘**    ✔
-tenant_id         Image creator          **✘**    ✔
-user_id           Image users            **✘**    ✔
-metadata          Custom metadata        ✔        ✔
-links             Atom links             **✘**    ✔
-minDisk           Minimum required disk  **✘**    ✔
-minRam            Minimum required RAM   **✘**    ✔
-================= ====================== ======== ==========
+================ ====================== ======== ==========
+Image Attributes Description            Cyclades OS/Compute
+================ ====================== ======== ==========
+id               Image ID               ✔        ✔
+name             Image name             ✔        ✔
+updated          Last update date       ✔        ✔
+created          Image creation date    ✔        ✔
+progress         Ready status progress  ✔        **✘**
+status           Image status           **✘**    ✔
+tenant_id        Image creator          **✘**    ✔
+user_id          Image users            **✘**    ✔
+metadata         Custom metadata        ✔        ✔
+links            Atom links             **✘**    ✔
+minDisk          Minimum required disk  **✘**    ✔
+minRam           Minimum required RAM   **✘**    ✔
+================ ====================== ======== ==========
 
 * **id** is the image id and **name** is the image name. They are both strings.
 
diff --git a/docs/network-api-guide.rst b/docs/network-api-guide.rst
index bc8214b..cfd3a0a 100644
--- a/docs/network-api-guide.rst
+++ b/docs/network-api-guide.rst
@@ -112,7 +112,7 @@ The attributes of a network are listed `here <#network-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/networks
+  GET https://example.org/network/v2.0/networks
 
 
   {
@@ -126,19 +126,19 @@ The attributes of a network are listed `here <#network-ref>`_
         "user_id": None
         "links":[
           {
-            "href": "https://example.com/network/v2.0/networks/2718"
+            "href": "https://example.org/network/v2.0/networks/2718"
             "rel": "self"
           }, {
-            "href": "https://example.com/network/v2.0/networks/2718"
+            "href": "https://example.org/network/v2.0/networks/2718"
             "rel": "bookmark"
           }
         ]
         "created": "2013-12-17T17:15:48.617049+00:00"
-        "tenant_i"d: None
+        "tenant_id": None
         "admin_state_up": true
-        "SNF:floating_ip_poo"l: false
-        "publi"c: true
-        "subnet"s:[
+        "SNF:floating_ip_pool": false
+        "public": true
+        "subnets":[
           28
         ]
         "type": "IP_LESS_ROUTED",
@@ -152,11 +152,11 @@ The attributes of a network are listed `here <#network-ref>`_
         "user_id": "s0m3-u5e7-1d", 
         "links": [
           {
-              "href": "https://example.com/network/v2.0/networks/3141", 
+              "href": "https://example.org/network/v2.0/networks/3141", 
               "rel": "self"
           }, 
           {
-              "href": "https://example.com/network/v2.0/networks/3141", 
+              "href": "https://example.org/network/v2.0/networks/3141", 
               "rel": "bookmark"
           }
         ], 
@@ -213,7 +213,7 @@ The attributes of a network are listed `here <#network-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/networks/3141
+  GET https://example.org/network/v2.0/networks/3141
 
 
   {
@@ -226,11 +226,11 @@ The attributes of a network are listed `here <#network-ref>`_
       "user_id": "s0m3-u5e7-1d", 
       "links": [
         {
-            "href": "https://example.com/network/v2.0/networks/3141", 
+            "href": "https://example.org/network/v2.0/networks/3141", 
             "rel": "self"
         }, 
         {
-            "href": "https://example.com/network/v2.0/networks/3141", 
+            "href": "https://example.org/network/v2.0/networks/3141", 
             "rel": "bookmark"
         }
       ], 
@@ -436,7 +436,7 @@ The attributes of a subnet are listed `here <#subnet-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/subnets
+  GET https://example.org/network/v2.0/subnets
 
   {
     "subnets": [
@@ -536,7 +536,7 @@ The attributes of a subnet are listed `here <#subnet-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/subnets/1413
+  GET https://example.org/network/v2.0/subnets/1413
 
 
   {
@@ -734,7 +734,7 @@ The attributes of a port are listed `here <#port-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/ports
+  GET https://example.org/network/v2.0/ports
 
   {
     "ports": [
@@ -745,11 +745,11 @@ The attributes of a port are listed `here <#port-ref>`_
         "name": "Port to public network",
         "links": [
             {
-                "href": "https://example.com/network/v2.0/ports/18", 
+                "href": "https://example.org/network/v2.0/ports/18", 
                 "rel": "self"
             }, 
             {
-                "href": "https://example.com/network/v2.0/ports/18", 
+                "href": "https://example.org/network/v2.0/ports/18", 
                 "rel": "bookmark"
             }
         ], 
@@ -775,11 +775,11 @@ The attributes of a port are listed `here <#port-ref>`_
         "name": "Port to public network",
         "links": [
             {
-                "href": "https://example.com/network/v2.0/ports/19", 
+                "href": "https://example.org/network/v2.0/ports/19", 
                 "rel": "self"
             }, 
             {
-                "href": "https://example.com/network/v2.0/ports/19", 
+                "href": "https://example.org/network/v2.0/ports/19", 
                 "rel": "bookmark"
             }
         ], 
@@ -844,7 +844,7 @@ The attributes of a port are listed `here <#port-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/ports/18
+  GET https://example.org/network/v2.0/ports/18
 
 
   {
@@ -855,11 +855,11 @@ The attributes of a port are listed `here <#port-ref>`_
       "name": "Port to public network",
       "links": [
         {
-            "href": "https://example.com/network/v2.0/ports/18", 
+            "href": "https://example.org/network/v2.0/ports/18", 
             "rel": "self"
         }, 
         {
-            "href": "https://example.com/network/v2.0/ports/18", 
+            "href": "https://example.org/network/v2.0/ports/18", 
             "rel": "bookmark"
         }
       ], 
@@ -1088,7 +1088,7 @@ The attributes of a floating ip are listed `here <#floating-ip-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/floatingips
+  GET https://example.org/network/v2.0/floatingips
 
   {
     "floatingips": [
@@ -1104,7 +1104,7 @@ The attributes of a floating ip are listed `here <#floating-ip-ref>`_
         "floating_network_id": 4178
         "fixed_ip_address": None
         "floating_ip_address": 192.168.1.3
-        "port_i"d: 38
+        "port_id": 38
       }
     ]
   }
@@ -1150,7 +1150,7 @@ The attributes of a floating ip are listed `here <#floating-ip-ref>`_
 
 .. code-block:: javascript
 
-  GET https://example.com/network/v2.0/floatingips/19
+  GET https://example.org/network/v2.0/floatingips/19
 
 
   {
