diff --git a/docs/templates/sections/apiexample/dcaecdap.rst b/docs/templates/sections/apiexample/dcaecdap.rst
index bc7f7bf..16dc2cf 100644
--- a/docs/templates/sections/apiexample/dcaecdap.rst
+++ b/docs/templates/sections/apiexample/dcaecdap.rst
@@ -30,13 +30,12 @@
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | successful response                                | `info <#_info> |
-|         |                                                    | `__            |
-+---------+----------------------------------------------------+----------------+
++---------+--------------------------------------------+-------------------+
+| HTTP    | Description                                | Schema            |
+| Code    |                                            |                   |
++=========+============================================+===================+
+| **200** | successful response                        | `info <#_info>`__ |
++---------+--------------------------------------------+-------------------+
 
 GET /application
 ----------------
@@ -49,18 +48,17 @@
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | successful response                                | <              |
-|         |                                                    | `appname <#_ap |
-|         |                                                    | pname>`__      |
-|         |                                                    | > array        |
-+---------+----------------------------------------------------+----------------+
++---------+-------------------------------------------+---------------+
+| HTTP    | Description                               | Schema        |
+| Code    |                                           |               |
++=========+===========================================+===============+
+| **200** | successful response                       | `appname <#_a |
+|         |                                           | ppname>`__    |
+|         |                                           | (array)       |
++---------+-------------------------------------------+---------------+
 
-PUT /application\*/{appname}
-----------------------------
+PUT /application/{appname}
+--------------------------
 
 Description
 ~~~~~~~~~~~
@@ -77,34 +75,31 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application.             | string (text)    |
-| *       | **          |                                      |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
-| **Body* | | **putbody | required put body                    | `hydratorappput  |
-| *       | **          |                                      | <#_hydratorapppu |
-|         | | *required |                                      | t>`__            |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+---------------------------------+------------------+
+| Type     | Name          | Description                     | Schema           |
++==========+===============+=================================+==================+
+| **Path** | | **appname** | Name of the application.        | string (text)    |
+|          | | *required*  |                                 |                  |
++----------+---------------+---------------------------------+------------------+
+| **Body** | | **putbody** | required put body               | `hydratorappput  |
+|          | | *required*  |                                 | <#_hydratorapppu |
+|          |               |                                 | t>`__            |
++----------+---------------+---------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | Successful response                                | `Application < |
-|         |                                                    | #_application> |
-|         |                                                    | `__            |
-+---------+----------------------------------------------------+----------------+
-| **400** | put was performed but the appname was already      | No Content     |
-|         | registered with the broker, or Invalid PUT body    |                |
-+---------+----------------------------------------------------+----------------+
++---------+----------------------------------------------------+---------------+
+| HTTP    | Description                                        | Schema        |
+| Code    |                                                    |               |
++=========+====================================================+===============+
+| **200** | Successful response                                | `application  |
+|         |                                                    | <#_applicatio |
+|         |                                                    | n>`__         |
++---------+----------------------------------------------------+---------------+
+| **400** | put was performed but the appname was already      | No Content    |
+|         | registered with the broker, or Invalid PUT body    |               |
++---------+----------------------------------------------------+---------------+
 
 Consumes
 ~~~~~~~~
@@ -129,28 +124,25 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Body* | | **postbod | required post body                   | `multideleteput  |
-| *       | y**         |                                      | <#_multideletepu |
-|         | | *required |                                      | t>`__            |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+----------------+------------------------------+------------------+
+| Type     | Name           | Description                  | Schema           |
++==========+================+==============================+==================+
+| **Body** | | **postbody** | required post body           | `multideleteput  |
+|          | | *required*   |                              | <#_multideletepu |
+|          |                |                              | t>`__            |
++----------+----------------+------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | successful response                                | <              |
-|         |                                                    | `returncode <# |
-|         |                                                    | _returncode>`_ |
-|         |                                                    | _              |
-|         |                                                    | > array        |
-+---------+----------------------------------------------------+----------------+
++---------+----------------------------------------------+-------------------+
+| HTTP    | Description                                  | Schema            |
+| Code    |                                              |                   |
++=========+==============================================+===================+
+| **200** | successful response                          | `returncode       |
+|         |                                              | <#_returncode>`__ |
+|         |                                              | (array)           |
++---------+----------------------------------------------+-------------------+
 
 GET /application/{appname}
 --------------------------
