diff --git a/docs/api/examples/put_projectsprojectid.txt b/docs/api/examples/put_projectsprojectid.txt
index b4043f7e..43cf8961 100644
--- a/docs/api/examples/put_projectsprojectid.txt
+++ b/docs/api/examples/put_projectsprojectid.txt
@@ -1,8 +1,8 @@
-curl -i -X PUT 'http://localhost:8000/projects/{project_id}' -d '{"path": "/tmp/pytest-42/test_update_path_project_non_l0"}'
+curl -i -X PUT 'http://localhost:8000/projects/{project_id}' -d '{"path": "/tmp/pytest-48/test_update_path_project_non_l0"}'
PUT /projects/{project_id} HTTP/1.1
{
- "path": "/tmp/pytest-42/test_update_path_project_non_l0"
+ "path": "/tmp/pytest-48/test_update_path_project_non_l0"
}
diff --git a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst b/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst
new file mode 100644
index 00000000..2faa7709
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst
@@ -0,0 +1,30 @@
+/v1/{project_id}/virtualbox/{vm_id}/capture/{adapter_id:\d+}/start
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/**{vm_id}**/capture/**{adapter_id:\d+}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a packet capture on a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **adapter_id**: Adapter to start a packet capture
+
+Response status codes
+**********************
+- **200**: Capture started
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ capture_filename | ✔ | string | Capture file name |
+
+
diff --git a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst b/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst
new file mode 100644
index 00000000..ddacddfd
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst
@@ -0,0 +1,21 @@
+/v1/{project_id}/virtualbox/{vm_id}/capture/{adapter_id:\d+}/stop
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/**{vm_id}**/capture/**{adapter_id:\d+}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a packet capture on a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **adapter_id**: Adapter to stop a packet capture
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Capture stopped
+
diff --git a/docs/api/v1projectidvirtualboxvms.rst b/docs/api/v1projectidvirtualboxvms.rst
new file mode 100644
index 00000000..4b47e6f0
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvms.rst
@@ -0,0 +1,55 @@
+/v1/{project_id}/virtualbox/vms
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Create a new VirtualBox VM instance
+
+Parameters
+**********
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: Instance created
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ adapter_start_index | | integer | adapter index from which to start using adapters |
+ adapter_type | | string | VirtualBox adapter type |
+ adapters | | integer | number of adapters |
+ console | | integer | console TCP port |
+ enable_remote_console | | boolean | enable the remote console |
+ headless | | boolean | headless mode |
+ linked_clone | ✔ | boolean | either the VM is a linked clone or not |
+ name | ✔ | string | VirtualBox VM instance name |
+ vm_id | | string | VirtualBox VM instance identifier |
+ vmname | ✔ | string | VirtualBox VM name (in VirtualBox itself) |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ adapter_start_index | | integer | adapter index from which to start using adapters |
+ adapter_type | | string | VirtualBox adapter type |
+ adapters | | integer | number of adapters |
+ console | | integer | console TCP port |
+ enable_remote_console | | boolean | enable the remote console |
+ headless | | boolean | headless mode |
+ name | ✔ | string | VirtualBox VM instance name |
+ project_id | ✔ | string | Project UUID |
+ vm_id | ✔ | string | VirtualBox VM instance UUID |
+ vmname | | string | VirtualBox VM name (in VirtualBox itself) |
+
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmid.rst b/docs/api/v1projectidvirtualboxvmsvmid.rst
new file mode 100644
index 00000000..18c50005
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmid.rst
@@ -0,0 +1,105 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}
+-----------------------------------------------------------
+
+.. contents::
+
+GET /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Get a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Success
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ adapter_start_index | | integer | adapter index from which to start using adapters |
+ adapter_type | | string | VirtualBox adapter type |
+ adapters | | integer | number of adapters |
+ console | | integer | console TCP port |
+ enable_remote_console | | boolean | enable the remote console |
+ headless | | boolean | headless mode |
+ name | ✔ | string | VirtualBox VM instance name |
+ project_id | ✔ | string | Project UUID |
+ vm_id | ✔ | string | VirtualBox VM instance UUID |
+ vmname | | string | VirtualBox VM name (in VirtualBox itself) |
+
+
+
+PUT /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Instance updated
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ adapter_start_index | | integer | adapter index from which to start using adapters |
+ adapter_type | | string | VirtualBox adapter type |
+ adapters | | integer | number of adapters |
+ console | | integer | console TCP port |
+ enable_remote_console | | boolean | enable the remote console |
+ headless | | boolean | headless mode |
+ name | | string | VirtualBox VM instance name |
+ vmname | | string | VirtualBox VM name (in VirtualBox itself) |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ adapter_start_index | | integer | adapter index from which to start using adapters |
+ adapter_type | | string | VirtualBox adapter type |
+ adapters | | integer | number of adapters |
+ console | | integer | console TCP port |
+ enable_remote_console | | boolean | enable the remote console |
+ headless | | boolean | headless mode |
+ name | ✔ | string | VirtualBox VM instance name |
+ project_id | ✔ | string | Project UUID |
+ vm_id | ✔ | string | VirtualBox VM instance UUID |
+ vmname | | string | VirtualBox VM name (in VirtualBox itself) |
+
+
+
+DELETE /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Delete a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance deleted
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst b/docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst
new file mode 100644
index 00000000..880222ad
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst
@@ -0,0 +1,38 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/nio
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Add a NIO to a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **adapter_id**: Adapter where the nio should be added
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: NIO created
+- **404**: Instance doesn't exist
+
+
+DELETE /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Remove a NIO from a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **adapter_id**: Adapter from where the nio should be removed
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: NIO deleted
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidreload.rst b/docs/api/v1projectidvirtualboxvmsvmidreload.rst
new file mode 100644
index 00000000..48387994
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidreload.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/reload
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reload a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance reloaded
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidresume.rst b/docs/api/v1projectidvirtualboxvmsvmidresume.rst
new file mode 100644
index 00000000..87a3aa85
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidresume.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/resume
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/resume
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Resume a suspended VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance resumed
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidstart.rst b/docs/api/v1projectidvirtualboxvmsvmidstart.rst
new file mode 100644
index 00000000..9a4672a3
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidstart.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/start
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance started
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidstop.rst b/docs/api/v1projectidvirtualboxvmsvmidstop.rst
new file mode 100644
index 00000000..70acc079
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidstop.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/stop
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance stopped
+
diff --git a/docs/api/v1projectidvirtualboxvmsvmidsuspend.rst b/docs/api/v1projectidvirtualboxvmsvmidsuspend.rst
new file mode 100644
index 00000000..e9caa7d9
--- /dev/null
+++ b/docs/api/v1projectidvirtualboxvmsvmidsuspend.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/virtualbox/vms/{vm_id}/suspend
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Suspend a VirtualBox VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance suspended
+
diff --git a/docs/api/v1projectidvpcsvms.rst b/docs/api/v1projectidvpcsvms.rst
new file mode 100644
index 00000000..c6a3a9e4
--- /dev/null
+++ b/docs/api/v1projectidvpcsvms.rst
@@ -0,0 +1,45 @@
+/v1/{project_id}/vpcs/vms
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/vpcs/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Create a new VPCS instance
+
+Parameters
+**********
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: Instance created
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | | ['integer', 'null'] | console TCP port |
+ name | ✔ | string | VPCS VM name |
+ startup_script | | ['string', 'null'] | Content of the VPCS startup script |
+ vm_id | | string | VPCS VM identifier |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ name | ✔ | string | VPCS VM name |
+ project_id | ✔ | string | Project UUID |
+ script_file | | ['string', 'null'] | VPCS startup script |
+ startup_script | | ['string', 'null'] | Content of the VPCS startup script |
+ vm_id | ✔ | string | VPCS VM UUID |
+
+
diff --git a/docs/api/v1projectidvpcsvmsvmid.rst b/docs/api/v1projectidvpcsvmsvmid.rst
new file mode 100644
index 00000000..ca80efaa
--- /dev/null
+++ b/docs/api/v1projectidvpcsvmsvmid.rst
@@ -0,0 +1,92 @@
+/v1/{project_id}/vpcs/vms/{vm_id}
+-----------------------------------------------------------
+
+.. contents::
+
+GET /v1/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Get a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Success
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ name | ✔ | string | VPCS VM name |
+ project_id | ✔ | string | Project UUID |
+ script_file | | ['string', 'null'] | VPCS startup script |
+ startup_script | | ['string', 'null'] | Content of the VPCS startup script |
+ vm_id | ✔ | string | VPCS VM UUID |
+
+
+
+PUT /v1/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Instance updated
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | | ['integer', 'null'] | console TCP port |
+ name | | ['string', 'null'] | VPCS VM name |
+ startup_script | | ['string', 'null'] | Content of the VPCS startup script |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ name | ✔ | string | VPCS VM name |
+ project_id | ✔ | string | Project UUID |
+ script_file | | ['string', 'null'] | VPCS startup script |
+ startup_script | | ['string', 'null'] | Content of the VPCS startup script |
+ vm_id | ✔ | string | VPCS VM UUID |
+
+
+
+DELETE /v1/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Delete a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance deleted
+
diff --git a/docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst b/docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst
new file mode 100644
index 00000000..0abccb0b
--- /dev/null
+++ b/docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst
@@ -0,0 +1,38 @@
+/v1/{project_id}/vpcs/vms/{vm_id}/ports/{port_number:\d+}/nio
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Add a NIO to a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **port_number**: Port where the nio should be added
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: NIO created
+- **404**: Instance doesn't exist
+
+
+DELETE /v1/**{project_id}**/vpcs/vms/**{vm_id}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Remove a NIO from a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+- **port_number**: Port from where the nio should be removed
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: NIO deleted
+
diff --git a/docs/api/v1projectidvpcsvmsvmidreload.rst b/docs/api/v1projectidvpcsvmsvmidreload.rst
new file mode 100644
index 00000000..b5357561
--- /dev/null
+++ b/docs/api/v1projectidvpcsvmsvmidreload.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/vpcs/vms/{vm_id}/reload
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reload a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance reloaded
+
diff --git a/docs/api/v1projectidvpcsvmsvmidstart.rst b/docs/api/v1projectidvpcsvmsvmidstart.rst
new file mode 100644
index 00000000..ae8a095f
--- /dev/null
+++ b/docs/api/v1projectidvpcsvmsvmidstart.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/vpcs/vms/{vm_id}/start
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance started
+
diff --git a/docs/api/v1projectidvpcsvmsvmidstop.rst b/docs/api/v1projectidvpcsvmsvmidstop.rst
new file mode 100644
index 00000000..16f3135b
--- /dev/null
+++ b/docs/api/v1projectidvpcsvmsvmidstop.rst
@@ -0,0 +1,20 @@
+/v1/{project_id}/vpcs/vms/{vm_id}/stop
+-----------------------------------------------------------
+
+.. contents::
+
+POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a VPCS instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance stopped
+