--- /dev/null
+{
+  "swagger": "2.0",
+  "info": {
+    "description": "This is a service that provides secret management facilities",
+    "version": "1.0.0",
+    "title": "Secret Management Service",
+    "contact": {
+      "email": "kiran.k.kamineni@intel.com"
+    },
+    "license": {
+      "name": "Apache 2.0",
+      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
+    }
+  },
+  "host": "aaf.onap.org:10443",
+  "basePath": "/v1/sms/",
+  "tags": [
+    {
+      "name": "domain",
+      "description": "Operations related to Secret Domains"
+    },
+    {
+      "name": "secret",
+      "description": "Operations related to Secrets"
+    }
+  ],
+  "schemes": [
+    "https"
+  ],
+  "paths": {
+    "/domain": {
+      "post": {
+        "tags": [
+          "domain"
+        ],
+        "summary": "Add a new domain",
+        "description": "",
+        "consumes": [
+          "application/json"
+        ],
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/Domain"
+            }
+          }
+        ],
+        "responses": {
+          "201": {
+            "description": "Successful Creation",
+            "schema": {
+              "$ref": "#/definitions/Domain"
+            }
+          },
+          "400": {
+            "description": "Invalid input"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        }
+      }
+    },
+    "/domain/{domainName}": {
+      "delete": {
+        "tags": [
+          "domain"
+        ],
+        "description": "Deletes a domain with provided name",
+        "summary": "Deletes a domain by name",
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "name": "domainName",
+            "in": "path",
+            "description": "Name of the domain",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "204": {
+            "description": "Successful Deletion"
+          },
+          "404": {
+            "description": "Invalid Path or Path not found"
+          }
+        }
+      }
+    },
+    "/domain/{domainName}/secret": {
+      "post": {
+        "tags": [
+          "secret"
+        ],
+        "summary": "Add a new secret",
+        "description": "",
+        "consumes": [
+          "application/json"
+        ],
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "name": "domainName",
+            "in": "path",
+            "description": "Name of the domain",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "body",
+            "in": "body",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/Secret"
+            }
+          }
+        ],
+        "responses": {
+          "201": {
+            "description": "Successful Creation"
+          },
+          "404": {
+            "description": "Invalid Path or Path not found"
+          }
+        }
+      },
+      "get": {
+        "tags": [
+          "secret"
+        ],
+        "description": "Gets all secret names in this domain",
+        "summary": "List secret Names in this domain",
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "name": "domainName",
+            "in": "path",
+            "description": "Name of the domain in which to look at",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "Successful operation",
+            "schema": {
+              "type": "object",
+              "properties": {
+                "secretnames": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  },
+                  "description": "Array of strings referencing the secret names"
+                }
+              },
+              "example": {
+                "secretnames": [
+                  "secretname1",
+                  "secretname2",
+                  "secretname3"
+                ]
+              }
+            }
+          },
+          "404": {
+            "description": "Invalid Path or Path not found"
+          }
+        }
+      }
+    },
+    "/domain/{domainName}/secret/{secretName}": {
+      "get": {
+        "tags": [
+          "secret"
+        ],
+        "summary": "Find Secret by Name",
+        "description": "Returns a single secret",
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "name": "domainName",
+            "in": "path",
+            "description": "Name of the domain in which to look at",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "secretName",
+            "in": "path",
+            "description": "Name of the secret which is needed",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "schema": {
+              "$ref": "#/definitions/Secret"
+            }
+          },
+          "404": {
+            "description": "Invalid Path or Path not found"
+          }
+        }
+      },
+      "delete": {
+        "tags": [
+          "secret"
+        ],
+        "summary": "Deletes a Secret",
+        "description": "",
+        "produces": [
+          "application/json"
+        ],
+        "parameters": [
+          {
+            "name": "secretName",
+            "in": "path",
+            "description": "Name of Secret to Delete",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "domainName",
+            "in": "path",
+            "required": true,
+            "description": "Path to the SecretDomain which contains the Secret",
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "204": {
+            "description": "Successful Deletion"
+          },
+          "404": {
+            "description": "Invalid Path or Path not found"
+          }
+        }
+      }
+    }
+  },
+  "securityDefinitions": {
+    "token": {
+      "type": "apiKey",
+      "name": "token",
+      "in": "header"
+    }
+  },
+  "definitions": {
+    "Credential": {
+      "type": "object",
+      "properties": {
+        "username": {
+          "type": "string"
+        },
+        "password": {
+          "type": "string"
+        }
+      }
+    },
+    "Domain": {
+      "type": "object",
+      "properties": {
+        "uuid": {
+          "type": "string",
+          "description": "Optional value provided by user. If user does not provide, server will auto generate"
+        },
+        "name": {
+          "type": "string",
+          "description": "Name of the secret domain under which all secrets will be stored"
+        }
+      }
+    },
+    "Secret": {
+      "type": "object",
+      "properties": {
+        "name": {
+          "type": "string",
+          "description": "Name of the secret"
+        },
+        "values": {
+          "description": "Map of key value pairs that constitute the secret",
+          "type": "object",
+          "additionalProperties": {
+            "type": "object"
+          },
+          "example": {
+            "name": "john",
+            "Age": 40,
+            "admin": true
+          }
+        }
+      }
+    }
+  },
+  "externalDocs": {
+    "description": "Find out more about Swagger",
+    "url": "http://swagger.io"
+  }
+}
\ No newline at end of file
 
