Fixing device key REST API bugs and adding json definitions.

Change-Id: I41a98702e781544fe6e0bebe3e281ff2bcd9a6fa
diff --git a/web/api/src/main/resources/definitions/Devicekey.json b/web/api/src/main/resources/definitions/Devicekey.json
new file mode 100644
index 0000000..a8bee2d
--- /dev/null
+++ b/web/api/src/main/resources/definitions/Devicekey.json
@@ -0,0 +1,35 @@
+{
+  "type": "object",
+  "title": "Devicekey",
+  "required": [
+    "id",
+    "type",
+    "label"
+  ],
+  "properties": {
+    "id": {
+      "type": "String",
+      "example": "Device key unique identifier"
+    },
+    "type": {
+      "type": "String",
+      "example": "COMMUNITY_NAME, OR USERNAME_PASSWORD"
+    },
+    "label": {
+      "type": "String",
+      "example": "Device key user label"
+    },
+    "community_name": {
+      "type": "String",
+      "example": "Device key community name"
+    },
+    "username": {
+      "type": "String",
+      "example": "Device key username"
+    },
+    "password": {
+      "type": "String",
+      "example": "Device key password"
+    }
+  }
+}
diff --git a/web/api/src/main/resources/definitions/Devicekeys.json b/web/api/src/main/resources/definitions/Devicekeys.json
new file mode 100644
index 0000000..57871f5
--- /dev/null
+++ b/web/api/src/main/resources/definitions/Devicekeys.json
@@ -0,0 +1,51 @@
+{
+  "type": "object",
+  "title": "Devicekeys",
+  "required": [
+    "keys"
+  ],
+  "properties": {
+    "keys": {
+      "type": "array",
+      "xml": {
+        "name": "keys",
+        "wrapped": true
+      },
+      "items": {
+        "type": "object",
+        "title": "key",
+        "required": [
+          "id",
+          "type",
+          "label"
+        ],
+        "properties": {
+          "id": {
+            "type": "String",
+            "example": "Device key unique identifier"
+          },
+          "type": {
+            "type": "String",
+            "example": "COMMUNITY_NAME, OR USERNAME_PASSWORD"
+          },
+          "label": {
+            "type": "String",
+            "example": "Device key user label"
+          },
+          "community_name": {
+            "type": "String",
+            "example": "Device key community name"
+          },
+          "username": {
+            "type": "String",
+            "example": "Device key username"
+          },
+          "password": {
+            "type": "String",
+            "example": "Device key password"
+          }
+        }
+      }
+    }
+  }
+}