@@ -164,29 +156,27 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application.             | string (text)    |
-| *       | **          |                                      |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+--------------------------------+------------------+
+| Type     | Name          | Description                    | Schema           |
++==========+===============+================================+==================+
+| **Path** | | **appname** | Name of the application.       | string (text)    |
+|          | | *required*  |                                |                  |
++----------+---------------+--------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | Successful response                                | `Application < |
-|         |                                                    | #_application> |
-|         |                                                    | `__            |
-+---------+----------------------------------------------------+----------------+
-| **404** | no app with name 'appname' registered with this    | No Content     |
-|         | broker.                                            |                |
-+---------+----------------------------------------------------+----------------+
++---------+----------------------------------------------------+---------------+
+| HTTP    | Description                                        | Schema        |
+| Code    |                                                    |               |
++=========+====================================================+===============+
+| **200** | Successful response                                | `application  |
+|         |                                                    | <#_applicatio |
+|         |                                                    | n>`__         |
++---------+----------------------------------------------------+---------------+
+| **404** | no app with name 'appname' registered with this    | No Content    |
+|         | broker.                                            |               |
++---------+----------------------------------------------------+---------------+
 
 PUT /application/{appname}
 --------------------------
@@ -201,34 +191,30 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application.             | string (text)    |
-| *       | **          |                                      |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
-| **Body* | | **putbody | required put body                    | `appput <#_apppu |
-| *       | **          |                                      | t>`__            |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+--------------------------------+------------------+
+| Type     | Name          | Description                    | Schema           |
++==========+===============+================================+==================+
+| **Path** | | **appname** | Name of the application.       | string (text)    |
+|          | | *required*  |                                |                  |
++----------+---------------+--------------------------------+------------------+
+| **Body** | | **putbody** | required put body              | `appput <#_apppu |
+|          | | *required*  |                                | t>`__            |
++----------+---------------+--------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
 
-+---------+----------------------------------------------------+----------------+
-| HTTP    | Description                                        | Schema         |
-| Code    |                                                    |                |
-+=========+====================================================+================+
-| **200** | Successful response                                | `Application < |
-|         |                                                    | #_application> |
-|         |                                                    | `__            |
-+---------+----------------------------------------------------+----------------+
-| **400** | put was performed but the appname was already      | No Content     |
-|         | registered with the broker, or Invalid PUT body    |                |
-+---------+----------------------------------------------------+----------------+
++---------+--------------------------------------------------+---------------+
+| HTTP    | Description                                      | Schema        |
+| Code    |                                                  |               |
++=========+==================================================+===============+
+| **200** | Successful response                              | `Application  |
+|         |                                                  | <#_applicatio |
+|         |                                                  | n>`__         |
++---------+--------------------------------------------------+---------------+
+| **400** | put was performed but the appname was already    | No Content    |
+|         | registered with the broker, or Invalid PUT body  |               |
++---------+--------------------------------------------------+---------------+
 
 Consumes
 ~~~~~~~~
@@ -252,14 +238,12 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application.             | string (text)    |
-| *       | **          |                                      |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+--------------------------------+------------------+
+| Type     | Name          | Description                    | Schema           |
++==========+===============+================================+==================+
+| **Path** | | **appname** | Name of the application.       | string (text)    |
+|          | | *required*  |                                |                  |
++----------+---------------+--------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
@@ -285,14 +269,12 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application to get the   | string (test)    |
-| *       | **          | healthcheck for.                     |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+--------------------------------+------------------+
+| Type     | Name          | Description                    | Schema           |
++==========+===============+================================+==================+
+| **Path** | | **appname** | Name of the application to get | string (text)    |
+|          | | *required*  | the healthcheck for.           |                  |
++----------+---------------+--------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
@@ -321,14 +303,12 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application to get       | string (test)    |
-| *       | **          | metrics for.                         |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+--------------------------------+------------------+
+| Type     | Name          | Description                    | Schema           |
++==========+===============+================================+==================+
+| **Path** | | **appname** | Name of the application to get | string (text)    |
+|          | | *required*  | metrics for.                   |                  |
++----------+---------------+--------------------------------+------------------+
 
 Responses
 ~~~~~~~~~
