diff --git a/nats_server/monitoring.md b/nats_server/monitoring.md
index d092be5..19e8d5f 100644
--- a/nats_server/monitoring.md
+++ b/nats_server/monitoring.md
@@ -1,6 +1,15 @@
 ## Monitoring NATS
 
-To monitor the NATS messaging system, `nats-server` provides a lightweight HTTP server on a dedicated monitoring port. The monitoring server provides several endpoints, including [varz](#/varz), [connz](#/connz), [routez](#/routez), and [subsz](#/subz). All endpoints return a JSON object.
+To monitor the NATS messaging system, `nats-server` provides a lightweight HTTP server on a dedicated monitoring port.
+The monitoring server provides several endpoints, providing statistics and other information about the following:
+
+* [General Server Information](#General-Information)
+* [Connections](#Connection-Information)
+* [Routing](#Route-Information)
+* [Subscription Routing](#Subscription-Routing-Information)
+* [Gateways](#Gateway-Information)
+
+All endpoints return a JSON object.
 
 The NATS monitoring endpoints support JSONP and CORS, making it easy to create single page monitoring web applications.
 
@@ -21,7 +30,7 @@ $ nats-server -m 8222
 [4528] 2019/06/01 20:09:58.573090 [INF] nats-server is ready
 ```
 
-To test, run `nats-server -m 8222`, then go to http://localhost:8222/
+To test, run `nats-server -m 8222`, then go to http://demo.nats.io:8222/
 
 ### Enable monitoring from the configuration file
 
@@ -31,13 +40,34 @@ You can also enable monitoring using the configuration file as follows:
 http_port: 8222
 ```
 
+For example, to monitor this server locally, the endpoint would be http://demo.nats.io:8222/varz reports various general statistics.
+
 ## Monitoring endpoints
 
-The following sections describe each supported monitoring endpoint: `varz`, `connz`, `routez`, and `subsz`.
+The following sections describe each supported monitoring endpoint: `varz`, `connz`, `routez`, `subsz`, and `gatewayz`.
+There are not any required arguments, however use of arguments can let you tailor monitoring to your environment
+and tooling.
 
-### /varz
+### General Information
 
-The endpoint http://localhost:8222/varz reports various general statistics.
+The `/varz` endpoint returns general information about the server state and configuration.
+
+**Endpoint:** `http://server:port/varz`
+
+| Result  | Return Code       |
+|:---|:----|
+| Success | 200 (OK)          |
+| Error   | 400 (Bad Request) |
+
+#### Arguments
+
+N/A
+
+#### Example
+
+http://demo.nats.io:8222/varz
+
+#### Response
 
 ```json
 {
@@ -90,13 +120,61 @@ The endpoint http://localhos
 }
 ```
 
-### /connz
+### Connection Information
 
-The endpoint http://localhost:8222/connz reports more detailed information on current connections. It uses a paging mechanism which defaults to 1024 connections.
+The `/connz` endpoint reports more detailed information on current and recently closed connections.
+It uses a paging mechanism which defaults to 1024 connections.
 
-You can control these via URL arguments (limit and offset). For example: http://localhost:8222/connz?limit=1&offset=1.
+**Endpoint:** `http://server:port/connz`
 
-You can also report detailed subscription information on a per connection basis using subs=1. For example: http://localhost:8222/connz?limit=1&offset=1&subs=1.
+| Result  | Return Code       |
+|:---|:---|
+| Success | 200 (OK)          |
+| Error   | 400 (Bad Request) |
+
+#### Arguments
+
+| Argument | Values | Description |
+|:---|:---|:---|
+| sort   | (*see sort options*)     | Sorts the results.  Default is connection ID.           |
+| auth   | true, 1, false, 0        | Include username.  Default is false.                    |
+| subs   | true, 1, false, 0        | Include subscriptions.  Default is false.               |
+| offset | number > 0               | Pagination offset.  Default is 0.                       |
+| limit  | number > 0               | Number of results to return.  Default is 1024.          |
+| cid    | number, valid id         | Return a connection by it's id                          |
+| state  | open, *closed,  any      | Return connections of partular state.  Default is open. |
+
+*The server will default to holding the last 10,000 closed connections.*
+
+##### Sort Options
+
+| Option | Sort by|
+|:---|:---|
+|cid        | Connection ID                                        |
+|start      | Connection start time, same as CID                   |
+|subs       | Number of subscriptions                              |
+|pending    | Amount of data in bytes waiting to be sent to client |
+|msgs_to    | Number of messages sent                              |
+|msgs_from  | Number of messages received                          |
+|bytes_to   | Number of bytes sent                                 |
+|bytes_from | Number of bytes received                             |
+|last       | Last activity                                        |
+|idle       | Amount of inactivity                                 |
+|uptime     | Lifetime of the connection                           |
+|stop       | Stop time for a closed connection                    |
+|reason     | Reason for a closed connection                       |
+
+#### Examples
+
+Get up to 1024 connections: http://demo.nats.io:8222/connz
+
+Control limit and offset: http://demo.nats.io:8222/connz?limit=16&offset=128.
+
+Get closed connection information: http://demo.nats.io:8222/connz?state=closed.
+
+You can also report detailed subscription information on a per connection basis using subs=1. For example: http://demo.nats.io:8222/connz?limit=1&offset=1&subs=1.
+
+#### Response
 
 ```json
 {
@@ -155,11 +233,31 @@ You can also report detailed subscription information on a per connection basis
 }
 ```
 
-### /routez
+### Route Information
 
-The endpoint http://localhost:8222/routez reports information on active routes for a cluster. Routes are expected to be low, so there is no paging mechanism with this endpoint.
+The `/routez` endpoint reports information on active routes for a cluster.
+Routes are expected to be low, so there is no paging mechanism with this endpoint.
 
-The `routez` endpoint does support the `subs` argument from the `/connz` endpoint. For example: http://localhost:8222/routez?subs=1
+**Endpoint:** `http://server:port/routez`
+
+| Result  | Return Code       |
+|:---|:---|
+| Success | 200 (OK)          |
+| Error   | 400 (Bad Request) |
+
+#### Arguments
+
+| Argument | Values | Description |
+|:---|:---|:---|
+| subs | true, 1, false, 0 | Include internal subscriptions.  Default is false.|
+
+As noted above, the `routez` endpoint does support the `subs` argument from the `/connz` endpoint. For example: http://demo.nats.io:8222/routez?subs=1
+
+#### Example
+
+* Get route information:  http://demo.nats.io:8222/routez?subs=1
+
+#### Response
 
 ```json
 {
@@ -184,9 +282,31 @@ The `routez` endpoint does support the `subs` argument from the `/connz` endpoin
 }
 ```
 
-### /subsz
+### Subscription Routing Information
 
-The endpoint http://localhost:8222/subz reports detailed information about the current subscriptions and the routing data structure.
+The `/subz` endpoint reports detailed information about the current subscriptions and the routing data structure.  It is not normally used.
+
+**Endpoint:** `http://server:port/subz`
+
+| Result  | Return Code       |
+|:---|:---|
+| Success | 200 (OK)          |
+| Error   | 400 (Bad Request) |
+
+#### Arguments
+
+| Argument | Values | Description |
+|:---|:---|:---|
+| subs   | true, 1, false, 0 | Include subscriptions.  Default is false.               |
+| offset | integer > 0       | Pagination offset.  Default is 0.                       |
+| limit  | integer > 0       | Number of results to return.  Default is 1024.          |
+| test   | subject           | Test whether a subsciption exists.                      |
+
+#### Example
+
+* Get subscription routing information:  http://demo.nats.io:8222/subsz
+
+#### Response
 
 ```json
 {
@@ -201,20 +321,159 @@ The endpoint http://localho
 }
 ```
 
-## Creating monitoring applications
+### Gateway Information
+
+The `/gatewayz` endpoint reports information about gateways used to create a NATS supercluster.
+Like routes, the number of gateways are expected to be low, so there is no paging mechanism with this endpoint.
+
+**Endpoint:** `http://server:port/gatewayz`
+
+| Result  | Return Code       |
+|:---|:---|
+| Success | 200 (OK)          |
+| Error   | 400 (Bad Request) |
+
+#### Arguments
+
+| Argument | Values | Description |
+|:---|:---|:---|
+| accs     | true, 1, false, 0   | Include account information.  Default is false.  |
+| gw_name  | string              | Return only remote gateways with this name.      |
+| acc_name | string              | Limit the list of accounts to this account name. |
+
+#### Examples
+
+* Retrieve Gateway Information: http://demo.nats.io:8222/gatewayz
+
+#### Response
+
+```json
+{
+  "server_id": "NANVBOU62MDUWTXWRQ5KH3PSMYNCHCEUHQV3TW3YH7WZLS7FMJE6END6",
+  "now": "2019-07-24T18:02:55.597398-06:00",
+  "name": "region1",
+  "host": "2601:283:4601:1350:1895:efda:2010:95a1",
+  "port": 4501,
+  "outbound_gateways": {
+    "region2": {
+      "configured": true,
+      "connection": {
+        "cid": 7,
+        "ip": "127.0.0.1",
+        "port": 5500,
+        "start": "2019-07-24T18:02:48.765621-06:00",
+        "last_activity": "2019-07-24T18:02:48.765621-06:00",
+        "uptime": "6s",
+        "idle": "6s",
+        "pending_bytes": 0,
+        "in_msgs": 0,
+        "out_msgs": 0,
+        "in_bytes": 0,
+        "out_bytes": 0,
+        "subscriptions": 0,
+        "name": "NCXBIYWT7MV7OAQTCR4QTKBN3X3HDFGSFWTURTCQ22ZZB6NKKJPO7MN4"
+      }
+    },
+    "region3": {
+      "configured": true,
+      "connection": {
+        "cid": 5,
+        "ip": "::1",
+        "port": 6500,
+        "start": "2019-07-24T18:02:48.764685-06:00",
+        "last_activity": "2019-07-24T18:02:48.764685-06:00",
+        "uptime": "6s",
+        "idle": "6s",
+        "pending_bytes": 0,
+        "in_msgs": 0,
+        "out_msgs": 0,
+        "in_bytes": 0,
+        "out_bytes": 0,
+        "subscriptions": 0,
+        "name": "NCVS7Q65WX3FGIL2YQRLI77CE6MQRWO2Y453HYVLNMBMTVLOKMPW7R6K"
+      }
+    }
+  },
+  "inbound_gateways": {
+    "region2": [
+      {
+        "configured": false,
+        "connection": {
+          "cid": 9,
+          "ip": "::1",
+          "port": 52029,
+          "start": "2019-07-24T18:02:48.76677-06:00",
+          "last_activity": "2019-07-24T18:02:48.767096-06:00",
+          "uptime": "6s",
+          "idle": "6s",
+          "pending_bytes": 0,
+          "in_msgs": 0,
+          "out_msgs": 0,
+          "in_bytes": 0,
+          "out_bytes": 0,
+          "subscriptions": 0,
+          "name": "NCXBIYWT7MV7OAQTCR4QTKBN3X3HDFGSFWTURTCQ22ZZB6NKKJPO7MN4"
+        }
+      }
+    ],
+    "region3": [
+      {
+        "configured": false,
+        "connection": {
+          "cid": 4,
+          "ip": "::1",
+          "port": 52025,
+          "start": "2019-07-24T18:02:48.764577-06:00",
+          "last_activity": "2019-07-24T18:02:48.764994-06:00",
+          "uptime": "6s",
+          "idle": "6s",
+          "pending_bytes": 0,
+          "in_msgs": 0,
+          "out_msgs": 0,
+          "in_bytes": 0,
+          "out_bytes": 0,
+          "subscriptions": 0,
+          "name": "NCVS7Q65WX3FGIL2YQRLI77CE6MQRWO2Y453HYVLNMBMTVLOKMPW7R6K"
+        }
+      },
+      {
+        "configured": false,
+        "connection": {
+          "cid": 8,
+          "ip": "127.0.0.1",
+          "port": 52026,
+          "start": "2019-07-24T18:02:48.766173-06:00",
+          "last_activity": "2019-07-24T18:02:48.766999-06:00",
+          "uptime": "6s",
+          "idle": "6s",
+          "pending_bytes": 0,
+          "in_msgs": 0,
+          "out_msgs": 0,
+          "in_bytes": 0,
+          "out_bytes": 0,
+          "subscriptions": 0,
+          "name": "NCKCYK5LE3VVGOJQ66F65KA27UFPCLBPX4N4YOPOXO3KHGMW24USPCKN"
+        }
+      }
+    ]
+  }
+}
+```
+
+## Creating Monitoring Applications
 
 NATS monitoring endpoints support [JSONP](https://en.wikipedia.org/wiki/JSONP) and [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing#How_CORS_works). You can easily create single page web applications for monitoring. To do this you simply pass the `callback` query parameter to any endpoint.
 
 For example:
 
 ```sh
-http://localhost:8222/connz?callback=cb
+http://demo.nats.io:8222/connz?callback=cb
 ```
 
 Here is a JQuery example implementation:
 
 ```javascript
-$.getJSON('http://localhost:8222/connz?callback=?', function(data) {
+$.getJSON('http://demo.nats.io:8222/connz?callback=?', function(data) {
   console.log(data);
 });