diff --git a/apiary.apib b/apiary.apib
index 1c8816a..fbd11f9 100644
--- a/apiary.apib
+++ b/apiary.apib
@@ -3,741 +3,11 @@
 # XOS
  
  
-# Group Deployments
-
-List of the XOS deployments
-
-## Deployments [/api/core/deployments/{id}/]
-
-### List all deployments [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "MyDeployment",
-                "id": 1,
-                "created": "2016-04-29T16:19:03.549901Z",
-                "updated": "2016-04-29T16:19:05.624151Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": true,
-                "name": "MyDeployment",
-                "accessControl": "allow all",
-                "images": [
-                    "1"
-                ],
-                "sites": [
-                    "1"
-                ],
-                "flavors": [
-                    "1",
-                    "2",
-                    "3"
-                ],
-                "dashboardviews": [
-                    "1"
-                ]
-            }
-        ]
-
-### Create a deployment [POST]
-
-+ Request (application/json)
-
-        {
-            "humanReadableName": "MyDeployment",
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "MyDeployment",
-            "id": 1,
-            "created": "2016-04-29T16:19:03.549901Z",
-            "updated": "2016-04-29T16:19:05.624151Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": true,
-            "name": "MyDeployment",
-            "accessControl": "allow all",
-            "images": [
-                "1"
-            ],
-            "sites": [
-                "1"
-            ],
-            "flavors": [
-                "1",
-                "2",
-                "3"
-            ],
-            "dashboardviews": [
-                "1"
-            ]
-        }
-
-### View a Deployment Detail [GET]
-
-+ Parameters
-    + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "MyDeployment",
-            "id": 1,
-            "created": "2016-04-27T21:46:57.354544Z",
-            "updated": "2016-04-27T21:47:05.221720Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": true,
-            "name": "MyDeployment",
-            "accessControl": "allow all",
-            "images": [],
-            "sites": [
-                "1"
-            ],
-            "flavors": [
-                "3",
-                "2",
-                "1"
-            ],
-            "dashboardviews": [
-                "3"
-            ]
-        }
-
-### Delete a Deployment [DELETE]
-
-+ Parameters
-    + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 204
- 
- 
-# Group Flavors
-
-List of the XOS flavors
-
-## Flavors [/api/core/flavors/{id}/]
-
-### List all flavors [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "m1.large",
-                "id": 1,
-                 "created": "2016-04-29T16:19:01.979548Z",
-                "updated": "2016-04-29T16:19:03.568238Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": true,
-                "name": "m1.large",
-                "description": null,
-                "flavor": "m1.large",
-                "order": 0,
-                "default": false,
-                "deployments": [
-                    "1"
-                ]
-            }
-        ]
-
-### Create a Flavor [POST]
-
-+ Request (application/json)
-
-        {
-            "humanReadableName": "mq.test",
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "m1.large",
-            "id": 1,
-             "created": "2016-04-29T16:19:01.979548Z",
-            "updated": "2016-04-29T16:19:03.568238Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": true,
-            "name": "m1.large",
-            "description": null,
-            "flavor": "m1.large",
-            "order": 0,
-            "default": false,
-            "deployments": [
-                "1"
-            ]
-        }
-
-### View a Flavors Detail [GET]
-
-+ Parameters
-    + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "m1.large",
-            "id": 1,
-             "created": "2016-04-29T16:19:01.979548Z",
-            "updated": "2016-04-29T16:19:03.568238Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": true,
-            "name": "m1.large",
-            "description": null,
-            "flavor": "m1.large",
-            "order": 0,
-            "default": false,
-            "deployments": [
-                "1"
-            ]
-        }
-
-### Delete a Flavors Detail [DELETE]
-
-+ Parameters
-    + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 204 
- 
- 
-# Group Instances
-
-List of the XOS instances
-
-## Instances Collection [/api/core/instances/{?no_hyperlinks}]
-
-    + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
-        + Default: `0`
-
-### List all Instances [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "id": 1,
-                "humanReadableName": "uninstantiated-1",
-                "created": "2016-04-26T00:36:22.465259Z",
-                "updated": "2016-04-26T00:36:22.465288Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": false,
-                "instance_id": null,
-                "instance_uuid": null,
-                "name": "mysite_vcpe",
-                "instance_name": null,
-                "ip": null,
-                "image": "1",
-                "creator": "1",
-                "slice": "1",
-                "deployment": "1",
-                "node": "1",
-                "numberCores": 0,
-                "flavor": "1",
-                "userData": null,
-                "isolation": "vm",
-                "volumes": "/etc/dnsmasq.d,/etc/ufw",
-                "parent": null,
-                "networks": [
-                    "1"
-                ]
-            }
-        ]
-
-### Create an Instance [POST]
-
-+ Parameters
-    + no_hyperlinks: 1
-
-+ Request (application/json)
-
-        {
-            "name": "test-instance",
-            "image": 1,
-            "slice": 1,
-            "deployment": 1,
-            "node": 1
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "id": 1,
-            "humanReadableName": "uninstantiated-1",
-            "created": "2016-04-26T00:36:22.465259Z",
-            "updated": "2016-04-26T00:36:22.465288Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": false,
-            "instance_id": null,
-            "instance_uuid": null,
-            "name": "test-instance",
-            "instance_name": null,
-            "ip": null,
-            "image": "1",
-            "creator": "1",
-            "slice": "1",
-            "deployment": "1",
-            "node": "1",
-            "numberCores": 0,
-            "flavor": "1",
-            "userData": null,
-            "isolation": "vm",
-            "volumes": "/etc/dnsmasq.d,/etc/ufw",
-            "parent": null,
-            "networks": [
-                "1"
-            ]
-        }
-
-## Instances Detail [/api/core/instances/{id}/]
-
-### Get instance details [GET]
-
-+ Parameters
-    + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 200 (application/json)
-
-        {
-            "id": 1,
-            "humanReadableName": "uninstantiated-1",
-            "created": "2016-04-26T00:36:22.465259Z",
-            "updated": "2016-04-26T00:36:22.465288Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": false,
-            "instance_id": null,
-            "instance_uuid": null,
-            "name": "mysite_vcpe",
-            "instance_name": null,
-            "ip": null,
-            "image": "1",
-            "creator": "1",
-            "slice": "1",
-            "deployment": "1",
-            "node": "1",
-            "numberCores": 0,
-            "flavor": "1",
-            "userData": null,
-            "isolation": "vm",
-            "volumes": "/etc/dnsmasq.d,/etc/ufw",
-            "parent": null,
-            "networks": [
-                "1"
-            ]
-        }
-
-### Delete instance [DELETE]
-
-+ Parameters
-    + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 204
- 
- 
-# Group Nodes
-
-List of the XOS nodes
-
-## Nodes [/api/core/nodes/{id}/]
-
-### List all nodes [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "node2.opencloud.us",
-                "id": 1,
-                "created": "2016-04-29T16:19:05.661567Z",
-                "updated": "2016-04-29T16:19:05.661454Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": true,
-                "name": "node2.opencloud.us",
-                "site_deployment": "1",
-                "site": "1",
-                "nodelabels": []
-            }
-        ]
-
- 
- 
-# Group Services
-
-List of the XOS Services
-
-## Services [/api/core/services/{id}/]
-
-### List all Services [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "MyService",
-                "id": 1,
-                "created": "2016-05-05T23:06:33.835277Z",
-                "updated": "2016-05-05T23:06:33.835302Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": false,
-                "no_policy": false,
-                "description": null,
-                "enabled": true,
-                "kind": "vROUTER",
-                "name": "MyService",
-                "versionNumber": null,
-                "published": true,
-                "view_url": "/admin/vrouter/vrouterservice/$id$/",
-                "icon_url": null,
-                "public_key": null,
-                "private_key_fn": null,
-                "service_specific_id": null,
-                "service_specific_attribute": null
-            }
-        ]
-
-### Create a Service [POST]
-
-+ Request (application/json)
-
-        {
-            "name": "MyService",
-            "kind": "vROUTER"
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "MyService",
-            "id": 1,
-            "created": "2016-05-05T23:06:33.835277Z",
-            "updated": "2016-05-05T23:06:33.835302Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": false,
-            "no_policy": false,
-            "description": null,
-            "enabled": true,
-            "kind": "vROUTER",
-            "name": "MyService",
-            "versionNumber": null,
-            "published": true,
-            "view_url": "/admin/vrouter/vrouterservice/$id$/",
-            "icon_url": null,
-            "public_key": null,
-            "private_key_fn": null,
-            "service_specific_id": null,
-            "service_specific_attribute": null
-        }
-
-### View a Service Detail [GET]
-
-+ Parameters
-    + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 200 (application/json)
-
-        {
-                "humanReadableName": "MyService",
-                "id": 1,
-                "created": "2016-05-05T23:06:33.835277Z",
-                "updated": "2016-05-05T23:06:33.835302Z",
-                "enacted": null,
-                "policed": null,
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": false,
-                "no_policy": false,
-                "description": null,
-                "enabled": true,
-                "kind": "vROUTER",
-                "name": "MyService",
-                "versionNumber": null,
-                "published": true,
-                "view_url": "/admin/vrouter/vrouterservice/$id$/",
-                "icon_url": null,
-                "public_key": null,
-                "private_key_fn": null,
-                "service_specific_id": null,
-                "service_specific_attribute": null
-            }
-
-### Delete a Service [DELETE]
-
-+ Parameters
-    + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 204
-
- 
- 
-# Group Sites
-
-List of the XOS sites
-
-## Sites [/api/core/sites/{id}/]
-
-### List all sites [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "mysite",
-            "id": 1,
-            "created": "2016-04-29T16:19:03.587770Z",
-            "updated": "2016-04-29T16:19:05.651933Z",
-            "enacted": null,
-            "policed": null,
-            "backend_register": "{}",
-            "backend_status": "0 - Provisioning in progress",
-            "deleted": false,
-            "write_protect": false,
-            "lazy_blocked": false,
-            "no_sync": false,
-            "name": "MySite",
-            "site_url": "http://opencord.us/",
-            "enabled": true,
-            "hosts_nodes": true,
-            "hosts_users": true,
-            "location": null,
-            "longitude": null,
-            "latitude": null,
-            "login_base": "mysite",
-            "is_public": true,
-            "abbreviated_name": "",
-            "deployments": [
-                "1"
-            ]
-        }
- 
- 
-# Group Slices
-
-List of the XOS slices
-
-## Slices [/api/core/slices/{id}/]
-
-### List all slices [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "mysite_slice",
-                "id": 1,
-                "created": "2016-04-29T16:23:22.505072Z",
-                "updated": "2016-04-29T16:23:22.504691Z",
-                "enacted": null,
-                "policed": "2016-04-29T16:23:22.781298Z",
-                "backend_register": "{}",
-                "backend_status": "0 - Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "lazy_blocked": false,
-                "no_sync": false,
-                "name": "mysite_slice",
-                "enabled": true,
-                "omf_friendly": false,
-                "description": "",
-                "slice_url": "",
-                "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
-                "max_instances": 10,
-                "service": null,
-                "network": null,
-                "exposed_ports": null,
-                "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
-                "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
-                "default_flavor": null,
-                "default_image": null,
-                "mount_data_sets": "GenBank",
-                "default_isolation": "vm",
-                "networks": [
-                    "http://apt118.apt.emulab.net/api/core/networks/1/"
-                ]
-            }
-        ]
-        
- 
- 
-# Group Users
-
-List of the XOS users
-
-## Users [/api/core/users/{id}/]
-
-### List all Users [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "id": 2,
-                "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
-                "last_login": "2016-04-12T18:50:45.880823Z",
-                "email": "johndoe@myhouse.com",
-                "username": "johndoe@myhouse.com",
-                "firstname": "john",
-                "lastname": "doe",
-                "phone": null,
-                "user_url": null,
-                "site": "http://xos.dev:9999/api/core/sites/1/",
-                "public_key": null,
-                "is_active": true,
-                "is_admin": false,
-                "is_staff": true,
-                "is_readonly": false,
-                "is_registering": false,
-                "is_appuser": false,
-                "login_page": null,
-                "created": "2016-04-12T18:50:45.912602Z",
-                "updated": "2016-04-12T18:50:45.912671Z",
-                "enacted": null,
-                "policed": null,
-                "backend_status": "Provisioning in progress",
-                "deleted": false,
-                "write_protect": false,
-                "timezone": "America/New_York"
-            }
-        ]
-        
- 
- 
-# Group Example
-
-## Example Services Collection [/api/service/exampleservice/]
-
-### List all Example Services [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "MyExample",
-                "id": 1,
-                "service_message": "This is the test message"
-            }
-        ]
-
- 
- 
-# Group ONOS Services
-
-List of the active onos services
-
-## ONOS Services Collection [/api/service/onos/]
-
-### List all ONOS Services [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "service_ONOS_vBNG",
-                "id": 5,
-                "rest_hostname": "",
-                "rest_port": "8181",
-                "no_container": false,
-                "node_key": ""
-            }
-        ]
- 
- 
-# Group vSG
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "service_vsg",
-                "id": 2,
-                "dns_servers": "8.8.8.8",
-                "url_filter_kind": null,
-                "node_label": null
-            }
-        ]
- 
- 
 # Group Utility
 
 List of the XOS Utility API
