myhomie_app/lib/api/swagger.yaml
2023-08-11 16:48:23 +02:00

5132 lines
121 KiB
YAML

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: []
/Notification/all:
post:
tags:
- Notification
summary: Create a fcm notification
operationId: Notification_CreateSimpleNotification
requestBody:
x-name: notificationDTO
description: notificationDTO
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDTO'
required: true
x-position: 1
responses:
'200':
description: bool result
content:
application/json:
schema:
type: boolean
security:
- bearer: []
/Notification/home/{homeId}:
post:
tags:
- Notification
summary: Create a fcm notification for a specific home
operationId: Notification_CreateSimpleNotificationForSpecificUser
parameters:
- name: homeId
in: path
required: true
description: homeId
schema:
type: string
nullable: true
x-position: 1
requestBody:
x-name: notificationDTO
description: notificationDTO
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDTO'
required: true
x-position: 2
responses:
'200':
description: bool result
content:
application/json:
schema:
type: boolean
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}:
put:
tags:
- Room
summary: Add devices in the specified room
operationId: Room_AddDeviceToRoom
parameters:
- name: roomId
in: path
required: true
description: Room Id
schema:
type: string
nullable: true
x-position: 1
requestBody:
x-name: deviceIds
description: Device Ids
content:
application/json:
schema:
type: array
items:
type: string
required: true
x-position: 2
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: []
delete:
tags:
- Room
summary: Delete a room
operationId: Room_Delete
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/{roomId}/device/{deviceId}:
delete:
tags:
- Room
summary: Delete device from a room
operationId: Room_Delete2
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/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
lastMessageDate:
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
lastMessage:
type: string
nullable: true
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
isContact:
type: boolean
contact:
type: boolean
isIlluminance:
type: boolean
illuminance:
type: integer
format: int32
nullable: true
isBrightness:
type: boolean
brightness:
type: integer
format: int32
isState:
type: boolean
state:
type: boolean
isColorTemp:
type: boolean
colorTemp:
type: integer
format: int32
isColorXY:
type: boolean
colorX:
type: integer
format: int32
colorY:
type: integer
format: int32
isOccupation:
type: boolean
occupation:
type: boolean
isAlarm:
type: boolean
alarm:
type: boolean
isWaterLeak:
type: boolean
waterLeak:
type: boolean
isSmoke:
type: boolean
smoke:
type: boolean
isVibration:
type: boolean
vibration:
type: boolean
isAction:
type: boolean
action:
type: string
nullable: true
isTemperature:
type: boolean
temperature:
type: number
format: decimal
nullable: true
isHumidity:
type: boolean
humidity:
type: number
format: decimal
nullable: true
isPressure:
type: boolean
pressure:
type: number
format: decimal
nullable: true
isAirQuality:
type: boolean
airQuality:
type: string
nullable: true
isFanSpeed:
type: boolean
fanSpeed:
type: integer
format: int32
isFanMode:
type: boolean
fanMode:
type: string
nullable: true
isConsumption:
type: boolean
consumption:
type: number
format: decimal
isCurrentPower:
type: boolean
currentPower:
type: number
format: decimal
isVoltage:
type: boolean
voltage:
type: number
format: decimal
isLinkQuality:
type: boolean
linkQuality:
type: integer
format: int32
isCO2:
type: boolean
cO2:
type: integer
format: int32
isNoise:
type: boolean
noise:
type: integer
format: int32
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
serviceHomeId:
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
value:
type: string
nullable: true
valueRefresh:
type: string
nullable: true
ProviderType:
type: string
description: ''
x-enumNames:
- arlo
- meross
- yeelight
- zigbee2mqtt
- netatmo
enum:
- arlo
- meross
- yeelight
- zigbee2mqtt
- netatmo
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'
actions:
type: array
nullable: true
items:
$ref: '#/components/schemas/Action'
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
devices:
type: array
nullable: true
items:
$ref: '#/components/schemas/DeviceDetailDTO'
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
NotificationDTO:
type: object
additionalProperties: false
properties:
notificationTitle:
type: string
nullable: true
notificationMessage:
type: string
nullable: true
notificationLabelButton:
type: string
nullable: true
title:
type: string
nullable: true
body:
type: string
nullable: true
type:
type: string
nullable: true
isPushNotification:
type: boolean
isButton:
type: boolean
buttonLabel:
type: string
nullable: true
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
isTemperature:
type: boolean
temperature:
type: string
nullable: true
isHumidity:
type: boolean
humidity:
type: string
nullable: true
isPressure:
type: boolean
pressure:
type: string
nullable: true
isMotion:
type: boolean
motion:
type: boolean
nullable: true
isDoor:
type: boolean
door:
type: boolean
nullable: true
isIlluminance:
type: boolean
illuminance:
type: string
nullable: true
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