[  {    "type": "post",    "url": "/alarm",    "title": "create an alarm",    "name": "createAlarm",    "group": "Alarm",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the alarm.</p>"          },          {            "group": "Parameter",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the alarm when the alarm is at a specific date</p>"          },          {            "group": "Parameter",            "type": "time",            "optional": false,            "field": "time",            "description": "<p>Time of the alarm when it's a reccurring alarm</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "dayofweek",            "description": "<p>The day the alarm should ring (reccurring alarm)</p>"          },          {            "group": "Parameter",            "type": "boolean",            "optional": false,            "field": "active",            "description": "<p>If the alarm is active or not</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/AlarmController.js",    "groupTitle": "Alarm",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the alarm.</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the alarm when the alarm is at a specific date</p>"          },          {            "group": "Success 200",            "type": "time",            "optional": false,            "field": "time",            "description": "<p>Time of the alarm when it's a reccurring alarm</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "dayofweek",            "description": "<p>The day the alarm should ring (reccurring alarm)</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "active",            "description": "<p>If the alarm is active or not</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/alarm/:id",    "title": "delete an alarm",    "name": "deleteAlarm",    "group": "Alarm",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "success",            "description": ""          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/AlarmController.js",    "groupTitle": "Alarm"  },  {    "type": "get",    "url": "/alarm",    "title": "get all alarms",    "name": "getAlarm",    "group": "Alarm",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/AlarmController.js",    "groupTitle": "Alarm",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the alarm.</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the alarm when the alarm is at a specific date</p>"          },          {            "group": "Success 200",            "type": "time",            "optional": false,            "field": "time",            "description": "<p>Time of the alarm when it's a reccurring alarm</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "dayofweek",            "description": "<p>The day the alarm should ring (reccurring alarm)</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "active",            "description": "<p>If the alarm is active or not</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/area",    "title": "create an area",    "name": "createArea",    "group": "Area",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/AreaController.js",    "groupTitle": "Area",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the area.</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "radius",            "description": "<p>The radius of the area in meters</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the area.</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "radius",            "description": "<p>The radius of the area in meters</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>The owner of the area</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/area/:id",    "title": "delete an area",    "name": "deleteArea",    "group": "Area",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/AreaController.js",    "groupTitle": "Area"  },  {    "type": "get",    "url": "/area",    "title": "get all areas",    "name": "getArea",    "group": "Area",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/AreaController.js",    "groupTitle": "Area",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the area.</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "radius",            "description": "<p>The radius of the area in meters</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>The owner of the area</p>"          }        ]      }    }  },  {    "type": "patch",    "url": "/area/:id",    "title": "update an area",    "name": "updateArea",    "group": "Area",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/AreaController.js",    "groupTitle": "Area",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the area.</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "radius",            "description": "<p>The radius of the area in meters</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the area.</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "radius",            "description": "<p>The radius of the area in meters</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>The owner of the area</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/brain/classify",    "title": "send a question to gladys",    "name": "classify",    "group": "Brain",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "q",            "description": "<p>the message for Gladys</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/BrainController.js",    "groupTitle": "Brain"  },  {    "type": "post",    "url": "/brain/trainnew",    "title": "re-train the sentence model",    "name": "train",    "group": "Brain",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/BrainController.js",    "groupTitle": "Brain"  },  {    "type": "post",    "url": "/devicestate",    "title": "create a deviceState",    "name": "createDeviceState",    "group": "DeviceState",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceStateController.js",    "groupTitle": "DeviceState",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "value",            "description": "<p>The value of the state</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": true,            "field": "datetime",            "description": "<p>When the state occurred</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "devicetype",            "description": "<p>The deviceType ID</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/devicestate/create",    "title": "create a deviceState (GET)",    "name": "createDeviceStateGet",    "group": "DeviceState",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceStateController.js",    "groupTitle": "DeviceState",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "value",            "description": "<p>The value of the state</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": true,            "field": "datetime",            "description": "<p>When the state occurred</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "devicetype",            "description": "<p>The deviceType ID</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/devicestate",    "title": "get all deviceStates",    "name": "getDeviceState",    "group": "DeviceState",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "take",            "description": "<p>the number of deviceState to return</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "skip",            "description": "<p>the number of deviceState to skip</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceStateController.js",    "groupTitle": "DeviceState",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "value",            "description": "<p>The value of the state</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>When the state occurred</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "devicetype",            "description": "<p>The deviceType</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/devicetype",    "title": "create a deviceType",    "name": "createDeviceType",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Parameter",            "type": "boolean",            "optional": true,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Parameter",            "type": "boolean",            "optional": true,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/devicetype/:id",    "title": "delete deviceType",    "name": "deleteDeviceType",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType"  },  {    "type": "post",    "url": "/devicetype/:id/exec",    "title": "change a deviceType state",    "name": "execDeviceType",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "float",            "optional": true,            "field": "value",            "description": "<p>New value to apply to the deviceType</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "value",            "description": "<p>The value of the state</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>When the state occurred</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "devicetype",            "description": "<p>The deviceType</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/device/:id/devicetype",    "title": "get by device",    "name": "getByDevice",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceController.js",    "groupTitle": "DeviceType",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/devicetype",    "title": "get all deviceType",    "name": "getDeviceType",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "take",            "description": "<p>the number of deviceType to return</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "skip",            "description": "<p>the number of deviceType to skip</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/devicetype/:id",    "title": "get by id",    "name": "getDeviceTypeById",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "lastValue",            "description": "<p>The last value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "lastValueId",            "description": "<p>The ID of the last deviceState of this deviceType</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "lastChanged",            "description": "<p>The last time this deviceType changed his value</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType"  },  {    "type": "get",    "url": "/devicetype/room",    "title": "get by room",    "name": "getDeviceTypeByRoom",    "group": "DeviceType",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "lastValue",            "description": "<p>The last value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "lastValueId",            "description": "<p>The ID of the last deviceState of this deviceType</p>"          },          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "lastChanged",            "description": "<p>The last time this deviceType changed his value</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the deviceType.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "type",            "description": "<p>The type of the deviceType (binary, temperature, color ...)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify this deviceType</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "tag",            "description": "<p>The name of the deviceType for text/voice recognition</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "sensor",            "description": "<p>If the deviceType is a sensor or not</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "unit",            "description": "<p>The unit of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "min",            "description": "<p>The min value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "max",            "description": "<p>The max value of the deviceType</p>"          },          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "display",            "description": "<p>If the deviceType should be displayed in the view</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "device",            "description": "<p>The ID of the device of this deviceType</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceTypeController.js",    "groupTitle": "DeviceType"  },  {    "type": "post",    "url": "/device",    "title": "create a device",    "name": "createDevice",    "group": "Device",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceController.js",    "groupTitle": "Device",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the device.</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "protocol",            "description": "<p>The protocol the device is using (zwave, wifi)</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "service",            "description": "<p>The service handling the device (a module name)</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "identifier",            "description": "<p>An unique identifier to identify the device</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>The room where the device is</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the device.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "protocol",            "description": "<p>The protocol the device is using (zwave, wifi)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "service",            "description": "<p>The service handling the device (a module name)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify the device</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>The room where the device is</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/device/:id",    "title": "delete a device",    "name": "deleteDevice",    "group": "Device",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceController.js",    "groupTitle": "Device"  },  {    "type": "get",    "url": "/device",    "title": "get all devices",    "name": "getDevice",    "group": "Device",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "take",            "description": "<p>the number of device to return</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "skip",            "description": "<p>the number of device to skip</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/DeviceController.js",    "groupTitle": "Device",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the device.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "protocol",            "description": "<p>The protocol the device is using (zwave, wifi)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "service",            "description": "<p>The service handling the device (a module name)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify the device</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>The room where the device is</p>"          }        ]      }    }  },  {    "type": "patch",    "url": "/device/:id",    "title": "update a device",    "name": "updateDevice",    "group": "Device",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/DeviceController.js",    "groupTitle": "Device",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the device.</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "protocol",            "description": "<p>The protocol the device is using (zwave, wifi)</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "service",            "description": "<p>The service handling the device (a module name)</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": true,            "field": "identifier",            "description": "<p>An unique identifier to identify the device</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>The room where the device is</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Name of the device.</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "protocol",            "description": "<p>The protocol the device is using (zwave, wifi)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "service",            "description": "<p>The service handling the device (a module name)</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>An unique identifier to identify the device</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>The room where the device is</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/event",    "title": "create event",    "name": "CreateEvent",    "group": "Event",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/EventController.js",    "groupTitle": "Event",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code you want to create</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "user",            "description": "<p>id of the user concerned by the event (only for user-related event)</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "house",            "description": "<p>id of the house where the events take place</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>id of the room where the events take place</p>"          },          {            "group": "Parameter",            "type": "Datetime",            "optional": true,            "field": "datetime",            "description": "<p>If you want to specify a specific datetime when the event took place</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>Event id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>User id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>Room id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "eventtype",            "description": "<p>Event Type id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Event name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Event description</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/event/create",    "title": "create event (GET)",    "name": "CreateEventGet",    "group": "Event",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/EventController.js",    "groupTitle": "Event",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code you want to create</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "user",            "description": "<p>id of the user concerned by the event (only for user-related event)</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "house",            "description": "<p>id of the house where the events take place</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>id of the room where the events take place</p>"          },          {            "group": "Parameter",            "type": "Datetime",            "optional": true,            "field": "datetime",            "description": "<p>If you want to specify a specific datetime when the event took place</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>Event id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>User id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>Room id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "eventtype",            "description": "<p>Event Type id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Event name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Event description</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/event",    "title": "get all events",    "name": "GetEvents",    "group": "Event",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "take",            "description": "<p>Number of events to return</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "skip",            "description": "<p>Where to start (for pagination)</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/EventController.js",    "groupTitle": "Event",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>Event id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>User id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>Room id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "eventtype",            "description": "<p>Event Type id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Event name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Event description</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/house",    "title": "get all houses",    "name": "GetHouses",    "group": "House",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/HouseController.js",    "groupTitle": "House",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "uuid",            "optional": false,            "field": "uuid",            "description": "<p>House unique id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The name of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "address",            "description": "<p>The address of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "city",            "description": "<p>The city</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "postcode",            "description": "<p>Postcode</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "country",            "description": "<p>Country</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude of the house</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude of the house</p>"          }        ]      }    }  },  {    "type": "patch",    "url": "/house/:id",    "title": "create a house",    "name": "createHouse",    "group": "House",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/HouseController.js",    "groupTitle": "House",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "uuid",            "optional": false,            "field": "uuid",            "description": "<p>House unique id</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The name of the house</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "address",            "description": "<p>The address of the house</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "city",            "description": "<p>The city</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "postcode",            "description": "<p>Postcode</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "country",            "description": "<p>Country</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude of the house</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude of the house</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "uuid",            "optional": false,            "field": "uuid",            "description": "<p>House unique id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The name of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "address",            "description": "<p>The address of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "city",            "description": "<p>The city</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "postcode",            "description": "<p>Postcode</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "country",            "description": "<p>Country</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude of the house</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude of the house</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/house",    "title": "create a house",    "name": "createHouse",    "group": "House",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/HouseController.js",    "groupTitle": "House",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "uuid",            "optional": false,            "field": "uuid",            "description": "<p>House unique id</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The name of the house</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "address",            "description": "<p>The address of the house</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "city",            "description": "<p>The city</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "postcode",            "description": "<p>Postcode</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "country",            "description": "<p>Country</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude of the house</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude of the house</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "uuid",            "optional": false,            "field": "uuid",            "description": "<p>House unique id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The name of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "address",            "description": "<p>The address of the house</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "city",            "description": "<p>The city</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "postcode",            "description": "<p>Postcode</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "country",            "description": "<p>Country</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude of the house</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude of the house</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/house/:id",    "title": "delete a house",    "name": "deleteHouse",    "group": "House",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/HouseController.js",    "groupTitle": "House"  },  {    "type": "get",    "url": "/house/:id/user",    "title": "get all user in a house",    "name": "getUserHouse",    "group": "House",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/HouseController.js",    "groupTitle": "House",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/location",    "title": "create location",    "name": "createLocation",    "group": "Location",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/LocationController.js",    "groupTitle": "Location",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "datetime",            "optional": true,            "field": "datetime",            "description": "<p>Datetime of the location</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": true,            "field": "altitude",            "description": "<p>Altitude</p>"          },          {            "group": "Parameter",            "type": "float",            "optional": true,            "field": "accuracy",            "description": "<p>Accuracy in meters</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the location</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "latitude",            "description": "<p>Latitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "longitude",            "description": "<p>Longitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "altitude",            "description": "<p>Altitude</p>"          },          {            "group": "Success 200",            "type": "float",            "optional": false,            "field": "accuracy",            "description": "<p>Accuracy in meters</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "user",            "description": "<p>User ID</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/message/user/:id",    "title": "Get messages",    "name": "GetMessages",    "group": "Message",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "take",            "description": "<p>Number of elements to return</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "skip",            "description": "<p>Number of elements to skip</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MessageController.js",    "groupTitle": "Message",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>primary key</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "text",            "description": "<p>Message content</p>"          },          {            "group": "Success 200",            "type": "Datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the message</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "sender",            "description": "<p>Message sender id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "receiver",            "description": "<p>Message receiver id</p>"          },          {            "group": "Success 200",            "type": "uuid",            "optional": false,            "field": "conversation",            "description": "<p>Conversation unique ID (identify uniquely a discussion)</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/message",    "title": "Send message",    "name": "SendMessage",    "group": "Message",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MessageController.js",    "groupTitle": "Message",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "text",            "description": "<p>Message content</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "receiver",            "description": "<p>The person you are sending the message too. Put null to contact Gladys.</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>primary key</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "text",            "description": "<p>Message content</p>"          },          {            "group": "Success 200",            "type": "Datetime",            "optional": false,            "field": "datetime",            "description": "<p>Datetime of the message</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "sender",            "description": "<p>Message sender id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "receiver",            "description": "<p>Message receiver id</p>"          },          {            "group": "Success 200",            "type": "uuid",            "optional": false,            "field": "conversation",            "description": "<p>Conversation unique ID (identify uniquely a discussion)</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/house/:id/mode",    "title": "change mode",    "name": "changeMode",    "group": "Mode",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "mode",            "description": "<p>Mode code</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/ModeController.js",    "groupTitle": "Mode",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "id",            "description": "<p>Event id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "user",            "description": "<p>User id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "room",            "description": "<p>Room id</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "eventtype",            "description": "<p>Event Type id</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Event code</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>Event name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Event description</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/mode",    "title": "create mode",    "name": "createMode",    "group": "Mode",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/ModeController.js",    "groupTitle": "Mode",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Unique code of the Mode</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>name</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Description</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Unique code of the Mode</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Description</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/mode/:id",    "title": "delete mode",    "name": "deleteMode",    "group": "Mode",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/ModeController.js",    "groupTitle": "Mode"  },  {    "type": "get",    "url": "/mode",    "title": "get all modes",    "name": "getModes",    "group": "Mode",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/ModeController.js",    "groupTitle": "Mode",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "code",            "description": "<p>Unique code of the Mode</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>name</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "description",            "description": "<p>Description</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/music/flushqueue",    "title": "Flush Queue",    "name": "MusicFlushQueue",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/currenttrack",    "title": "Get Current Track",    "name": "MusicGetCurrentTrack",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "title",            "description": "<p>Title of the current track</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "artist",            "description": "<p>Artist of the current track</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/queue",    "title": "Get Queue",    "name": "MusicGetCurrentTrack",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "title",            "description": "<p>Title of the current track</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "artist",            "description": "<p>Artist of the current track</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/muted",    "title": "Get Muted",    "name": "MusicGetMuted",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "muted",            "description": "<p>Returns true if the music is muted</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/playing",    "title": "Get Playing",    "name": "MusicGetPlaying",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "boolean",            "optional": false,            "field": "playing",            "description": "<p>Returns true if the music is playing</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/playlist",    "title": "Get Playlists",    "name": "MusicGetPlaylist",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "title",            "description": "<p>Title of the playlist</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "get",    "url": "/music/volume",    "title": "Get Volume",    "name": "MusicGetVolume",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "volume",            "description": "<p>Volume of the music</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/next",    "title": "Next",    "name": "MusicNext",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/playplaylist",    "title": "Play playlist",    "name": "MusicNext",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "identifier",            "description": "<p>Identifier of the playlist</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/pause",    "title": "Pause",    "name": "MusicPause",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/play",    "title": "Play",    "name": "MusicPlay",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/previous",    "title": "Previous",    "name": "MusicPrevious",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/queue",    "title": "Queue",    "name": "MusicQueue",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "uri",            "description": "<p>Unique uri identifying the music to play</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/muted",    "title": "Set muted",    "name": "MusicSetMuted",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "boolean",            "optional": false,            "field": "muted",            "description": "<p>true if sound is muted</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/volum",    "title": "Set Volume",    "name": "MusicSetVolume",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "volume",            "description": "<p>Volume level</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/music/stop",    "title": "Stop",    "name": "MusicStop",    "group": "Music",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/MusicController.js",    "groupTitle": "Music",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "devicetype",            "description": "<p>DeviceType ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "room",            "description": "<p>Room ID</p>"          }        ]      }    },    "description": "<p>You can put the devicetype attribute OR the room attribute to determine in which room you want to control the music/which precise deviceType is playing.</p>"  },  {    "type": "post",    "url": "/room",    "title": "create room",    "name": "createRoom",    "group": "Room",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/RoomController.js",    "groupTitle": "Room",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The Name of the room</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "permission",            "description": "<p>Permission</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The Name of the room</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House ID</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "permission",            "description": "<p>Permission</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/room/:id",    "title": "delete room",    "name": "deleteRoom",    "group": "Room",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/RoomController.js",    "groupTitle": "Room"  },  {    "type": "get",    "url": "/room",    "title": "get rooms",    "name": "getRooms",    "group": "Room",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "take",            "description": "<p>number of rooms to return</p>"          },          {            "group": "Parameter",            "type": "integer",            "optional": false,            "field": "skip",            "description": "<p>number of rooms to skip</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/RoomController.js",    "groupTitle": "Room",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The Name of the room</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House ID</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "permission",            "description": "<p>Permission</p>"          }        ]      }    }  },  {    "type": "patch",    "url": "/room/:id",    "title": "update room",    "name": "updateRoom",    "group": "Room",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/RoomController.js",    "groupTitle": "Room",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The Name of the room</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House ID</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "permission",            "description": "<p>Permission</p>"          }        ]      }    },    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "name",            "description": "<p>The Name of the room</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "house",            "description": "<p>House ID</p>"          },          {            "group": "Success 200",            "type": "Integer",            "optional": false,            "field": "permission",            "description": "<p>Permission</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/script/:id/exec",    "title": "Execute a script",    "name": "execScript",    "group": "Script",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/ScriptController.js",    "groupTitle": "Script"  },  {    "type": "post",    "url": "/user/user",    "title": "Login",    "name": "LoginUser",    "group": "User",    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Parameter",            "type": "String",            "optional": false,            "field": "password",            "description": "<p>Password</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/user/whoami",    "title": "WhoAmI",    "name": "WhoAmIUser",    "group": "User",    "permission": [      {        "name": "authenticated"      }    ],    "description": "<p>Return currently connected user</p>",    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "post",    "url": "/user",    "title": "create a user",    "name": "createUser",    "group": "User",    "permission": [      {        "name": "authenticated"      },      {        "name": "admin"      }    ],    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "password",            "description": "<p>A Password</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "delete",    "url": "/user/:id",    "title": "delete a user",    "name": "deleteUser",    "group": "User",    "permission": [      {        "name": "authenticated"      },      {        "name": "admin"      }    ],    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/user",    "title": "get all users",    "name": "getUsers",    "group": "User",    "permission": [      {        "name": "authenticated"      },      {        "name": "admin"      }    ],    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "patch",    "url": "/user/:id",    "title": "update a user",    "name": "updateUser",    "group": "User",    "permission": [      {        "name": "authenticated"      }    ],    "version": "0.0.0",    "filename": "api/controllers/UserController.js",    "groupTitle": "User",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "firstname",            "description": "<p>Firstname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "lastname",            "description": "<p>Lastname</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "email",            "description": "<p>Email</p>"          },          {            "group": "Success 200",            "type": "date",            "optional": false,            "field": "birthdate",            "description": "<p>Birthdate</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "gender",            "description": "<p>gender</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "language",            "description": "<p>language of the user</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "password",            "description": "<p>A Password</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "assistantName",            "description": "<p>The name of your assistant for you</p>"          },          {            "group": "Success 200",            "type": "integer",            "optional": false,            "field": "preparationTimeAfterWakeUp",            "description": "<p>Time to prepare after wake up</p>"          },          {            "group": "Success 200",            "type": "String",            "allowedValues": [              "admin",              "habitant",              "guest"            ],            "optional": false,            "field": "role",            "description": "<p>The role of the user in the system</p>"          }        ]      }    }  },  {    "type": "get",    "url": "/weather",    "title": "get weather",    "name": "GetWeather",    "group": "Weather",    "permission": [      {        "name": "authenticated"      }    ],    "parameter": {      "fields": {        "Parameter": [          {            "group": "Parameter",            "type": "Float",            "optional": false,            "field": "latitude",            "description": "<p>The latitude where you want the weather</p>"          },          {            "group": "Parameter",            "type": "Float",            "optional": false,            "field": "longitude",            "description": "<p>The longitude where you want the weather</p>"          },          {            "group": "Parameter",            "type": "Integer",            "optional": true,            "field": "offset",            "description": "<p>(in hour) If you want to get the weather in the future</p>"          }        ]      }    },    "version": "0.0.0",    "filename": "api/controllers/WeatherController.js",    "groupTitle": "Weather",    "success": {      "fields": {        "Success 200": [          {            "group": "Success 200",            "type": "Float",            "optional": false,            "field": "temperature",            "description": "<p>temperature</p>"          },          {            "group": "Success 200",            "type": "Float",            "optional": false,            "field": "humidity",            "description": "<p>humidity</p>"          },          {            "group": "Success 200",            "type": "String",            "optional": false,            "field": "weather",            "description": "<p>The code of the weather (rain, cloud)</p>"          },          {            "group": "Success 200",            "type": "Float",            "optional": false,            "field": "pressure",            "description": "<p>pressure</p>"          }        ]      }    }  }]