@@ -338,8 +318,8 @@
 | Code    |                                                    |                |
 +=========+====================================================+================+
 | **200** | Successful response                                | `MetricsObject |
-|         |                                                    |  <#_metricsobj |
-|         |                                                    | ect>`__        |
+|         |                                                    | <#_metricsobje |
+|         |                                                    | ct>`__         |
 +---------+----------------------------------------------------+----------------+
 | **404** | no app with name 'appname' registered with this    | No Content     |
 |         | broker.                                            |                |
@@ -356,19 +336,15 @@
 Parameters
 ~~~~~~~~~~
 
-+---------+-------------+--------------------------------------+------------------+
-| Type    | Name        | Description                          | Schema           |
-+=========+=============+======================================+==================+
-| **Path* | | **appname | Name of the application.             | string (text)    |
-| *       | **          |                                      |                  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
-| **Body* | | **putbody | required put body                    | `reconfigput <#_ |
-| *       | **          |                                      | reconfigput>`__  |
-|         | | *required |                                      |                  |
-|         | *           |                                      |                  |
-+---------+-------------+--------------------------------------+------------------+
++----------+---------------+----------------------------+--------------------+
+| Type     | Name          | Description                | Schema             |
++==========+===============+============================+====================+
+| **Path** | | **appname** | Name of the application.   | string (text)      |
+|          | | *required*  |                            |                    |
++----------+---------------+----------------------------+--------------------+
+| **Body** | | **putbody** | required put body          | `reconfigput       |
+|          | | *required*  |                            | <#_reconfigput>`__ |
++----------+---------------+----------------------------+--------------------+
 
 Responses
 ~~~~~~~~~
@@ -392,39 +368,29 @@
 Application
 -----------
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **appname | application name                            | string           |
-| **          |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **connect | input URL that you can POST data into (URL  | string           |
-| ionurl**    | of the CDAP stream)                         |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **healthc | fully qualified url to perform healthcheck  | string           |
-| heckurl**   |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **metrics | fully qualified url to get metrics from     | string           |
-| url**       |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **service | a list of HTTP services exposed by this     | <                |
-| endpoints** | CDAP application                            | `service\_method |
-| | *optional |                                             |  <#_service_meth |
-| *           |                                             | od>`__           |
-|             |                                             | > array          |
-+-------------+---------------------------------------------+------------------+
-| | **url**   | fully qualified url of the resource         | string           |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++---------------------+---------------------------------------------+------------------+
+| Name                | Description                                 | Schema           |
++=====================+=============================================+==================+
+| | **appname**       | application name                            | string           |
+| | *optional*        |                                             |                  |
++---------------------+---------------------------------------------+------------------+
+| | **connectionurl** | input URL that you can POST data into (URL  | string           |
+| | *optional*        | of the CDAP stream)                         |                  |
++---------------------+---------------------------------------------+------------------+
+| | **healthcheckurl**| fully qualified url to perform healthcheck  | string           |
+| | *optional*        |                                             |                  |
++---------------------+---------------------------------------------+------------------+
+| | **metricsurl**    | fully qualified url to get metrics from     | string           |
+| | *optional*        |                                             |                  |
++---------------------+---------------------------------------------+------------------+
+| | **service         | a list of HTTP services exposed by this     | `service\_method |
+|  endpoints**        | CDAP application                            | <#_service_metho |
+| | *optional*        |                                             | d>`__            |
+|                     |                                             | (array)          |
++---------------------+---------------------------------------------+------------------+
+| | **url**           | fully qualified url of the resource         | string           |
+| | *optional*        |                                             |                  |
++---------------------+---------------------------------------------+------------------+
 
 MetricsObject
 -------------
