diff --git a/developer/roc-api.rst b/developer/roc-api.rst
index 2708450..ee65e26 100644
--- a/developer/roc-api.rst
+++ b/developer/roc-api.rst
@@ -15,7 +15,7 @@
 .. note:: Opening this in a browser will display a HTML view of the API (powered by *ReDoc*).
 
     To access the raw YAML format use
-    ``curl -H "Accept: application/yaml" http://localhost:8183/aether-roc-api/aether-3.0.0-openapi3.yaml``
+    ``curl -H "Accept: application/yaml" http://localhost:8183/aether-roc-api/aether-4.0.0-openapi3.yaml``
     This YAML format can be imported in to various different tools e.g. |postman_link|
 
 Background
@@ -33,10 +33,10 @@
 
 Endpoints are named based on the type of object. Some examples:
 
-* `GET http://roc/aether/v3.0.0/connectivity-service-v3/enterprise/`. Get a list of enterprises.
-* `GET http://roc/aether/v3.0.0/connectivity-service-v3/enterprise/Starbucks`. Get the Starbucks enterprise.
-* `POST http://roc/aether/v3.0.0/connectivity-service-v3/enterprise`. Create a new enterprise.
-* `PATCH http://roc/aether/v3.0.0/connectivity-service-v3/site/Starbucks-NewYork`. Update the Starbucks New York site.
+* `GET http://roc/aether/v4.0.0/connectivity-service-v3/enterprise/`. Get a list of enterprises.
+* `GET http://roc/aether/v4.0.0/connectivity-service-v3/enterprise/Starbucks`. Get the Starbucks enterprise.
+* `POST http://roc/aether/v4.0.0/connectivity-service-v3/enterprise`. Create a new enterprise.
+* `PATCH http://roc/aether/v4.0.0/connectivity-service-v3/site/Starbucks-NewYork`. Update the Starbucks New York site.
 
 This document is a high-level description of the objects that can be interacted with. For a
 low-level description, see the specification (:ref:`developer/roc-api:Access` section above).
@@ -99,6 +99,23 @@
      `CCCNNNEEESSSSSS` will construct IMSIs using a 3-digit MCC, 3-digit MNC, 3-digit ENT, and a
      6-digit subscriber.
 
+* `small-cell` A list of 5G gNodeB or Access Point or Radios. Each access point has the following:
+
+    * `address`. Hostname of the small cell.
+    * `tac`. Type Allocation Code.
+    * `enable`. If set to `true`, the small cell is enabled. Otherwise, it is disabled.
+
+* `monitoring` Configuration of how the monitoring framework of the site can be connected:
+
+    * `edge-cluster-prometheus-url` the URL of the site's Edge cluster Prometheus service
+    * `edge-monitoring-prometheus-url` the URL of the site's Edge monitoring Prometheus service
+    * `edge-device` a list of monitoring devices that verify end-to-end connectivity
+
+        * `name` the name of the monitoring device (usually a Raspberry Pi). This will usually
+          correspond to its short hostname
+        * `display-name` a user friendly name
+        * `description` an optional description
+
 Device-Group
 ~~~~~~~~~~~~
 
@@ -117,6 +134,13 @@
 * `site`. Reference to the site where this `Device-Group` may be used. Indirectly identifies the
   `Enterprise` as `Site` contains a reference to `Enterprise`.
 
+* `device` related configuration:
+
+   * `mbr`. The maximum bitrate in bits per second that the application will be limited to:
+
+      * `uplink` the `mbr` from device to slice
+      * `downlink` the `mbr` from slice to device
+
 Virtual Cellular Service
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -126,9 +150,11 @@
 * `device-group`. A list of `Device-Group` objects that can participate in this `VCS`. Each
   entry in the list contains both the reference to the `Device-Group` as well as an `enable`
   field which may be used to temporarily remove access to the group.
-* `application`. A list of `Application` objects that are either allowed or denied for this
+* `filter`. A list of `Application` objects that are either allowed or denied for this
   `VCS`. Each entry in the list contains both a reference to the `Application` as well as an
-  `allow` field which can be set to `true` to allow the application or `false` to deny it.
+  `allow` field which can be set to `true` to allow the application or `false` to deny it. It
+  also has a `priority` field which can be used to order the applications when considering the
+  enforcing of their `allow` condition.
 * `template`. Reference to the `Template` that was used to initialize this `VCS`.
 * `upf`. Reference to the User Plane Function (`UPF`) that should be used to process packets
   for this `VCS`. It's permitted for multiple `VCS` to share a single `UPF`.
@@ -144,33 +170,24 @@
 `Application` specifies an application and the endpoints for the application. Applications are
 the termination point for traffic from the UPF. Contains the following fields:
 
-* `endpoint`. A list of endpoints. Each has the following
-  fields:
+* `address`. The DNS name or IP address of the endpoint.
+* `endpoint`. A list of endpoints. Each has the following fields:
 
-   * `name`. Name of the endpoint. Used as a key.
-   * `address`. The DNS name or IP address of the endpoint.
-   * `port-start`. Starting port number.
-   * `port-end`. Ending port number.
-   * `protocol`. `TCP|UDP`, specifies the protocol for the endpoint.
+    * `name`. Name of the endpoint. Used as a key.
+    * `port-start`. Starting port number.
+    * `port-end`. Ending port number.
+    * `protocol`. `TCP|UDP`, specifies the protocol for the endpoint.
+    * `mbr`. The maximum bitrate in bits per second that the application will be limited to:
+
+        * `uplink` the `mbr` from device to application
+        * `downlink` the `mbr` from application to device
+
 * `enterprise`. Link to an `Enterprise` object that owns this application. May be left empty
   to indicate a global application that may be used by multiple enterprises.
 
 Supporting Aether Objects
 -------------------------
 
-AP-List
-~~~~~~~
-
-`AP-List` specifies a list of access points (radios). It has the following fields:
-
-* `access-points`. A list of access points. Each access point has the following:
-
-    * `address`. Hostname of the access point.
-    * `tac`. Type Allocation Code.
-    * `enable`. If set to `true`, the access point is enabled. Otherwise, it is disabled.
-
-* `enterprise`. The `Enterprise` that owns these access points.
-
 Connectivity-Service
 ~~~~~~~~~~~~~~~~~~~~
 
@@ -200,12 +217,19 @@
 * `sst`, `sd`. Slice identifiers.
 * `uplink`, `downlink`. Guaranteed uplink and downlink bandwidth.
 * `traffic-class`. Link to a `Traffic-Class` object that describes the type of traffic.
+* `slice` configuration for slice
+
+    * `mbr` configuration of maximum bit rate in slice
+
+        * `uplink` the `mbr` from device to slice
+        * `downlink` the `mbr` from slice to device
 
 Traffic-Class
 ~~~~~~~~~~~~~
 
 Specifies the class of traffic. Contains the following:
 
+* `arp`. Allocation and Retention Priority.
 * `qci`. QoS class identifier.
 * `pelr`. Packet error loss rate.
 * `pdb`. Packet delay budget.
@@ -213,11 +237,14 @@
 UPF
 ~~~
 
-Specifies the UPF that should forward packets. Has the following fields:
+Specifies the UPF that should forward packets. A UPF can only be used by one VCS at a time.
+Has the following fields:
 
 * `address`. Hostname or IP address of UPF.
 * `port`. Port number of UPF.
 * `enterprise`. Enterprise that owns this UPF.
+* `site`. The Site that this UPF is located at.
+* `config-endpoint` URL for configuring the UPF
 
 .. |postman_link| raw:: html
 