+++ /dev/null
-SMS 1.0.0 API
-===============================
-
-.. toctree::
-    :maxdepth: 3
-
-
-Description
-~~~~~~~~~~~
-
-This is a service that provides secret management facilities
-
-
-
-Contact Information
-~~~~~~~~~~~~~~~~~~~
-
-
-
-kiran.k.kamineni@intel.com
-
-
-
-
-
-License
-~~~~~~~
-
-
-`Apache 2.0 <http://www.apache.org/licenses/LICENSE-2.0.html>`_
-
-
-
-
-Base URL
-~~~~~~~~
-
-https://aaf.onap.org:10443/v1/sms/
-
-Security
-~~~~~~~~
-
-
-.. _securities_token:
-
-token (API Key)
----------------
-
-
-
-**Name:** token
-
-**Located in:** header
-
-
-
-
-DOMAIN
-~~~~~~
-
-
-Operations related to Secret Domains
-
-
-
-
-
-DELETE ``/domain/{domainName}``
--------------------------------
-
-
-Summary
-+++++++
-
-Deletes a domain by name
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Deletes a domain with provided name
-
-Parameters
-++++++++++
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 15, 10, 10, 10, 20, 30
-
-        domainName | path | Yes | string |  |  | Name of the domain
-
-
-Request
-+++++++
-
-
-Responses
-+++++++++
-
-**204**
-^^^^^^^
-
-Successful Deletion
-
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-
-
-POST ``/domain``
-----------------
-
-
-Summary
-+++++++
-
-Add a new domain
-
-
-
-Request
-+++++++
-
-
-
-.. _d_c7bdcff9aff0692da98e588abdbc895b:
-
-Body
-^^^^
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        name | No | string |  |  | Name of the secret domain under which all secrets will be stored
-        uuid | No | string |  |  | Optional value provided by user. If user does not provide, server will auto generate
-
-.. code-block:: javascript
-
-    {
-        "name": "somestring", 
-        "uuid": "somestring"
-    }
-
-Responses
-+++++++++
-
-**201**
-^^^^^^^
-
-Successful Creation
-
-
-Type: :ref:`Domain <d_c7bdcff9aff0692da98e588abdbc895b>`
-
-**Example:**
-
-.. code-block:: javascript
-
-    {
-        "name": "somestring", 
-        "uuid": "somestring"
-    }
-
-**400**
-^^^^^^^
-
-Invalid input
-
-
-**500**
-^^^^^^^
-
-Internal Server Error
-
-
-
-
-  
-LOGIN
-~~~~~
-
-
-Operations related to username password based authentication
-
-
-
-
-
-POST ``/login``
----------------
-
-
-Summary
-+++++++
-
-Login with username and password
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Operations related to logging in via username and Password
-
-
-Request
-+++++++
-
-
-
-.. _d_8e36d758bad367e4538a291a5dd5355f:
-
-Body
-^^^^
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        password | No | string |  |  | 
-        username | No | string |  |  | 
-
-.. code-block:: javascript
-
-    {
-        "password": "somestring", 
-        "username": "somestring"
-    }
-
-Responses
-+++++++++
-
-**200**
-^^^^^^^
-
-Successful Login returns a token
-
-
-.. _i_bbceffdf8441c1c476ca77c42ad12f85:
-
-**Response Schema:**
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        token | No | string |  |  | 
-        ttl | No | integer |  |  | ttl of returned token in seconds
-
-
-**Example:**
-
-.. code-block:: javascript
-
-    {
-        "token": "somestring", 
-        "ttl": 1
-    }
-
-**404**
-^^^^^^^
-
-Invalid Username or Password
-
-
-
-
-  
-SECRET
-~~~~~~
-
-
-Operations related to Secrets
-
-
-
-
-
-DELETE ``/domain/{domainName}/secret/{secretName}``
----------------------------------------------------
-
-
-Summary
-+++++++
-
-Deletes a Secret
-
-
-Parameters
-++++++++++
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 15, 10, 10, 10, 20, 30
-
-        secretName | path | Yes | string |  |  | Name of Secret to Delete
-        domainName | path | Yes | string |  |  | Path to the SecretDomain which contains the Secret
-
-
-Request
-+++++++
-
-
-Responses
-+++++++++
-
-**204**
-^^^^^^^
-
-Successful Deletion
-
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-
-
-GET ``/domain/{domainName}/secret``
------------------------------------
-
-
-Summary
-+++++++
-
-List secret Names in this domain
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Gets all secret names in this domain
-
-Parameters
-++++++++++
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 15, 10, 10, 10, 20, 30
-
-        domainName | path | Yes | string |  |  | Name of the domain in which to look at
-
-
-Request
-+++++++
-
-
-Responses
-+++++++++
-
-**200**
-^^^^^^^
-
-Successful operation
-
-
-.. _i_1dcddfd6f11cba3fb2516d3a61cd1b77:
-
-**Response Schema:**
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        secretnames | No | array of string |  |  | Array of strings referencing the secret names
-
-
-**Example:**
-
-.. code-block:: javascript
-
-    {
-        "secretnames": [
-            "secretname1", 
-            "secretname2", 
-            "secretname3"
-        ]
-    }
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-
-
-GET ``/domain/{domainName}/secret/{secretName}``
-------------------------------------------------
-
-
-Summary
-+++++++
-
-Find Secret by Name
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Returns a single secret
-
-Parameters
-++++++++++
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 15, 10, 10, 10, 20, 30
-
-        domainName | path | Yes | string |  |  | Name of the domain in which to look at
-        secretName | path | Yes | string |  |  | Name of the secret which is needed
-
-
-Request
-+++++++
-
-
-Responses
-+++++++++
-
-**200**
-^^^^^^^
-
-successful operation
-
-
-Type: :ref:`Secret <d_5e5fddd9ede6eb091e8496a9c55b84c3>`
-
-**Example:**
-
-.. code-block:: javascript
-
-    {
-        "name": "somestring", 
-        "values": {
-            "Age": 40, 
-            "admin": true, 
-            "name": "john"
-        }
-    }
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-
-
-POST ``/domain/{domainName}/secret``
-------------------------------------
-
-
-Summary
-+++++++
-
-Add a new secret
-
-
-Parameters
-++++++++++
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 15, 10, 10, 10, 20, 30
-
-        domainName | path | Yes | string |  |  | Name of the domain
-
-
-Request
-+++++++
-
-
-
-.. _d_5e5fddd9ede6eb091e8496a9c55b84c3:
-
-Body
-^^^^
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        name | No | string |  |  | Name of the secret
-        values | No | :ref:`values <i_a9213c9639162b77082e257e19cca0d0>` |  |  | Map of key value pairs that constitute the secret
-
-.. _i_a9213c9639162b77082e257e19cca0d0:
-
-**Values schema:**
-
-
-Map of key value pairs that constitute the secret
-
-Map of {"key":":ref:`values-mapped <m_4d863967ef9a9d9efdadd1b250c76bd6>`"}
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-
-
-.. code-block:: javascript
-
-    {
-        "name": "somestring", 
-        "values": {
-            "Age": 40, 
-            "admin": true, 
-            "name": "john"
-        }
-    }
-
-Responses
-+++++++++
-
-**201**
-^^^^^^^
-
-Successful Creation
-
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-  
-SYSTEM
-~~~~~~
-
-
-Operations related to quorum client which are not useful to clients
-
-
-
-
-
-GET ``/status``
----------------
-
-
-Summary
-+++++++
-
-Get backend status
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Gets current backend status. This API is used only by quorum clients
-
-
-Request
-+++++++
-
-
-Responses
-+++++++++
-
-**200**
-^^^^^^^
-
-Successful operation
-
-
-.. _i_ac1bc8e82eadbd8c03f852e15be4d03b:
-
-**Response Schema:**
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        sealstatus | No | string |  |  | seal status of backend
-
-
-**Example:**
-
-.. code-block:: javascript
-
-    {
-        "sealstatus": "somestring"
-    }
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-
-
-POST ``/unseal``
-----------------
-
-
-Summary
-+++++++
-
-Unseal backend
-
-Description
-+++++++++++
-
-.. raw:: html
-
-    Sends unseal shard to unseal if backend is sealed
-
-
-Request
-+++++++
-
-
-
-.. _i_9d32e021ba68855cbb6e633520b7cd2d:
-
-Body
-^^^^
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        unsealshard | No | string |  |  | Unseal shard that will be used along with other shards to unseal backend
-
-.. code-block:: javascript
-
-    {
-        "unsealshard": "somestring"
-    }
-
-Responses
-+++++++++
-
-**201**
-^^^^^^^
-
-Submitted unseal key
-
-
-**404**
-^^^^^^^
-
-Invalid Path or Path not found
-
-
-
-
-  
-Data Structures
-~~~~~~~~~~~~~~~
-
-.. _d_8e36d758bad367e4538a291a5dd5355f:
-
-Credential Model Structure
---------------------------
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        password | No | string |  |  | 
-        username | No | string |  |  | 
-
-.. _d_c7bdcff9aff0692da98e588abdbc895b:
-
-Domain Model Structure
-----------------------
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        name | No | string |  |  | Name of the secret domain under which all secrets will be stored
-        uuid | No | string |  |  | Optional value provided by user. If user does not provide, server will auto generate
-
-.. _d_5e5fddd9ede6eb091e8496a9c55b84c3:
-
-Secret Model Structure
-----------------------
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-        name | No | string |  |  | Name of the secret
-        values | No | :ref:`values <i_a9213c9639162b77082e257e19cca0d0>` |  |  | Map of key value pairs that constitute the secret
-
-.. _i_a9213c9639162b77082e257e19cca0d0:
-
-**Values schema:**
-
-
-Map of key value pairs that constitute the secret
-
-Map of {"key":":ref:`values-mapped <m_4d863967ef9a9d9efdadd1b250c76bd6>`"}
-
-.. csv-table::
-    :delim: |
-    :header: "Name", "Required", "Type", "Format", "Properties", "Description"
-    :widths: 20, 10, 15, 15, 30, 25
-
-
-