@@ -449,261 +415,210 @@
 appput
 ------
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **app\_co | the application config JSON                 | object           |
-| nfig**      |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **app\_pr | the application preferences JSON            | object           |
-| eferences** |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **artifac | the name of the CDAP artifact to be added   | string           |
-| t\_name**   |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **cdap\_a | denotes whether this is a program-flowlet   | enum             |
-| pplication\ | style application or a hydrator pipeline.   | (program-flowlet |
-| _type**     | For program-flowlet style apps, this value  | )                |
-| | *optional | must be "program-flowlet"                   |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **jar\_ur | the URL that the JAR you’re deploying       | string           |
-| l**         | resides                                     |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **namespa | the cdap namespace this is deployed into    | string           |
-| ce**        |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **program |                                             | <                |
-| \_preferenc |                                             | `programpref <#_ |
-| es**        |                                             | programpref>`__  |
-| | *optional |                                             | > array          |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **program |                                             | <                |
-| s**         |                                             | `programs <#_pro |
-| | *optional |                                             | grams>`__        |
-| *           |                                             | > array          |
-+-------------+---------------------------------------------+------------------+
-| | **service |                                             | <                |
-| s**         |                                             | `service\_endpoi |
-| | *optional |                                             | nt <#_service_en |
-| *           |                                             | dpoint>`__       |
-|             |                                             | > array          |
-+-------------+---------------------------------------------+------------------+
-| | **streamn | name of the CDAP stream to ingest data into | string           |
-| ame**       | this app. Should come from the developer    |                  |
-| | *optional | and Tosca model.                            |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++-------------------------------+---------------------------------------------+--------------------+
+| Name                          | Description                                 | Schema             |
++===============================+=============================================+====================+
+| | **app\_config**             | the application config JSON                 | object             |
+| | *optional*                  |                                             |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **app\_preferences**        | the application preferences JSON            | object             |
+| | *optional*                  |                                             |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **artifact\_name**          | the name of the CDAP artifact to be added   | string             |
+| | *optional*                  |                                             |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **cdap\_application\_type** | denotes whether this is a program-flowlet   | enum               |
+| | *optional*                  | style application or a hydrator pipeline.   | (program-flowlet   |
+|                               | For program-flowlet style apps, this value  | )                  |
+|                               | must be "program-flowlet"                   |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **jar\_url**                | the URL that the JAR you’re deploying       | string             |
+| | *optional*                  | resides                                     |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **namespace**               | the cdap namespace this is deployed into    | string             |
+| | *optional*                  |                                             |                    |
++-------------------------------+---------------------------------------------+--------------------+
+| | **program\_preferences**    |                                             | `programpref       |
+| | *optional*                  |                                             | <#_programpref>`__ |
+|                               |                                             | (array)            |
++-------------------------------+---------------------------------------------+--------------------+
+| | **programs**                |                                             | `programs          |
+| | *optional*                  |                                             | <#_programs>`__    |
+|                               |                                             | (array)            |
++-------------------------------+---------------------------------------------+--------------------+
+| | **services**                |                                             | `service\_endpoint |
+| | *optional*                  |                                             | <#_service_endpoin |
+|                               |                                             | t>`__  (array)     |
++-------------------------------+---------------------------------------------+--------------------+
+| | **streamname**              | name of the CDAP stream to ingest data into | string             |
+| | *optional*                  | this app. Should come from the developer    |                    |
+|                               | and Tosca model.                            |                    |
++-------------------------------+---------------------------------------------+--------------------+
 
 hydratorappput
 --------------
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **cdap\_a | denotes whether this is a program-flowlet   | enum             |
-| pplication\ | style application or a hydrator pipeline.   | (hydrator-pipeli |
-| _type**     | For hydrator, this value must be            | ne)              |
-| | *required | "hydrator-pipeline"                         |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **depende | represents a list of dependencies to be     | <                |
-| ncies**     | loaded for this pipeline. Not required.     | `hydratordep <#_ |
-| | *optional |                                             | hydratordep>`__  |
-| *           |                                             | > array          |
-+-------------+---------------------------------------------+------------------+
-| | **namespa | the cdap namespace this is deployed into    | string           |
-| ce**        |                                             |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **pipelin | the URL of the config.json for this         | string           |
-| e\_config\_ | pipeline                                    |                  |
-| json\_url** |                                             |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **streamn | name of the CDAP stream to ingest data into | string           |
-| ame**       | this app. Should come from the developer    |                  |
-| | *required | and Tosca model.                            |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++-----------------------------------+---------------------------------------------+---------------+
+| Name                              | Description                                 | Schema        |
++===================================+=============================================+===============+
+| | **cdap\_application\_TYPE**     | denotes whether this is a program-flowlet   | enum          |
+|                                   | style application or a hydrator pipeline.   | (hydrator-pip |
+| | *required*                      | For hydrator, this value must be            | eline)        |
+|                                   | "hydrator-pipeline"                         |               |
++-----------------------------------+---------------------------------------------+---------------+
+| | **dependencies**                | represents a list of dependencies to be     | `hydratordep  |
+| | *optional*                      | loaded for this pipeline. Not required.     | <#_hydratorde |
+|                                   |                                             | p>`__ (array) |
++-----------------------------------+---------------------------------------------+---------------+
+| | **namespace**                   | the cdap namespace this is deployed into    | string        |
+| | *required*                      |                                             |               |
++-----------------------------------+---------------------------------------------+---------------+
+| | **pipeline\_config\_json\_url** | the URL of the config.json for this         | string        |
+| | *required*                      | pipeline                                    |               |
++-----------------------------------+---------------------------------------------+---------------+
+| | **streamname**                  | name of the CDAP stream to ingest data into | string        |
+| | *required*                      | this app. Should come from the developer    |               |
+|                                   | and Tosca model.                            |               |
++-----------------------------------+---------------------------------------------+---------------+
 
 hydratordep
 -----------
 
