{ "x-generator": "NSwag v13.9.2.0 (NJsonSchema v10.3.1.0 (Newtonsoft.Json v12.0.0.0))", "openapi": "3.0.0", "info": { "title": "MyCore Service", "description": "API description", "version": "Version Pre-Alpha" }, "servers": [ { "url": "https://localhost:5001" } ], "paths": { "/api/books": { "get": { "tags": [ "Books" ], "operationId": "Books_GetAll", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Book" } } } } } }, "security": [ { "bearer": [] } ] }, "post": { "tags": [ "Books" ], "operationId": "Books_Create", "requestBody": { "x-name": "book", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Book" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Book" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/books/{id}": { "get": { "tags": [ "Books" ], "operationId": "Books_Get", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Book" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Books" ], "operationId": "Books_Update", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "requestBody": { "x-name": "bookIn", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Book" } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "bearer": [] } ] }, "delete": { "tags": [ "Books" ], "operationId": "Books_Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/{homeId}": { "get": { "tags": [ "Device" ], "summary": "Get all devices summary", "operationId": "Device_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceSummaryDTO" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/detail/{deviceId}": { "get": { "tags": [ "Device" ], "summary": "Get a specific device info", "operationId": "Device_GetDetail", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "id of device", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/{homeId}/type/{type}": { "get": { "tags": [ "Device" ], "summary": "Get list of devices from a type", "operationId": "Device_GetDevicesByType", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "type", "in": "path", "required": true, "description": "device type", "schema": { "$ref": "#/components/schemas/DeviceType" }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device": { "post": { "tags": [ "Device" ], "summary": "Create a device", "operationId": "Device_Create", "requestBody": { "x-name": "deviceDetailDTO", "description": "Device to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "409": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/action": { "post": { "tags": [ "Device" ], "summary": "Send action to device", "operationId": "Device_SendAction", "requestBody": { "x-name": "action", "description": "Action to sent", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Action" } } }, "required": true, "x-position": 1 }, "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/{homeId}/fromProvider/{providerId}": { "post": { "tags": [ "Device" ], "summary": "Create devices from provider", "operationId": "Device_CreateDevicesFromProvider", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "providerId", "in": "path", "required": true, "description": "Id of Provider", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "421": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "get": { "tags": [ "Device" ], "summary": "Get devices from provider", "operationId": "Device_GetDevicesFromProvider", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "providerId", "in": "path", "required": true, "description": "Id of Provider", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete devices from provider", "operationId": "Device_DeleteDevicesFromProvider", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "providerId", "in": "path", "required": true, "description": "Id of Provider", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/zigbee2Mqtt/{homeId}": { "get": { "tags": [ "Device" ], "summary": "Get all zigbee2Mqtt devices", "operationId": "Device_GetDevicesFromZigbee2Mqtt", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/{deviceId}": { "put": { "tags": [ "Device" ], "summary": "Update a device", "operationId": "Device_Update", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "schema": { "type": "string" }, "x-position": 2 } ], "requestBody": { "x-name": "deviceDetailDTO", "description": "Device to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete a device", "operationId": "Device_Delete", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Id of device to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/home/{homeId}": { "delete": { "tags": [ "Device" ], "summary": "Delete all device for a specified home", "operationId": "Device_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Id of home", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/energy/electricity": { "get": { "tags": [ "Energy" ], "summary": "Get summary production of Kwh/Year", "operationId": "Energy_GetElectricityProduction", "parameters": [ { "name": "homeId", "in": "query", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "viewBy", "in": "query", "schema": { "$ref": "#/components/schemas/ViewBy" }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ElectricityProduction" } } } } } }, "security": [ { "bearer": [] } ] } }, "/api/iot/smartprinter/{idDevice}": { "get": { "tags": [ "IOT" ], "summary": "Retrieve all SmartPrinterMessage", "operationId": "IOT_GetSmartPrinterMessages", "parameters": [ { "name": "id", "in": "query", "description": "Id of the smart printer message", "schema": { "type": "integer", "format": "int32" }, "x-position": 1 }, { "name": "idDevice", "in": "path", "required": true, "schema": { "type": "string" }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartPrinterMessage" } } } } } }, "security": [ { "bearer": [] } ] }, "post": { "tags": [ "IOT" ], "summary": "It's the method to post data from mqtt broker to Database (Thanks Rpi!)", "operationId": "IOT_PostToDBPrinter", "parameters": [ { "name": "idDevice", "in": "path", "required": true, "description": "Id of the device to upload to DB", "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "content", "description": "Content that will be uploaded", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartPrinterMessage" } } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/iot/smartgarden/{idDevice}": { "post": { "tags": [ "IOT" ], "summary": "It's the method to post data from mqtt broker to Database (Thanks Rpi!)", "operationId": "IOT_PostToDBSmartGarden", "parameters": [ { "name": "idDevice", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "content", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartGardenMessage" } } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/odd/country/{id}/{oddRequest}": { "get": { "tags": [ "Odd" ], "summary": "Get odds for one country and one odd value maximum", "operationId": "Odd_GetForCountry", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "id of country, e.g = BE for Belgium", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "oddRequest", "in": "path", "required": true, "description": "Odd Maximum value", "schema": { "type": "number", "format": "double" }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OddNice" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/odd/{oddRequest}": { "get": { "tags": [ "Odd" ], "summary": "Get odds for one country and one odd value maximum", "operationId": "Odd_GetAll", "parameters": [ { "name": "oddRequest", "in": "path", "required": true, "description": "Odd Maximum value", "schema": { "type": "number", "format": "double" }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OddNice" } } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/provider/{homeId}": { "get": { "tags": [ "Provider" ], "summary": "Get all home providers ", "operationId": "Provider_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProviderDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/provider": { "post": { "tags": [ "Provider" ], "summary": "Create a provider", "operationId": "Provider_Create", "requestBody": { "x-name": "providerDTO", "description": "Provider to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "409": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Provider" ], "summary": "Update a provider", "operationId": "Provider_Update", "requestBody": { "x-name": "providerDTO", "description": "Provider to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/provider/{providerId}": { "delete": { "tags": [ "Provider" ], "summary": "Delete a provider", "operationId": "Provider_Delete", "parameters": [ { "name": "providerId", "in": "path", "required": true, "description": "Id of provider to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/screen": { "get": { "tags": [ "ScreenDevice" ], "summary": "Get all screen devices", "operationId": "ScreenDevice_GetAllScreenDevices", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ScreenDevice" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "post": { "tags": [ "ScreenDevice" ], "summary": "Create screen device", "operationId": "ScreenDevice_CreateDevice", "requestBody": { "x-name": "screenDevice", "description": "Screen device to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenDevice" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenDevice" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "ScreenDevice" ], "summary": "Update screen device", "operationId": "ScreenDevice_UpdateDevice", "requestBody": { "x-name": "screenDevice", "description": "Screen device to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenDevice" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenDevice" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/screen/{screenDeviceId}": { "get": { "tags": [ "ScreenDevice" ], "summary": "Get screen device info", "operationId": "ScreenDevice_GetDeviceInfo", "parameters": [ { "name": "screenDeviceId", "in": "path", "required": true, "description": "Id of the screen device you want to get information", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenDevice" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/device/screen/{deviceId}": { "delete": { "tags": [ "ScreenDevice" ], "summary": "Delete device", "operationId": "ScreenDevice_DeleteDevice", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Screen device id to update", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/mqtt": { "post": { "tags": [ "MQTT" ], "summary": "Publish mqtt test", "operationId": "MQTT_PublishMessage", "requestBody": { "x-name": "mqttMessageDTO", "description": "Message to send", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MqttMessageDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/layout/panelSection": { "get": { "tags": [ "Layout" ], "summary": "It's a test ! :) ", "operationId": "Layout_Get", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PanelSection" } } } } } } } }, "/api/token": { "post": { "tags": [ "Token" ], "summary": "Connect user", "operationId": "Token_ConnectUser", "requestBody": { "x-name": "loginDTO", "description": "login info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/user": { "get": { "tags": [ "User" ], "summary": "Get a list of user ", "operationId": "User_GetAll", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserInfo" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "post": { "tags": [ "User" ], "summary": "Create an user", "operationId": "User_CreateUser", "requestBody": { "x-name": "newUser", "description": "New user info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfoDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "409": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } } }, "put": { "tags": [ "User" ], "summary": "Update an user", "operationId": "User_UpdateUser", "requestBody": { "x-name": "updatedUser", "description": "User to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfoDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/user/{id}": { "get": { "tags": [ "User" ], "summary": "Get a specific user ", "operationId": "User_Get", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "id user", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfoDetailDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "delete": { "tags": [ "User" ], "summary": "Delete an user", "operationId": "User_DeleteUser", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "Id of user to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/user/email/{email}": { "get": { "tags": [ "User" ], "summary": "Get a specific user by email", "operationId": "User_GetByEmail", "parameters": [ { "name": "email", "in": "path", "required": true, "description": "user email", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfoDetailDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/test": { "get": { "tags": [ "Values" ], "summary": "It's a test ! :) ", "operationId": "Values_GetAll", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } }, "post": { "tags": [ "Values" ], "operationId": "Values_Post", "requestBody": { "x-name": "value", "content": { "application/json": { "schema": { "type": "string" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] } ] } }, "/api/test/{id}": { "get": { "tags": [ "Values" ], "operationId": "Values_Get", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Values" ], "operationId": "Values_Put", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "value", "content": { "application/json": { "schema": { "type": "string" } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] } ] }, "delete": { "tags": [ "Values" ], "operationId": "Values_Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/{homeId}": { "get": { "tags": [ "Alarm" ], "summary": "Get all alarm modes for the specified home", "operationId": "Alarm_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AlarmModeDTO" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/detail/{alarmModeId}": { "get": { "tags": [ "Alarm" ], "summary": "Get detail info of a specified alarm mode", "operationId": "Alarm_GetDetail", "parameters": [ { "name": "alarmModeId", "in": "path", "required": true, "description": "alarm id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlarmModeDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm": { "post": { "tags": [ "Alarm" ], "summary": "Create an alarm mode", "operationId": "Alarm_Create", "requestBody": { "x-name": "alarmModeCreateOrUpdateDetailDTO", "description": "Alarm mode to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlarmModeCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlarmModeDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Alarm" ], "summary": "Update an alarm mode", "operationId": "Alarm_Update", "requestBody": { "x-name": "alarmModeCreateOrUpdateDetailDTO", "description": "alarm mode to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlarmModeCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlarmModeDetailDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/defaults/{homeId}": { "post": { "tags": [ "Alarm" ], "summary": "Create default alarm modes", "operationId": "Alarm_CreateDefaultAlarms", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "409": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/activate/{alarmModeId}": { "post": { "tags": [ "Alarm" ], "summary": "Activate specified alarm mode", "operationId": "Alarm_Activate", "parameters": [ { "name": "alarmModeId", "in": "path", "required": true, "description": "Alarm mode to activate", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "409": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/{alarmModeId}": { "delete": { "tags": [ "Alarm" ], "summary": "Delete an alarm mode", "operationId": "Alarm_Delete", "parameters": [ { "name": "alarmModeId", "in": "path", "required": true, "description": "Id of alarm mode to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "405": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/alarm/home/{homeId}": { "delete": { "tags": [ "Alarm" ], "summary": "Delete all alarm mode for a specified home", "operationId": "Alarm_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/Authentication/Token": { "post": { "tags": [ "Authentication" ], "summary": "Authenticate with form parameters (used by Swagger test client)", "operationId": "Authentication_AuthenticateWithForm", "requestBody": { "content": { "multipart/form-data": { "schema": { "properties": { "grant_type": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "client_id": { "type": "string", "nullable": true }, "client_secret": { "type": "string", "nullable": true } } } } } }, "responses": { "200": { "description": "Token descriptor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenDTO" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/Authentication/Authenticate": { "post": { "tags": [ "Authentication" ], "summary": "Authenticate with Json parameters (used by most clients)", "operationId": "Authentication_AuthenticateWithJson", "requestBody": { "x-name": "login", "description": "Login DTO", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "Token descriptor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenDTO" } } } }, "401": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } } } }, "/api/automation/{homeId}": { "get": { "tags": [ "Automation" ], "summary": "Get all automations for the specified home", "operationId": "Automation_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AutomationDTO" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/automation/detail/{automationId}": { "get": { "tags": [ "Automation" ], "summary": "Get detail info of a specified automation", "operationId": "Automation_GetDetail", "parameters": [ { "name": "automationId", "in": "path", "required": true, "description": "automation id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/automation": { "post": { "tags": [ "Automation" ], "summary": "Create an automation", "operationId": "Automation_Create", "requestBody": { "x-name": "automationDetailDTO", "description": "Automation to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Automation" ], "summary": "Update an automation", "operationId": "Automation_Update", "requestBody": { "x-name": "automationDetailDTO", "description": "automation to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/automation/{automationId}": { "delete": { "tags": [ "Automation" ], "summary": "Delete an automation", "operationId": "Automation_Delete", "parameters": [ { "name": "automationId", "in": "path", "required": true, "description": "Id of automation to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/automation/home/{homeId}": { "delete": { "tags": [ "Automation" ], "summary": "Delete all automation for a specified home", "operationId": "Automation_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/event/{homeId}": { "get": { "tags": [ "Event" ], "summary": "Get events for the specified home ", "operationId": "Event_Get", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "DeviceId", "in": "query", "schema": { "type": "string", "nullable": true }, "x-position": 2 }, { "name": "RoomId", "in": "query", "schema": { "type": "string", "nullable": true }, "x-position": 3 }, { "name": "StartIndex", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 4 }, { "name": "Count", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 5 }, { "name": "DateStart", "in": "query", "schema": { "type": "string", "format": "date-time", "nullable": true }, "x-position": 6 }, { "name": "DateEnd", "in": "query", "schema": { "type": "string", "format": "date-time", "nullable": true }, "x-position": 7 }, { "name": "EventType", "in": "query", "schema": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EventType" } ] }, "x-position": 8 }, { "name": "DeviceType", "in": "query", "schema": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/DeviceType" } ] }, "x-position": 9 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponseOfEventDetailDTOAndEventHomeFilter" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/event/detail/{eventId}": { "get": { "tags": [ "Event" ], "summary": "Get detail info of a specified event", "operationId": "Event_GetDetail", "parameters": [ { "name": "eventId", "in": "path", "required": true, "description": "event id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/event/{eventId}": { "delete": { "tags": [ "Event" ], "summary": "Delete an event", "operationId": "Event_Delete", "parameters": [ { "name": "eventId", "in": "path", "required": true, "description": "Id of event to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/event/home/{homeId}": { "delete": { "tags": [ "Event" ], "summary": "Delete all events for a specified home", "operationId": "Event_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/{homeId}": { "get": { "tags": [ "Group" ], "summary": "Get all groups for the specified home", "operationId": "Group_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupSummaryDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/detail/{groupId}": { "get": { "tags": [ "Group" ], "summary": "Get detail info of a specified group", "operationId": "Group_GetDetail", "parameters": [ { "name": "groupId", "in": "path", "required": true, "description": "groupid", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/{homeId}/type/{type}": { "get": { "tags": [ "Group" ], "summary": "Get list of group from a type", "operationId": "Group_GetGroupsByType", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "type", "in": "path", "required": true, "description": "group type", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupSummaryDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/zigbee2Mqtt/{homeId}": { "get": { "tags": [ "Group" ], "summary": "Get all zigbee2Mqtt groups", "operationId": "Group_GetGroupsFromZigbee2Mqtt", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group": { "post": { "tags": [ "Group" ], "summary": "Create a group", "operationId": "Group_Create", "requestBody": { "x-name": "groupCreateOrUpdateDetail", "description": "Group to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Group" ], "summary": "Update a group", "operationId": "Group_Update", "requestBody": { "x-name": "groupCreateOrUpdateDetail", "description": "group to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupCreateOrUpdateDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/{homeId}/fromZigbee": { "post": { "tags": [ "Group" ], "summary": "Create groups from provider", "operationId": "Group_CreateDevicesFromZigbee2Mqtt", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupDetailDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/{groupId}/device/{deviceId}": { "delete": { "tags": [ "Group" ], "summary": "Delete device from a group", "operationId": "Group_Delete", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Id of device to delete from the group", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "groupId", "in": "path", "required": true, "description": "Id of group ", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/{groupId}": { "delete": { "tags": [ "Group" ], "summary": "Delete a group", "operationId": "Group_Delete2", "parameters": [ { "name": "groupId", "in": "path", "required": true, "description": "Id of group ", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/group/home/{homeId}": { "delete": { "tags": [ "Group" ], "summary": "Delete all group for a specified home", "operationId": "Group_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/home/{userId}": { "get": { "tags": [ "Home" ], "summary": "Get all home for specified user", "operationId": "Home_GetAll", "parameters": [ { "name": "userId", "in": "path", "required": true, "description": "User Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HomeDTO" } } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/home/detail/{homeId}": { "get": { "tags": [ "Home" ], "summary": "Get detail info of a specified home", "operationId": "Home_GetDetail", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "home id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HomeDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/home": { "post": { "tags": [ "Home" ], "summary": "Create a home", "operationId": "Home_Create", "requestBody": { "x-name": "createOrUpdateHomeDTO", "description": "Home to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrUpdateHomeDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HomeDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Home" ], "summary": "Update a home", "operationId": "Home_Update", "requestBody": { "x-name": "createOrUpdateHomeDTO", "description": "Home to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrUpdateHomeDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HomeDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/home/{homeId}": { "delete": { "tags": [ "Home" ], "summary": "Delete a home", "operationId": "Home_Delete", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Id of home to delete", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/{homeId}": { "get": { "tags": [ "Room" ], "summary": "Get all rooms for the specified home", "operationId": "Room_GetAll", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RoomSummaryDTO" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/{homeId}/details": { "get": { "tags": [ "Room" ], "summary": "Get all rooms main details for the specified home", "operationId": "Room_GetAllWithMainDetails", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RoomMainDetailDTO" } } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/detail/{roomId}": { "get": { "tags": [ "Room" ], "summary": "Get detail info of a specified room", "operationId": "Room_GetDetail", "parameters": [ { "name": "roomId", "in": "path", "required": true, "description": "room id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoomDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room": { "post": { "tags": [ "Room" ], "summary": "Create a room", "operationId": "Room_Create", "requestBody": { "x-name": "roomCreateOrUpdateDetail", "description": "Room to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoomCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoomDetailDTO" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] }, "put": { "tags": [ "Room" ], "summary": "Update a room", "operationId": "Room_Update", "requestBody": { "x-name": "roomCreateOrUpdateDetail", "description": "room to update", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoomCreateOrUpdateDetailDTO" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoomCreateOrUpdateDetailDTO" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/{roomId}/device/{deviceId}": { "delete": { "tags": [ "Room" ], "summary": "Delete device from a room", "operationId": "Room_Delete", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Id of device to delete from the room", "schema": { "type": "string", "nullable": true }, "x-position": 1 }, { "name": "roomId", "in": "path", "required": true, "description": "Id of room ", "schema": { "type": "string", "nullable": true }, "x-position": 2 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/{roomId}": { "delete": { "tags": [ "Room" ], "summary": "Delete a room", "operationId": "Room_Delete2", "parameters": [ { "name": "roomId", "in": "path", "required": true, "description": "Id of room ", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/api/room/home/{homeId}": { "delete": { "tags": [ "Room" ], "summary": "Delete all rooms for a specified home", "operationId": "Room_DeleteAllForHome", "parameters": [ { "name": "homeId", "in": "path", "required": true, "description": "Home Id", "schema": { "type": "string", "nullable": true }, "x-position": 1 } ], "responses": { "202": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } }, "500": { "description": "", "content": { "application/json": { "schema": { "type": "string" } } } } }, "security": [ { "bearer": [] } ] } }, "/azure": { "post": { "tags": [ "Azure" ], "operationId": "Azure_Create", "requestBody": { "x-name": "user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADAuthModel" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/facebook": { "post": { "tags": [ "Facebook" ], "operationId": "Facebook_Create", "requestBody": { "x-name": "user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FacebookAuthModel" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/google": { "post": { "tags": [ "Google" ], "operationId": "Google_Create", "requestBody": { "x-name": "user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GoogleAuthModel" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/token": { "post": { "tags": [ "Token" ], "operationId": "Token_Create", "requestBody": { "x-name": "user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/twitter": { "post": { "tags": [ "Twitter" ], "operationId": "Twitter_Create", "requestBody": { "x-name": "user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TwitterAuthModel" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } } }, "components": { "schemas": { "Book": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "bookName": { "type": "string", "nullable": true }, "price": { "type": "number", "format": "decimal" }, "category": { "type": "string", "nullable": true }, "author": { "type": "string", "nullable": true } } }, "DeviceSummaryDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "model": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/DeviceType" }, "status": { "type": "boolean" }, "connectionStatus": { "$ref": "#/components/schemas/ConnectionStatus" }, "roomId": { "type": "string", "nullable": true }, "providerId": { "type": "string", "nullable": true }, "providerName": { "type": "string", "nullable": true }, "lastStateDate": { "type": "string", "format": "date-time" }, "battery": { "type": "boolean" }, "batteryStatus": { "type": "integer", "format": "int32" } } }, "DeviceType": { "type": "string", "description": "", "x-enumNames": [ "Sensor", "Actuator", "Camera", "Switch", "Light", "Sound", "Plug", "Multiplug", "Thermostat", "Valve", "Door", "Environment", "Motion", "Gateway", "Unknown" ], "enum": [ "Sensor", "Actuator", "Camera", "Switch", "Light", "Sound", "Plug", "Multiplug", "Thermostat", "Valve", "Door", "Environment", "Motion", "Gateway", "Unknown" ] }, "ConnectionStatus": { "type": "string", "description": "", "x-enumNames": [ "Connected", "Disconnected", "Unknown" ], "enum": [ "Connected", "Disconnected", "Unknown" ] }, "DeviceDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/DeviceSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "firmwareVersion": { "type": "string", "nullable": true }, "hardwareVersion": { "type": "string", "nullable": true }, "port": { "type": "integer", "format": "int32" }, "meansOfCommunications": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/MeansOfCommunication" } }, "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "lastState": { "type": "string", "nullable": true }, "ipAddress": { "type": "string", "nullable": true }, "serviceIdentification": { "type": "string", "nullable": true }, "manufacturerName": { "type": "string", "nullable": true }, "groupIds": { "type": "array", "nullable": true, "items": { "type": "string" } }, "properties": { "type": "string", "nullable": true }, "supportedOperations": { "type": "array", "nullable": true, "items": { "type": "string" } } } } ] }, "MeansOfCommunication": { "type": "string", "description": "", "x-enumNames": [ "Wifi", "Bluetooth", "Zigbee", "Zwave" ], "enum": [ "Wifi", "Bluetooth", "Zigbee", "Zwave" ] }, "Action": { "type": "object", "additionalProperties": false, "properties": { "groupId": { "type": "string", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "states": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/AutomationState" } }, "rawRequest": { "type": "string", "nullable": true }, "providerId": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/ActionType" }, "isForce": { "type": "boolean" } } }, "AutomationState": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true } } }, "ActionType": { "type": "string", "description": "", "x-enumNames": [ "DELAY", "DEVICE", "HTTP", "ZIGBEE2MQTT", "MQTT", "GROUP" ], "enum": [ "DELAY", "DEVICE", "HTTP", "ZIGBEE2MQTT", "MQTT", "GROUP" ] }, "ElectricityProduction": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "watt": { "type": "number", "format": "double" }, "ampere": { "type": "number", "format": "double" }, "timestamp": { "type": "string", "format": "date-time" } } }, "ViewBy": { "type": "string", "description": "", "x-enumNames": [ "Year", "Month", "Day" ], "enum": [ "Year", "Month", "Day" ] }, "SmartPrinterMessage": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "time": { "type": "string", "nullable": true }, "temperature": { "type": "number", "format": "double" }, "pressure": { "type": "number", "format": "double" }, "smoke": { "type": "integer", "format": "int32" } } }, "SmartGardenMessage": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "time": { "type": "string", "nullable": true }, "temperature": { "type": "number", "format": "double" }, "pressure": { "type": "number", "format": "double" }, "humidity": { "type": "number", "format": "double" }, "water": { "type": "integer", "format": "int32" }, "light": { "type": "integer", "format": "int32" } } }, "OddNice": { "type": "object", "additionalProperties": false, "properties": { "teams": { "type": "array", "nullable": true, "items": { "type": "string" } }, "commence_time": { "type": "integer", "format": "int32" }, "home_team": { "type": "string", "nullable": true }, "odds": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/OddObject" } ] } } }, "OddObject": { "type": "object", "additionalProperties": false, "properties": { "homeOdd": { "type": "number", "format": "double" }, "drawOdd": { "type": "number", "format": "double" }, "visitOdd": { "type": "number", "format": "double" } } }, "ProviderDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/ProviderType" }, "homeId": { "type": "string", "nullable": true }, "endpoint": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "apiKey": { "type": "string", "nullable": true }, "active": { "type": "boolean" } } }, "ProviderType": { "type": "string", "description": "", "x-enumNames": [ "arlo", "meross", "yeelight", "zigbee2mqtt" ], "enum": [ "arlo", "meross", "yeelight", "zigbee2mqtt" ] }, "ScreenDevice": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "location": { "type": "string", "nullable": true }, "locationExplanation": { "type": "string", "nullable": true }, "height": { "type": "integer", "format": "int32" }, "width": { "type": "integer", "format": "int32" } } }, "MqttMessageDTO": { "type": "object", "additionalProperties": false, "properties": { "topic": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true }, "online": { "type": "boolean" } } }, "PanelSection": { "type": "object", "additionalProperties": false, "properties": { "label": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "defaultRoute": { "type": "string", "nullable": true }, "children": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/PanelMenuItem" } } } }, "PanelMenuItem": { "type": "object", "additionalProperties": false, "properties": { "label": { "type": "string", "nullable": true }, "route": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "color": { "type": "string", "nullable": true }, "badgeValue": { "type": "integer", "format": "int32" }, "badgeType": { "type": "string", "nullable": true }, "children": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/PanelMenuItem" } } } }, "UserInfo": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "role": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "token": { "type": "string", "nullable": true }, "birthday": { "type": "string", "format": "date-time" }, "homeIds": { "type": "array", "nullable": true, "items": { "type": "string" } }, "dateCreation": { "type": "string", "format": "date-time" }, "address": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true }, "language": { "type": "string", "nullable": true }, "timeZone": { "type": "string", "nullable": true }, "postalCode": { "type": "integer", "format": "int32" } } }, "LoginDTO": { "type": "object", "additionalProperties": false, "properties": { "email": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } } }, "UserInfoDetailDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "language": { "type": "string", "nullable": true }, "homeIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } }, "AlarmModeDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/AlarmType" }, "activated": { "type": "boolean" }, "isDefault": { "type": "boolean" }, "notification": { "type": "boolean" }, "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" } } }, "AlarmType": { "type": "string", "description": "", "x-enumNames": [ "Home", "Absent", "Geolocalized", "Programmed", "Desarmed", "Custom" ], "enum": [ "Home", "Absent", "Geolocalized", "Programmed", "Desarmed", "Custom" ] }, "AlarmModeDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/AlarmModeDTO" }, { "type": "object", "additionalProperties": false, "properties": { "triggers": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Trigger" } }, "devices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } }, "programmedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/ProgrammedMode" } ] }, "geolocalizedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GeolocalizedMode" } ] } } } ] }, "Trigger": { "type": "object", "additionalProperties": false, "properties": { "providerId": { "type": "string", "nullable": true }, "deviceId": { "type": "string", "nullable": true }, "stateName": { "type": "string", "nullable": true }, "stateValue": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/TriggerType" } } }, "TriggerType": { "type": "string", "description": "", "x-enumNames": [ "MQTT", "WEB", "TIME" ], "enum": [ "MQTT", "WEB", "TIME" ] }, "ProgrammedMode": { "type": "object", "additionalProperties": false, "properties": { "monday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "tuesday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "wednesday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "thursday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "friday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "saturday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } }, "sunday": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TimePeriodAlarm" } } } }, "TimePeriodAlarm": { "type": "object", "additionalProperties": false, "properties": { "start": { "type": "string", "nullable": true }, "end": { "type": "string", "nullable": true }, "alarmMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AlarmMode" } ] } } }, "AlarmMode": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "activated": { "type": "boolean" }, "isDefault": { "type": "boolean" }, "notification": { "type": "boolean" }, "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "type": { "$ref": "#/components/schemas/AlarmType" }, "programmedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/ProgrammedMode" } ] }, "geolocalizedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GeolocalizedMode" } ] }, "triggers": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Trigger" } }, "actions": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Action" } }, "devicesIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } }, "GeolocalizedMode": { "type": "object", "additionalProperties": false, "properties": { "latitude": { "type": "string", "nullable": true }, "longitude": { "type": "string", "nullable": true }, "homeMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AlarmMode" } ] }, "absentMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AlarmMode" } ] } } }, "AlarmModeCreateOrUpdateDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/AlarmModeDTO" }, { "type": "object", "additionalProperties": false, "properties": { "triggers": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Trigger" } }, "actions": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Action" } }, "programmedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/ProgrammedMode" } ] }, "geolocalizedMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GeolocalizedMode" } ] } } } ] }, "TokenDTO": { "type": "object", "additionalProperties": false, "properties": { "access_token": { "type": "string", "nullable": true }, "refresh_token": { "type": "string", "nullable": true }, "scope": { "type": "string", "nullable": true }, "token_type": { "type": "string", "nullable": true }, "expires_in": { "type": "integer", "format": "int32" }, "expiration": { "type": "string", "format": "date-time" } } }, "AutomationDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "active": { "type": "boolean" }, "homeId": { "type": "string", "nullable": true }, "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" } } }, "AutomationDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/AutomationDTO" }, { "type": "object", "additionalProperties": false, "properties": { "triggers": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Trigger" } }, "conditions": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Condition" } }, "actions": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/Action" } }, "devicesIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } } ] }, "Condition": { "type": "object", "additionalProperties": false, "properties": { "deviceId": { "type": "string", "nullable": true }, "state": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AutomationState" } ] }, "startTime": { "type": "string", "nullable": true }, "endTime": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/ConditionType" }, "value": { "$ref": "#/components/schemas/ConditionValue" } } }, "ConditionType": { "type": "string", "description": "", "x-enumNames": [ "STATE", "TIME" ], "enum": [ "STATE", "TIME" ] }, "ConditionValue": { "type": "string", "description": "", "x-enumNames": [ "EQUAL", "NOT_EQUAL", "BIGGER", "BIGGEST", "SMALLER", "SMALLEST" ], "enum": [ "EQUAL", "NOT_EQUAL", "BIGGER", "BIGGEST", "SMALLER", "SMALLEST" ] }, "ListResponseOfEventDetailDTOAndEventHomeFilter": { "type": "object", "additionalProperties": false, "properties": { "values": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/EventDetailDTO" } }, "requestParameters": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EventHomeFilter" } ] }, "totalCount": { "type": "integer", "format": "int32" }, "actualCount": { "type": "integer", "format": "int32" } } }, "EventDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/EventDTO" }, { "type": "object", "additionalProperties": false, "properties": { "deviceState": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/DeviceState" } ] }, "automationTriggered": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AutomationTriggered" } ] }, "alarmTriggered": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AlarmTriggered" } ] } } } ] }, "DeviceState": { "type": "object", "additionalProperties": false, "properties": { "deviceId": { "type": "string", "nullable": true }, "deviceName": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true }, "deviceType": { "$ref": "#/components/schemas/DeviceType" } } }, "AutomationTriggered": { "type": "object", "additionalProperties": false, "properties": { "automationId": { "type": "string", "nullable": true }, "automationName": { "type": "string", "nullable": true } } }, "AlarmTriggered": { "type": "object", "additionalProperties": false, "properties": { "alarmModeId": { "type": "string", "nullable": true }, "alarmModeName": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/AlarmType" } } }, "EventDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "date": { "type": "string", "format": "date-time" }, "type": { "$ref": "#/components/schemas/EventType" }, "roomId": { "type": "string", "nullable": true } } }, "EventType": { "type": "string", "description": "", "x-enumNames": [ "DeviceState", "AutomationTriggered", "AlarmTriggered" ], "enum": [ "DeviceState", "AutomationTriggered", "AlarmTriggered" ] }, "EventHomeFilter": { "allOf": [ { "$ref": "#/components/schemas/EventFilter" }, { "type": "object", "additionalProperties": false, "properties": { "deviceId": { "type": "string", "nullable": true }, "roomId": { "type": "string", "nullable": true } } } ] }, "EventFilter": { "type": "object", "additionalProperties": false, "properties": { "startIndex": { "type": "integer", "format": "int32" }, "count": { "type": "integer", "format": "int32" }, "dateStart": { "type": "string", "format": "date-time", "nullable": true }, "dateEnd": { "type": "string", "format": "date-time", "nullable": true }, "eventType": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/EventType" } ] }, "deviceType": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/DeviceType" } ] } } }, "GroupSummaryDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "isAlarm": { "type": "boolean" } } }, "GroupDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/GroupSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "devices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } ] }, "GroupCreateOrUpdateDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/GroupSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "deviceIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } } ] }, "HomeDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "isAlarm": { "type": "boolean" }, "isDefault": { "type": "boolean" }, "currentAlarmMode": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/AlarmModeDTO" } ] }, "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "usersIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } }, "HomeDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/HomeDTO" }, { "type": "object", "additionalProperties": false, "properties": { "users": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/UserInfoDetailDTO" } }, "devices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceSummaryDTO" } }, "automations": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/AutomationDTO" } }, "providers": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/ProviderDTO" } }, "groups": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/GroupSummaryDTO" } } } } ] }, "CreateOrUpdateHomeDTO": { "allOf": [ { "$ref": "#/components/schemas/HomeDTO" }, { "type": "object", "additionalProperties": false, "properties": { "usersIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } } ] }, "RoomSummaryDTO": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "homeId": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true } } }, "RoomMainDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/RoomSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "environmentalDevices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } }, "securityDevices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } ] }, "RoomDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/RoomSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "createdDate": { "type": "string", "format": "date-time" }, "updatedDate": { "type": "string", "format": "date-time" }, "devices": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/DeviceDetailDTO" } } } } ] }, "RoomCreateOrUpdateDetailDTO": { "allOf": [ { "$ref": "#/components/schemas/RoomSummaryDTO" }, { "type": "object", "additionalProperties": false, "properties": { "deviceIds": { "type": "array", "nullable": true, "items": { "type": "string" } } } } ] }, "AzureADAuthModel": { "type": "object", "additionalProperties": false, "properties": { "apiKey": { "type": "string", "nullable": true } } }, "FacebookAuthModel": { "type": "object", "additionalProperties": false, "properties": { "userAccessToken": { "type": "string", "nullable": true } } }, "GoogleAuthModel": { "type": "object", "additionalProperties": false, "properties": { "authorizationCode": { "type": "string", "nullable": true }, "apiKey": { "type": "string", "nullable": true } } }, "User": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } } }, "TwitterAuthModel": { "type": "object", "additionalProperties": false, "properties": { "apiKey": { "type": "string", "nullable": true } } } }, "securitySchemes": { "bearer": { "type": "oauth2", "description": "MyCore Authentication", "flows": { "password": { "authorizationUrl": "/authentication/Token", "tokenUrl": "/api/authentication/Token", "scopes": { "MyCore-api": "MyCore WebAPI" } } } } } }, "security": [ { "bearer": [] } ], "tags": [ { "name": "Authentication", "description": "Authentication management" } ] }