diff --git a/xos/tests/api/.gitignore b/xos/tests/api/.gitignore
deleted file mode 100644
index 3c3629e..0000000
--- a/xos/tests/api/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/xos/tests/api/README.md b/xos/tests/api/README.md
deleted file mode 100644
index 67db53d..0000000
--- a/xos/tests/api/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# xos-api-docs
-
-These folder contain the XOS API definition and specs. To run tests visit `configurations/test-standalone` folder.
-
-To document new API:
-- run `npm install`
-- run `npm start`
-- add the appropriate endpont under `source` folder.
-
-_API are documented using (Api BluePrint)[https://apiblueprint.org/] syntax and the documentation is published on (Apiary)[http://docs.xos.apiary.io/#]_
-
diff --git a/xos/tests/api/apiary.apib b/xos/tests/api/apiary.apib
deleted file mode 100644
index 43a81c7..0000000
--- a/xos/tests/api/apiary.apib
+++ /dev/null
@@ -1,461 +0,0 @@
-FORMAT: 1A
-
-# XOS
- 
- 
-# Group 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,
-                "wan_container_gateway_ip": "",
-                "wan_container_gateway_mac": "",
-                "dns_servers": "8.8.8.8",
-                "url_filter_kind": null,
-                "node_label": null
-            }
-        ]
- 
- 
-# Group Subscribers
-
-Resource related to the CORD Subscribers.
-
-## Subscribers Collection [/api/tenant/cord/subscriber/]
-
-### List All Subscribers [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "cordSubscriber-1",
-                "id": 1,
-                "features": {
-                    "cdn": false,
-                    "uplink_speed": 1000000000,
-                    "downlink_speed": 1000000000,
-                    "uverse": false,
-                    "status": "enabled"
-                },
-                "identity": {
-                    "account_num": "123",
-                    "name": "My House"
-                },
-                "related": {
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "compute_node_name": "node2.opencloud.us",
-                    "c_tag": "432",
-                    "instance_id": 1,
-                    "wan_container_ip": null,
-                    "volt_id": 3,
-                    "s_tag": "222"
-                }
-            }
-        ]
-
-## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Detail [GET]
-
-+ Response 200 (application/json)
- 
-        {
-            "humanReadableName": "cordSubscriber-1", 
-            "id": 1, 
-            "features": { 
-                "cdn": false, 
-                "uplink_speed": 1000000000, 
-                "downlink_speed": 1000000000, 
-                "uverse": false, 
-                "status": "enabled" 
-            }, 
-            "identity": { 
-                "account_num": "123",
-                "name": "My House"
-            }, 
-            "related": { 
-                "instance_name": "mysite_vcpe", 
-                "vsg_id": 4, 
-                "compute_node_name": "node2.opencloud.us",
-                "c_tag": "432", 
-                "instance_id": 1, 
-                "wan_container_ip": null, 
-                "volt_id": 3, 
-                "s_tag": "222" 
-            } 
-        }
-
-### Delete a Subscriber [DELETE]
-
-+ Response 204
-
-### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Features Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false, 
-            "uplink_speed": 1000000000, 
-            "downlink_speed": 1000000000, 
-            "uverse": true, 
-            "status": "enabled"
-        }
-
-#### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uplink_speed [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-#### Update Subscriber uplink_speed [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-#### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber downlink_speed [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-#### Update Subscriber downlink_speed [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-#### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber cdn [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-#### Update Subscriber cdn [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-#### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uverse [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-#### Update Subscriber uverse [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-#### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber status [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
-
-#### Update Subscriber status [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
- 
- 
-# Group Truckroll
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-## Truckroll Collection [/api/tenant/truckroll/]
-
-### List all Truckroll [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "vTR-tenant-9",
-                "id": 9,
-                "provider_service": 6,
-                "target_id": 2,
-                "scope": "container",
-                "test": "ping",
-                "argument": "8.8.8.8",
-                "result": "",
-                "result_code": "",
-                "is_synced": false,
-                "backend_status": "2 - Exception('Unreachable results in ansible recipe',)"
-            }
-        ]
-
-### Create a Truckroll [POST]
-
-+ Request (application/json)
-
-        {
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8"
-        }
-
-+ Response 201 (application/json)
-
-        {
-            "humanReadableName": "vTR-tenant-1",
-            "id": 1,
-            "provider_service": 6,
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8",
-            "result": null,
-            "result_code": null,
-            "is_synced": false,
-            "backend_status": "0 - Provisioning in progress"
-        }
-
-## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ Parameters
-    + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-### View a Truckroll Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "vTR-tenant-10",
-            "id": 10,
-            "provider_service": 6,
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8",
-            "result": null,
-            "result_code": null,
-            "is_synced": false,
-            "backend_status": "0 - Provisioning in progress"
-        }
-
-### Delete a Truckroll Detail [DELETE]
-
-+ Response 204
-
- 
- 
-# Group vOLT
-
-OLT devices aggregate a set of subscriber connections
-
-## vOLT Collection [/api/tenant/cord/volt/]
-
-### List all vOLT [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "vOLT-tenant-1",
-                "id": 1,
-                "service_specific_id": "123",
-                "s_tag": "222",
-                "c_tag": "432",
-                "subscriber": 1,
-                "related": {
-                    "instance_id": 1,
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "wan_container_ip": null,
-                    "compute_node_name": "node2.opencloud.us"
-                }
-            }
-        ]
-
-### Create a vOLT [POST]
-
-+ Request (application/json)
-
-        {
-            "s_tag": "222",
-            "c_tag": "432",
-            "subscriber": 1
-        }
-
-+ Response 201 (application/json)
-
-        {
-                "humanReadableName": "vOLT-tenant-1",
-                "id": 1,
-                "service_specific_id": "123",
-                "s_tag": "222",
-                "c_tag": "432",
-                "subscriber": 1,
-                "related": {
-                    "instance_id": 1,
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "wan_container_ip": null,
-                    "compute_node_name": "node2.opencloud.us"
-                }
-            }
-
-## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
-
-A virtual volt is complete once is_synced equal true
-
-+ Parameters
-    + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-### View a vOLT Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "vOLT-tenant-1",
-            "id": 1,
-            "service_specific_id": "123",
-            "s_tag": "222",
-            "c_tag": "432",
-            "subscriber": 1,
-            "related": {
-                "instance_id": 1,
-                "instance_name": "mysite_vcpe",
-                "vsg_id": 4,
-                "wan_container_ip": null,
-                "compute_node_name": "node2.opencloud.us"
-            }
-        }
-
- 
- 
-# Group ONOS Apps
-
-## app Collection [/api/tenant/onos/app/]
-
-### List all apps [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "onos-tenant-7",
-                "id": 7,
-                "name": "vBNG_ONOS_app",
-                "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
-            }
-        ]
\ No newline at end of file
diff --git a/xos/tests/api/dredd.yml b/xos/tests/api/dredd.yml
deleted file mode 100644
index a214c7c..0000000
--- a/xos/tests/api/dredd.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-reporter: apiary
-custom:
-  apiaryApiKey: f941658c6714ebf58eeda5e0786e937f
-  apiaryApiName: xos
-dry-run: null
-hookfiles: "./hooks.py"
-language: python
-sandbox: false
-server: null
-server-wait: 3
-init: false
-names: false
-only: []
-output: []
-header: []
-sorted: false
-user: null
-inline-errors: false
-details: false
-method: []
-color: true
-level: info
-timestamp: false
-silent: false
-path: []
-hooks-worker-timeout: 5000
-hooks-worker-connect-timeout: 1500
-hooks-worker-connect-retry: 500
-hooks-worker-after-connect-wait: 100
-hooks-worker-term-timeout: 5000
-hooks-worker-term-retry: 500
-hooks-worker-handler-host: localhost
-hooks-worker-handler-port: 61321
-blueprint: apiary.apib
-endpoint: 'http://127.0.0.1:8000/'
diff --git a/xos/tests/api/gulpfile.js b/xos/tests/api/gulpfile.js
deleted file mode 100644
index 2e82210..0000000
--- a/xos/tests/api/gulpfile.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var gulp = require('gulp');
-var concat = require('gulp-concat');
-
-
-
-gulp.task('default', function() {
-  gulp.watch('./source/**/*.md', ['concat']);
-});
-
-gulp.task('concat', function() {
-  return gulp.src([
-      './source/base.md',
-      './source/**/*.md'
-    ])
-    .pipe(concat('apiary.apib', {newLine: '\n \n \n'}))
-    .pipe(gulp.dest('./'));
-});
diff --git a/xos/tests/api/helpers/__init__.py b/xos/tests/api/helpers/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/xos/tests/api/helpers/__init__.py
+++ /dev/null
diff --git a/xos/tests/api/helpers/subscriber.py b/xos/tests/api/helpers/subscriber.py
deleted file mode 100644
index 0ff02c2..0000000
--- a/xos/tests/api/helpers/subscriber.py
+++ /dev/null
@@ -1,167 +0,0 @@
-import dredd_hooks as hooks
-import sys
-
-# HELPERS
-# NOTE move in separated module
-import os
-import sys
-sys.path.append("/opt/xos")
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-import django
-from core.models import *
-from services.cord.models import *
-from services.vtr.models import *
-from django.contrib.auth import authenticate, login
-from django.core.exceptions import PermissionDenied
-from django.contrib.sessions.models import Session
-import urllib2
-import json
-django.setup()
-
-token = ''
-
-
-def doLogin(username, password):
-
-    url = "http://127.0.0.1:8000/xoslib/login?username=%s&password=%s" % (username, password)
-
-    print url
-
-    res = urllib2.urlopen(url).read()
-
-    token = json.loads(res)['xoscsrftoken']
-
-
-def cleanDB():
-    # deleting all subscribers
-    for s in CordSubscriberRoot.objects.all():
-        s.delete(purge=True)
-
-    # deleting all slices
-    for s in Slice.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Services
-    for s in Service.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Tenants
-    for s in Tenant.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Networks
-    for s in Network.objects.all():
-        s.delete(purge=True)
-
-    # deleting all NetworkTemplates
-    for s in NetworkTemplate.objects.all():
-        s.delete(purge=True)
-
-    for s in NetworkSlice.objects.all():
-        s.delete(purge=True)
-
-    print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
-    cleanDB()
-
-    # load user
-    user = User.objects.get(email="padmin@vicci.org")
-
-    # network template
-    private_template = NetworkTemplate()
-    private_template.name = 'Private Network'
-    private_template.save()
-
-    # creating the test subscriber
-    subscriber = CordSubscriberRoot(name='Test Subscriber 1', id=1)
-    subscriber.save()
-
-    # Site
-    site = Site.objects.get(name='MySite')
-
-    # vSG service
-    vsg_service = VSGService()
-    vsg_service.name = 'service_vsg'
-
-    # vSG slice
-    vsg_slice = Slice()
-    vsg_slice.name = site.login_base + "_testVsg"
-    vsg_slice.service = vsg_service.id
-    vsg_slice.site = site
-    vsg_slice.caller = user
-
-    vsg_slice.save()
-
-    vsg_service.save()
-
-    # volt service
-    volt_service = VOLTService()
-    volt_service.name = 'service_volt'
-    volt_service.save()
-
-    # vcpe slice
-    vcpe_slice = Slice()
-    vcpe_slice.name = site.login_base + "_testVcpe"
-    vcpe_slice.service = Service.objects.get(kind='vCPE')
-    vcpe_slice.site = site
-    vcpe_slice.caller = user
-    vcpe_slice.save()
-
-    print 'vcpe_slice created'
-
-    # create a lan network
-    lan_net = Network()
-    lan_net.name = 'lan_network'
-    lan_net.owner = vcpe_slice
-    lan_net.template = private_template
-    lan_net.save()
-
-    print 'lan_network created'
-
-    # add relation between vcpe slice and lan network
-    vcpe_network = NetworkSlice()
-    vcpe_network.network = lan_net
-    vcpe_network.slice = vcpe_slice
-    vcpe_network.save()
-
-    print 'vcpe network relation added'
-
-    # vbng service
-    vbng_service = VBNGService()
-    vbng_service.name = 'service_vbng'
-    vbng_service.save()
-
-    print 'vbng_service creater'
-
-    # volt tenant
-    vt = VOLTTenant(subscriber=subscriber.id, id=1)
-    vt.s_tag = "222"
-    vt.c_tag = "432"
-    vt.provider_service_id = volt_service.id
-    vt.caller = user
-    vt.save()
-
-    print "Subscriber Created"
-
-
-def deleteTruckrolls():
-    for s in VTRTenant.objects.all():
-        s.delete(purge=True)
-
-
-def setUpTruckroll():
-    service_vtr = VTRService()
-    service_vtr.name = 'service_vtr'
-    service_vtr.save()
-
-
-def createTruckroll():
-    setUpTruckroll()
-    tn = VTRTenant(id=1)
-    tn.save()
-
-
-createTestSubscriber()
diff --git a/xos/tests/api/hooks.py b/xos/tests/api/hooks.py
deleted file mode 100644
index 6779014..0000000
--- a/xos/tests/api/hooks.py
+++ /dev/null
@@ -1,194 +0,0 @@
-import dredd_hooks as hooks
-import sys
-
-# HELPERS
-# NOTE move in separated module
-import os
-import sys
-sys.path.append("/opt/xos")
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-import django
-from core.models import *
-from services.cord.models import *
-from services.vtr.models import *
-import urllib2
-import json
-django.setup()
-
-
-def doLogin(username, password):
-    url = "http://127.0.0.1:8000/xoslib/login?username=%s&password=%s" % (username, password)
-    res = urllib2.urlopen(url).read()
-    parsed = json.loads(res)
-    return {'token': parsed['xoscsrftoken'], 'sessionid': parsed['xossessionid']}
-
-
-def cleanDB():
-    # deleting all subscribers
-    for s in CordSubscriberRoot.objects.all():
-        s.delete(purge=True)
-
-    # deleting all slices
-    for s in Slice.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Services
-    for s in Service.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Tenants
-    for s in Tenant.objects.all():
-        s.delete(purge=True)
-
-    # deleting all Networks
-    for s in Network.objects.all():
-        s.delete(purge=True)
-
-    # deleting all NetworkTemplates
-    for s in NetworkTemplate.objects.all():
-        s.delete(purge=True)
-
-    for s in NetworkSlice.objects.all():
-        s.delete(purge=True)
-
-    # print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
-    cleanDB()
-
-    # load user
-    user = User.objects.get(email="padmin@vicci.org")
-
-    # network template
-    private_template = NetworkTemplate()
-    private_template.name = 'Private Network'
-    private_template.save()
-
-    # creating the test subscriber
-    subscriber = CordSubscriberRoot(name='Test Subscriber 1', id=1)
-    subscriber.save()
-
-    # Site
-    site = Site.objects.get(name='MySite')
-
-    # vSG service
-    vsg_service = VSGService()
-    vsg_service.name = 'service_vsg'
-
-    # vSG slice
-    vsg_slice = Slice()
-    vsg_slice.name = site.login_base + "_testVsg"
-    vsg_slice.service = vsg_service.id
-    vsg_slice.site = site
-    vsg_slice.caller = user
-
-    vsg_slice.save()
-
-    vsg_service.save()
-
-    # volt service
-    volt_service = VOLTService()
-    volt_service.name = 'service_volt'
-    volt_service.save()
-
-    # vcpe slice
-    vcpe_slice = Slice()
-    vcpe_slice.name = site.login_base + "_testVcpe"
-    vcpe_slice.service = Service.objects.get(kind='vCPE')
-    vcpe_slice.site = site
-    vcpe_slice.caller = user
-    vcpe_slice.save()
-
-    # print 'vcpe_slice created'
-
-    # create a lan network
-    lan_net = Network()
-    lan_net.name = 'lan_network'
-    lan_net.owner = vcpe_slice
-    lan_net.template = private_template
-    lan_net.save()
-
-    # print 'lan_network created'
-
-    # add relation between vcpe slice and lan network
-    vcpe_network = NetworkSlice()
-    vcpe_network.network = lan_net
-    vcpe_network.slice = vcpe_slice
-    vcpe_network.save()
-
-    # print 'vcpe network relation added'
-
-    # vbng service
-    vbng_service = VBNGService()
-    vbng_service.name = 'service_vbng'
-    vbng_service.save()
-
-    # print 'vbng_service creater'
-
-    # volt tenant
-    vt = VOLTTenant(subscriber=subscriber.id, id=1)
-    vt.s_tag = "222"
-    vt.c_tag = "432"
-    vt.provider_service_id = volt_service.id
-    vt.caller = user
-    vt.save()
-
-    # print "Subscriber Created"
-
-
-def deleteTruckrolls():
-    for s in VTRTenant.objects.all():
-        s.delete(purge=True)
-
-
-def setUpTruckroll():
-    service_vtr = VTRService()
-    service_vtr.name = 'service_vtr'
-    service_vtr.save()
-
-
-def createTruckroll():
-    setUpTruckroll()
-    tn = VTRTenant(id=1)
-    tn.save()
-
-
-@hooks.before_all
-def my_before_all_hook(transactions):
-    # print "-------------------------------- Before All Hook --------------------------------"
-    cleanDB()
-
-
-@hooks.before_each
-def my_before_each_hook(transaction):
-    # print "-------------------------------- Before Each Hook --------------------------------"
-    auth = doLogin('padmin@vicci.org', 'letmein')
-    transaction['request']['headers']['X-CSRFToken'] = auth['token']
-    transaction['request']['headers']['Cookie'] = "xossessionid=%s; xoscsrftoken=%s" % (auth['sessionid'], auth['token'])
-    createTestSubscriber()
-    sys.stdout.flush()
-
-
-@hooks.before("Truckroll > Truckroll Collection > Create a Truckroll")
-def test1(transaction):
-    setUpTruckroll()
-
-
-@hooks.before("Truckroll > Truckroll Detail > View a Truckroll Detail")
-def test2(transaction):
-    deleteTruckrolls()
-    createTruckroll()
-
-
-@hooks.before("Truckroll > Truckroll Detail > Delete a Truckroll Detail")
-def test3(transaction):
-    deleteTruckrolls()
-    createTruckroll()
-
-
-@hooks.before("vOLT > vOLT Collection > Create a vOLT")
-def test4(transaction):
-    # transaction['skip'] = True
-    VOLTTenant.objects.get(kind='vOLT').delete()
diff --git a/xos/tests/api/package.json b/xos/tests/api/package.json
deleted file mode 100644
index 9a2ba84..0000000
--- a/xos/tests/api/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "name": "xos-api-docs",
-  "version": "1.0.0",
-  "description": "Api documentation for XOS",
-  "main": "index.js",
-  "scripts": {
-    "start": "gulp",
-    "test": "dredd",
-    "dry": "dredd --dry-run"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/teone/xos-api-docs.git"
-  },
-  "author": "Matteo Scandolo",
-  "license": "ISC",
-  "bugs": {
-    "url": "https://github.com/teone/xos-api-docs/issues"
-  },
-  "homepage": "https://github.com/teone/xos-api-docs#readme",
-  "dependencies": {
-    "dredd": "^1.0.8"
-  },
-  "devDependencies": {
-    "gulp": "^3.9.1",
-    "gulp-concat": "^2.6.0"
-  }
-}
diff --git a/xos/tests/api/source/base.md b/xos/tests/api/source/base.md
deleted file mode 100644
index 564798b..0000000
--- a/xos/tests/api/source/base.md
+++ /dev/null
@@ -1,3 +0,0 @@
-FORMAT: 1A
-
-# XOS
\ No newline at end of file
diff --git a/xos/tests/api/source/service/onos.md b/xos/tests/api/source/service/onos.md
deleted file mode 100644
index 3b5e623..0000000
--- a/xos/tests/api/source/service/onos.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Group 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": ""
-            }
-        ]
\ No newline at end of file
diff --git a/xos/tests/api/source/service/vsg.md b/xos/tests/api/source/service/vsg.md
deleted file mode 100644
index 9247450..0000000
--- a/xos/tests/api/source/service/vsg.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Group vSG
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "service_vsg",
-                "id": 2,
-                "wan_container_gateway_ip": "",
-                "wan_container_gateway_mac": "",
-                "dns_servers": "8.8.8.8",
-                "url_filter_kind": null,
-                "node_label": null
-            }
-        ]
\ No newline at end of file
diff --git a/xos/tests/api/source/tenant/cord/subscribers.md b/xos/tests/api/source/tenant/cord/subscribers.md
deleted file mode 100644
index bd38d04..0000000
--- a/xos/tests/api/source/tenant/cord/subscribers.md
+++ /dev/null
@@ -1,228 +0,0 @@
-# Group Subscribers
-
-Resource related to the CORD Subscribers.
-
-## Subscribers Collection [/api/tenant/cord/subscriber/]
-
-### List All Subscribers [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "cordSubscriber-1",
-                "id": 1,
-                "features": {
-                    "cdn": false,
-                    "uplink_speed": 1000000000,
-                    "downlink_speed": 1000000000,
-                    "uverse": false,
-                    "status": "enabled"
-                },
-                "identity": {
-                    "account_num": "123",
-                    "name": "My House"
-                },
-                "related": {
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "compute_node_name": "node2.opencloud.us",
-                    "c_tag": "432",
-                    "instance_id": 1,
-                    "wan_container_ip": null,
-                    "volt_id": 3,
-                    "s_tag": "222"
-                }
-            }
-        ]
-
-## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Detail [GET]
-
-+ Response 200 (application/json)
- 
-        {
-            "humanReadableName": "cordSubscriber-1", 
-            "id": 1, 
-            "features": { 
-                "cdn": false, 
-                "uplink_speed": 1000000000, 
-                "downlink_speed": 1000000000, 
-                "uverse": false, 
-                "status": "enabled" 
-            }, 
-            "identity": { 
-                "account_num": "123",
-                "name": "My House"
-            }, 
-            "related": { 
-                "instance_name": "mysite_vcpe", 
-                "vsg_id": 4, 
-                "compute_node_name": "node2.opencloud.us",
-                "c_tag": "432", 
-                "instance_id": 1, 
-                "wan_container_ip": null, 
-                "volt_id": 3, 
-                "s_tag": "222" 
-            } 
-        }
-
-### Delete a Subscriber [DELETE]
-
-+ Response 204
-
-### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Features Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false, 
-            "uplink_speed": 1000000000, 
-            "downlink_speed": 1000000000, 
-            "uverse": true, 
-            "status": "enabled"
-        }
-
-#### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uplink_speed [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-#### Update Subscriber uplink_speed [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "uplink_speed": 1000000000
-        }
-
-#### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber downlink_speed [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-#### Update Subscriber downlink_speed [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "downlink_speed": 1000000000
-        }
-
-#### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber cdn [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-#### Update Subscriber cdn [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "cdn": false
-        }
-
-#### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uverse [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-#### Update Subscriber uverse [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "uverse": false
-        }
-
-#### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/]
-
-+ Parameters
-    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber status [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
-
-#### Update Subscriber status [PUT]
-
-+ Request 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
-
-+ Response 200 (application/json)
-
-        {
-            "status": "enabled"
-        }
\ No newline at end of file
diff --git a/xos/tests/api/source/tenant/cord/truckroll.md b/xos/tests/api/source/tenant/cord/truckroll.md
deleted file mode 100644
index 33b67db..0000000
--- a/xos/tests/api/source/tenant/cord/truckroll.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Group Truckroll
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-## Truckroll Collection [/api/tenant/truckroll/]
-
-### List all Truckroll [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "vTR-tenant-9",
-                "id": 9,
-                "provider_service": 6,
-                "target_id": 2,
-                "scope": "container",
-                "test": "ping",
-                "argument": "8.8.8.8",
-                "result": "",
-                "result_code": "",
-                "is_synced": false,
-                "backend_status": "2 - Exception('Unreachable results in ansible recipe',)"
-            }
-        ]
-
-### Create a Truckroll [POST]
-
-+ Request (application/json)
-
-        {
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8"
-        }
-
-+ Response 201 (application/json)
-
-        {
-            "humanReadableName": "vTR-tenant-1",
-            "id": 1,
-            "provider_service": 6,
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8",
-            "result": null,
-            "result_code": null,
-            "is_synced": false,
-            "backend_status": "0 - Provisioning in progress"
-        }
-
-## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ Parameters
-    + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-### View a Truckroll Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "vTR-tenant-10",
-            "id": 10,
-            "provider_service": 6,
-            "target_id": 2,
-            "scope": "container",
-            "test": "ping",
-            "argument": "8.8.8.8",
-            "result": null,
-            "result_code": null,
-            "is_synced": false,
-            "backend_status": "0 - Provisioning in progress"
-        }
-
-### Delete a Truckroll Detail [DELETE]
-
-+ Response 204
diff --git a/xos/tests/api/source/tenant/cord/volt.md b/xos/tests/api/source/tenant/cord/volt.md
deleted file mode 100644
index 09140fd..0000000
--- a/xos/tests/api/source/tenant/cord/volt.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Group vOLT
-
-OLT devices aggregate a set of subscriber connections
-
-## vOLT Collection [/api/tenant/cord/volt/]
-
-### List all vOLT [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "vOLT-tenant-1",
-                "id": 1,
-                "service_specific_id": "123",
-                "s_tag": "222",
-                "c_tag": "432",
-                "subscriber": 1,
-                "related": {
-                    "instance_id": 1,
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "wan_container_ip": null,
-                    "compute_node_name": "node2.opencloud.us"
-                }
-            }
-        ]
-
-### Create a vOLT [POST]
-
-+ Request (application/json)
-
-        {
-            "s_tag": "222",
-            "c_tag": "432",
-            "subscriber": 1
-        }
-
-+ Response 201 (application/json)
-
-        {
-                "humanReadableName": "vOLT-tenant-1",
-                "id": 1,
-                "service_specific_id": "123",
-                "s_tag": "222",
-                "c_tag": "432",
-                "subscriber": 1,
-                "related": {
-                    "instance_id": 1,
-                    "instance_name": "mysite_vcpe",
-                    "vsg_id": 4,
-                    "wan_container_ip": null,
-                    "compute_node_name": "node2.opencloud.us"
-                }
-            }
-
-## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
-
-A virtual volt is complete once is_synced equal true
-
-+ Parameters
-    + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-### View a vOLT Detail [GET]
-
-+ Response 200 (application/json)
-
-        {
-            "humanReadableName": "vOLT-tenant-1",
-            "id": 1,
-            "service_specific_id": "123",
-            "s_tag": "222",
-            "c_tag": "432",
-            "subscriber": 1,
-            "related": {
-                "instance_id": 1,
-                "instance_name": "mysite_vcpe",
-                "vsg_id": 4,
-                "wan_container_ip": null,
-                "compute_node_name": "node2.opencloud.us"
-            }
-        }
diff --git a/xos/tests/api/source/tenant/onos/app.md b/xos/tests/api/source/tenant/onos/app.md
deleted file mode 100644
index a43aae9..0000000
--- a/xos/tests/api/source/tenant/onos/app.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Group ONOS Apps
-
-## app Collection [/api/tenant/onos/app/]
-
-### List all apps [GET]
-
-+ Response 200 (application/json)
-
-        [
-            {
-                "humanReadableName": "onos-tenant-7",
-                "id": 7,
-                "name": "vBNG_ONOS_app",
-                "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
-            }
-        ]
\ No newline at end of file