-represents a hydrator pipeline dependency. An equivelent to the
-following CURLs are formed with the below four params shown in CAPS
-"curl -v -w"\\n" -X POST
-http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME
--H "Artifact-Extends:ARTIFACT\_EXTENDS\_HEADER" -H
-“Artifact-Version:ARTIFACT\_VERSION\_HEADER” –data-binary @(DOWNLOADED
-FROM ARTIFACT\_URL)","curl -v -w"\\n" -X PUT
-http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME/versions/ARTIFACT_VERSION_HEADER/properties
--d (DOWNLOADED FROM UI\_PROPERTIES\_URL)"
+represents a hydrator pipeline dependency. An equivalent to the
+following CURLs are formed with the below four params shown in CAPS::
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **artifac | the value of the header that gets passed in | string           |
-| t\_extends\ | for artifact-extends, e.g.,                 |                  |
-| _header**   | "Artifact-Extends:system:cdap-data-pipeline |                  |
-| | *required | [4.0.1,5.0.0)"                              |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **artifac | the name of the artifact                    | string           |
-| t\_name**   |                                             |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **artifac | the URL of the artifact JAR                 | string           |
-| t\_url**    |                                             |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **artifac | the value of the header that gets passed in | string           |
-| t\_version\ | for artifact-version, e.g.,                 |                  |
-| _header**   | "Artifact-Version:1.0.0-SNAPSHOT"           |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **ui\_pro | the URL of the properties.json if the       | string           |
-| perties\_ur | custom artifact has UI properties. This is  |                  |
-| l**         | optional.                                   |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
+   curl -v -w"\\n" -X POST
+   http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME
+   -H "Artifact-Extends:ARTIFACT\_EXTENDS\_HEADER" -H
+   “Artifact-Version:ARTIFACT\_VERSION\_HEADER” –data-binary @(DOWNLOADED
+   FROM ARTIFACT\_URL)","curl -v -w"\\n" -X PUT
+   http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME/versions/ARTIFACT_VERSION_HEADER/properties
+   -d (DOWNLOADED FROM UI\_PROPERTIES\_URL)"
+
++---------------------------------+---------------------------------------------+----------+
+| Name                            | Description                                 | Schema   |
++=================================+=============================================+==========+
+| | **artifact\_extends\_header** | the value of the header that gets passed in | string   |
+| | *required*                    | for artifact-extends, e.g.,                 |          |
+|                                 | "Artifact-Extends:system:cdap-data-pipeline |          |
+|                                 | [4.0.1,5.0.0)"                              |          |
++---------------------------------+---------------------------------------------+----------+
+| | **artifact\_name**            | the name of the artifact                    | string   |
+| | *required*                    |                                             |          |
++---------------------------------+---------------------------------------------+----------+
+| | **artifact\_url**             | the URL of the artifact JAR                 | string   |
+| | *required*                    |                                             |          |
++---------------------------------+---------------------------------------------+----------+
+| | **artifact\_version\_header** | the value of the header that gets passed in | string   |
+| | *required*                    | for artifact-version, e.g.,                 |          |
+|                                 | "Artifact-Version:1.0.0-SNAPSHOT"           |          |
++---------------------------------+---------------------------------------------+----------+
+| | **ui\_properties\_url**       | the URL of the properties.json if the       | string   |
+| | *optional*                    | custom artifact has UI properties. This is  |          |
+|                                 | optional.                                   |          |
++---------------------------------+---------------------------------------------+----------+
 
 info
 ----
 
 some broker information
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **broker  | the API version of this running broker      | string           |
-|   API       |                                             |                  |
-|   version** |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **cdap    | The GUI port of the CDAP cluster this       | integer          |
-|   GUI       | broker is managing. Mostly to help users of |                  |
-|   port**    | this API check their application in cdap.   |                  |
-| | *optional | Note, will return UNKNOWN\_CDAP\_VERSION if |                  |
-| *           | it cannot be determined.                    |                  |
-+-------------+---------------------------------------------+------------------+
-| | **cdap    | the version of the CDAP cluster this broker | string           |
-|   cluster   | is managing. Note, will return              |                  |
-|   version** | UKNOWN\_CDAP\_VERSION if it cannot be       |                  |
-| | *optional | determined.                                 |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **managed | the url of the CDAP cluster API this broker | string           |
-|   cdap      | is managing                                 |                  |
-|   url**     |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **number  |                                             | integer          |
-|   of        |                                             |                  |
-|   applicati |                                             |                  |
-| ons         |                                             |                  |
-|   registere |                                             |                  |
-| d**         |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **uptime  |                                             | integer          |
-|   (s)**     |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++------------------+---------------------------------------------+-----------+
+| Name             | Description                                 | Schema    |
++==================+=============================================+===========+
+| | **broker API   | the API version of this running broker      | string    |
+|  version**       |                                             |           |
+| | *optional*     |                                             |           |
++------------------+---------------------------------------------+-----------+
+| | **cdap GUI     | The GUI port of the CDAP cluster this       | integer   |
+|  port**          | broker is managing. Mostly to help users of |           |
+| | *optional*     | this API check their application in cdap.   |           |
+|                  | Note, will return UNKNOWN\_CDAP\_VERSION if |           |
+|                  | it cannot be determined.                    |           |
++------------------+---------------------------------------------+-----------+
+| | **cdap         | the version of the CDAP cluster this broker | string    |
+|  cluster         | is managing. Note, will return              |           |
+|  version**       | UKNOWN\_CDAP\_VERSION if it cannot be       |           |
+| | *optional*     | determined.                                 |           |
++------------------+---------------------------------------------+-----------+
+| | **managed cdap | the url of the CDAP cluster API this broker | string    |
+|  url**           | is managing                                 |           |
+| | *optional*     |                                             |           |
++------------------+---------------------------------------------+-----------+
+| | **number       |                                             | integer   |
+|  of applications |                                             |           |
+|  registered**    |                                             |           |
+| | *optional*     |                                             |           |
++------------------+---------------------------------------------+-----------+
+| | **uptime (s)** |                                             | integer   |
+| | *optional*     |                                             |           |
++------------------+---------------------------------------------+-----------+
 
 multideleteput
 --------------
 