-
+ 
+ 
 ## Login [/api/utility/login/]
 
 ### Log a user in the system [POST]
@@ -914,12 +184,13 @@
         ]
  
  
-# Group Subscribers
+# Group Tenant
+ 
+ 
+## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
 
 Resource related to the CORD Subscribers.
 
-## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
-
 ### List All Subscribers [GET]
 
 + Response 200 (application/json)
@@ -1146,12 +417,10 @@
         }
  
  
-# Group Truckroll
+## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
 
 Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
 
-## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
-
 ### List all Truckroll [GET]
 
 + Response 200 (application/json)
@@ -1232,12 +501,10 @@
 
  
  
-# Group vOLT
+## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
 
 OLT devices aggregate a set of subscriber connections
 
-## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
-
 ### List all vOLT [GET]
 
 + Response 200 (application/json)
@@ -1313,8 +580,6 @@
 
  
  
-# Group ONOS Apps
-
 ## ONOS App Collection [/api/tenant/onos/app/]
 
 ### List all apps [GET]
@@ -1328,4 +593,711 @@
                 "name": "vBNG_ONOS_app",
                 "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
             }
-        ]
\ No newline at end of file
+        ]
+ 
+ 
+# Group Service
+ 
+ 
+## Example Services Collection [/api/service/exampleservice/]
+
+### List all Example Services [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "MyExample",
+                "id": 1,
+                "service_message": "This is the test message"
+            }
+        ]
+
+ 
+ 
+## ONOS Services Collection [/api/service/onos/]
+
+List of the active onos services
+
+### List all ONOS Services [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "service_ONOS_vBNG",
+                "id": 5,
+                "rest_hostname": "",
+                "rest_port": "8181",
+                "no_container": false,
+                "node_key": ""
+            }
+        ]
+ 
+ 
+## vSG Collection [/api/service/vsg/]
+
+### List all vSGs [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "service_vsg",
+                "id": 2,
+                "dns_servers": "8.8.8.8",
+                "url_filter_kind": null,
+                "node_label": null
+            }
+        ]
+ 
+ 
+# Group Core
+
+List of the XOS Core API
+ 
+ 
+## Deployments [/api/core/deployments/{id}/]
+
+List of the XOS deployments
+
+### List all deployments [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "MyDeployment",
+                "id": 1,
+                "created": "2016-04-29T16:19:03.549901Z",
+                "updated": "2016-04-29T16:19:05.624151Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": true,
+                "name": "MyDeployment",
+                "accessControl": "allow all",
+                "images": [
+                    "1"
+                ],
+                "sites": [
+                    "1"
+                ],
+                "flavors": [
+                    "1",
+                    "2",
+                    "3"
+                ],
+                "dashboardviews": [
+                    "1"
+                ]
+            }
+        ]
+
+### Create a deployment [POST]
+
++ Request (application/json)
+
+        {
+            "humanReadableName": "MyDeployment",
+        }
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "MyDeployment",
+            "id": 1,
+            "created": "2016-04-29T16:19:03.549901Z",
+            "updated": "2016-04-29T16:19:05.624151Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": true,
+            "name": "MyDeployment",
+            "accessControl": "allow all",
+            "images": [
+                "1"
+            ],
+            "sites": [
+                "1"
+            ],
+            "flavors": [
+                "1",
+                "2",
+                "3"
+            ],
+            "dashboardviews": [
+                "1"
+            ]
+        }
+
+### View a Deployment Detail [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Deployment in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "MyDeployment",
+            "id": 1,
+            "created": "2016-04-27T21:46:57.354544Z",
+            "updated": "2016-04-27T21:47:05.221720Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": true,
+            "name": "MyDeployment",
+            "accessControl": "allow all",
+            "images": [],
+            "sites": [
+                "1"
+            ],
+            "flavors": [
+                "3",
+                "2",
+                "1"
+            ],
+            "dashboardviews": [
+                "3"
+            ]
+        }
+
+### Delete a Deployment [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Deployment in the form of an integer
+
++ Response 204
+ 
+ 
+## Flavors [/api/core/flavors/{id}/]
+
+List of the XOS flavors
+
+### List all flavors [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "m1.large",
+                "id": 1,
+                 "created": "2016-04-29T16:19:01.979548Z",
+                "updated": "2016-04-29T16:19:03.568238Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": true,
+                "name": "m1.large",
+                "description": null,
+                "flavor": "m1.large",
+                "order": 0,
+                "default": false,
+                "deployments": [
+                    "1"
+                ]
+            }
+        ]
+
+### Create a Flavor [POST]
+
++ Request (application/json)
+
+        {
+            "humanReadableName": "mq.test",
+        }
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "m1.large",
+            "id": 1,
+             "created": "2016-04-29T16:19:01.979548Z",
+            "updated": "2016-04-29T16:19:03.568238Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": true,
+            "name": "m1.large",
+            "description": null,
+            "flavor": "m1.large",
+            "order": 0,
+            "default": false,
+            "deployments": [
+                "1"
+            ]
+        }
+
+### View a Flavors Detail [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Flavors in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "m1.large",
+            "id": 1,
+             "created": "2016-04-29T16:19:01.979548Z",
+            "updated": "2016-04-29T16:19:03.568238Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": true,
+            "name": "m1.large",
+            "description": null,
+            "flavor": "m1.large",
+            "order": 0,
+            "default": false,
+            "deployments": [
+                "1"
+            ]
+        }
+
+### Delete a Flavors Detail [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Flavors in the form of an integer
+
++ Response 204 
+ 
+ 
+## Instances Collection [/api/core/instances/{?no_hyperlinks}]
+
+    + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
+        + Default: `0`
+
+### List all Instances [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "id": 1,
+                "humanReadableName": "uninstantiated-1",
+                "created": "2016-04-26T00:36:22.465259Z",
+                "updated": "2016-04-26T00:36:22.465288Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "instance_id": null,
+                "instance_uuid": null,
+                "name": "mysite_vcpe",
+                "instance_name": null,
+                "ip": null,
+                "image": "1",
+                "creator": "1",
+                "slice": "1",
+                "deployment": "1",
+                "node": "1",
+                "numberCores": 0,
+                "flavor": "1",
+                "userData": null,
+                "isolation": "vm",
+                "volumes": "/etc/dnsmasq.d,/etc/ufw",
+                "parent": null,
+                "networks": [
+                    "1"
+                ]
+            }
+        ]
+
+### Create an Instance [POST]
+
++ Parameters
+    + no_hyperlinks: 1
+
++ Request (application/json)
+
+        {
+            "name": "test-instance",
+            "image": 1,
+            "slice": 1,
+            "deployment": 1,
+            "node": 1
+        }
+
++ Response 200 (application/json)
+
+        {
+            "id": 1,
+            "humanReadableName": "uninstantiated-1",
+            "created": "2016-04-26T00:36:22.465259Z",
+            "updated": "2016-04-26T00:36:22.465288Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "instance_id": null,
+            "instance_uuid": null,
+            "name": "test-instance",
+            "instance_name": null,
+            "ip": null,
+            "image": "1",
+            "creator": "1",
+            "slice": "1",
+            "deployment": "1",
+            "node": "1",
+            "numberCores": 0,
+            "flavor": "1",
+            "userData": null,
+            "isolation": "vm",
+            "volumes": "/etc/dnsmasq.d,/etc/ufw",
+            "parent": null,
+            "networks": [
+                "1"
+            ]
+        }
+
+## Instances Detail [/api/core/instances/{id}/]
+
+### Get instance details [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Instance in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+            "id": 1,
+            "humanReadableName": "uninstantiated-1",
+            "created": "2016-04-26T00:36:22.465259Z",
+            "updated": "2016-04-26T00:36:22.465288Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "instance_id": null,
+            "instance_uuid": null,
+            "name": "mysite_vcpe",
+            "instance_name": null,
+            "ip": null,
+            "image": "1",
+            "creator": "1",
+            "slice": "1",
+            "deployment": "1",
+            "node": "1",
+            "numberCores": 0,
+            "flavor": "1",
+            "userData": null,
+            "isolation": "vm",
+            "volumes": "/etc/dnsmasq.d,/etc/ufw",
+            "parent": null,
+            "networks": [
+                "1"
+            ]
+        }
+
+### Delete instance [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Instance in the form of an integer
+
++ Response 204
+ 
+ 
+## Nodes [/api/core/nodes/{id}/]
+
+### List all nodes [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "node2.opencloud.us",
+                "id": 1,
+                "created": "2016-04-29T16:19:05.661567Z",
+                "updated": "2016-04-29T16:19:05.661454Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": true,
+                "name": "node2.opencloud.us",
+                "site_deployment": "1",
+                "site": "1",
+                "nodelabels": []
+            }
+        ]
+
+ 
+ 
+## Services [/api/core/services/{id}/]
+
+### List all Services [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+        ]
+
+### Create a Service [POST]
+
++ Request (application/json)
+
+        {
+            "name": "MyService",
+            "kind": "vROUTER"
+        }
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "MyService",
+            "id": 1,
+            "created": "2016-05-05T23:06:33.835277Z",
+            "updated": "2016-05-05T23:06:33.835302Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "no_policy": false,
+            "description": null,
+            "enabled": true,
+            "kind": "vROUTER",
+            "name": "MyService",
+            "versionNumber": null,
+            "published": true,
+            "view_url": "/admin/vrouter/vrouterservice/$id$/",
+            "icon_url": null,
+            "public_key": null,
+            "private_key_fn": null,
+            "service_specific_id": null,
+            "service_specific_attribute": null
+        }
+
+### View a Service Detail [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+
+### Delete a Service [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 204
+
+ 
+ 
+## Sites [/api/core/sites/{id}/]
+
+### List all sites [GET]
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "mysite",
+            "id": 1,
+            "created": "2016-04-29T16:19:03.587770Z",
+            "updated": "2016-04-29T16:19:05.651933Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "name": "MySite",
+            "site_url": "http://opencord.us/",
+            "enabled": true,
+            "hosts_nodes": true,
+            "hosts_users": true,
+            "location": null,
+            "longitude": null,
+            "latitude": null,
+            "login_base": "mysite",
+            "is_public": true,
+            "abbreviated_name": "",
+            "deployments": [
+                "1"
+            ]
+        }
+ 
+ 
+## Slices [/api/core/slices/{id}/]
+
+List of the XOS slices
+
+### List all slices [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "mysite_slice",
+                "id": 1,
+                "created": "2016-04-29T16:23:22.505072Z",
+                "updated": "2016-04-29T16:23:22.504691Z",
+                "enacted": null,
+                "policed": "2016-04-29T16:23:22.781298Z",
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "name": "mysite_slice",
+                "enabled": true,
+                "omf_friendly": false,
+                "description": "",
+                "slice_url": "",
+                "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
+                "max_instances": 10,
+                "service": null,
+                "network": null,
+                "exposed_ports": null,
+                "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
+                "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
+                "default_flavor": null,
+                "default_image": null,
+                "mount_data_sets": "GenBank",
+                "default_isolation": "vm",
+                "networks": [
+                    "http://apt118.apt.emulab.net/api/core/networks/1/"
+                ]
+            }
+        ]
+        
+ 
+ 
+## Users [/api/core/users/{id}/]
+
+### List all Users [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "id": 2,
+                "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
+                "last_login": "2016-04-12T18:50:45.880823Z",
+                "email": "johndoe@myhouse.com",
+                "username": "johndoe@myhouse.com",
+                "firstname": "john",
+                "lastname": "doe",
+                "phone": null,
+                "user_url": null,
+                "site": "http://xos.dev:9999/api/core/sites/1/",
+                "public_key": null,
+                "is_active": true,
+                "is_admin": false,
+                "is_staff": true,
+                "is_readonly": false,
+                "is_registering": false,
+                "is_appuser": false,
+                "login_page": null,
+                "created": "2016-04-12T18:50:45.912602Z",
+                "updated": "2016-04-12T18:50:45.912671Z",
+                "enacted": null,
+                "policed": null,
+                "backend_status": "Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "timezone": "America/New_York"
+            }
+        ]
+        
\ No newline at end of file
