FORMAT: 1A

# 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]

+ Request (application/json)

        {
            "username": "padmin@vicci.org",
            "password": "letmein"
        }

+ Response 200 (application/json)

        {
            "xoscsrftoken":"xuvsRC1jkXAsnrdRlgJvcXpmtthTAqqf",
            "xossessionid":"7ds5a3wzjlgbjqo4odkd25qsm0j2s6zg",
            "user": "{\"policed\": null, \"site\": 3, \"is_appuser\": false, \"is_staff\": true, \"backend_status\": \"Provisioning in progress\", \"id\": 3, \"is_registering\": false, \"last_login\": \"2016-04-30T22:51:04.788675+00:00\", \"email\": \"padmin@vicci.org\", \"no_sync\": false, \"username\": \"padmin@vicci.org\", \"dashboards\": [11], \"login_page\": null, \"firstname\": \"XOS\", \"user_url\": null, \"deleted\": false, \"lastname\": \"admin\", \"is_active\": true, \"lazy_blocked\": false, \"phone\": null, \"is_admin\": true, \"enacted\": null, \"public_key\": null, \"is_readonly\": false, \"no_policy\": false, \"write_protect\": false}"
        }

## Logout [/api/utility/logout/]

### Log a user out of the system [POST]

+ Request (application/json)
        {xossessionid: "sessionId"}

+ Response 200 (application/json)

 
 
# Group Subscribers

Resource related to the CORD Subscribers.

## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]

### 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"
                }
            }
        ]


### View a Subscriber Detail [GET]

+ Parameters
    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer

+ 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]

+ Parameters
    + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer

+ 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/{truckroll_id}/]

### 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]

A virtual truckroll is complete once is_synced equal true

+ 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"
        }


### View a Truckroll Detail [GET]

+ Parameters
    + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer

+ 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]

+ Parameters
    + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer

+ Response 204

 
 
# Group vOLT

OLT devices aggregate a set of subscriber connections

## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]

### 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"
                }
            }

### View a vOLT Detail [GET]

+ Parameters
    + volt_id: 1 (number) - ID of the vOLT in the form of an integer

+ 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

## ONOS 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"
            }
        ]