-+--------------------------------+-------------------------------------------+
-| Name                           | Schema                                    |
-+================================+===========================================+
-| | **appnames**                 | < `appname <#_appname>`__ > array         |
-| | *optional*                   |                                           |
-+--------------------------------+-------------------------------------------+
++--------------------------------+----------------------------------+
+| Name                           | Schema                           |
++================================+==================================+
+| | **appnames**                 | `appname <#_appname>`__  (array) |
+| | *optional*                   |                                  |
++--------------------------------+----------------------------------+
 
 programpref
 -----------
 
 the list of programs in this CDAP app
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **program | the name of the program                     | string           |
-| \_id**      |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **program | the preference JSON to set for this program | object           |
-| \_pref**    |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **program | must be one of flows, mapreduce, schedules, | string           |
-| \_type**    | spark, workflows, workers, or services      |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++--------------+---------------------------------------------+----------+
+| Name         | Description                                 | Schema   |
++==============+=============================================+==========+
+| | **program\ | the name of the program                     | string   |
+|  _id**       |                                             |          |
+| | *optional* |                                             |          |
++--------------+---------------------------------------------+----------+
+| | **program_ | the preference JSON to set for this program | object   |
+|  \pref**     |                                             |          |
+| | *optional* |                                             |          |
++--------------+---------------------------------------------+----------+
+| | **program\ | must be one of flows, mapreduce, schedules, | string   |
+|  _type**     | spark, workflows, workers, or services      |          |
+| | *optional* |                                             |          |
++--------------+---------------------------------------------+----------+
 
 programs
 --------
 
 the list of programs in this CDAP app
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **program | the name of the program                     | string           |
-| \_id**      |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **program | must be one of flows, mapreduce, schedules, | string           |
-| \_type**    | spark, workflows, workers, or services      |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++--------------+---------------------------------------------+-----------+
+| Name         | Description                                 | Schema    |
++==============+=============================================+===========+
+| | **program\ | the name of the program                     | string    |
+|  _id**       |                                             |           |
+| | *optional* |                                             |           |
++--------------+---------------------------------------------+-----------+
+| | **program\ | must be one of flows, mapreduce, schedules, | string    |
+|  _type**     | spark, workflows, workers, or services      |           |
+| | *optional* |                                             |           |
++--------------+---------------------------------------------+-----------+
 
 reconfigput
 -----------
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **config* | the config JSON                             | object           |
-| *           |                                             |                  |
-| | *required |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **reconfi | the type of reconfiguration                 | enum             |
-| guration\_t |                                             | (program-flowlet |
-| ype**       |                                             | -app-config,     |
-| | *required |                                             | program-flowlet- |
-| *           |                                             | app-preferences, |
-|             |                                             | program-flowlet- |
-|             |                                             | smart)           |
-+-------------+---------------------------------------------+------------------+
++-----------------------------+-----------------------------+------------------+
+| Name                        | Description                 | Schema           |
++=============================+=============================+==================+
+| | **config**                | the config JSON             | object           |
+| | *required*                |                             |                  |
++-----------------------------+-----------------------------+------------------+
+| | **reconfiguration\_type** | the type of reconfiguration | enum             |
+| | *required*                |                             | (program-flowlet |
+|                             |                             | -app-config,     |
+|                             |                             | program-flowlet- |
+|                             |                             | app-preferences, |
+|                             |                             | program-flowlet- |
+|                             |                             | smart)           |
++-----------------------------+-----------------------------+------------------+
 
 returncode
 ----------
@@ -718,40 +633,30 @@
 descirbes a service endpoint, including the service name, the method
 name, and the method type (GET, PUT, etc, most of the time will be GET)
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **endpoin | GET, POST, PUT, etc                         | string           |
-| t\_method** |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **service | the name of the endpoint on the service     | string           |
-| \_endpoint* |                                             |                  |
-| *           |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **service | the name of the service                     | string           |
-| \_name**    |                                             |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++--------------------------+-----------------------------------------+---------+
+| Name                     | Description                             | Schema  |
++==========================+=========================================+=========+
+| | **endpoint\_method**   | GET, POST, PUT, etc                     | string  |
+| | *optional*             |                                         |         |
++--------------------------+-----------------------------------------+---------+
+| | **service\ _endpoint** | the name of the endpoint on the service | string  |
+| | *optional*             |                                         |         |
++--------------------------+-----------------------------------------+---------+
+| | **service\_name**      | the name of the service                 | string  |
+| | *optional*             |                                         |         |
++--------------------------+-----------------------------------------+---------+
 
 service\_method
 ---------------
 
 a URL and HTTP method exposed via a CDAP service
 
-+-------------+---------------------------------------------+------------------+
-| Name        | Description                                 | Schema           |
-+=============+=============================================+==================+
-| | **method* | HTTP method you can perform on the URL,     | string           |
-| *           | e.g., GET, PUT, etc                         |                  |
-| | *optional |                                             |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
-| | **url**   | the fully qualified URL in CDAP for this    | string           |
-| | *optional | service                                     |                  |
-| *           |                                             |                  |
-+-------------+---------------------------------------------+------------------+
++--------------+---------------------------------------------+----------+
+| Name         | Description                                 | Schema   |
++==============+=============================================+==========+
+| | **method** | HTTP method you can perform on the URL,     | string   |
+| | *optional* | e.g., GET, PUT, etc                         |          |
++--------------+---------------------------------------------+----------+
+| | **url**    | the fully qualified URL in CDAP for this    | string   |
+| | *optional* |                                             |          |
++--------------+---------------------------------------------+----------+
