github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/api/api.swagger3.yaml (about)

     1  openapi: 3.0.1
     2  info:
     3    title: Smart home api
     4    description: This documentation describes APIs found under https://github.com/e154/smart-home
     5    contact:
     6      name: Alex Filippov
     7      url: https://e154.github.io/smart-home/
     8      email: support@e154.ru
     9    version: "1.0"
    10  servers:
    11    - url: /
    12  security:
    13    - ApiKeyAuth: [ ]
    14    - BasicAuth: [ ]
    15  tags:
    16    - name: ActionService
    17    - name: AreaService
    18    - name: AuthService
    19    - name: AutomationService
    20    - name: BackupService
    21    - name: ConditionService
    22    - name: DashboardService
    23    - name: DashboardCardService
    24    - name: DashboardCardItemService
    25    - name: DashboardTabService
    26    - name: DeveloperToolsService
    27    - name: EntityService
    28    - name: EntityStorageService
    29    - name: ImageService
    30    - name: InteractService
    31    - name: LogService
    32    - name: MessageDeliveryService
    33    - name: MetricService
    34    - name: MqttService
    35    - name: PluginService
    36    - name: RoleService
    37    - name: ScriptService
    38    - name: TagService
    39    - name: StreamService
    40    - name: TriggerService
    41    - name: UserService
    42    - name: VariableService
    43    - name: Zigbee2mqttService
    44  paths:
    45    /v1/access_list:
    46      get:
    47        tags:
    48          - AuthService
    49        summary: get user access list object
    50        operationId: AuthService_AccessList
    51        responses:
    52          200:
    53            description: A successful response.
    54            content:
    55              application/json:
    56                schema:
    57                  $ref: '#/components/schemas/apiAccessListResponse'
    58          '401':
    59            $ref: '#/components/responses/HTTP-401'
    60        security:
    61          - ApiKeyAuth: [ ]
    62    /v1/action:
    63      post:
    64        tags:
    65          - ActionService
    66        summary: add new action
    67        operationId: ActionService_AddAction
    68        requestBody:
    69          content:
    70            application/json:
    71              schema:
    72                $ref: '#/components/schemas/apiNewActionRequest'
    73          required: true
    74        responses:
    75          201:
    76            description: A successful response.
    77            content:
    78              application/json:
    79                schema:
    80                  $ref: '#/components/schemas/apiAction'
    81          '400':
    82            $ref: '#/components/responses/HTTP-400'
    83          '401':
    84            $ref: '#/components/responses/HTTP-401'
    85          '409':
    86            $ref: '#/components/responses/HTTP-409'
    87        security:
    88          - ApiKeyAuth: [ ]
    89        parameters:
    90          - $ref: '#/components/parameters/Accept-JSON'
    91    /v1/action/{id}:
    92      get:
    93        tags:
    94          - ActionService
    95        summary: get action by id
    96        operationId: ActionService_GetActionById
    97        parameters:
    98          - name: id
    99            in: path
   100            required: true
   101            schema:
   102              type: integer
   103              format: int64
   104        responses:
   105          200:
   106            description: A successful response.
   107            content:
   108              application/json:
   109                schema:
   110                  $ref: '#/components/schemas/apiAction'
   111          '401':
   112            $ref: '#/components/responses/HTTP-401'
   113          '404':
   114            $ref: '#/components/responses/HTTP-404'
   115        security:
   116          - ApiKeyAuth: [ ]
   117      put:
   118        tags:
   119          - ActionService
   120        summary: update action
   121        operationId: ActionService_UpdateAction
   122        parameters:
   123          - name: id
   124            in: path
   125            required: true
   126            schema:
   127              type: integer
   128              format: int64
   129          - $ref: '#/components/parameters/Accept-JSON'
   130        requestBody:
   131          content:
   132            application/json:
   133              schema:
   134                type: object
   135                required: [ name, description ]
   136                properties:
   137                  name:
   138                    type: string
   139                  description:
   140                    type: string
   141                  scriptId:
   142                    type: integer
   143                    format: int64
   144                  areaId:
   145                    type: integer
   146                    format: int64
   147                  entityId:
   148                    type: string
   149                  entityActionName:
   150                    type: string
   151          required: true
   152        responses:
   153          200:
   154            description: A successful response.
   155            content:
   156              application/json:
   157                schema:
   158                  $ref: '#/components/schemas/apiAction'
   159          '400':
   160            $ref: '#/components/responses/HTTP-400'
   161          '401':
   162            $ref: '#/components/responses/HTTP-401'
   163          '409':
   164            $ref: '#/components/responses/HTTP-409'
   165        security:
   166          - ApiKeyAuth: [ ]
   167      delete:
   168        tags:
   169          - ActionService
   170        summary: delete action
   171        operationId: ActionService_DeleteAction
   172        parameters:
   173          - name: id
   174            in: path
   175            required: true
   176            schema:
   177              type: integer
   178              format: int64
   179        responses:
   180          200:
   181            description: A successful response.
   182            content:
   183              application/json:
   184                schema:
   185                  type: object
   186          '404':
   187            $ref: '#/components/responses/HTTP-404'
   188          '401':
   189            $ref: '#/components/responses/HTTP-401'
   190        security:
   191          - ApiKeyAuth: [ ]
   192    /v1/actions:
   193      get:
   194        tags:
   195          - ActionService
   196        summary: get action list
   197        operationId: ActionService_GetActionList
   198        parameters:
   199          - $ref: '#/components/parameters/listSort'
   200          - $ref: '#/components/parameters/listPage'
   201          - $ref: '#/components/parameters/listLimit'
   202          - $ref: '#/components/parameters/ids'
   203        responses:
   204          200:
   205            description: A successful response.
   206            content:
   207              application/json:
   208                schema:
   209                  $ref: '#/components/schemas/apiGetActionListResult'
   210          '401':
   211            $ref: '#/components/responses/HTTP-401'
   212        security:
   213          - ApiKeyAuth: [ ]
   214    /v1/actions/search:
   215      get:
   216        tags:
   217          - ActionService
   218        summary: search action
   219        operationId: ActionService_SearchAction
   220        parameters:
   221          - $ref: '#/components/parameters/searchQuery'
   222          - $ref: '#/components/parameters/searchOffset'
   223          - $ref: '#/components/parameters/searchLimit'
   224        responses:
   225          200:
   226            description: A successful response.
   227            content:
   228              application/json:
   229                schema:
   230                  $ref: '#/components/schemas/apiSearchActionResult'
   231          '401':
   232            $ref: '#/components/responses/HTTP-401'
   233        security:
   234          - ApiKeyAuth: [ ]
   235    /v1/area:
   236      post:
   237        tags:
   238          - AreaService
   239        summary: add new area
   240        operationId: AreaService_AddArea
   241        requestBody:
   242          content:
   243            application/json:
   244              schema:
   245                $ref: '#/components/schemas/apiNewAreaRequest'
   246          required: true
   247        responses:
   248          200:
   249            description: A successful response.
   250            content:
   251              application/json:
   252                schema:
   253                  $ref: '#/components/schemas/apiArea'
   254          '400':
   255            $ref: '#/components/responses/HTTP-400'
   256          '401':
   257            $ref: '#/components/responses/HTTP-401'
   258          '409':
   259            $ref: '#/components/responses/HTTP-409'
   260        security:
   261          - ApiKeyAuth: [ ]
   262        parameters:
   263          - $ref: '#/components/parameters/Accept-JSON'
   264    /v1/area/{id}:
   265      get:
   266        tags:
   267          - AreaService
   268        summary: get area by id
   269        operationId: AreaService_GetAreaById
   270        parameters:
   271          - name: id
   272            in: path
   273            required: true
   274            schema:
   275              type: integer
   276              format: int64
   277        responses:
   278          200:
   279            description: A successful response.
   280            content:
   281              application/json:
   282                schema:
   283                  $ref: '#/components/schemas/apiArea'
   284          '404':
   285            $ref: '#/components/responses/HTTP-404'
   286          '401':
   287            $ref: '#/components/responses/HTTP-401'
   288        security:
   289          - ApiKeyAuth: [ ]
   290      put:
   291        tags:
   292          - AreaService
   293        summary: update area
   294        operationId: AreaService_UpdateArea
   295        parameters:
   296          - name: id
   297            in: path
   298            required: true
   299            schema:
   300              type: integer
   301              format: int64
   302          - $ref: '#/components/parameters/Accept-JSON'
   303        requestBody:
   304          content:
   305            application/json:
   306              schema:
   307                type: object
   308                required: [ name, description, polygon, zoom, resolution ]
   309                properties:
   310                  name:
   311                    type: string
   312                  description:
   313                    type: string
   314                  polygon:
   315                    type: array
   316                    items:
   317                      $ref: '#/components/schemas/apiAreaLocation'
   318                  center:
   319                    $ref: '#/components/schemas/apiAreaLocation'
   320                  zoom:
   321                    type: number
   322                    format: float
   323                  resolution:
   324                    type: number
   325                    format: float
   326          required: true
   327        responses:
   328          200:
   329            description: A successful response.
   330            content:
   331              application/json:
   332                schema:
   333                  $ref: '#/components/schemas/apiArea'
   334          '400':
   335            $ref: '#/components/responses/HTTP-400'
   336          '401':
   337            $ref: '#/components/responses/HTTP-401'
   338          '409':
   339            $ref: '#/components/responses/HTTP-409'
   340        security:
   341          - ApiKeyAuth: [ ]
   342      delete:
   343        tags:
   344          - AreaService
   345        summary: delete area
   346        operationId: AreaService_DeleteArea
   347        parameters:
   348          - name: id
   349            in: path
   350            required: true
   351            schema:
   352              type: integer
   353              format: int64
   354        responses:
   355          200:
   356            description: A successful response.
   357            content:
   358              application/json:
   359                schema:
   360                  type: object
   361          '404':
   362            $ref: '#/components/responses/HTTP-404'
   363          '401':
   364            $ref: '#/components/responses/HTTP-401'
   365        security:
   366          - ApiKeyAuth: [ ]
   367    /v1/areas:
   368      get:
   369        tags:
   370          - AreaService
   371        summary: get area list
   372        operationId: AreaService_GetAreaList
   373        parameters:
   374          - $ref: '#/components/parameters/listSort'
   375          - $ref: '#/components/parameters/listPage'
   376          - $ref: '#/components/parameters/listLimit'
   377        responses:
   378          200:
   379            description: A successful response.
   380            content:
   381              application/json:
   382                schema:
   383                  $ref: '#/components/schemas/apiGetAreaListResult'
   384          '401':
   385            $ref: '#/components/responses/HTTP-401'
   386        security:
   387          - ApiKeyAuth: [ ]
   388    /v1/areas/search:
   389      get:
   390        tags:
   391          - AreaService
   392        summary: search area
   393        operationId: AreaService_SearchArea
   394        parameters:
   395          - $ref: '#/components/parameters/searchQuery'
   396          - $ref: '#/components/parameters/searchOffset'
   397          - $ref: '#/components/parameters/searchLimit'
   398        responses:
   399          200:
   400            description: A successful response.
   401            content:
   402              application/json:
   403                schema:
   404                  $ref: '#/components/schemas/apiSearchAreaResult'
   405          '401':
   406            $ref: '#/components/responses/HTTP-401'
   407        security:
   408          - ApiKeyAuth: [ ]
   409    /v1/backups:
   410      get:
   411        tags:
   412          - BackupService
   413        summary: get backup list
   414        operationId: BackupService_GetBackupList
   415        parameters:
   416          - $ref: '#/components/parameters/listSort'
   417          - $ref: '#/components/parameters/listPage'
   418          - $ref: '#/components/parameters/listLimit'
   419        responses:
   420          200:
   421            description: A successful response.
   422            content:
   423              application/json:
   424                schema:
   425                  $ref: '#/components/schemas/apiGetBackupListResult'
   426          '401':
   427            $ref: '#/components/responses/HTTP-401'
   428        security:
   429          - ApiKeyAuth: [ ]
   430      post:
   431        tags:
   432          - BackupService
   433        summary: new backup
   434        operationId: BackupService_NewBackup
   435        requestBody:
   436          content:
   437            application/json:
   438              schema:
   439                type: object
   440          required: true
   441        responses:
   442          200:
   443            description: A successful response.
   444            content:
   445              application/json:
   446                schema:
   447                  type: object
   448          '401':
   449            $ref: '#/components/responses/HTTP-401'
   450        security:
   451          - ApiKeyAuth: [ ]
   452        parameters:
   453          - $ref: '#/components/parameters/Accept-JSON'
   454    /v1/backup/upload:
   455      post:
   456        tags:
   457          - BackupService
   458        summary: upload backup file
   459        operationId: BackupService_UploadBackup
   460        requestBody:
   461          content:
   462            multipart/form-data:
   463              schema:
   464                type: object
   465                properties:
   466                  filename:
   467                    type: array
   468                    items:
   469                      type: string
   470                      format: binary
   471          required: true
   472        responses:
   473          200:
   474            description: A successful response.
   475            content:
   476              application/json:
   477                schema:
   478                  $ref: '#/components/schemas/apiBackup'
   479          '400':
   480            $ref: '#/components/responses/HTTP-400'
   481          '401':
   482            $ref: '#/components/responses/HTTP-401'
   483          '413':
   484            $ref: '#/components/responses/HTTP-413'
   485        security:
   486          - ApiKeyAuth: [ ]
   487        parameters:
   488          - $ref: '#/components/parameters/Accept-JSON'
   489    /v1/backup/apply:
   490      post:
   491        tags:
   492          - BackupService
   493        summary: apply state
   494        operationId: BackupService_ApplyState
   495        responses:
   496          200:
   497            description: A successful response.
   498          '401':
   499            $ref: '#/components/responses/HTTP-401'
   500        security:
   501          - ApiKeyAuth: [ ]
   502        parameters:
   503          - $ref: '#/components/parameters/Accept-JSON'
   504    /v1/backup/rollback:
   505      post:
   506        tags:
   507          - BackupService
   508        summary: revert state
   509        operationId: BackupService_RevertState
   510        responses:
   511          200:
   512            description: A successful response.
   513          '401':
   514            $ref: '#/components/responses/HTTP-401'
   515        security:
   516          - ApiKeyAuth: [ ]
   517        parameters:
   518          - $ref: '#/components/parameters/Accept-JSON'
   519    /v1/backup/{name}:
   520      put:
   521        tags:
   522          - BackupService
   523        summary: restore backup
   524        operationId: BackupService_RestoreBackup
   525        parameters:
   526          - name: name
   527            in: path
   528            required: true
   529            schema:
   530              type: string
   531        responses:
   532          200:
   533            description: A successful response.
   534            content:
   535              application/json:
   536                schema:
   537                  type: object
   538          '401':
   539            $ref: '#/components/responses/HTTP-401'
   540        security:
   541          - ApiKeyAuth: [ ]
   542      delete:
   543        tags:
   544          - BackupService
   545        summary: delete backup
   546        operationId: BackupService_DeleteBackup
   547        parameters:
   548          - name: name
   549            in: path
   550            required: true
   551            schema:
   552              type: string
   553        responses:
   554          200:
   555            description: A successful response.
   556            content:
   557              application/json:
   558                schema:
   559                  type: object
   560          '404':
   561            $ref: '#/components/responses/HTTP-404'
   562          '401':
   563            $ref: '#/components/responses/HTTP-401'
   564        security:
   565          - ApiKeyAuth: [ ]
   566    /v1/condition:
   567      post:
   568        tags:
   569          - ConditionService
   570        summary: add new condition
   571        operationId: ConditionService_AddCondition
   572        requestBody:
   573          content:
   574            application/json:
   575              schema:
   576                $ref: '#/components/schemas/apiNewConditionRequest'
   577          required: true
   578        responses:
   579          200:
   580            description: A successful response.
   581            content:
   582              application/json:
   583                schema:
   584                  $ref: '#/components/schemas/apiCondition'
   585          '400':
   586            $ref: '#/components/responses/HTTP-400'
   587          '401':
   588            $ref: '#/components/responses/HTTP-401'
   589          '409':
   590            $ref: '#/components/responses/HTTP-409'
   591        security:
   592          - ApiKeyAuth: [ ]
   593        parameters:
   594          - $ref: '#/components/parameters/Accept-JSON'
   595    /v1/condition/{id}:
   596      get:
   597        tags:
   598          - ConditionService
   599        summary: get condition by id
   600        operationId: ConditionService_GetConditionById
   601        parameters:
   602          - name: id
   603            in: path
   604            required: true
   605            schema:
   606              type: integer
   607              format: int64
   608          - $ref: '#/components/parameters/Accept-JSON'
   609        responses:
   610          200:
   611            description: A successful response.
   612            content:
   613              application/json:
   614                schema:
   615                  $ref: '#/components/schemas/apiCondition'
   616          '404':
   617            $ref: '#/components/responses/HTTP-404'
   618          '401':
   619            $ref: '#/components/responses/HTTP-401'
   620        security:
   621          - ApiKeyAuth: [ ]
   622      put:
   623        tags:
   624          - ConditionService
   625        summary: update condition
   626        operationId: ConditionService_UpdateCondition
   627        parameters:
   628          - name: id
   629            in: path
   630            required: true
   631            schema:
   632              type: integer
   633              format: int64
   634          - $ref: '#/components/parameters/Accept-JSON'
   635        requestBody:
   636          content:
   637            application/json:
   638              schema:
   639                type: object
   640                required: [ name, description ]
   641                properties:
   642                  name:
   643                    type: string
   644                  description:
   645                    type: string
   646                  scriptId:
   647                    type: integer
   648                    format: int64
   649                  areaId:
   650                    type: integer
   651                    format: int64
   652          required: true
   653        responses:
   654          200:
   655            description: A successful response.
   656            content:
   657              application/json:
   658                schema:
   659                  $ref: '#/components/schemas/apiCondition'
   660          '400':
   661            $ref: '#/components/responses/HTTP-400'
   662          '401':
   663            $ref: '#/components/responses/HTTP-401'
   664          '404':
   665            $ref: '#/components/responses/HTTP-404'
   666          '409':
   667            $ref: '#/components/responses/HTTP-409'
   668        security:
   669          - ApiKeyAuth: [ ]
   670      delete:
   671        tags:
   672          - ConditionService
   673        summary: delete condition
   674        operationId: ConditionService_DeleteCondition
   675        parameters:
   676          - name: id
   677            in: path
   678            required: true
   679            schema:
   680              type: integer
   681              format: int64
   682        responses:
   683          200:
   684            description: A successful response.
   685            content:
   686              application/json:
   687                schema:
   688                  type: object
   689          '404':
   690            $ref: '#/components/responses/HTTP-404'
   691          '401':
   692            $ref: '#/components/responses/HTTP-401'
   693        security:
   694          - ApiKeyAuth: [ ]
   695    /v1/conditions:
   696      get:
   697        tags:
   698          - ConditionService
   699        summary: get condition list
   700        operationId: ConditionService_GetConditionList
   701        parameters:
   702          - $ref: '#/components/parameters/listSort'
   703          - $ref: '#/components/parameters/listPage'
   704          - $ref: '#/components/parameters/listLimit'
   705          - $ref: '#/components/parameters/ids'
   706        responses:
   707          200:
   708            description: A successful response.
   709            content:
   710              application/json:
   711                schema:
   712                  $ref: '#/components/schemas/apiGetConditionListResult'
   713          '401':
   714            $ref: '#/components/responses/HTTP-401'
   715        security:
   716          - ApiKeyAuth: [ ]
   717    /v1/conditions/search:
   718      get:
   719        tags:
   720          - ConditionService
   721        summary: search condition
   722        operationId: ConditionService_SearchCondition
   723        parameters:
   724          - $ref: '#/components/parameters/searchQuery'
   725          - $ref: '#/components/parameters/searchOffset'
   726          - $ref: '#/components/parameters/searchLimit'
   727        responses:
   728          200:
   729            description: A successful response.
   730            content:
   731              application/json:
   732                schema:
   733                  $ref: '#/components/schemas/apiSearchConditionResult'
   734          '401':
   735            $ref: '#/components/responses/HTTP-401'
   736        security:
   737          - ApiKeyAuth: [ ]
   738    /v1/dashboard:
   739      post:
   740        tags:
   741          - DashboardService
   742        summary: add new dashboard
   743        operationId: DashboardService_AddDashboard
   744        requestBody:
   745          content:
   746            application/json:
   747              schema:
   748                $ref: '#/components/schemas/apiNewDashboardRequest'
   749          required: true
   750        responses:
   751          200:
   752            description: A successful response.
   753            content:
   754              application/json:
   755                schema:
   756                  $ref: '#/components/schemas/apiDashboard'
   757          '400':
   758            $ref: '#/components/responses/HTTP-400'
   759          '401':
   760            $ref: '#/components/responses/HTTP-401'
   761          '409':
   762            $ref: '#/components/responses/HTTP-409'
   763        security:
   764          - ApiKeyAuth: [ ]
   765        parameters:
   766          - $ref: '#/components/parameters/Accept-JSON'
   767    /v1/dashboard/{id}:
   768      get:
   769        tags:
   770          - DashboardService
   771        summary: get dashboard by id
   772        operationId: DashboardService_GetDashboardById
   773        parameters:
   774          - name: id
   775            in: path
   776            required: true
   777            schema:
   778              type: integer
   779              format: int64
   780        responses:
   781          200:
   782            description: A successful response.
   783            content:
   784              application/json:
   785                schema:
   786                  $ref: '#/components/schemas/apiDashboard'
   787          '404':
   788            $ref: '#/components/responses/HTTP-404'
   789          '401':
   790            $ref: '#/components/responses/HTTP-401'
   791        security:
   792          - ApiKeyAuth: [ ]
   793      put:
   794        tags:
   795          - DashboardService
   796        summary: update dashboard
   797        operationId: DashboardService_UpdateDashboard
   798        parameters:
   799          - name: id
   800            in: path
   801            required: true
   802            schema:
   803              type: integer
   804              format: int64
   805          - $ref: '#/components/parameters/Accept-JSON'
   806        requestBody:
   807          content:
   808            application/json:
   809              schema:
   810                type: object
   811                required: [ name, description, enabled ]
   812                properties:
   813                  name:
   814                    type: string
   815                  description:
   816                    type: string
   817                  enabled:
   818                    type: boolean
   819                  areaId:
   820                    type: integer
   821                    format: int64
   822          required: true
   823        responses:
   824          200:
   825            description: A successful response.
   826            content:
   827              application/json:
   828                schema:
   829                  $ref: '#/components/schemas/apiDashboard'
   830          '400':
   831            $ref: '#/components/responses/HTTP-400'
   832          '401':
   833            $ref: '#/components/responses/HTTP-401'
   834          '404':
   835            $ref: '#/components/responses/HTTP-404'
   836          '409':
   837            $ref: '#/components/responses/HTTP-409'
   838        security:
   839          - ApiKeyAuth: [ ]
   840      delete:
   841        tags:
   842          - DashboardService
   843        summary: delete dashboard
   844        operationId: DashboardService_DeleteDashboard
   845        parameters:
   846          - name: id
   847            in: path
   848            required: true
   849            schema:
   850              type: integer
   851              format: int64
   852        responses:
   853          200:
   854            description: A successful response.
   855            content:
   856              application/json:
   857                schema:
   858                  type: object
   859          '404':
   860            $ref: '#/components/responses/HTTP-404'
   861          '401':
   862            $ref: '#/components/responses/HTTP-401'
   863        security:
   864          - ApiKeyAuth: [ ]
   865    /v1/dashboard_card:
   866      post:
   867        tags:
   868          - DashboardCardService
   869        summary: add new dashboard_card
   870        operationId: DashboardCardService_AddDashboardCard
   871        requestBody:
   872          content:
   873            application/json:
   874              schema:
   875                $ref: '#/components/schemas/apiNewDashboardCardRequest'
   876          required: true
   877        responses:
   878          200:
   879            description: A successful response.
   880            content:
   881              application/json:
   882                schema:
   883                  $ref: '#/components/schemas/apiDashboardCard'
   884          '400':
   885            $ref: '#/components/responses/HTTP-400'
   886          '401':
   887            $ref: '#/components/responses/HTTP-401'
   888          '409':
   889            $ref: '#/components/responses/HTTP-409'
   890        security:
   891          - ApiKeyAuth: [ ]
   892        parameters:
   893          - $ref: '#/components/parameters/Accept-JSON'
   894    /v1/dashboard_card/import:
   895      post:
   896        tags:
   897          - DashboardCardService
   898        summary: import dashboard_card
   899        operationId: DashboardCardService_ImportDashboardCard
   900        requestBody:
   901          content:
   902            application/json:
   903              schema:
   904                $ref: '#/components/schemas/apiDashboardCard'
   905          required: true
   906        responses:
   907          200:
   908            description: A successful response.
   909            content:
   910              application/json:
   911                schema:
   912                  $ref: '#/components/schemas/apiDashboardCard'
   913          '400':
   914            $ref: '#/components/responses/HTTP-400'
   915          '401':
   916            $ref: '#/components/responses/HTTP-401'
   917          '409':
   918            $ref: '#/components/responses/HTTP-409'
   919        security:
   920          - ApiKeyAuth: [ ]
   921        parameters:
   922          - $ref: '#/components/parameters/Accept-JSON'
   923    /v1/dashboard_card/{id}:
   924      get:
   925        tags:
   926          - DashboardCardService
   927        summary: get dashboard_card by id
   928        operationId: DashboardCardService_GetDashboardCardById
   929        parameters:
   930          - name: id
   931            in: path
   932            required: true
   933            schema:
   934              type: integer
   935              format: int64
   936        responses:
   937          200:
   938            description: A successful response.
   939            content:
   940              application/json:
   941                schema:
   942                  $ref: '#/components/schemas/apiDashboardCard'
   943          '404':
   944            $ref: '#/components/responses/HTTP-404'
   945          '401':
   946            $ref: '#/components/responses/HTTP-401'
   947        security:
   948          - ApiKeyAuth: [ ]
   949      put:
   950        tags:
   951          - DashboardCardService
   952        summary: update dashboard_card
   953        operationId: DashboardCardService_UpdateDashboardCard
   954        parameters:
   955          - name: id
   956            in: path
   957            required: true
   958            schema:
   959              type: integer
   960              format: int64
   961          - $ref: '#/components/parameters/Accept-JSON'
   962        requestBody:
   963          content:
   964            application/json:
   965              schema:
   966                type: object
   967                required: [ title, height, weight, width, enabled, hidden, dashboardTabId, payload, items ]
   968                properties:
   969                  title:
   970                    type: string
   971                  height:
   972                    type: integer
   973                    format: int32
   974                  width:
   975                    type: integer
   976                    format: int32
   977                  background:
   978                    type: string
   979                  weight:
   980                    type: integer
   981                    format: int32
   982                  enabled:
   983                    type: boolean
   984                  dashboardTabId:
   985                    type: integer
   986                    format: int64
   987                  payload:
   988                    pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
   989                    type: string
   990                    format: byte
   991                  items:
   992                    type: array
   993                    items:
   994                      $ref: '#/components/schemas/UpdateDashboardCardRequestItem'
   995                  hidden:
   996                    type: boolean
   997                  entityId:
   998                    type: string
   999          required: true
  1000        responses:
  1001          200:
  1002            description: A successful response.
  1003            content:
  1004              application/json:
  1005                schema:
  1006                  $ref: '#/components/schemas/apiDashboardCard'
  1007          '400':
  1008            $ref: '#/components/responses/HTTP-400'
  1009          '401':
  1010            $ref: '#/components/responses/HTTP-401'
  1011          '409':
  1012            $ref: '#/components/responses/HTTP-409'
  1013        security:
  1014          - ApiKeyAuth: [ ]
  1015      delete:
  1016        tags:
  1017          - DashboardCardService
  1018        summary: delete dashboard_card
  1019        operationId: DashboardCardService_DeleteDashboardCard
  1020        parameters:
  1021          - name: id
  1022            in: path
  1023            required: true
  1024            schema:
  1025              type: integer
  1026              format: int64
  1027        responses:
  1028          200:
  1029            description: A successful response.
  1030            content:
  1031              application/json:
  1032                schema:
  1033                  type: object
  1034          '404':
  1035            $ref: '#/components/responses/HTTP-404'
  1036          '401':
  1037            $ref: '#/components/responses/HTTP-401'
  1038        security:
  1039          - ApiKeyAuth: [ ]
  1040    /v1/dashboard_card_item:
  1041      post:
  1042        tags:
  1043          - DashboardCardItemService
  1044        summary: add new dashboard_card
  1045        operationId: DashboardCardItemService_AddDashboardCardItem
  1046        requestBody:
  1047          content:
  1048            application/json:
  1049              schema:
  1050                $ref: '#/components/schemas/apiNewDashboardCardItemRequest'
  1051          required: true
  1052        responses:
  1053          200:
  1054            description: A successful response.
  1055            content:
  1056              application/json:
  1057                schema:
  1058                  $ref: '#/components/schemas/apiDashboardCardItem'
  1059          '400':
  1060            $ref: '#/components/responses/HTTP-400'
  1061          '401':
  1062            $ref: '#/components/responses/HTTP-401'
  1063          '409':
  1064            $ref: '#/components/responses/HTTP-409'
  1065        security:
  1066          - ApiKeyAuth: [ ]
  1067        parameters:
  1068          - $ref: '#/components/parameters/Accept-JSON'
  1069    /v1/dashboard_card_item/{id}:
  1070      get:
  1071        tags:
  1072          - DashboardCardItemService
  1073        summary: get dashboard_card_item by id
  1074        operationId: DashboardCardItemService_GetDashboardCardItemById
  1075        parameters:
  1076          - name: id
  1077            in: path
  1078            required: true
  1079            schema:
  1080              type: integer
  1081              format: int64
  1082        responses:
  1083          200:
  1084            description: A successful response.
  1085            content:
  1086              application/json:
  1087                schema:
  1088                  $ref: '#/components/schemas/apiDashboardCardItem'
  1089          '404':
  1090            $ref: '#/components/responses/HTTP-404'
  1091          '401':
  1092            $ref: '#/components/responses/HTTP-401'
  1093        security:
  1094          - ApiKeyAuth: [ ]
  1095      put:
  1096        tags:
  1097          - DashboardCardItemService
  1098        summary: update dashboard_card_item
  1099        operationId: DashboardCardItemService_UpdateDashboardCardItem
  1100        parameters:
  1101          - name: id
  1102            in: path
  1103            required: true
  1104            schema:
  1105              type: integer
  1106              format: int64
  1107          - $ref: '#/components/parameters/Accept-JSON'
  1108        requestBody:
  1109          content:
  1110            application/json:
  1111              schema:
  1112                type: object
  1113                required: [ title, type, weight, enabled, dashboardCardId, payload, hidden, frozen ]
  1114                properties:
  1115                  title:
  1116                    type: string
  1117                  type:
  1118                    type: string
  1119                  weight:
  1120                    type: integer
  1121                    format: int32
  1122                  enabled:
  1123                    type: boolean
  1124                  dashboardCardId:
  1125                    type: integer
  1126                    format: int64
  1127                  entityId:
  1128                    type: string
  1129                  payload:
  1130                    pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  1131                    type: string
  1132                    format: byte
  1133                  hidden:
  1134                    type: boolean
  1135                  frozen:
  1136                    type: boolean
  1137          required: true
  1138        responses:
  1139          200:
  1140            description: A successful response.
  1141            content:
  1142              application/json:
  1143                schema:
  1144                  $ref: '#/components/schemas/apiDashboardCardItem'
  1145          '400':
  1146            $ref: '#/components/responses/HTTP-400'
  1147          '401':
  1148            $ref: '#/components/responses/HTTP-401'
  1149          '409':
  1150            $ref: '#/components/responses/HTTP-409'
  1151        security:
  1152          - ApiKeyAuth: [ ]
  1153      delete:
  1154        tags:
  1155          - DashboardCardItemService
  1156        summary: delete dashboard_card_item
  1157        operationId: DashboardCardItemService_DeleteDashboardCardItem
  1158        parameters:
  1159          - name: id
  1160            in: path
  1161            required: true
  1162            schema:
  1163              type: integer
  1164              format: int64
  1165        responses:
  1166          200:
  1167            description: A successful response.
  1168            content:
  1169              application/json:
  1170                schema:
  1171                  type: object
  1172          '404':
  1173            $ref: '#/components/responses/HTTP-404'
  1174          '401':
  1175            $ref: '#/components/responses/HTTP-401'
  1176        security:
  1177          - ApiKeyAuth: [ ]
  1178    /v1/dashboard_card_items:
  1179      get:
  1180        tags:
  1181          - DashboardCardItemService
  1182        summary: get dashboard_card_item list
  1183        operationId: DashboardCardItemService_GetDashboardCardItemList
  1184        parameters:
  1185          - $ref: '#/components/parameters/listSort'
  1186          - $ref: '#/components/parameters/listPage'
  1187          - $ref: '#/components/parameters/listLimit'
  1188        responses:
  1189          200:
  1190            description: A successful response.
  1191            content:
  1192              application/json:
  1193                schema:
  1194                  $ref: '#/components/schemas/apiGetDashboardCardItemListResult'
  1195          '401':
  1196            $ref: '#/components/responses/HTTP-401'
  1197        security:
  1198          - ApiKeyAuth: [ ]
  1199    /v1/dashboard_cards:
  1200      get:
  1201        tags:
  1202          - DashboardCardService
  1203        summary: get dashboard_card list
  1204        operationId: DashboardCardService_GetDashboardCardList
  1205        parameters:
  1206          - $ref: '#/components/parameters/listSort'
  1207          - $ref: '#/components/parameters/listPage'
  1208          - $ref: '#/components/parameters/listLimit'
  1209        responses:
  1210          200:
  1211            description: A successful response.
  1212            content:
  1213              application/json:
  1214                schema:
  1215                  $ref: '#/components/schemas/apiGetDashboardCardListResult'
  1216          '401':
  1217            $ref: '#/components/responses/HTTP-401'
  1218        security:
  1219          - ApiKeyAuth: [ ]
  1220    /v1/dashboard_tab:
  1221      post:
  1222        tags:
  1223          - DashboardTabService
  1224        summary: add new dashboard_tab
  1225        operationId: DashboardTabService_AddDashboardTab
  1226        requestBody:
  1227          content:
  1228            application/json:
  1229              schema:
  1230                $ref: '#/components/schemas/apiNewDashboardTabRequest'
  1231          required: true
  1232        responses:
  1233          200:
  1234            description: A successful response.
  1235            content:
  1236              application/json:
  1237                schema:
  1238                  $ref: '#/components/schemas/apiDashboardTab'
  1239          '400':
  1240            $ref: '#/components/responses/HTTP-400'
  1241          '401':
  1242            $ref: '#/components/responses/HTTP-401'
  1243          '409':
  1244            $ref: '#/components/responses/HTTP-409'
  1245        security:
  1246          - ApiKeyAuth: [ ]
  1247        parameters:
  1248          - $ref: '#/components/parameters/Accept-JSON'
  1249    /v1/dashboard_tab/{id}:
  1250      get:
  1251        tags:
  1252          - DashboardTabService
  1253        summary: get dashboard_tab by id
  1254        operationId: DashboardTabService_GetDashboardTabById
  1255        parameters:
  1256          - name: id
  1257            in: path
  1258            required: true
  1259            schema:
  1260              type: integer
  1261              format: int64
  1262        responses:
  1263          200:
  1264            description: A successful response.
  1265            content:
  1266              application/json:
  1267                schema:
  1268                  $ref: '#/components/schemas/apiDashboardTab'
  1269          '404':
  1270            $ref: '#/components/responses/HTTP-404'
  1271          '401':
  1272            $ref: '#/components/responses/HTTP-401'
  1273        security:
  1274          - ApiKeyAuth: [ ]
  1275      put:
  1276        tags:
  1277          - DashboardTabService
  1278        summary: update dashboard
  1279        operationId: DashboardTabService_UpdateDashboardTab
  1280        parameters:
  1281          - name: id
  1282            in: path
  1283            required: true
  1284            schema:
  1285              type: integer
  1286              format: int64
  1287          - $ref: '#/components/parameters/Accept-JSON'
  1288        requestBody:
  1289          content:
  1290            application/json:
  1291              schema:
  1292                type: object
  1293                required: [ name, icon, columnWidth, gap, enabled, weight, dashboardId, payload ]
  1294                properties:
  1295                  name:
  1296                    type: string
  1297                  columnWidth:
  1298                    type: integer
  1299                    format: int32
  1300                  gap:
  1301                    type: boolean
  1302                  background:
  1303                    type: string
  1304                  icon:
  1305                    type: string
  1306                  enabled:
  1307                    type: boolean
  1308                  weight:
  1309                    type: integer
  1310                    format: int32
  1311                  dashboardId:
  1312                    type: integer
  1313                    format: int64
  1314                  payload:
  1315                    pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  1316                    type: string
  1317                    format: byte
  1318          required: true
  1319        responses:
  1320          200:
  1321            description: A successful response.
  1322            content:
  1323              application/json:
  1324                schema:
  1325                  $ref: '#/components/schemas/apiDashboardTab'
  1326          '400':
  1327            $ref: '#/components/responses/HTTP-400'
  1328          '401':
  1329            $ref: '#/components/responses/HTTP-401'
  1330          '409':
  1331            $ref: '#/components/responses/HTTP-409'
  1332        security:
  1333          - ApiKeyAuth: [ ]
  1334      delete:
  1335        tags:
  1336          - DashboardTabService
  1337        summary: delete dashboard_tab
  1338        operationId: DashboardTabService_DeleteDashboardTab
  1339        parameters:
  1340          - name: id
  1341            in: path
  1342            required: true
  1343            schema:
  1344              type: integer
  1345              format: int64
  1346        responses:
  1347          200:
  1348            description: A successful response.
  1349            content:
  1350              application/json:
  1351                schema:
  1352                  type: object
  1353          '404':
  1354            $ref: '#/components/responses/HTTP-404'
  1355          '401':
  1356            $ref: '#/components/responses/HTTP-401'
  1357        security:
  1358          - ApiKeyAuth: [ ]
  1359    /v1/dashboard_tabs:
  1360      get:
  1361        tags:
  1362          - DashboardTabService
  1363        summary: get dashboard_tab list
  1364        operationId: DashboardTabService_GetDashboardTabList
  1365        parameters:
  1366          - $ref: '#/components/parameters/listSort'
  1367          - $ref: '#/components/parameters/listPage'
  1368          - $ref: '#/components/parameters/listLimit'
  1369        responses:
  1370          200:
  1371            description: A successful response.
  1372            content:
  1373              application/json:
  1374                schema:
  1375                  $ref: '#/components/schemas/apiGetDashboardTabListResult'
  1376          '401':
  1377            $ref: '#/components/responses/HTTP-401'
  1378        security:
  1379          - ApiKeyAuth: [ ]
  1380    /v1/dashboard_tabs/import:
  1381      post:
  1382        tags:
  1383          - DashboardTabService
  1384        summary: import dashboard_tab
  1385        operationId: DashboardTabService_ImportDashboardTab
  1386        requestBody:
  1387          content:
  1388            application/json:
  1389              schema:
  1390                $ref: '#/components/schemas/apiDashboardTab'
  1391          required: true
  1392        responses:
  1393          200:
  1394            description: A successful response.
  1395            content:
  1396              application/json:
  1397                schema:
  1398                  $ref: '#/components/schemas/apiDashboardTab'
  1399          '400':
  1400            $ref: '#/components/responses/HTTP-400'
  1401          '401':
  1402            $ref: '#/components/responses/HTTP-401'
  1403          '409':
  1404            $ref: '#/components/responses/HTTP-409'
  1405        security:
  1406          - ApiKeyAuth: [ ]
  1407        parameters:
  1408          - $ref: '#/components/parameters/Accept-JSON'
  1409    /v1/dashboards:
  1410      get:
  1411        tags:
  1412          - DashboardService
  1413        summary: get dashboard list
  1414        operationId: DashboardService_GetDashboardList
  1415        parameters:
  1416          - $ref: '#/components/parameters/listSort'
  1417          - $ref: '#/components/parameters/listPage'
  1418          - $ref: '#/components/parameters/listLimit'
  1419        responses:
  1420          200:
  1421            description: A successful response.
  1422            content:
  1423              application/json:
  1424                schema:
  1425                  $ref: '#/components/schemas/apiGetDashboardListResult'
  1426          '401':
  1427            $ref: '#/components/responses/HTTP-401'
  1428        security:
  1429          - ApiKeyAuth: [ ]
  1430    /v1/dashboards/import:
  1431      post:
  1432        tags:
  1433          - DashboardService
  1434        summary: import dashboard
  1435        operationId: DashboardService_ImportDashboard
  1436        requestBody:
  1437          content:
  1438            application/json:
  1439              schema:
  1440                $ref: '#/components/schemas/apiDashboard'
  1441          required: true
  1442        responses:
  1443          200:
  1444            description: A successful response.
  1445            content:
  1446              application/json:
  1447                schema:
  1448                  $ref: '#/components/schemas/apiDashboard'
  1449          '400':
  1450            $ref: '#/components/responses/HTTP-400'
  1451          '401':
  1452            $ref: '#/components/responses/HTTP-401'
  1453          '409':
  1454            $ref: '#/components/responses/HTTP-409'
  1455        security:
  1456          - ApiKeyAuth: [ ]
  1457        parameters:
  1458          - $ref: '#/components/parameters/Accept-JSON'
  1459    /v1/dashboards/search:
  1460      get:
  1461        tags:
  1462          - DashboardService
  1463        summary: search area
  1464        operationId: DashboardService_SearchDashboard
  1465        parameters:
  1466          - $ref: '#/components/parameters/searchQuery'
  1467          - $ref: '#/components/parameters/searchOffset'
  1468          - $ref: '#/components/parameters/searchLimit'
  1469        responses:
  1470          200:
  1471            description: A successful response.
  1472            content:
  1473              application/json:
  1474                schema:
  1475                  $ref: '#/components/schemas/apiSearchDashboardResult'
  1476          '401':
  1477            $ref: '#/components/responses/HTTP-401'
  1478        security:
  1479          - ApiKeyAuth: [ ]
  1480    /v1/developer_tools/automation/call_action:
  1481      post:
  1482        tags:
  1483          - DeveloperToolsService
  1484        summary: call action
  1485        operationId: DeveloperToolsService_CallAction
  1486        requestBody:
  1487          content:
  1488            application/json:
  1489              schema:
  1490                $ref: '#/components/schemas/apiAutomationRequest'
  1491          required: true
  1492        responses:
  1493          200:
  1494            description: A successful response.
  1495            content:
  1496              application/json:
  1497                schema:
  1498                  type: object
  1499          '401':
  1500            $ref: '#/components/responses/HTTP-401'
  1501        security:
  1502          - ApiKeyAuth: [ ]
  1503        parameters:
  1504          - $ref: '#/components/parameters/Accept-JSON'
  1505    /v1/developer_tools/automation/call_trigger:
  1506      post:
  1507        tags:
  1508          - DeveloperToolsService
  1509        summary: call trigger
  1510        operationId: DeveloperToolsService_CallTrigger
  1511        requestBody:
  1512          content:
  1513            application/json:
  1514              schema:
  1515                $ref: '#/components/schemas/apiAutomationRequest'
  1516          required: true
  1517        responses:
  1518          200:
  1519            description: A successful response.
  1520            content:
  1521              application/json:
  1522                schema:
  1523                  type: object
  1524          '400':
  1525            $ref: '#/components/responses/HTTP-400'
  1526          '401':
  1527            $ref: '#/components/responses/HTTP-401'
  1528          '409':
  1529            $ref: '#/components/responses/HTTP-409'
  1530        security:
  1531          - ApiKeyAuth: [ ]
  1532        parameters:
  1533          - $ref: '#/components/parameters/Accept-JSON'
  1534    /v1/developer_tools/bus/state:
  1535      get:
  1536        tags:
  1537          - DeveloperToolsService
  1538        summary: bas state
  1539        operationId: DeveloperToolsService_GetEventBusStateList
  1540        parameters:
  1541          - $ref: '#/components/parameters/listSort'
  1542          - $ref: '#/components/parameters/listPage'
  1543          - $ref: '#/components/parameters/listLimit'
  1544        responses:
  1545          200:
  1546            description: A successful response.
  1547            content:
  1548              application/json:
  1549                schema:
  1550                  $ref: '#/components/schemas/apiEventBusStateListResult'
  1551          '401':
  1552            $ref: '#/components/responses/HTTP-401'
  1553        security:
  1554          - ApiKeyAuth: [ ]
  1555    /v1/developer_tools/entity/reload:
  1556      post:
  1557        tags:
  1558          - DeveloperToolsService
  1559        summary: reload entity
  1560        operationId: DeveloperToolsService_ReloadEntity
  1561        requestBody:
  1562          content:
  1563            application/json:
  1564              schema:
  1565                $ref: '#/components/schemas/apiReloadRequest'
  1566          required: true
  1567        responses:
  1568          200:
  1569            description: A successful response.
  1570            content:
  1571              application/json:
  1572                schema:
  1573                  type: object
  1574          '400':
  1575            $ref: '#/components/responses/HTTP-400'
  1576          '401':
  1577            $ref: '#/components/responses/HTTP-401'
  1578          '409':
  1579            $ref: '#/components/responses/HTTP-409'
  1580        security:
  1581          - ApiKeyAuth: [ ]
  1582        parameters:
  1583          - $ref: '#/components/parameters/Accept-JSON'
  1584    /v1/developer_tools/entity/set_state:
  1585      post:
  1586        tags:
  1587          - DeveloperToolsService
  1588        summary: entity set state
  1589        operationId: DeveloperToolsService_EntitySetState
  1590        requestBody:
  1591          content:
  1592            application/json:
  1593              schema:
  1594                $ref: '#/components/schemas/apiEntityRequest'
  1595          required: true
  1596        responses:
  1597          200:
  1598            description: A successful response.
  1599            content:
  1600              application/json:
  1601                schema:
  1602                  type: object
  1603          '400':
  1604            $ref: '#/components/responses/HTTP-400'
  1605          '401':
  1606            $ref: '#/components/responses/HTTP-401'
  1607          '409':
  1608            $ref: '#/components/responses/HTTP-409'
  1609        security:
  1610          - ApiKeyAuth: [ ]
  1611        parameters:
  1612          - $ref: '#/components/parameters/Accept-JSON'
  1613    /v1/entities:
  1614      get:
  1615        tags:
  1616          - EntityService
  1617        summary: get entity list
  1618        operationId: EntityService_GetEntityList
  1619        parameters:
  1620          - $ref: '#/components/parameters/listSort'
  1621          - $ref: '#/components/parameters/listPage'
  1622          - $ref: '#/components/parameters/listLimit'
  1623          - $ref: '#/components/parameters/query'
  1624          - $ref: '#/components/parameters/tags'
  1625          - name: plugin
  1626            in: query
  1627            schema:
  1628              type: string
  1629          - name: area
  1630            in: query
  1631            schema:
  1632              type: integer
  1633              format: int64
  1634        responses:
  1635          200:
  1636            description: A successful response.
  1637            content:
  1638              application/json:
  1639                schema:
  1640                  $ref: '#/components/schemas/apiGetEntityListResult'
  1641          '401':
  1642            $ref: '#/components/responses/HTTP-401'
  1643        security:
  1644          - ApiKeyAuth: [ ]
  1645    /v1/entities/import:
  1646      post:
  1647        tags:
  1648          - EntityService
  1649        summary: import entity
  1650        operationId: EntityService_ImportEntity
  1651        requestBody:
  1652          content:
  1653            application/json:
  1654              schema:
  1655                $ref: '#/components/schemas/apiEntity'
  1656          required: true
  1657        responses:
  1658          200:
  1659            description: A successful response.
  1660            content:
  1661              application/json:
  1662                schema:
  1663                  type: object
  1664          '400':
  1665            $ref: '#/components/responses/HTTP-400'
  1666          '401':
  1667            $ref: '#/components/responses/HTTP-401'
  1668          '409':
  1669            $ref: '#/components/responses/HTTP-409'
  1670        security:
  1671          - ApiKeyAuth: [ ]
  1672        parameters:
  1673          - $ref: '#/components/parameters/Accept-JSON'
  1674    /v1/entity:
  1675      post:
  1676        tags:
  1677          - EntityService
  1678        summary: add new entity
  1679        operationId: EntityService_AddEntity
  1680        requestBody:
  1681          content:
  1682            application/json:
  1683              schema:
  1684                $ref: '#/components/schemas/apiNewEntityRequest'
  1685          required: true
  1686        responses:
  1687          200:
  1688            description: A successful response.
  1689            content:
  1690              application/json:
  1691                schema:
  1692                  $ref: '#/components/schemas/apiEntity'
  1693          '400':
  1694            $ref: '#/components/responses/HTTP-400'
  1695          '401':
  1696            $ref: '#/components/responses/HTTP-401'
  1697          '409':
  1698            $ref: '#/components/responses/HTTP-409'
  1699        security:
  1700          - ApiKeyAuth: [ ]
  1701        parameters:
  1702          - $ref: '#/components/parameters/Accept-JSON'
  1703    /v1/entity/search:
  1704      get:
  1705        tags:
  1706          - EntityService
  1707        summary: search entity
  1708        operationId: EntityService_SearchEntity
  1709        parameters:
  1710          - $ref: '#/components/parameters/searchQuery'
  1711          - $ref: '#/components/parameters/searchOffset'
  1712          - $ref: '#/components/parameters/searchLimit'
  1713        responses:
  1714          200:
  1715            description: A successful response.
  1716            content:
  1717              application/json:
  1718                schema:
  1719                  $ref: '#/components/schemas/apiSearchEntityResult'
  1720          '401':
  1721            $ref: '#/components/responses/HTTP-401'
  1722        security:
  1723          - ApiKeyAuth: [ ]
  1724    /v1/entity/{id}:
  1725      get:
  1726        tags:
  1727          - EntityService
  1728        summary: get entity
  1729        operationId: EntityService_GetEntity
  1730        parameters:
  1731          - name: id
  1732            in: path
  1733            required: true
  1734            schema:
  1735              type: string
  1736        responses:
  1737          200:
  1738            description: A successful response.
  1739            content:
  1740              application/json:
  1741                schema:
  1742                  $ref: '#/components/schemas/apiEntity'
  1743          '404':
  1744            $ref: '#/components/responses/HTTP-404'
  1745          '401':
  1746            $ref: '#/components/responses/HTTP-401'
  1747        security:
  1748          - ApiKeyAuth: [ ]
  1749      put:
  1750        tags:
  1751          - EntityService
  1752        summary: update entity
  1753        operationId: EntityService_UpdateEntity
  1754        parameters:
  1755          - name: id
  1756            in: path
  1757            required: true
  1758            schema:
  1759              type: string
  1760          - $ref: '#/components/parameters/Accept-JSON'
  1761        requestBody:
  1762          content:
  1763            application/json:
  1764              schema:
  1765                type: object
  1766                required: [ id, description, pluginName, autoLoad, restoreState, attributes, settings,
  1767                            metrics, actions, states, scriptIds, tags ]
  1768                properties:
  1769                  id:
  1770                    type: string
  1771                  name:
  1772                    type: string
  1773                  pluginName:
  1774                    type: string
  1775                  description:
  1776                    type: string
  1777                  areaId:
  1778                    type: integer
  1779                    format: int64
  1780                  icon:
  1781                    type: string
  1782                  imageId:
  1783                    type: integer
  1784                    format: int64
  1785                  autoLoad:
  1786                    type: boolean
  1787                  restoreState:
  1788                    type: boolean
  1789                  parentId:
  1790                    type: string
  1791                  actions:
  1792                    type: array
  1793                    items:
  1794                      $ref: '#/components/schemas/apiUpdateEntityRequestAction'
  1795                  states:
  1796                    type: array
  1797                    items:
  1798                      $ref: '#/components/schemas/apiUpdateEntityRequestState'
  1799                  attributes:
  1800                    type: object
  1801                    additionalProperties:
  1802                      $ref: '#/components/schemas/apiAttribute'
  1803                  settings:
  1804                    type: object
  1805                    additionalProperties:
  1806                      $ref: '#/components/schemas/apiAttribute'
  1807                  scriptIds:
  1808                    type: array
  1809                    items:
  1810                      type: integer
  1811                      format: int64
  1812                  metrics:
  1813                    type: array
  1814                    items:
  1815                      $ref: '#/components/schemas/apiMetric'
  1816                  tags:
  1817                    type: array
  1818                    items:
  1819                      type: string
  1820          required: true
  1821        responses:
  1822          200:
  1823            description: A successful response.
  1824            content:
  1825              application/json:
  1826                schema:
  1827                  $ref: '#/components/schemas/apiEntity'
  1828          '400':
  1829            $ref: '#/components/responses/HTTP-400'
  1830          '401':
  1831            $ref: '#/components/responses/HTTP-401'
  1832          '409':
  1833            $ref: '#/components/responses/HTTP-409'
  1834        security:
  1835          - ApiKeyAuth: [ ]
  1836      delete:
  1837        tags:
  1838          - EntityService
  1839        summary: delete entity
  1840        operationId: EntityService_DeleteEntity
  1841        parameters:
  1842          - name: id
  1843            in: path
  1844            required: true
  1845            schema:
  1846              type: string
  1847        responses:
  1848          200:
  1849            description: A successful response.
  1850            content:
  1851              application/json:
  1852                schema:
  1853                  type: object
  1854          '404':
  1855            $ref: '#/components/responses/HTTP-404'
  1856          '401':
  1857            $ref: '#/components/responses/HTTP-401'
  1858        security:
  1859          - ApiKeyAuth: [ ]
  1860    /v1/entity/{id}/disable:
  1861      post:
  1862        tags:
  1863          - EntityService
  1864        summary: disable entity
  1865        operationId: EntityService_DisabledEntity
  1866        parameters:
  1867          - name: id
  1868            in: path
  1869            required: true
  1870            schema:
  1871              type: string
  1872        responses:
  1873          200:
  1874            description: A successful response.
  1875            content:
  1876              application/json:
  1877                schema:
  1878                  type: object
  1879          '400':
  1880            $ref: '#/components/responses/HTTP-400'
  1881          '401':
  1882            $ref: '#/components/responses/HTTP-401'
  1883          '409':
  1884            $ref: '#/components/responses/HTTP-409'
  1885        security:
  1886          - ApiKeyAuth: [ ]
  1887    /v1/entity/{id}/enable:
  1888      post:
  1889        tags:
  1890          - EntityService
  1891        summary: enabled entity
  1892        operationId: EntityService_EnabledEntity
  1893        parameters:
  1894          - name: id
  1895            in: path
  1896            required: true
  1897            schema:
  1898              type: string
  1899        responses:
  1900          200:
  1901            description: A successful response.
  1902            content:
  1903              application/json:
  1904                schema:
  1905                  type: object
  1906          '400':
  1907            $ref: '#/components/responses/HTTP-400'
  1908          '401':
  1909            $ref: '#/components/responses/HTTP-401'
  1910          '409':
  1911            $ref: '#/components/responses/HTTP-409'
  1912        security:
  1913          - ApiKeyAuth: [ ]
  1914    /v1/entities/statistic:
  1915      get:
  1916        tags:
  1917          - EntityService
  1918        summary: get statistic
  1919        operationId: EntityService_GetStatistic
  1920        responses:
  1921          200:
  1922            description: A successful response.
  1923            content:
  1924              application/json:
  1925                schema:
  1926                  $ref: '#/components/schemas/apiStatistics'
  1927          '401':
  1928            $ref: '#/components/responses/HTTP-401'
  1929        security:
  1930          - ApiKeyAuth: [ ]
  1931    /v1/entity_storage:
  1932      get:
  1933        tags:
  1934          - EntityStorageService
  1935        operationId: EntityStorageService_GetEntityStorageList
  1936        parameters:
  1937          - $ref: '#/components/parameters/listSort'
  1938          - $ref: '#/components/parameters/listPage'
  1939          - $ref: '#/components/parameters/listLimit'
  1940          - $ref: '#/components/parameters/startDate'
  1941          - $ref: '#/components/parameters/endDate'
  1942          - $ref: '#/components/parameters/entityIds'
  1943        responses:
  1944          200:
  1945            description: A successful response.
  1946            content:
  1947              application/json:
  1948                schema:
  1949                  $ref: '#/components/schemas/apiGetEntityStorageResult'
  1950          '401':
  1951            $ref: '#/components/responses/HTTP-401'
  1952        security:
  1953          - ApiKeyAuth: [ ]
  1954    /v1/image:
  1955      post:
  1956        tags:
  1957          - ImageService
  1958        summary: add new image
  1959        operationId: ImageService_AddImage
  1960        requestBody:
  1961          content:
  1962            application/json:
  1963              schema:
  1964                $ref: '#/components/schemas/apiNewImageRequest'
  1965          required: true
  1966        responses:
  1967          200:
  1968            description: A successful response.
  1969            content:
  1970              application/json:
  1971                schema:
  1972                  $ref: '#/components/schemas/apiImage'
  1973          '400':
  1974            $ref: '#/components/responses/HTTP-400'
  1975          '401':
  1976            $ref: '#/components/responses/HTTP-401'
  1977          '409':
  1978            $ref: '#/components/responses/HTTP-409'
  1979        security:
  1980          - ApiKeyAuth: [ ]
  1981        parameters:
  1982          - $ref: '#/components/parameters/Accept-JSON'
  1983    /v1/image/upload:
  1984      post:
  1985        tags:
  1986          - ImageService
  1987        summary: upload image
  1988        operationId: ImageService_UploadImage
  1989        requestBody:
  1990          content:
  1991            multipart/form-data:
  1992              schema:
  1993                type: object
  1994                properties:
  1995                  filename:
  1996                    type: array
  1997                    items:
  1998                      type: string
  1999                      format: binary
  2000          required: true
  2001        responses:
  2002          200:
  2003            description: A successful response.
  2004            content:
  2005              application/json:
  2006                schema:
  2007                  $ref: '#/components/schemas/apiImage'
  2008          '400':
  2009            $ref: '#/components/responses/HTTP-400'
  2010          '401':
  2011            $ref: '#/components/responses/HTTP-401'
  2012          '409':
  2013            $ref: '#/components/responses/HTTP-409'
  2014        security:
  2015          - ApiKeyAuth: [ ]
  2016        parameters:
  2017          - $ref: '#/components/parameters/Accept-JSON'
  2018    /v1/image/{id}:
  2019      get:
  2020        tags:
  2021          - ImageService
  2022        summary: get image by id
  2023        operationId: ImageService_GetImageById
  2024        parameters:
  2025          - name: id
  2026            in: path
  2027            required: true
  2028            schema:
  2029              type: integer
  2030              format: int64
  2031        responses:
  2032          200:
  2033            description: A successful response.
  2034            content:
  2035              application/json:
  2036                schema:
  2037                  $ref: '#/components/schemas/apiImage'
  2038          '404':
  2039            $ref: '#/components/responses/HTTP-404'
  2040          '401':
  2041            $ref: '#/components/responses/HTTP-401'
  2042        security:
  2043          - ApiKeyAuth: [ ]
  2044      put:
  2045        tags:
  2046          - ImageService
  2047        summary: update image
  2048        operationId: ImageService_UpdateImageById
  2049        parameters:
  2050          - name: id
  2051            in: path
  2052            required: true
  2053            schema:
  2054              type: integer
  2055              format: int64
  2056          - $ref: '#/components/parameters/Accept-JSON'
  2057        requestBody:
  2058          content:
  2059            application/json:
  2060              schema:
  2061                type: object
  2062                required: [ thumb, image, mimeType, title, size, name ]
  2063                properties:
  2064                  thumb:
  2065                    type: string
  2066                  image:
  2067                    type: string
  2068                  mimeType:
  2069                    type: string
  2070                  title:
  2071                    type: string
  2072                  size:
  2073                    type: integer
  2074                    format: int64
  2075                  name:
  2076                    type: string
  2077          required: true
  2078        responses:
  2079          200:
  2080            description: A successful response.
  2081            content:
  2082              application/json:
  2083                schema:
  2084                  $ref: '#/components/schemas/apiImage'
  2085          '400':
  2086            $ref: '#/components/responses/HTTP-400'
  2087          '401':
  2088            $ref: '#/components/responses/HTTP-401'
  2089          '409':
  2090            $ref: '#/components/responses/HTTP-409'
  2091        security:
  2092          - ApiKeyAuth: [ ]
  2093      delete:
  2094        tags:
  2095          - ImageService
  2096        summary: delete image by id
  2097        operationId: ImageService_DeleteImageById
  2098        parameters:
  2099          - name: id
  2100            in: path
  2101            required: true
  2102            schema:
  2103              type: integer
  2104              format: int64
  2105        responses:
  2106          200:
  2107            description: A successful response.
  2108            content:
  2109              application/json:
  2110                schema:
  2111                  type: object
  2112          '404':
  2113            $ref: '#/components/responses/HTTP-404'
  2114          '401':
  2115            $ref: '#/components/responses/HTTP-401'
  2116        security:
  2117          - ApiKeyAuth: [ ]
  2118    /v1/images:
  2119      get:
  2120        tags:
  2121          - ImageService
  2122        summary: get image list
  2123        operationId: ImageService_GetImageList
  2124        parameters:
  2125          - $ref: '#/components/parameters/listSort'
  2126          - $ref: '#/components/parameters/listPage'
  2127          - $ref: '#/components/parameters/listLimit'
  2128        responses:
  2129          200:
  2130            description: A successful response.
  2131            content:
  2132              application/json:
  2133                schema:
  2134                  $ref: '#/components/schemas/apiGetImageListResult'
  2135          '401':
  2136            $ref: '#/components/responses/HTTP-401'
  2137        security:
  2138          - ApiKeyAuth: [ ]
  2139    /v1/images/filter_list:
  2140      get:
  2141        tags:
  2142          - ImageService
  2143        summary: get image filter list
  2144        operationId: ImageService_GetImageFilterList
  2145        responses:
  2146          200:
  2147            description: A successful response.
  2148            content:
  2149              application/json:
  2150                schema:
  2151                  $ref: '#/components/schemas/apiGetImageFilterListResult'
  2152          '401':
  2153            $ref: '#/components/responses/HTTP-401'
  2154        security:
  2155          - ApiKeyAuth: [ ]
  2156    /v1/images/filtered:
  2157      get:
  2158        tags:
  2159          - ImageService
  2160        summary: get image list by date
  2161        operationId: ImageService_GetImageListByDate
  2162        parameters:
  2163          - name: filter
  2164            in: query
  2165            schema:
  2166              type: string
  2167        responses:
  2168          200:
  2169            description: A successful response.
  2170            content:
  2171              application/json:
  2172                schema:
  2173                  $ref: '#/components/schemas/apiGetImageListByDateResult'
  2174          '401':
  2175            $ref: '#/components/responses/HTTP-401'
  2176        security:
  2177          - ApiKeGetLogListyAuth: [ ]
  2178    /v1/interact/entity/call_action:
  2179      post:
  2180        tags:
  2181          - InteractService
  2182        summary: entity call action
  2183        operationId: InteractService_EntityCallAction
  2184        requestBody:
  2185          content:
  2186            applGetLogListication/json:
  2187              schema:
  2188                $ref: '#/components/schemas/apiEntityCallActionRequest'
  2189          required: true
  2190        responses:
  2191          200:
  2192            description: A successful response.
  2193            content:
  2194              application/json:
  2195                schema:
  2196                  type: object
  2197          '400':
  2198            $ref: '#/components/responses/HTTP-400'
  2199          '401':
  2200            $ref: '#/components/responses/HTTP-401'
  2201          '409':
  2202            $ref: '#/components/responses/HTTP-409'
  2203        security:
  2204          - ApiKeyAuth: [ ]
  2205        parameters:
  2206          - $ref: '#/components/parameters/Accept-JSON'
  2207    /v1/logs:
  2208      get:
  2209        tags:
  2210          - LogService
  2211        operationId: LogService_GetLogList
  2212        parameters:
  2213          - $ref: '#/components/parameters/listSort'
  2214          - $ref: '#/components/parameters/listPage'
  2215          - $ref: '#/components/parameters/listLimit'
  2216          - $ref: '#/components/parameters/startDate'
  2217          - $ref: '#/components/parameters/endDate'
  2218          - $ref: '#/components/parameters/query'
  2219        responses:
  2220          200:
  2221            description: A successful response.
  2222            content:
  2223              application/json:
  2224                schema:
  2225                  $ref: '#/components/schemas/apiGetLogListResult'
  2226          '401':
  2227            $ref: '#/components/responses/HTTP-401'
  2228        security:
  2229          - ApiKeyAuth: [ ]
  2230    /v1/message_delivery:
  2231      get:
  2232        tags:
  2233          - MessageDeliveryService
  2234        summary: get list
  2235        operationId: MessageDeliveryService_GetMessageDeliveryList
  2236        parameters:
  2237          - $ref: '#/components/parameters/listSort'
  2238          - $ref: '#/components/parameters/listPage'
  2239          - $ref: '#/components/parameters/listLimit'
  2240          - $ref: '#/components/parameters/startDate'
  2241          - $ref: '#/components/parameters/endDate'
  2242          - name: messageType
  2243            in: query
  2244            schema:
  2245              type: string
  2246        responses:
  2247          200:
  2248            description: A successful response.
  2249            content:
  2250              application/json:
  2251                schema:
  2252                  $ref: '#/components/schemas/apiGetMessageDeliveryListResult'
  2253          '401':
  2254            $ref: '#/components/responses/HTTP-401'
  2255        security:
  2256          - ApiKeyAuth: [ ]
  2257    /v1/metric:
  2258      get:
  2259        tags:
  2260          - MetricService
  2261        summary: get metric
  2262        operationId: MetricService_GetMetric
  2263        parameters:
  2264          - $ref: '#/components/parameters/metricId'
  2265          - $ref: '#/components/parameters/metricRange'
  2266          - $ref: '#/components/parameters/startDate'
  2267          - $ref: '#/components/parameters/endDate'
  2268        responses:
  2269          200:
  2270            description: A successful response.
  2271            content:
  2272              application/json:
  2273                schema:
  2274                  $ref: '#/components/schemas/apiMetric'
  2275          '401':
  2276            $ref: '#/components/responses/HTTP-401'
  2277        security:
  2278          - ApiKeyAuth: [ ]
  2279    /v1/mqtt/client/{id}:
  2280      get:
  2281        tags:
  2282          - MqttService
  2283        summary: get client by id
  2284        operationId: MqttService_GetClientById
  2285        parameters:
  2286          - name: id
  2287            in: path
  2288            required: true
  2289            schema:
  2290              type: string
  2291        responses:
  2292          200:
  2293            description: A successful response.
  2294            content:
  2295              application/json:
  2296                schema:
  2297                  $ref: '#/components/schemas/apiClient'
  2298          '404':
  2299            $ref: '#/components/responses/HTTP-404'
  2300          '401':
  2301            $ref: '#/components/responses/HTTP-401'
  2302        security:
  2303          - ApiKeyAuth: [ ]
  2304    /v1/mqtt/clients:
  2305      get:
  2306        tags:
  2307          - MqttService
  2308        summary: get client list
  2309        operationId: MqttService_GetClientList
  2310        parameters:
  2311          - $ref: '#/components/parameters/listSort'
  2312          - $ref: '#/components/parameters/listPage'
  2313          - $ref: '#/components/parameters/listLimit'
  2314        responses:
  2315          200:
  2316            description: A successful response.
  2317            content:
  2318              application/json:
  2319                schema:
  2320                  $ref: '#/components/schemas/apiGetClientListResult'
  2321          '401':
  2322            $ref: '#/components/responses/HTTP-401'
  2323        security:
  2324          - ApiKeyAuth: [ ]
  2325    /v1/mqtt/subscriptions:
  2326      get:
  2327        tags:
  2328          - MqttService
  2329        summary: get subscription list
  2330        operationId: MqttService_GetSubscriptionList
  2331        parameters:
  2332          - $ref: '#/components/parameters/listSort'
  2333          - $ref: '#/components/parameters/listPage'
  2334          - $ref: '#/components/parameters/listLimit'
  2335          - name: clientId
  2336            in: query
  2337            schema:
  2338              type: string
  2339        responses:
  2340          200:
  2341            description: A successful response.
  2342            content:
  2343              application/json:
  2344                schema:
  2345                  $ref: '#/components/schemas/apiGetSubscriptionListResult'
  2346          '401':
  2347            $ref: '#/components/responses/HTTP-401'
  2348        security:
  2349          - ApiKeyAuth: [ ]
  2350    /v1/password_reset:
  2351      post:
  2352        tags:
  2353          - AuthService
  2354        summary: sign out user
  2355        operationId: AuthService_PasswordReset
  2356        requestBody:
  2357          content:
  2358            application/json:
  2359              schema:
  2360                $ref: '#/components/schemas/apiPasswordResetRequest'
  2361          required: true
  2362        responses:
  2363          200:
  2364            description: A successful response.
  2365            content:
  2366              application/json:
  2367                schema:
  2368                  type: object
  2369          '400':
  2370            $ref: '#/components/responses/HTTP-400'
  2371          '401':
  2372            $ref: '#/components/responses/HTTP-401'
  2373          '409':
  2374            $ref: '#/components/responses/HTTP-409'
  2375        parameters:
  2376          - $ref: '#/components/parameters/Accept-JSON'
  2377    /v1/plugin/{name}:
  2378      get:
  2379        tags:
  2380          - PluginService
  2381        summary: get plugin
  2382        operationId: PluginService_GetPlugin
  2383        parameters:
  2384          - name: name
  2385            in: path
  2386            required: true
  2387            schema:
  2388              type: string
  2389        responses:
  2390          200:
  2391            description: A successful response.
  2392            content:
  2393              application/json:
  2394                schema:
  2395                  $ref: '#/components/schemas/apiPlugin'
  2396          '404':
  2397            $ref: '#/components/responses/HTTP-404'
  2398          '401':
  2399            $ref: '#/components/responses/HTTP-401'
  2400        security:
  2401          - ApiKeyAuth: [ ]
  2402    /v1/plugin/{name}/disable:
  2403      post:
  2404        tags:
  2405          - PluginService
  2406        summary: disable plugin
  2407        operationId: PluginService_DisablePlugin
  2408        parameters:
  2409          - name: name
  2410            in: path
  2411            required: true
  2412            schema:
  2413              type: string
  2414        responses:
  2415          200:
  2416            description: A successful response.
  2417            content:
  2418              application/json:
  2419                schema:
  2420                  $ref: '#/components/schemas/apiDisablePluginResult'
  2421          '400':
  2422            $ref: '#/components/responses/HTTP-400'
  2423          '401':
  2424            $ref: '#/components/responses/HTTP-401'
  2425          '409':
  2426            $ref: '#/components/responses/HTTP-409'
  2427        security:
  2428          - ApiKeyAuth: [ ]
  2429    /v1/plugin/{name}/enable:
  2430      post:
  2431        tags:
  2432          - PluginService
  2433        summary: enable plugin
  2434        operationId: PluginService_EnablePlugin
  2435        parameters:
  2436          - name: name
  2437            in: path
  2438            required: true
  2439            schema:
  2440              type: string
  2441        responses:
  2442          200:
  2443            description: A successful response.
  2444            content:
  2445              application/json:
  2446                schema:
  2447                  $ref: '#/components/schemas/apiEnablePluginResult'
  2448          '400':
  2449            $ref: '#/components/responses/HTTP-400'
  2450          '401':
  2451            $ref: '#/components/responses/HTTP-401'
  2452          '409':
  2453            $ref: '#/components/responses/HTTP-409'
  2454        security:
  2455          - ApiKeyAuth: [ ]
  2456    /v1/plugin/{name}/settings:
  2457      put:
  2458        tags:
  2459          - PluginService
  2460        summary: update plugin settings
  2461        operationId: PluginService_UpdatePluginSettings
  2462        parameters:
  2463          - name: name
  2464            in: path
  2465            required: true
  2466            schema:
  2467              type: string
  2468          - $ref: '#/components/parameters/Accept-JSON'
  2469        requestBody:
  2470          content:
  2471            application/json:
  2472              schema:
  2473                type: object
  2474                required: [ settings ]
  2475                properties:
  2476                  settings:
  2477                    type: object
  2478                    additionalProperties:
  2479                      $ref: '#/components/schemas/apiAttribute'
  2480          required: true
  2481        responses:
  2482          200:
  2483            description: A successful response.
  2484            content:
  2485              application/json:
  2486                schema:
  2487                  type: object
  2488          '400':
  2489            $ref: '#/components/responses/HTTP-400'
  2490          '401':
  2491            $ref: '#/components/responses/HTTP-401'
  2492          '409':
  2493            $ref: '#/components/responses/HTTP-409'
  2494        security:
  2495          - ApiKeyAuth: [ ]
  2496    /v1/plugin/{name}/readme:
  2497      get:
  2498        tags:
  2499          - PluginService
  2500        summary: get plugin readme
  2501        operationId: PluginService_GetPluginReadme
  2502        parameters:
  2503          - name: name
  2504            in: path
  2505            required: true
  2506            schema:
  2507              type: string
  2508          - name: lang
  2509            in: query
  2510            required: false
  2511            schema:
  2512              type: string
  2513          - $ref: '#/components/parameters/Accept-JSON'
  2514        responses:
  2515          200:
  2516            description: A successful response.
  2517            content:
  2518              text/plain:
  2519                schema:
  2520                  type: string
  2521          '400':
  2522            $ref: '#/components/responses/HTTP-400'
  2523          '401':
  2524            $ref: '#/components/responses/HTTP-401'
  2525          '404':
  2526            $ref: '#/components/responses/HTTP-404'
  2527        security:
  2528          - ApiKeyAuth: [ ]
  2529    /v1/plugins:
  2530      get:
  2531        tags:
  2532          - PluginService
  2533        summary: get plugin list
  2534        operationId: PluginService_GetPluginList
  2535        parameters:
  2536          - $ref: '#/components/parameters/listSort'
  2537          - $ref: '#/components/parameters/listPage'
  2538          - $ref: '#/components/parameters/listLimit'
  2539        responses:
  2540          200:
  2541            description: A successful response.
  2542            content:
  2543              application/json:
  2544                schema:
  2545                  $ref: '#/components/schemas/apiGetPluginListResult'
  2546          '401':
  2547            $ref: '#/components/responses/HTTP-401'
  2548        security:
  2549          - ApiKeyAuth: [ ]
  2550    /v1/plugins/search:
  2551      get:
  2552        tags:
  2553          - PluginService
  2554        summary: search plugin
  2555        operationId: PluginService_SearchPlugin
  2556        parameters:
  2557          - $ref: '#/components/parameters/searchQuery'
  2558          - $ref: '#/components/parameters/searchOffset'
  2559          - $ref: '#/components/parameters/searchLimit'
  2560        responses:
  2561          200:
  2562            description: A successful response.
  2563            content:
  2564              application/json:
  2565                schema:
  2566                  $ref: '#/components/schemas/apiSearchPluginResult'
  2567          '401':
  2568            $ref: '#/components/responses/HTTP-401'
  2569        security:
  2570          - ApiKeyAuth: [ ]
  2571    /v1/role:
  2572      post:
  2573        tags:
  2574          - RoleService
  2575        summary: add new role
  2576        operationId: RoleService_AddRole
  2577        requestBody:
  2578          content:
  2579            application/json:
  2580              schema:
  2581                $ref: '#/components/schemas/apiNewRoleRequest'
  2582          required: true
  2583        responses:
  2584          200:
  2585            description: A successful response.
  2586            content:
  2587              application/json:
  2588                schema:
  2589                  $ref: '#/components/schemas/apiRole'
  2590          '400':
  2591            $ref: '#/components/responses/HTTP-400'
  2592          '401':
  2593            $ref: '#/components/responses/HTTP-401'
  2594          '409':
  2595            $ref: '#/components/responses/HTTP-409'
  2596        security:
  2597          - ApiKeyAuth: [ ]
  2598        parameters:
  2599          - $ref: '#/components/parameters/Accept-JSON'
  2600    /v1/role/{name}:
  2601      get:
  2602        tags:
  2603          - RoleService
  2604        summary: get role by name
  2605        operationId: RoleService_GetRoleByName
  2606        parameters:
  2607          - name: name
  2608            in: path
  2609            required: true
  2610            schema:
  2611              type: string
  2612        responses:
  2613          200:
  2614            description: A successful response.
  2615            content:
  2616              application/json:
  2617                schema:
  2618                  $ref: '#/components/schemas/apiRole'
  2619          '404':
  2620            $ref: '#/components/responses/HTTP-404'
  2621          '401':
  2622            $ref: '#/components/responses/HTTP-401'
  2623        security:
  2624          - ApiKeyAuth: [ ]
  2625      put:
  2626        tags:
  2627          - RoleService
  2628        summary: update role
  2629        operationId: RoleService_UpdateRoleByName
  2630        parameters:
  2631          - name: name
  2632            in: path
  2633            required: true
  2634            schema:
  2635              type: string
  2636          - $ref: '#/components/parameters/Accept-JSON'
  2637        requestBody:
  2638          content:
  2639            application/json:
  2640              schema:
  2641                type: object
  2642                required: [ description ]
  2643                properties:
  2644                  description:
  2645                    type: string
  2646                  parent:
  2647                    type: string
  2648          required: true
  2649        responses:
  2650          200:
  2651            description: A successful response.
  2652            content:
  2653              application/json:
  2654                schema:
  2655                  $ref: '#/components/schemas/apiRole'
  2656          '400':
  2657            $ref: '#/components/responses/HTTP-400'
  2658          '401':
  2659            $ref: '#/components/responses/HTTP-401'
  2660          '409':
  2661            $ref: '#/components/responses/HTTP-409'
  2662        security:
  2663          - ApiKeyAuth: [ ]
  2664      delete:
  2665        tags:
  2666          - RoleService
  2667        summary: delete role by name
  2668        operationId: RoleService_DeleteRoleByName
  2669        parameters:
  2670          - name: name
  2671            in: path
  2672            required: true
  2673            schema:
  2674              type: string
  2675        responses:
  2676          200:
  2677            description: A successful response.
  2678            content:
  2679              application/json:
  2680                schema:
  2681                  type: object
  2682          '404':
  2683            $ref: '#/components/responses/HTTP-404'
  2684          '401':
  2685            $ref: '#/components/responses/HTTP-401'
  2686        security:
  2687          - ApiKeyAuth: [ ]
  2688    /v1/role/{name}/access_list:
  2689      get:
  2690        tags:
  2691          - RoleService
  2692        summary: get role access list
  2693        operationId: RoleService_GetRoleAccessList
  2694        parameters:
  2695          - name: name
  2696            in: path
  2697            required: true
  2698            schema:
  2699              type: string
  2700        responses:
  2701          200:
  2702            description: A successful response.
  2703            content:
  2704              application/json:
  2705                schema:
  2706                  $ref: '#/components/schemas/apiRoleAccessListResult'
  2707          '401':
  2708            $ref: '#/components/responses/HTTP-401'
  2709        security:
  2710          - ApiKeyAuth: [ ]
  2711      put:
  2712        tags:
  2713          - RoleService
  2714        summary: update role access list
  2715        operationId: RoleService_UpdateRoleAccessList
  2716        parameters:
  2717          - name: name
  2718            in: path
  2719            required: true
  2720            schema:
  2721              type: string
  2722          - $ref: '#/components/parameters/Accept-JSON'
  2723        requestBody:
  2724          content:
  2725            application/json:
  2726              schema:
  2727                type: object
  2728                required: [ accessListDiff ]
  2729                properties:
  2730                  accessListDiff:
  2731                    type: object
  2732                    additionalProperties:
  2733                      $ref: '#/components/schemas/UpdateRoleAccessListRequestAccessListDiff'
  2734          required: true
  2735        responses:
  2736          200:
  2737            description: A successful response.
  2738            content:
  2739              application/json:
  2740                schema:
  2741                  $ref: '#/components/schemas/apiRoleAccessListResult'
  2742          '400':
  2743            $ref: '#/components/responses/HTTP-400'
  2744          '401':
  2745            $ref: '#/components/responses/HTTP-401'
  2746          '409':
  2747            $ref: '#/components/responses/HTTP-409'
  2748        security:
  2749          - ApiKeyAuth: [ ]
  2750    /v1/roles:
  2751      get:
  2752        tags:
  2753          - RoleService
  2754        summary: get role list
  2755        operationId: RoleService_GetRoleList
  2756        parameters:
  2757          - $ref: '#/components/parameters/listSort'
  2758          - $ref: '#/components/parameters/listPage'
  2759          - $ref: '#/components/parameters/listLimit'
  2760        responses:
  2761          200:
  2762            description: A successful response.
  2763            content:
  2764              application/json:
  2765                schema:
  2766                  $ref: '#/components/schemas/apiGetRoleListResult'
  2767          '401':
  2768            $ref: '#/components/responses/HTTP-401'
  2769        security:
  2770          - ApiKeyAuth: [ ]
  2771    /v1/roles/search:
  2772      get:
  2773        tags:
  2774          - RoleService
  2775        summary: delete role by name
  2776        operationId: RoleService_SearchRoleByName
  2777        parameters:
  2778          - $ref: '#/components/parameters/searchQuery'
  2779          - $ref: '#/components/parameters/searchOffset'
  2780          - $ref: '#/components/parameters/searchLimit'
  2781        responses:
  2782          200:
  2783            description: A successful response.
  2784            content:
  2785              application/json:
  2786                schema:
  2787                  $ref: '#/components/schemas/apiSearchRoleListResult'
  2788          '401':
  2789            $ref: '#/components/responses/HTTP-401'
  2790        security:
  2791          - ApiKeyAuth: [ ]
  2792    /v1/script:
  2793      post:
  2794        tags:
  2795          - ScriptService
  2796        summary: add new script
  2797        operationId: ScriptService_AddScript
  2798        requestBody:
  2799          content:
  2800            application/json:
  2801              schema:
  2802                $ref: '#/components/schemas/apiNewScriptRequest'
  2803          required: true
  2804        responses:
  2805          200:
  2806            description: A successful response.
  2807            content:
  2808              application/json:
  2809                schema:
  2810                  $ref: '#/components/schemas/apiScript'
  2811          '400':
  2812            $ref: '#/components/responses/HTTP-400'
  2813          '401':
  2814            $ref: '#/components/responses/HTTP-401'
  2815          '409':
  2816            $ref: '#/components/responses/HTTP-409'
  2817        security:
  2818          - ApiKeyAuth: [ ]
  2819        parameters:
  2820          - $ref: '#/components/parameters/Accept-JSON'
  2821    /v1/script/exec_src:
  2822      post:
  2823        tags:
  2824          - ScriptService
  2825        summary: exec src script by id
  2826        operationId: ScriptService_ExecSrcScriptById
  2827        requestBody:
  2828          content:
  2829            application/json:
  2830              schema:
  2831                $ref: '#/components/schemas/apiExecSrcScriptRequest'
  2832          required: true
  2833        responses:
  2834          200:
  2835            description: A successful response.
  2836            content:
  2837              application/json:
  2838                schema:
  2839                  $ref: '#/components/schemas/apiExecScriptResult'
  2840          '400':
  2841            $ref: '#/components/responses/HTTP-400'
  2842          '401':
  2843            $ref: '#/components/responses/HTTP-401'
  2844          '409':
  2845            $ref: '#/components/responses/HTTP-409'
  2846        security:
  2847          - ApiKeyAuth: [ ]
  2848        parameters:
  2849          - $ref: '#/components/parameters/Accept-JSON'
  2850    /v1/script/{id}:
  2851      get:
  2852        tags:
  2853          - ScriptService
  2854        summary: get script by id
  2855        operationId: ScriptService_GetScriptById
  2856        parameters:
  2857          - name: id
  2858            in: path
  2859            required: true
  2860            schema:
  2861              type: integer
  2862              format: int64
  2863        responses:
  2864          200:
  2865            description: A successful response.
  2866            content:
  2867              application/json:
  2868                schema:
  2869                  $ref: '#/components/schemas/apiScript'
  2870          '404':
  2871            $ref: '#/components/responses/HTTP-404'
  2872          '401':
  2873            $ref: '#/components/responses/HTTP-401'
  2874        security:
  2875          - ApiKeyAuth: [ ]
  2876      put:
  2877        tags:
  2878          - ScriptService
  2879        summary: update script
  2880        operationId: ScriptService_UpdateScriptById
  2881        parameters:
  2882          - name: id
  2883            in: path
  2884            required: true
  2885            schema:
  2886              type: integer
  2887              format: int64
  2888          - $ref: '#/components/parameters/Accept-JSON'
  2889        requestBody:
  2890          content:
  2891            application/json:
  2892              schema:
  2893                type: object
  2894                required: [ lang, name, source, description ]
  2895                properties:
  2896                  lang:
  2897                    type: string
  2898                  name:
  2899                    type: string
  2900                  source:
  2901                    type: string
  2902                  description:
  2903                    type: string
  2904          required: true
  2905        responses:
  2906          200:
  2907            description: A successful response.
  2908            content:
  2909              application/json:
  2910                schema:
  2911                  $ref: '#/components/schemas/apiScript'
  2912          '400':
  2913            $ref: '#/components/responses/HTTP-400'
  2914          '401':
  2915            $ref: '#/components/responses/HTTP-401'
  2916          '409':
  2917            $ref: '#/components/responses/HTTP-409'
  2918        security:
  2919          - ApiKeyAuth: [ ]
  2920      delete:
  2921        tags:
  2922          - ScriptService
  2923        summary: delete script by id
  2924        operationId: ScriptService_DeleteScriptById
  2925        parameters:
  2926          - name: id
  2927            in: path
  2928            required: true
  2929            schema:
  2930              type: integer
  2931              format: int64
  2932        responses:
  2933          200:
  2934            description: A successful response.
  2935            content:
  2936              application/json:
  2937                schema:
  2938                  type: object
  2939          '404':
  2940            $ref: '#/components/responses/HTTP-404'
  2941          '401':
  2942            $ref: '#/components/responses/HTTP-401'
  2943        security:
  2944          - ApiKeyAuth: [ ]
  2945    /v1/script/{id}/copy:
  2946      post:
  2947        tags:
  2948          - ScriptService
  2949        summary: copy script by id
  2950        operationId: ScriptService_CopyScriptById
  2951        parameters:
  2952          - name: id
  2953            in: path
  2954            required: true
  2955            schema:
  2956              type: integer
  2957              format: int64
  2958        responses:
  2959          200:
  2960            description: A successful response.
  2961            content:
  2962              application/json:
  2963                schema:
  2964                  $ref: '#/components/schemas/apiScript'
  2965          '400':
  2966            $ref: '#/components/responses/HTTP-400'
  2967          '401':
  2968            $ref: '#/components/responses/HTTP-401'
  2969          '409':
  2970            $ref: '#/components/responses/HTTP-409'
  2971        security:
  2972          - ApiKeyAuth: [ ]
  2973    /v1/script/{id}/compiled:
  2974      get:
  2975        tags:
  2976          - ScriptService
  2977        summary: get compiled script by id
  2978        operationId: ScriptService_GetCompiledScriptById
  2979        parameters:
  2980          - name: id
  2981            in: path
  2982            required: true
  2983            schema:
  2984              type: integer
  2985              format: int64
  2986        responses:
  2987          200:
  2988            description: A successful response.
  2989            content:
  2990              text/javascript; charset=utf-8:
  2991                schema:
  2992                  type: string
  2993          '400':
  2994            $ref: '#/components/responses/HTTP-400'
  2995          '401':
  2996            $ref: '#/components/responses/HTTP-401'
  2997          '409':
  2998            $ref: '#/components/responses/HTTP-409'
  2999        security:
  3000          - ApiKeyAuth: [ ]
  3001    /v1/script/{id}/exec:
  3002      post:
  3003        tags:
  3004          - ScriptService
  3005        summary: exec script by id
  3006        operationId: ScriptService_ExecScriptById
  3007        parameters:
  3008          - name: id
  3009            in: path
  3010            required: true
  3011            schema:
  3012              type: integer
  3013              format: int64
  3014        responses:
  3015          200:
  3016            description: A successful response.
  3017            content:
  3018              application/json:
  3019                schema:
  3020                  $ref: '#/components/schemas/apiExecScriptResult'
  3021          '400':
  3022            $ref: '#/components/responses/HTTP-400'
  3023          '401':
  3024            $ref: '#/components/responses/HTTP-401'
  3025          '409':
  3026            $ref: '#/components/responses/HTTP-409'
  3027        security:
  3028          - ApiKeyAuth: [ ]
  3029    /v1/scripts:
  3030      get:
  3031        tags:
  3032          - ScriptService
  3033        summary: get script list
  3034        operationId: ScriptService_GetScriptList
  3035        parameters:
  3036          - $ref: '#/components/parameters/listSort'
  3037          - $ref: '#/components/parameters/listPage'
  3038          - $ref: '#/components/parameters/listLimit'
  3039          - $ref: '#/components/parameters/ids'
  3040          - $ref: '#/components/parameters/query'
  3041        responses:
  3042          200:
  3043            description: A successful response.
  3044            content:
  3045              application/json:
  3046                schema:
  3047                  $ref: '#/components/schemas/apiGetScriptListResult'
  3048          '401':
  3049            $ref: '#/components/responses/HTTP-401'
  3050        security:
  3051          - ApiKeyAuth: [ ]
  3052    /v1/scripts/search:
  3053      get:
  3054        tags:
  3055          - ScriptService
  3056        summary: search script by name
  3057        operationId: ScriptService_SearchScript
  3058        parameters:
  3059          - $ref: '#/components/parameters/searchQuery'
  3060          - $ref: '#/components/parameters/searchOffset'
  3061          - $ref: '#/components/parameters/searchLimit'
  3062        responses:
  3063          200:
  3064            description: A successful response.
  3065            content:
  3066              application/json:
  3067                schema:
  3068                  $ref: '#/components/schemas/apiSearchScriptListResult'
  3069          '401':
  3070            $ref: '#/components/responses/HTTP-401'
  3071        security:
  3072          - ApiKeyAuth: [ ]
  3073    /v1/scripts/statistic:
  3074      get:
  3075        tags:
  3076          - ScriptService
  3077        summary: get statistic
  3078        operationId: ScriptService_GetStatistic
  3079        responses:
  3080          200:
  3081            description: A successful response.
  3082            content:
  3083              application/json:
  3084                schema:
  3085                  $ref: '#/components/schemas/apiStatistics'
  3086          '401':
  3087            $ref: '#/components/responses/HTTP-401'
  3088        security:
  3089          - ApiKeyAuth: [ ]
  3090    /v1/tags/search:
  3091      get:
  3092        tags:
  3093          - TagService
  3094        summary: search tag by name
  3095        operationId: TagService_SearchTag
  3096        parameters:
  3097          - $ref: '#/components/parameters/searchQuery'
  3098          - $ref: '#/components/parameters/searchOffset'
  3099          - $ref: '#/components/parameters/searchLimit'
  3100        responses:
  3101          200:
  3102            description: A successful response.
  3103            content:
  3104              application/json:
  3105                schema:
  3106                  $ref: '#/components/schemas/apiSearchTagListResult'
  3107          '401':
  3108            $ref: '#/components/responses/HTTP-401'
  3109        security:
  3110          - ApiKeyAuth: [ ]
  3111    /v1/tags:
  3112      get:
  3113        tags:
  3114          - TagService
  3115        summary: get tag list
  3116        operationId: TagService_GetTagList
  3117        parameters:
  3118          - $ref: '#/components/parameters/listSort'
  3119          - $ref: '#/components/parameters/listPage'
  3120          - $ref: '#/components/parameters/listLimit'
  3121          - $ref: '#/components/parameters/query'
  3122          - $ref: '#/components/parameters/tags'
  3123        responses:
  3124          200:
  3125            description: A successful response.
  3126            content:
  3127              application/json:
  3128                schema:
  3129                  $ref: '#/components/schemas/apiGetTagListResult'
  3130          '401':
  3131            $ref: '#/components/responses/HTTP-401'
  3132        security:
  3133          - ApiKeyAuth: [ ]
  3134    /v1/tag/{id}:
  3135      get:
  3136        tags:
  3137          - TagService
  3138        summary: get tag by id
  3139        operationId: TagService_GetTagById
  3140        parameters:
  3141          - name: id
  3142            in: path
  3143            required: true
  3144            schema:
  3145              type: integer
  3146              format: int64
  3147        responses:
  3148          200:
  3149            description: A successful response.
  3150            content:
  3151              application/json:
  3152                schema:
  3153                  $ref: '#/components/schemas/apiTag'
  3154          '404':
  3155            $ref: '#/components/responses/HTTP-404'
  3156          '401':
  3157            $ref: '#/components/responses/HTTP-401'
  3158        security:
  3159          - ApiKeyAuth: [ ]
  3160      put:
  3161        tags:
  3162          - TagService
  3163        summary: update tag
  3164        operationId: TagService_UpdateTagById
  3165        parameters:
  3166          - name: id
  3167            in: path
  3168            required: true
  3169            schema:
  3170              type: integer
  3171              format: int64
  3172          - $ref: '#/components/parameters/Accept-JSON'
  3173        requestBody:
  3174          content:
  3175            application/json:
  3176              schema:
  3177                type: object
  3178                required: [ name]
  3179                properties:
  3180                  name:
  3181                    type: string
  3182          required: true
  3183        responses:
  3184          200:
  3185            description: A successful response.
  3186            content:
  3187              application/json:
  3188                schema:
  3189                  $ref: '#/components/schemas/apiTag'
  3190          '400':
  3191            $ref: '#/components/responses/HTTP-400'
  3192          '401':
  3193            $ref: '#/components/responses/HTTP-401'
  3194          '409':
  3195            $ref: '#/components/responses/HTTP-409'
  3196        security:
  3197          - ApiKeyAuth: [ ]
  3198      delete:
  3199        tags:
  3200          - TagService
  3201        summary: delete tag by id
  3202        operationId: TagService_DeleteTagById
  3203        parameters:
  3204          - name: id
  3205            in: path
  3206            required: true
  3207            schema:
  3208              type: integer
  3209              format: int64
  3210        responses:
  3211          200:
  3212            description: A successful response.
  3213            content:
  3214              application/json:
  3215                schema:
  3216                  type: object
  3217          '404':
  3218            $ref: '#/components/responses/HTTP-404'
  3219          '401':
  3220            $ref: '#/components/responses/HTTP-401'
  3221        security:
  3222          - ApiKeyAuth: [ ]
  3223    /v1/signin:
  3224      post:
  3225        tags:
  3226          - AuthService
  3227        summary: sign in user
  3228        operationId: AuthService_Signin
  3229        responses:
  3230          200:
  3231            description: A successful response.
  3232            content:
  3233              application/json:
  3234                schema:
  3235                  $ref: '#/components/schemas/apiSigninResponse'
  3236          '400':
  3237            $ref: '#/components/responses/HTTP-400'
  3238          '401':
  3239            $ref: '#/components/responses/HTTP-401'
  3240          '409':
  3241            $ref: '#/components/responses/HTTP-409'
  3242        security:
  3243          - BasicAuth: [ ]
  3244    /v1/signout:
  3245      post:
  3246        tags:
  3247          - AuthService
  3248        summary: sign out user
  3249        operationId: AuthService_Signout
  3250        responses:
  3251          200:
  3252            description: A successful response.
  3253            content:
  3254              application/json:
  3255                schema:
  3256                  type: object
  3257          '400':
  3258            $ref: '#/components/responses/HTTP-400'
  3259          '401':
  3260            $ref: '#/components/responses/HTTP-401'
  3261          '409':
  3262            $ref: '#/components/responses/HTTP-409'
  3263        security:
  3264          - ApiKeyAuth: [ ]
  3265    /v1/task:
  3266      post:
  3267        tags:
  3268          - AutomationService
  3269        summary: add new task
  3270        operationId: AutomationService_AddTask
  3271        requestBody:
  3272          content:
  3273            application/json:
  3274              schema:
  3275                $ref: '#/components/schemas/apiNewTaskRequest'
  3276          required: true
  3277        responses:
  3278          200:
  3279            description: A successful response.
  3280            content:
  3281              application/json:
  3282                schema:
  3283                  $ref: '#/components/schemas/apiTask'
  3284          '400':
  3285            $ref: '#/components/responses/HTTP-400'
  3286          '401':
  3287            $ref: '#/components/responses/HTTP-401'
  3288          '409':
  3289            $ref: '#/components/responses/HTTP-409'
  3290        security:
  3291          - ApiKeyAuth: [ ]
  3292        parameters:
  3293          - $ref: '#/components/parameters/Accept-JSON'
  3294    /v1/task/{id}:
  3295      get:
  3296        tags:
  3297          - AutomationService
  3298        summary: get task
  3299        operationId: AutomationService_GetTask
  3300        parameters:
  3301          - name: id
  3302            in: path
  3303            required: true
  3304            schema:
  3305              type: integer
  3306              format: int64
  3307        responses:
  3308          200:
  3309            description: A successful response.
  3310            content:
  3311              application/json:
  3312                schema:
  3313                  $ref: '#/components/schemas/apiTask'
  3314          '404':
  3315            $ref: '#/components/responses/HTTP-404'
  3316          '401':
  3317            $ref: '#/components/responses/HTTP-401'
  3318        security:
  3319          - ApiKeyAuth: [ ]
  3320      put:
  3321        tags:
  3322          - AutomationService
  3323        summary: update task
  3324        operationId: AutomationService_UpdateTask
  3325        parameters:
  3326          - name: id
  3327            in: path
  3328            required: true
  3329            schema:
  3330              type: integer
  3331              format: int64
  3332          - $ref: '#/components/parameters/Accept-JSON'
  3333        requestBody:
  3334          content:
  3335            application/json:
  3336              schema:
  3337                type: object
  3338                required: [ name, description, enabled, condition, triggerIds, conditionIds, actionIds ]
  3339                properties:
  3340                  name:
  3341                    type: string
  3342                  description:
  3343                    type: string
  3344                  enabled:
  3345                    type: boolean
  3346                  condition:
  3347                    type: string
  3348                  triggerIds:
  3349                    type: array
  3350                    items:
  3351                      type: integer
  3352                      format: int64
  3353                  conditionIds:
  3354                    type: array
  3355                    items:
  3356                      type: integer
  3357                      format: int64
  3358                  actionIds:
  3359                    type: array
  3360                    items:
  3361                      type: integer
  3362                      format: int64
  3363                  areaId:
  3364                    type: integer
  3365                    format: int64
  3366          required: true
  3367        responses:
  3368          200:
  3369            description: A successful response.
  3370            content:
  3371              application/json:
  3372                schema:
  3373                  $ref: '#/components/schemas/apiTask'
  3374          '400':
  3375            $ref: '#/components/responses/HTTP-400'
  3376          '401':
  3377            $ref: '#/components/responses/HTTP-401'
  3378          '409':
  3379            $ref: '#/components/responses/HTTP-409'
  3380        security:
  3381          - ApiKeyAuth: [ ]
  3382      delete:
  3383        tags:
  3384          - AutomationService
  3385        summary: delete task
  3386        operationId: AutomationService_DeleteTask
  3387        parameters:
  3388          - name: id
  3389            in: path
  3390            required: true
  3391            schema:
  3392              type: integer
  3393              format: int64
  3394        responses:
  3395          200:
  3396            description: A successful response.
  3397            content:
  3398              application/json:
  3399                schema:
  3400                  type: object
  3401          '404':
  3402            $ref: '#/components/responses/HTTP-404'
  3403          '401':
  3404            $ref: '#/components/responses/HTTP-401'
  3405        security:
  3406          - ApiKeyAuth: [ ]
  3407    /v1/task/{id}/disable:
  3408      post:
  3409        tags:
  3410          - AutomationService
  3411        summary: disable task
  3412        operationId: AutomationService_DisableTask
  3413        parameters:
  3414          - name: id
  3415            in: path
  3416            required: true
  3417            schema:
  3418              type: integer
  3419              format: int64
  3420        responses:
  3421          200:
  3422            description: A successful response.
  3423            content:
  3424              application/json:
  3425                schema:
  3426                  type: object
  3427          '400':
  3428            $ref: '#/components/responses/HTTP-400'
  3429          '401':
  3430            $ref: '#/components/responses/HTTP-401'
  3431          '409':
  3432            $ref: '#/components/responses/HTTP-409'
  3433        security:
  3434          - ApiKeyAuth: [ ]
  3435    /v1/task/{id}/enable:
  3436      post:
  3437        tags:
  3438          - AutomationService
  3439        summary: enable task
  3440        operationId: AutomationService_EnableTask
  3441        parameters:
  3442          - name: id
  3443            in: path
  3444            required: true
  3445            schema:
  3446              type: integer
  3447              format: int64
  3448        responses:
  3449          200:
  3450            description: A successful response.
  3451            content:
  3452              application/json:
  3453                schema:
  3454                  type: object
  3455          '400':
  3456            $ref: '#/components/responses/HTTP-400'
  3457          '401':
  3458            $ref: '#/components/responses/HTTP-401'
  3459          '409':
  3460            $ref: '#/components/responses/HTTP-409'
  3461        security:
  3462          - ApiKeyAuth: [ ]
  3463    /v1/tasks:
  3464      get:
  3465        tags:
  3466          - AutomationService
  3467        summary: get task list
  3468        operationId: AutomationService_GetTaskList
  3469        parameters:
  3470          - $ref: '#/components/parameters/listSort'
  3471          - $ref: '#/components/parameters/listPage'
  3472          - $ref: '#/components/parameters/listLimit'
  3473        responses:
  3474          200:
  3475            description: A successful response.
  3476            content:
  3477              application/json:
  3478                schema:
  3479                  $ref: '#/components/schemas/apiGetTaskListResult'
  3480          '401':
  3481            $ref: '#/components/responses/HTTP-401'
  3482        security:
  3483          - ApiKeyAuth: [ ]
  3484    /v1/tasks/import:
  3485      post:
  3486        tags:
  3487          - AutomationService
  3488        summary: import task
  3489        operationId: AutomationService_ImportTask
  3490        requestBody:
  3491          content:
  3492            application/json:
  3493              schema:
  3494                $ref: '#/components/schemas/apiTask'
  3495          required: true
  3496        responses:
  3497          200:
  3498            description: A successful response.
  3499            content:
  3500              application/json:
  3501                schema:
  3502                  type: object
  3503          '400':
  3504            $ref: '#/components/responses/HTTP-400'
  3505          '401':
  3506            $ref: '#/components/responses/HTTP-401'
  3507          '409':
  3508            $ref: '#/components/responses/HTTP-409'
  3509        security:
  3510          - ApiKeyAuth: [ ]
  3511        parameters:
  3512          - $ref: '#/components/parameters/Accept-JSON'
  3513    /v1/trigger:
  3514      post:
  3515        tags:
  3516          - TriggerService
  3517        summary: add new trigger
  3518        operationId: TriggerService_AddTrigger
  3519        requestBody:
  3520          content:
  3521            application/json:
  3522              schema:
  3523                $ref: '#/components/schemas/apiNewTriggerRequest'
  3524          required: true
  3525        responses:
  3526          200:
  3527            description: A successful response.
  3528            content:
  3529              application/json:
  3530                schema:
  3531                  $ref: '#/components/schemas/apiTrigger'
  3532          '400':
  3533            $ref: '#/components/responses/HTTP-400'
  3534          '401':
  3535            $ref: '#/components/responses/HTTP-401'
  3536          '409':
  3537            $ref: '#/components/responses/HTTP-409'
  3538        security:
  3539          - ApiKeyAuth: [ ]
  3540        parameters:
  3541          - $ref: '#/components/parameters/Accept-JSON'
  3542    /v1/trigger/{id}:
  3543      get:
  3544        tags:
  3545          - TriggerService
  3546        summary: get trigger by id
  3547        operationId: TriggerService_GetTriggerById
  3548        parameters:
  3549          - name: id
  3550            in: path
  3551            required: true
  3552            schema:
  3553              type: integer
  3554              format: int64
  3555        responses:
  3556          200:
  3557            description: A successful response.
  3558            content:
  3559              application/json:
  3560                schema:
  3561                  $ref: '#/components/schemas/apiTrigger'
  3562          '404':
  3563            $ref: '#/components/responses/HTTP-404'
  3564          '401':
  3565            $ref: '#/components/responses/HTTP-401'
  3566        security:
  3567          - ApiKeyAuth: [ ]
  3568      put:
  3569        tags:
  3570          - TriggerService
  3571        summary: update trigger
  3572        operationId: TriggerService_UpdateTrigger
  3573        parameters:
  3574          - name: id
  3575            in: path
  3576            required: true
  3577            schema:
  3578              type: integer
  3579              format: int64
  3580          - $ref: '#/components/parameters/Accept-JSON'
  3581        requestBody:
  3582          content:
  3583            application/json:
  3584              schema:
  3585                type: object
  3586                required: [ name, description, pluginName, attributes, enabled, entityIds ]
  3587                properties:
  3588                  name:
  3589                    type: string
  3590                  description:
  3591                    type: string
  3592                  entityIds:
  3593                    type: array
  3594                    items:
  3595                      type: string
  3596                  script:
  3597                    $ref: '#/components/schemas/apiScript'
  3598                  scriptId:
  3599                    type: integer
  3600                    format: int64
  3601                  areaId:
  3602                    type: integer
  3603                    format: int64
  3604                  pluginName:
  3605                    type: string
  3606                  attributes:
  3607                    type: object
  3608                    additionalProperties:
  3609                      $ref: '#/components/schemas/apiAttribute'
  3610                  enabled:
  3611                    type: boolean
  3612          required: true
  3613        responses:
  3614          200:
  3615            description: A successful response.
  3616            content:
  3617              application/json:
  3618                schema:
  3619                  $ref: '#/components/schemas/apiTrigger'
  3620          '400':
  3621            $ref: '#/components/responses/HTTP-400'
  3622          '401':
  3623            $ref: '#/components/responses/HTTP-401'
  3624          '409':
  3625            $ref: '#/components/responses/HTTP-409'
  3626        security:
  3627          - ApiKeyAuth: [ ]
  3628      delete:
  3629        tags:
  3630          - TriggerService
  3631        summary: delete trigger
  3632        operationId: TriggerService_DeleteTrigger
  3633        parameters:
  3634          - name: id
  3635            in: path
  3636            required: true
  3637            schema:
  3638              type: integer
  3639              format: int64
  3640        responses:
  3641          200:
  3642            description: A successful response.
  3643            content:
  3644              application/json:
  3645                schema:
  3646                  type: object
  3647          '404':
  3648            $ref: '#/components/responses/HTTP-404'
  3649          '401':
  3650            $ref: '#/components/responses/HTTP-401'
  3651        security:
  3652          - ApiKeyAuth: [ ]
  3653    /v1/triggers:
  3654      get:
  3655        tags:
  3656          - TriggerService
  3657        summary: get trigger list
  3658        operationId: TriggerService_GetTriggerList
  3659        parameters:
  3660          - $ref: '#/components/parameters/listSort'
  3661          - $ref: '#/components/parameters/listPage'
  3662          - $ref: '#/components/parameters/listLimit'
  3663          - $ref: '#/components/parameters/ids'
  3664        responses:
  3665          200:
  3666            description: A successful response.
  3667            content:
  3668              application/json:
  3669                schema:
  3670                  $ref: '#/components/schemas/apiGetTriggerListResult'
  3671          '401':
  3672            $ref: '#/components/responses/HTTP-401'
  3673        security:
  3674          - ApiKeyAuth: [ ]
  3675    /v1/triggers/search:
  3676      get:
  3677        tags:
  3678          - TriggerService
  3679        summary: search trigger
  3680        operationId: TriggerService_SearchTrigger
  3681        parameters:
  3682          - $ref: '#/components/parameters/searchQuery'
  3683          - $ref: '#/components/parameters/searchOffset'
  3684          - $ref: '#/components/parameters/searchLimit'
  3685        responses:
  3686          200:
  3687            description: A successful response.
  3688            content:
  3689              application/json:
  3690                schema:
  3691                  $ref: '#/components/schemas/apiSearchTriggerResult'
  3692          '401':
  3693            $ref: '#/components/responses/HTTP-401'
  3694        security:
  3695          - ApiKeyAuth: [ ]
  3696    /v1/triggers/{id}/disable:
  3697      post:
  3698        tags:
  3699          - TriggerService
  3700        summary: disable triggers
  3701        operationId: TriggerService_DisableTrigger
  3702        parameters:
  3703          - name: id
  3704            in: path
  3705            required: true
  3706            schema:
  3707              type: integer
  3708              format: int64
  3709        responses:
  3710          200:
  3711            description: A successful response.
  3712            content:
  3713              application/json:
  3714                schema:
  3715                  type: object
  3716          '400':
  3717            $ref: '#/components/responses/HTTP-400'
  3718          '401':
  3719            $ref: '#/components/responses/HTTP-401'
  3720          '409':
  3721            $ref: '#/components/responses/HTTP-409'
  3722        security:
  3723          - ApiKeyAuth: [ ]
  3724    /v1/triggers/{id}/enable:
  3725      post:
  3726        tags:
  3727          - TriggerService
  3728        summary: enable triggers
  3729        operationId: TriggerService_EnableTrigger
  3730        parameters:
  3731          - name: id
  3732            in: path
  3733            required: true
  3734            schema:
  3735              type: integer
  3736              format: int64
  3737        responses:
  3738          200:
  3739            description: A successful response.
  3740            content:
  3741              application/json:
  3742                schema:
  3743                  type: object
  3744          '400':
  3745            $ref: '#/components/responses/HTTP-400'
  3746          '401':
  3747            $ref: '#/components/responses/HTTP-401'
  3748          '409':
  3749            $ref: '#/components/responses/HTTP-409'
  3750        security:
  3751          - ApiKeyAuth: [ ]
  3752    /v1/user:
  3753      post:
  3754        tags:
  3755          - UserService
  3756        summary: add new user
  3757        operationId: UserService_AddUser
  3758        requestBody:
  3759          content:
  3760            application/json:
  3761              schema:
  3762                $ref: '#/components/schemas/apiNewtUserRequest'
  3763          required: true
  3764        responses:
  3765          200:
  3766            description: A successful response.
  3767            content:
  3768              application/json:
  3769                schema:
  3770                  $ref: '#/components/schemas/apiUserFull'
  3771          '400':
  3772            $ref: '#/components/responses/HTTP-400'
  3773          '401':
  3774            $ref: '#/components/responses/HTTP-401'
  3775          '409':
  3776            $ref: '#/components/responses/HTTP-409'
  3777        security:
  3778          - ApiKeyAuth: [ ]
  3779        parameters:
  3780          - $ref: '#/components/parameters/Accept-JSON'
  3781    /v1/user/{id}:
  3782      get:
  3783        tags:
  3784          - UserService
  3785        summary: get user by id
  3786        operationId: UserService_GetUserById
  3787        parameters:
  3788          - name: id
  3789            in: path
  3790            description: user id
  3791            required: true
  3792            schema:
  3793              type: integer
  3794              format: int64
  3795        responses:
  3796          200:
  3797            description: A successful response.
  3798            content:
  3799              application/json:
  3800                schema:
  3801                  $ref: '#/components/schemas/apiUserFull'
  3802          '404':
  3803            $ref: '#/components/responses/HTTP-404'
  3804          '401':
  3805            $ref: '#/components/responses/HTTP-401'
  3806        security:
  3807          - ApiKeyAuth: [ ]
  3808      put:
  3809        tags:
  3810          - UserService
  3811        summary: update user by id
  3812        operationId: UserService_UpdateUserById
  3813        parameters:
  3814          - name: id
  3815            in: path
  3816            required: true
  3817            schema:
  3818              type: integer
  3819              format: int64
  3820          - $ref: '#/components/parameters/Accept-JSON'
  3821        requestBody:
  3822          content:
  3823            application/json:
  3824              schema:
  3825                type: object
  3826                required: [ nickname, firstName, lang, email, status, lang, roleName, password, passwordRepeat ]
  3827                properties:
  3828                  nickname:
  3829                    type: string
  3830                  firstName:
  3831                    type: string
  3832                  lastName:
  3833                    type: string
  3834                  password:
  3835                    type: string
  3836                  passwordRepeat:
  3837                    type: string
  3838                  email:
  3839                    type: string
  3840                  status:
  3841                    type: string
  3842                  lang:
  3843                    type: string
  3844                  imageId:
  3845                    type: integer
  3846                    format: int64
  3847                  roleName:
  3848                    type: string
  3849                  meta:
  3850                    type: array
  3851                    items:
  3852                      $ref: '#/components/schemas/apiUserMeta'
  3853          required: true
  3854        responses:
  3855          200:
  3856            description: A successful response.
  3857            content:
  3858              application/json:
  3859                schema:
  3860                  $ref: '#/components/schemas/apiUserFull'
  3861          '400':
  3862            $ref: '#/components/responses/HTTP-400'
  3863          '401':
  3864            $ref: '#/components/responses/HTTP-401'
  3865          '409':
  3866            $ref: '#/components/responses/HTTP-409'
  3867        security:
  3868          - ApiKeyAuth: [ ]
  3869      delete:
  3870        tags:
  3871          - UserService
  3872        summary: delete user by id
  3873        operationId: UserService_DeleteUserById
  3874        parameters:
  3875          - name: id
  3876            in: path
  3877            description: user id
  3878            required: true
  3879            schema:
  3880              type: integer
  3881              format: int64
  3882        responses:
  3883          200:
  3884            description: A successful response.
  3885            content:
  3886              application/json:
  3887                schema:
  3888                  type: object
  3889          '404':
  3890            $ref: '#/components/responses/HTTP-404'
  3891          '401':
  3892            $ref: '#/components/responses/HTTP-401'
  3893        security:
  3894          - ApiKeyAuth: [ ]
  3895    /v1/users:
  3896      get:
  3897        tags:
  3898          - UserService
  3899        summary: get user list
  3900        operationId: UserService_GetUserList
  3901        parameters:
  3902          - $ref: '#/components/parameters/listSort'
  3903          - $ref: '#/components/parameters/listPage'
  3904          - $ref: '#/components/parameters/listLimit'
  3905        responses:
  3906          200:
  3907            description: A successful response.
  3908            content:
  3909              application/json:
  3910                schema:
  3911                  $ref: '#/components/schemas/apiGetUserListResult'
  3912          '401':
  3913            $ref: '#/components/responses/HTTP-401'
  3914        security:
  3915          - ApiKeyAuth: [ ]
  3916    /v1/variable:
  3917      post:
  3918        tags:
  3919          - VariableService
  3920        summary: add new variable
  3921        operationId: VariableService_AddVariable
  3922        requestBody:
  3923          content:
  3924            application/json:
  3925              schema:
  3926                $ref: '#/components/schemas/apiNewVariableRequest'
  3927          required: true
  3928        responses:
  3929          200:
  3930            description: A successful response.
  3931            content:
  3932              application/json:
  3933                schema:
  3934                  $ref: '#/components/schemas/apiVariable'
  3935          '400':
  3936            $ref: '#/components/responses/HTTP-400'
  3937          '401':
  3938            $ref: '#/components/responses/HTTP-401'
  3939          '409':
  3940            $ref: '#/components/responses/HTTP-409'
  3941        security:
  3942          - ApiKeyAuth: [ ]
  3943        parameters:
  3944          - $ref: '#/components/parameters/Accept-JSON'
  3945    /v1/variable/{name}:
  3946      get:
  3947        tags:
  3948          - VariableService
  3949        summary: get variable by name
  3950        operationId: VariableService_GetVariableByName
  3951        parameters:
  3952          - name: name
  3953            in: path
  3954            required: true
  3955            schema:
  3956              type: string
  3957        responses:
  3958          200:
  3959            description: A successful response.
  3960            content:
  3961              application/json:
  3962                schema:
  3963                  $ref: '#/components/schemas/apiVariable'
  3964          '404':
  3965            $ref: '#/components/responses/HTTP-404'
  3966          '401':
  3967            $ref: '#/components/responses/HTTP-401'
  3968        security:
  3969          - ApiKeyAuth: [ ]
  3970      put:
  3971        tags:
  3972          - VariableService
  3973        summary: update variable
  3974        operationId: VariableService_UpdateVariable
  3975        parameters:
  3976          - name: name
  3977            in: path
  3978            required: true
  3979            schema:
  3980              type: string
  3981          - $ref: '#/components/parameters/Accept-JSON'
  3982        requestBody:
  3983          content:
  3984            application/json:
  3985              schema:
  3986                type: object
  3987                required: [ value, tags ]
  3988                properties:
  3989                  value:
  3990                    type: string
  3991                  tags:
  3992                    type: array
  3993                    items:
  3994                      type: string
  3995          required: true
  3996        responses:
  3997          200:
  3998            description: A successful response.
  3999            content:
  4000              application/json:
  4001                schema:
  4002                  $ref: '#/components/schemas/apiVariable'
  4003          '400':
  4004            $ref: '#/components/responses/HTTP-400'
  4005          '401':
  4006            $ref: '#/components/responses/HTTP-401'
  4007          '409':
  4008            $ref: '#/components/responses/HTTP-409'
  4009        security:
  4010          - ApiKeyAuth: [ ]
  4011      delete:
  4012        tags:
  4013          - VariableService
  4014        summary: delete variable
  4015        operationId: VariableService_DeleteVariable
  4016        parameters:
  4017          - name: name
  4018            in: path
  4019            required: true
  4020            schema:
  4021              type: string
  4022        responses:
  4023          200:
  4024            description: A successful response.
  4025            content:
  4026              application/json:
  4027                schema:
  4028                  type: object
  4029          '404':
  4030            $ref: '#/components/responses/HTTP-404'
  4031          '401':
  4032            $ref: '#/components/responses/HTTP-401'
  4033        security:
  4034          - ApiKeyAuth: [ ]
  4035    /v1/variables:
  4036      get:
  4037        tags:
  4038          - VariableService
  4039        summary: get variable list
  4040        operationId: VariableService_GetVariableList
  4041        parameters:
  4042          - $ref: '#/components/parameters/listSort'
  4043          - $ref: '#/components/parameters/listPage'
  4044          - $ref: '#/components/parameters/listLimit'
  4045        responses:
  4046          200:
  4047            description: A successful response.
  4048            content:
  4049              application/json:
  4050                schema:
  4051                  $ref: '#/components/schemas/apiGetVariableListResult'
  4052          '401':
  4053            $ref: '#/components/responses/HTTP-401'
  4054        security:
  4055          - ApiKeyAuth: [ ]
  4056    /v1/variables/search:
  4057      get:
  4058        tags:
  4059          - VariableService
  4060        summary: search trigger
  4061        operationId: VariableService_SearchVariable
  4062        parameters:
  4063          - $ref: '#/components/parameters/searchQuery'
  4064          - $ref: '#/components/parameters/searchOffset'
  4065          - $ref: '#/components/parameters/searchLimit'
  4066        responses:
  4067          200:
  4068            description: A successful response.
  4069            content:
  4070              application/json:
  4071                schema:
  4072                  $ref: '#/components/schemas/apiSearchVariableResult'
  4073          '401':
  4074            $ref: '#/components/responses/HTTP-401'
  4075        security:
  4076          - ApiKeyAuth: [ ]
  4077    /v1/zigbee2mqtt/bridge:
  4078      get:
  4079        tags:
  4080          - Zigbee2mqttService
  4081        summary: get bridge list
  4082        operationId: Zigbee2mqttService_GetBridgeList
  4083        parameters:
  4084          - $ref: '#/components/parameters/listSort'
  4085          - $ref: '#/components/parameters/listPage'
  4086          - $ref: '#/components/parameters/listLimit'
  4087        responses:
  4088          200:
  4089            description: A successful response.
  4090            content:
  4091              application/json:
  4092                schema:
  4093                  $ref: '#/components/schemas/apiGetBridgeListResult'
  4094          '401':
  4095            $ref: '#/components/responses/HTTP-401'
  4096        security:
  4097          - ApiKeyAuth: [ ]
  4098      post:
  4099        tags:
  4100          - Zigbee2mqttService
  4101        summary: add new bridge
  4102        operationId: Zigbee2mqttService_AddZigbee2mqttBridge
  4103        requestBody:
  4104          content:
  4105            application/json:
  4106              schema:
  4107                $ref: '#/components/schemas/apiNewZigbee2mqttRequest'
  4108          required: true
  4109        responses:
  4110          200:
  4111            description: A successful response.
  4112            content:
  4113              application/json:
  4114                schema:
  4115                  $ref: '#/components/schemas/apiZigbee2mqtt'
  4116          '400':
  4117            $ref: '#/components/responses/HTTP-400'
  4118          '401':
  4119            $ref: '#/components/responses/HTTP-401'
  4120          '409':
  4121            $ref: '#/components/responses/HTTP-409'
  4122        security:
  4123          - ApiKeyAuth: [ ]
  4124        parameters:
  4125          - $ref: '#/components/parameters/Accept-JSON'
  4126    /v1/zigbee2mqtt/bridge/{id}:
  4127      get:
  4128        tags:
  4129          - Zigbee2mqttService
  4130        summary: get bridge
  4131        operationId: Zigbee2mqttService_GetZigbee2mqttBridge
  4132        parameters:
  4133          - name: id
  4134            in: path
  4135            required: true
  4136            schema:
  4137              type: integer
  4138              format: int64
  4139        responses:
  4140          200:
  4141            description: A successful response.
  4142            content:
  4143              application/json:
  4144                schema:
  4145                  $ref: '#/components/schemas/apiZigbee2mqtt'
  4146          '404':
  4147            $ref: '#/components/responses/HTTP-404'
  4148          '401':
  4149            $ref: '#/components/responses/HTTP-401'
  4150        security:
  4151          - ApiKeyAuth: [ ]
  4152      delete:
  4153        tags:
  4154          - Zigbee2mqttService
  4155        summary: delete bridge by id
  4156        operationId: Zigbee2mqttService_DeleteBridgeById
  4157        parameters:
  4158          - name: id
  4159            in: path
  4160            required: true
  4161            schema:
  4162              type: integer
  4163              format: int64
  4164        responses:
  4165          200:
  4166            description: A successful response.
  4167            content:
  4168              application/json:
  4169                schema:
  4170                  type: object
  4171          '404':
  4172            $ref: '#/components/responses/HTTP-404'
  4173          '401':
  4174            $ref: '#/components/responses/HTTP-401'
  4175        security:
  4176          - ApiKeyAuth: [ ]
  4177    /v1/zigbee2mqtt/bridge/{id}/bridge:
  4178      put:
  4179        tags:
  4180          - Zigbee2mqttService
  4181        summary: update bridge by id
  4182        operationId: Zigbee2mqttService_UpdateBridgeById
  4183        parameters:
  4184          - name: id
  4185            in: path
  4186            required: true
  4187            schema:
  4188              type: integer
  4189              format: int64
  4190          - $ref: '#/components/parameters/Accept-JSON'
  4191        requestBody:
  4192          content:
  4193            application/json:
  4194              schema:
  4195                type: object
  4196                required: [ name, login, permitJoin, baseTopic ]
  4197                properties:
  4198                  name:
  4199                    type: string
  4200                  login:
  4201                    type: string
  4202                  password:
  4203                    type: string
  4204                  permitJoin:
  4205                    type: boolean
  4206                  baseTopic:
  4207                    type: string
  4208          required: true
  4209        responses:
  4210          200:
  4211            description: A successful response.
  4212            content:
  4213              application/json:
  4214                schema:
  4215                  $ref: '#/components/schemas/apiZigbee2mqtt'
  4216          '400':
  4217            $ref: '#/components/responses/HTTP-400'
  4218          '401':
  4219            $ref: '#/components/responses/HTTP-401'
  4220          '409':
  4221            $ref: '#/components/responses/HTTP-409'
  4222        security:
  4223          - ApiKeyAuth: [ ]
  4224    /v1/zigbee2mqtt/bridge/{id}/devices:
  4225      get:
  4226        tags:
  4227          - Zigbee2mqttService
  4228        summary: list device
  4229        operationId: Zigbee2mqttService_DeviceList
  4230        parameters:
  4231          - $ref: '#/components/parameters/listSort'
  4232          - $ref: '#/components/parameters/listPage'
  4233          - $ref: '#/components/parameters/listLimit'
  4234          - name: id
  4235            in: path
  4236            required: true
  4237            schema:
  4238              type: integer
  4239              format: int64
  4240        responses:
  4241          200:
  4242            description: A successful response.
  4243            content:
  4244              application/json:
  4245                schema:
  4246                  $ref: '#/components/schemas/apiDeviceListResult'
  4247          '404':
  4248            $ref: '#/components/responses/HTTP-404'
  4249          '401':
  4250            $ref: '#/components/responses/HTTP-401'
  4251        security:
  4252          - ApiKeyAuth: [ ]
  4253    /v1/zigbee2mqtt/bridge/{id}/networkmap:
  4254      get:
  4255        tags:
  4256          - Zigbee2mqttService
  4257        summary: networkmap
  4258        operationId: Zigbee2mqttService_Networkmap
  4259        parameters:
  4260          - name: id
  4261            in: path
  4262            required: true
  4263            schema:
  4264              type: integer
  4265              format: int64
  4266        responses:
  4267          200:
  4268            description: A successful response.
  4269            content:
  4270              application/json:
  4271                schema:
  4272                  $ref: '#/components/schemas/apiNetworkmapResponse'
  4273          '404':
  4274            $ref: '#/components/responses/HTTP-404'
  4275          '401':
  4276            $ref: '#/components/responses/HTTP-401'
  4277        security:
  4278          - ApiKeyAuth: [ ]
  4279      post:
  4280        tags:
  4281          - Zigbee2mqttService
  4282        summary: update networkmap
  4283        operationId: Zigbee2mqttService_UpdateNetworkmap
  4284        parameters:
  4285          - name: id
  4286            in: path
  4287            required: true
  4288            schema:
  4289              type: integer
  4290              format: int64
  4291        responses:
  4292          200:
  4293            description: A successful response.
  4294            content:
  4295              application/json:
  4296                schema:
  4297                  type: object
  4298          '400':
  4299            $ref: '#/components/responses/HTTP-400'
  4300          '401':
  4301            $ref: '#/components/responses/HTTP-401'
  4302          '409':
  4303            $ref: '#/components/responses/HTTP-409'
  4304        security:
  4305          - ApiKeyAuth: [ ]
  4306    /v1/zigbee2mqtt/bridge/{id}/reset:
  4307      post:
  4308        tags:
  4309          - Zigbee2mqttService
  4310        summary: reset bridge by id
  4311        operationId: Zigbee2mqttService_ResetBridgeById
  4312        parameters:
  4313          - name: id
  4314            in: path
  4315            required: true
  4316            schema:
  4317              type: integer
  4318              format: int64
  4319        responses:
  4320          200:
  4321            description: A successful response.
  4322            content:
  4323              application/json:
  4324                schema:
  4325                  type: object
  4326          '400':
  4327            $ref: '#/components/responses/HTTP-400'
  4328          '401':
  4329            $ref: '#/components/responses/HTTP-401'
  4330          '409':
  4331            $ref: '#/components/responses/HTTP-409'
  4332        security:
  4333          - ApiKeyAuth: [ ]
  4334    /v1/zigbee2mqtt/device_ban:
  4335      post:
  4336        tags:
  4337          - Zigbee2mqttService
  4338        summary: device ban
  4339        operationId: Zigbee2mqttService_DeviceBan
  4340        requestBody:
  4341          content:
  4342            application/json:
  4343              schema:
  4344                $ref: '#/components/schemas/apiDeviceBanRequest'
  4345          required: true
  4346        responses:
  4347          200:
  4348            description: A successful response.
  4349            content:
  4350              application/json:
  4351                schema:
  4352                  type: object
  4353          '400':
  4354            $ref: '#/components/responses/HTTP-400'
  4355          '401':
  4356            $ref: '#/components/responses/HTTP-401'
  4357          '409':
  4358            $ref: '#/components/responses/HTTP-409'
  4359        security:
  4360          - ApiKeyAuth: [ ]
  4361        parameters:
  4362          - $ref: '#/components/parameters/Accept-JSON'
  4363    /v1/zigbee2mqtt/device_rename:
  4364      post:
  4365        tags:
  4366          - Zigbee2mqttService
  4367        summary: device rename
  4368        operationId: Zigbee2mqttService_DeviceRename
  4369        requestBody:
  4370          content:
  4371            application/json:
  4372              schema:
  4373                $ref: '#/components/schemas/apiDeviceRenameRequest'
  4374          required: true
  4375        responses:
  4376          200:
  4377            description: A successful response.
  4378            content:
  4379              application/json:
  4380                schema:
  4381                  type: object
  4382          '400':
  4383            $ref: '#/components/responses/HTTP-400'
  4384          '401':
  4385            $ref: '#/components/responses/HTTP-401'
  4386          '409':
  4387            $ref: '#/components/responses/HTTP-409'
  4388        security:
  4389          - ApiKeyAuth: [ ]
  4390        parameters:
  4391          - $ref: '#/components/parameters/Accept-JSON'
  4392    /v1/zigbee2mqtt/device_whitelist:
  4393      post:
  4394        tags:
  4395          - Zigbee2mqttService
  4396        summary: device whitelist
  4397        operationId: Zigbee2mqttService_DeviceWhitelist
  4398        requestBody:
  4399          content:
  4400            application/json:
  4401              schema:
  4402                $ref: '#/components/schemas/apiDeviceWhitelistRequest'
  4403          required: true
  4404        responses:
  4405          200:
  4406            description: A successful response.
  4407            content:
  4408              application/json:
  4409                schema:
  4410                  type: object
  4411          '400':
  4412            $ref: '#/components/responses/HTTP-400'
  4413          '401':
  4414            $ref: '#/components/responses/HTTP-401'
  4415          '409':
  4416            $ref: '#/components/responses/HTTP-409'
  4417        security:
  4418          - ApiKeyAuth: [ ]
  4419        parameters:
  4420          - $ref: '#/components/parameters/Accept-JSON'
  4421    /v1/zigbee2mqtt/search_device:
  4422      get:
  4423        tags:
  4424          - Zigbee2mqttService
  4425        summary: search device
  4426        operationId: Zigbee2mqttService_SearchDevice
  4427        parameters:
  4428          - $ref: '#/components/parameters/searchQuery'
  4429          - $ref: '#/components/parameters/searchOffset'
  4430          - $ref: '#/components/parameters/searchLimit'
  4431        responses:
  4432          200:
  4433            description: A successful response.
  4434            content:
  4435              application/json:
  4436                schema:
  4437                  $ref: '#/components/schemas/apiSearchDeviceResult'
  4438          '401':
  4439            $ref: '#/components/responses/HTTP-401'
  4440        security:
  4441          - ApiKeyAuth: [ ]
  4442    /v1/ws:
  4443      get:
  4444        tags:
  4445          - StreamService
  4446        operationId: StreamService_Subscribe
  4447        responses:
  4448          200:
  4449            description: A successful response.(streaming responses)
  4450            content:
  4451              application/json:
  4452                schema:
  4453                  $ref: '#/components/schemas/apiResponse'
  4454          '401':
  4455            $ref: '#/components/responses/HTTP-401'
  4456        security:
  4457          - ApiKeyAuth: [ ]
  4458  components:
  4459    parameters:
  4460      Accept-JSON:
  4461        name: Accept
  4462        in: header
  4463        required: false
  4464        schema:
  4465          type: string
  4466          default: application/json
  4467          example: application/json
  4468      ContentType-JSON:
  4469        name: Content-Type
  4470        in: header
  4471        schema:
  4472          type: string
  4473          default: application/json
  4474          example: application/json
  4475        required: false
  4476      searchQuery:
  4477        name: query
  4478        in: query
  4479        schema:
  4480          type: string
  4481      searchLimit:
  4482        name: limit
  4483        in: query
  4484        schema:
  4485          type: integer
  4486          format: int64
  4487      searchOffset:
  4488        name: offset
  4489        in: query
  4490        schema:
  4491          type: integer
  4492          format: int64
  4493      metricId:
  4494        name: id
  4495        in: query
  4496        required: true
  4497        schema:
  4498          type: integer
  4499          format: int64
  4500      metricRange:
  4501        name: range
  4502        in: query
  4503        schema:
  4504          type: string
  4505          enum:
  4506            - 6h
  4507            - 12h
  4508            - 24h
  4509            - 7d
  4510            - 30d
  4511            - 1m
  4512      listSort:
  4513        name: sort
  4514        in: query
  4515        required: false
  4516        schema:
  4517          type: string
  4518          example: '-created_at'
  4519        description: Field on which to sort and its direction
  4520      listPage:
  4521        name: page
  4522        in: query
  4523        required: false
  4524        schema:
  4525          type: integer
  4526          format: uint64
  4527          example: 1
  4528          default: 1
  4529        description: Page number of the requested result set
  4530      listLimit:
  4531        name: limit
  4532        in: query
  4533        required: false
  4534        schema:
  4535          type: integer
  4536          format: uint64
  4537        description: The number of results returned on a page
  4538      ids:
  4539        name: ids[]
  4540        in: query
  4541        required: false
  4542        schema:
  4543          type: array
  4544          items:
  4545            type: integer
  4546            format: uint64
  4547        description: The number of results returned on a page
  4548      startDate:
  4549        name: startDate
  4550        in: query
  4551        required: false
  4552        schema:
  4553          type: string
  4554          format: date-time
  4555      endDate:
  4556        name: endDate
  4557        in: query
  4558        required: false
  4559        schema:
  4560          type: string
  4561          format: date-time
  4562      entityIds:
  4563        name: entityId[]
  4564        in: query
  4565        required: false
  4566        schema:
  4567          type: array
  4568          items:
  4569            type: string
  4570      query:
  4571        name: query
  4572        in: query
  4573        required: false
  4574        schema:
  4575          type: string
  4576      tags:
  4577        name: tags[]
  4578        in: query
  4579        required: false
  4580        schema:
  4581          type: array
  4582          items:
  4583            type: string
  4584    schemas:
  4585      GenericErrorResponse:
  4586        title: Generic Error Response
  4587        type: object
  4588        description: Generic Error Response
  4589        properties:
  4590          message:
  4591            type: string
  4592          code:
  4593            type: string
  4594  
  4595      AccessListListOfString:
  4596        type: object
  4597        required: [ items ]
  4598        properties:
  4599          items:
  4600            type: array
  4601            items:
  4602              type: string
  4603      GetImageFilterListResultfilter:
  4604        type: object
  4605        required: [ date, count ]
  4606        properties:
  4607          date:
  4608            type: string
  4609          count:
  4610            type: integer
  4611            format: int32
  4612      UpdateDashboardCardRequestItem:
  4613        type: object
  4614        required: [ id, title, type, weight, enabled, payload, hidden, frozen ]
  4615        properties:
  4616          id:
  4617            type: integer
  4618            format: int64
  4619          title:
  4620            type: string
  4621          type:
  4622            type: string
  4623          weight:
  4624            type: integer
  4625            format: int32
  4626          enabled:
  4627            type: boolean
  4628          entityId:
  4629            type: string
  4630          payload:
  4631            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  4632            type: string
  4633            format: byte
  4634          hidden:
  4635            type: boolean
  4636          frozen:
  4637            type: boolean
  4638          showOn:
  4639            type: array
  4640            items:
  4641              type: string
  4642          hideOn:
  4643            type: array
  4644            items:
  4645              type: string
  4646      UpdateRoleAccessListRequestAccessListDiff:
  4647        type: object
  4648        required: [ items ]
  4649        properties:
  4650          items:
  4651            type: object
  4652            additionalProperties:
  4653              type: boolean
  4654      apiAccessItem:
  4655        type: object
  4656        required: [ actions, method, description, roleName ]
  4657        properties:
  4658          actions:
  4659            type: array
  4660            items:
  4661              type: string
  4662          method:
  4663            type: string
  4664          description:
  4665            type: string
  4666          roleName:
  4667            type: string
  4668      apiAccessLevels:
  4669        type: object
  4670        required: [ items ]
  4671        properties:
  4672          items:
  4673            type: object
  4674            additionalProperties:
  4675              $ref: '#/components/schemas/apiAccessItem'
  4676      apiAccessList:
  4677        type: object
  4678        required: [ levels ]
  4679        properties:
  4680          levels:
  4681            type: object
  4682            additionalProperties:
  4683              $ref: '#/components/schemas/apiAccessLevels'
  4684      apiAccessListResponse:
  4685        type: object
  4686        properties:
  4687          accessList:
  4688            $ref: '#/components/schemas/apiAccessList'
  4689      apiAction:
  4690        type: object
  4691        required: [ id, name, description, createdAt, updatedAt ]
  4692        properties:
  4693          id:
  4694            type: integer
  4695            format: int64
  4696          name:
  4697            type: string
  4698          description:
  4699            type: string
  4700          scriptId:
  4701            type: integer
  4702            format: int64
  4703          script:
  4704            $ref: '#/components/schemas/apiScript'
  4705          areaId:
  4706            type: integer
  4707            format: int64
  4708          area:
  4709            $ref: '#/components/schemas/apiArea'
  4710          entity:
  4711            $ref: '#/components/schemas/apiEntity'
  4712          entityId:
  4713            type: string
  4714          entityActionName:
  4715            type: string
  4716          completed:
  4717            type: boolean
  4718          createdAt:
  4719            type: string
  4720            format: date-time
  4721          updatedAt:
  4722            type: string
  4723            format: date-time
  4724      apiArea:
  4725        type: object
  4726        required: [ id, name, description, polygon, createdAt, updatedAt, zoom, resolution ]
  4727        properties:
  4728          id:
  4729            type: integer
  4730            format: int64
  4731          name:
  4732            type: string
  4733          description:
  4734            type: string
  4735          polygon:
  4736            type: array
  4737            items:
  4738              $ref: '#/components/schemas/apiAreaLocation'
  4739          center:
  4740            $ref: '#/components/schemas/apiAreaLocation'
  4741          zoom:
  4742            type: number
  4743            format: float
  4744          resolution:
  4745            type: number
  4746            format: float
  4747          createdAt:
  4748            type: string
  4749            format: date-time
  4750          updatedAt:
  4751            type: string
  4752            format: date-time
  4753      apiAreaLocation:
  4754        type: object
  4755        required: [ lat, lon ]
  4756        properties:
  4757          lat:
  4758            type: number
  4759            format: double
  4760          lon:
  4761            type: number
  4762            format: double
  4763      apiAttribute:
  4764        type: object
  4765        required: [ type, name ]
  4766        properties:
  4767          name:
  4768            type: string
  4769          type:
  4770            $ref: '#/components/schemas/apiTypes'
  4771          int:
  4772            type: integer
  4773            format: int64
  4774          string:
  4775            type: string
  4776          bool:
  4777            type: boolean
  4778          float:
  4779            type: number
  4780            format: float
  4781          array:
  4782            type: array
  4783            items:
  4784              $ref: '#/components/schemas/apiAttribute'
  4785          map:
  4786            type: object
  4787            additionalProperties:
  4788              $ref: '#/components/schemas/apiAttribute'
  4789          time:
  4790            type: string
  4791            format: date-time
  4792          imageUrl:
  4793            type: string
  4794          icon:
  4795            type: string
  4796          point:
  4797            type: string
  4798          encrypted:
  4799            type: string
  4800      apiAutomationRequest:
  4801        type: object
  4802        required: [ id, name ]
  4803        properties:
  4804          id:
  4805            type: integer
  4806            format: int64
  4807          name:
  4808            type: string
  4809      apiBusStateItem:
  4810        type: object
  4811        required: [ topic, subscribers, min, max, avg, rps ]
  4812        properties:
  4813          topic:
  4814            type: string
  4815          subscribers:
  4816            type: integer
  4817            format: int32
  4818          min:
  4819            type: integer
  4820            format: int64
  4821          max:
  4822            type: integer
  4823            format: int64
  4824          avg:
  4825            type: integer
  4826            format: int64
  4827          rps:
  4828            type: number
  4829            format: double
  4830      apiClient:
  4831        type: object
  4832        required: [ clientId, username, keepAlive, version, willRetain, willQos, willTopic, willPayload,
  4833                    remoteAddr, localAddr, subscriptionsCurrent, subscriptionsTotal, packetsReceivedBytes, packetsReceivedNums,
  4834                    packetsSendBytes, packetsSendNums, messageDropped, inflightLen, queueLen, connectedAt ]
  4835        properties:
  4836          clientId:
  4837            type: string
  4838          username:
  4839            type: string
  4840          keepAlive:
  4841            type: integer
  4842            format: uint16
  4843          version:
  4844            type: integer
  4845            format: int32
  4846          willRetain:
  4847            type: boolean
  4848          willQos:
  4849            type: integer
  4850            format: uint8
  4851          willTopic:
  4852            type: string
  4853          willPayload:
  4854            type: string
  4855          remoteAddr:
  4856            type: string
  4857          localAddr:
  4858            type: string
  4859          subscriptionsCurrent:
  4860            type: integer
  4861            format: uint32
  4862          subscriptionsTotal:
  4863            type: integer
  4864            format: uint32
  4865          packetsReceivedBytes:
  4866            type: integer
  4867            format: uint64
  4868          packetsReceivedNums:
  4869            type: integer
  4870            format: uint64
  4871          packetsSendBytes:
  4872            type: integer
  4873            format: uint64
  4874          packetsSendNums:
  4875            type: integer
  4876            format: uint64
  4877          messageDropped:
  4878            type: integer
  4879            format: uint64
  4880          inflightLen:
  4881            type: integer
  4882            format: uint32
  4883          queueLen:
  4884            type: integer
  4885            format: uint32
  4886          connectedAt:
  4887            type: string
  4888            format: date-time
  4889          disconnectedAt:
  4890            type: string
  4891            format: date-time
  4892      apiCondition:
  4893        type: object
  4894        required: [ id, name, description, createdAt, updatedAt ]
  4895        properties:
  4896          id:
  4897            type: integer
  4898            format: int64
  4899          name:
  4900            type: string
  4901          description:
  4902            type: string
  4903          scriptId:
  4904            type: integer
  4905            format: int64
  4906          script:
  4907            $ref: '#/components/schemas/apiScript'
  4908          area:
  4909            $ref: '#/components/schemas/apiArea'
  4910          areaId:
  4911            type: integer
  4912            format: int64
  4913          createdAt:
  4914            type: string
  4915            format: date-time
  4916          updatedAt:
  4917            type: string
  4918            format: date-time
  4919      apiCurrentUser:
  4920        type: object
  4921        properties:
  4922          id:
  4923            type: integer
  4924            format: int64
  4925          nickname:
  4926            type: string
  4927          firstName:
  4928            type: string
  4929          lastName:
  4930            type: string
  4931          email:
  4932            type: string
  4933          status:
  4934            type: string
  4935          history:
  4936            type: array
  4937            items:
  4938              $ref: '#/components/schemas/apiUserHistory'
  4939          image:
  4940            $ref: '#/components/schemas/apiImage'
  4941          signInCount:
  4942            type: integer
  4943            format: int64
  4944          meta:
  4945            type: array
  4946            items:
  4947              $ref: '#/components/schemas/apiUserMeta'
  4948          role:
  4949            $ref: '#/components/schemas/apiRole'
  4950          lang:
  4951            type: string
  4952          createdAt:
  4953            type: string
  4954            format: date-time
  4955          updatedAt:
  4956            type: string
  4957            format: date-time
  4958          currentSignInAt:
  4959            type: string
  4960            format: date-time
  4961          lastSignInAt:
  4962            type: string
  4963            format: date-time
  4964      apiDashboard:
  4965        type: object
  4966        required: [ id, name, description, enabled, tabs, entities, createdAt, updatedAt ]
  4967        properties:
  4968          id:
  4969            type: integer
  4970            format: int64
  4971          name:
  4972            type: string
  4973          description:
  4974            type: string
  4975          enabled:
  4976            type: boolean
  4977          areaId:
  4978            type: integer
  4979            format: int64
  4980          area:
  4981            $ref: '#/components/schemas/apiArea'
  4982          tabs:
  4983            type: array
  4984            items:
  4985              $ref: '#/components/schemas/apiDashboardTab'
  4986          entities:
  4987            type: object
  4988            additionalProperties:
  4989              $ref: '#/components/schemas/apiEntity'
  4990          createdAt:
  4991            type: string
  4992            format: date-time
  4993          updatedAt:
  4994            type: string
  4995            format: date-time
  4996      apiDashboardCard:
  4997        type: object
  4998        required: [ id, title, height, weight, width, enabled, dashboardTabId, payload, items, entities, hidden, createdAt, updatedAt ]
  4999        properties:
  5000          id:
  5001            type: integer
  5002            format: int64
  5003          title:
  5004            type: string
  5005          height:
  5006            type: integer
  5007            format: int32
  5008          width:
  5009            type: integer
  5010            format: int32
  5011          background:
  5012            type: string
  5013          weight:
  5014            type: integer
  5015            format: int32
  5016          enabled:
  5017            type: boolean
  5018          dashboardTabId:
  5019            type: integer
  5020            format: int64
  5021          payload:
  5022            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  5023            type: string
  5024            format: byte
  5025          items:
  5026            type: array
  5027            items:
  5028              $ref: '#/components/schemas/apiDashboardCardItem'
  5029          entities:
  5030            type: object
  5031            additionalProperties:
  5032              $ref: '#/components/schemas/apiEntity'
  5033          hidden:
  5034            type: boolean
  5035          entityId:
  5036            type: string
  5037          createdAt:
  5038            type: string
  5039            format: date-time
  5040          updatedAt:
  5041            type: string
  5042            format: date-time
  5043      apiDashboardCardItem:
  5044        type: object
  5045        required: [ id, title, type, weight, enabled, dashboardCardId, payload, hidden, frozen, createdAt, updatedAt ]
  5046        properties:
  5047          id:
  5048            type: integer
  5049            format: int64
  5050          title:
  5051            type: string
  5052          type:
  5053            type: string
  5054          weight:
  5055            type: integer
  5056            format: int32
  5057          enabled:
  5058            type: boolean
  5059          dashboardCardId:
  5060            type: integer
  5061            format: int64
  5062          entityId:
  5063            type: string
  5064          payload:
  5065            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  5066            type: string
  5067            format: byte
  5068          hidden:
  5069            type: boolean
  5070          frozen:
  5071            type: boolean
  5072          createdAt:
  5073            type: string
  5074            format: date-time
  5075          updatedAt:
  5076            type: string
  5077            format: date-time
  5078      apiDashboardShort:
  5079        type: object
  5080        required: [ id, name, description, enabled, createdAt, updatedAt ]
  5081        properties:
  5082          id:
  5083            type: integer
  5084            format: int64
  5085          name:
  5086            type: string
  5087          description:
  5088            type: string
  5089          enabled:
  5090            type: boolean
  5091          areaId:
  5092            type: integer
  5093            format: int64
  5094          area:
  5095            $ref: '#/components/schemas/apiArea'
  5096          createdAt:
  5097            type: string
  5098            format: date-time
  5099          updatedAt:
  5100            type: string
  5101            format: date-time
  5102      apiDashboardTab:
  5103        type: object
  5104        required: [ id, name, icon, columnWidth, gap, enabled, weight, dashboardId, cards, entities, payload, createdAt, updatedAt ]
  5105        properties:
  5106          id:
  5107            type: integer
  5108            format: int64
  5109          name:
  5110            type: string
  5111          columnWidth:
  5112            type: integer
  5113            format: int32
  5114          gap:
  5115            type: boolean
  5116          background:
  5117            type: string
  5118          icon:
  5119            type: string
  5120          enabled:
  5121            type: boolean
  5122          weight:
  5123            type: integer
  5124            format: int32
  5125          dashboardId:
  5126            type: integer
  5127            format: int64
  5128          cards:
  5129            type: array
  5130            items:
  5131              $ref: '#/components/schemas/apiDashboardCard'
  5132          entities:
  5133            type: object
  5134            additionalProperties:
  5135              $ref: '#/components/schemas/apiEntity'
  5136          payload:
  5137            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  5138            type: string
  5139            format: byte
  5140          createdAt:
  5141            type: string
  5142            format: date-time
  5143          updatedAt:
  5144            type: string
  5145            format: date-time
  5146      apiDashboardTabShort:
  5147        type: object
  5148        properties:
  5149          id:
  5150            type: integer
  5151            format: int64
  5152          name:
  5153            type: string
  5154          columnWidth:
  5155            type: integer
  5156            format: int32
  5157          gap:
  5158            type: boolean
  5159          background:
  5160            type: string
  5161          icon:
  5162            type: string
  5163          enabled:
  5164            type: boolean
  5165          weight:
  5166            type: integer
  5167            format: int32
  5168          dashboardId:
  5169            type: integer
  5170            format: int64
  5171          createdAt:
  5172            type: string
  5173            format: date-time
  5174          updatedAt:
  5175            type: string
  5176            format: date-time
  5177      apiDeviceBanRequest:
  5178        type: object
  5179        required: [ id, friendlyName ]
  5180        properties:
  5181          id:
  5182            type: integer
  5183            format: int64
  5184          friendlyName:
  5185            type: string
  5186      apiDeviceListResult:
  5187        type: object
  5188        required: [ items ]
  5189        properties:
  5190          items:
  5191            type: array
  5192            items:
  5193              $ref: '#/components/schemas/apiZigbee2mqttDevice'
  5194          meta:
  5195            $ref: '#/components/schemas/apiMeta'
  5196      apiDeviceRenameRequest:
  5197        type: object
  5198        required: [ friendlyName, newName ]
  5199        properties:
  5200          friendlyName:
  5201            type: string
  5202          newName:
  5203            type: string
  5204      apiDeviceWhitelistRequest:
  5205        type: object
  5206        required: [ id, friendlyName ]
  5207        properties:
  5208          id:
  5209            type: integer
  5210            format: int64
  5211          friendlyName:
  5212            type: string
  5213      apiDisablePluginResult:
  5214        type: object
  5215      apiEnablePluginResult:
  5216        type: object
  5217      apiEntity:
  5218        type: object
  5219        required: [ id, pluginName, description, autoLoad, restoreState, actions, states,
  5220                    scripts, scriptIds, attributes, settings, metrics, createdAt,
  5221                    updatedAt, tags ]
  5222        properties:
  5223          id:
  5224            type: string
  5225          pluginName:
  5226            type: string
  5227          description:
  5228            type: string
  5229          area:
  5230            $ref: '#/components/schemas/apiArea'
  5231          image:
  5232            $ref: '#/components/schemas/apiImage'
  5233          icon:
  5234            type: string
  5235          autoLoad:
  5236            type: boolean
  5237          restoreState:
  5238            type: boolean
  5239          parent:
  5240            $ref: '#/components/schemas/apiEntityParent'
  5241          actions:
  5242            type: array
  5243            items:
  5244              $ref: '#/components/schemas/apiEntityAction'
  5245          states:
  5246            type: array
  5247            items:
  5248              $ref: '#/components/schemas/apiEntityState'
  5249          scripts:
  5250            type: array
  5251            items:
  5252              $ref: '#/components/schemas/apiScript'
  5253          scriptIds:
  5254            type: array
  5255            items:
  5256              type: integer
  5257              format: int64
  5258          attributes:
  5259            type: object
  5260            additionalProperties:
  5261              $ref: '#/components/schemas/apiAttribute'
  5262          settings:
  5263            type: object
  5264            additionalProperties:
  5265              $ref: '#/components/schemas/apiAttribute'
  5266          metrics:
  5267            type: array
  5268            items:
  5269              $ref: '#/components/schemas/apiMetric'
  5270          isLoaded:
  5271            type: boolean
  5272          createdAt:
  5273            type: string
  5274            format: date-time
  5275          updatedAt:
  5276            type: string
  5277            format: date-time
  5278          tags:
  5279            type: array
  5280            items:
  5281              type: string
  5282      apiEntityAction:
  5283        type: object
  5284        required: [ name, description, type ]
  5285        properties:
  5286          name:
  5287            type: string
  5288          description:
  5289            type: string
  5290          icon:
  5291            type: string
  5292          image:
  5293            $ref: '#/components/schemas/apiImage'
  5294          script:
  5295            $ref: '#/components/schemas/apiScript'
  5296          scriptId:
  5297            type: integer
  5298            format: int64
  5299          type:
  5300            type: string
  5301      apiEntityCallActionRequest:
  5302        type: object
  5303        required: [ name, attributes, tags]
  5304        properties:
  5305          id:
  5306            type: string
  5307          name:
  5308            type: string
  5309          attributes:
  5310            type: object
  5311            additionalProperties:
  5312              $ref: '#/components/schemas/apiAttribute'
  5313          tags:
  5314            type: array
  5315            items:
  5316              type: string
  5317          areaId:
  5318            type: integer
  5319            format: int64
  5320      apiEntityParent:
  5321        type: object
  5322        required: [ id ]
  5323        properties:
  5324          id:
  5325            type: string
  5326      apiEntityRequest:
  5327        type: object
  5328        required: [ id, name ]
  5329        properties:
  5330          id:
  5331            type: string
  5332          name:
  5333            type: string
  5334      apiEntityShort:
  5335        type: object
  5336        required: [ id, pluginName, description, autoLoad, restoreState, createdAt, updatedAt, tags ]
  5337        properties:
  5338          id:
  5339            type: string
  5340          pluginName:
  5341            type: string
  5342          description:
  5343            type: string
  5344          area:
  5345            $ref: '#/components/schemas/apiArea'
  5346          icon:
  5347            type: string
  5348          autoLoad:
  5349            type: boolean
  5350          restoreState:
  5351            type: boolean
  5352          parentId:
  5353            type: string
  5354          isLoaded:
  5355            type: boolean
  5356          createdAt:
  5357            type: string
  5358            format: date-time
  5359          updatedAt:
  5360            type: string
  5361            format: date-time
  5362          tags:
  5363            type: array
  5364            items:
  5365              type: string
  5366      apiEntityState:
  5367        type: object
  5368        required: [ name, description, style ]
  5369        properties:
  5370          name:
  5371            type: string
  5372          description:
  5373            type: string
  5374          icon:
  5375            type: string
  5376          image:
  5377            $ref: '#/components/schemas/apiImage'
  5378          style:
  5379            type: string
  5380      apiEntityStorageFilter:
  5381        type: object
  5382        required: [ entityId, description ]
  5383        properties:
  5384          entityId:
  5385            type: string
  5386          description:
  5387            type: string
  5388      apiEntityStorage:
  5389        type: object
  5390        required: [ id, entityId, entity_description, state, state_description, attributes, createdAt ]
  5391        properties:
  5392          id:
  5393            type: integer
  5394            format: int64
  5395          entityId:
  5396            type: string
  5397          entity_description:
  5398            type: string
  5399          state:
  5400            type: string
  5401          state_description:
  5402            type: string
  5403          attributes:
  5404            type: object
  5405            additionalProperties:
  5406              $ref: '#/components/schemas/apiAttribute'
  5407          createdAt:
  5408            type: string
  5409            format: date-time
  5410      apiEventBusStateListResult:
  5411        type: object
  5412        required: [ items ]
  5413        properties:
  5414          items:
  5415            type: array
  5416            items:
  5417              $ref: '#/components/schemas/apiBusStateItem'
  5418          meta:
  5419            $ref: '#/components/schemas/apiMeta'
  5420      apiExecScriptResult:
  5421        type: object
  5422        required: [ result ]
  5423        properties:
  5424          result:
  5425            type: string
  5426      apiExecSrcScriptRequest:
  5427        type: object
  5428        required: [ lang, name, source, description ]
  5429        properties:
  5430          lang:
  5431            type: string
  5432          name:
  5433            type: string
  5434          source:
  5435            type: string
  5436          description:
  5437            type: string
  5438      apiGetActionListResult:
  5439        type: object
  5440        required: [ items ]
  5441        properties:
  5442          items:
  5443            type: array
  5444            items:
  5445              $ref: '#/components/schemas/apiAction'
  5446          meta:
  5447            $ref: '#/components/schemas/apiMeta'
  5448      apiGetAreaListResult:
  5449        type: object
  5450        required: [ items ]
  5451        properties:
  5452          items:
  5453            type: array
  5454            items:
  5455              $ref: '#/components/schemas/apiArea'
  5456          meta:
  5457            $ref: '#/components/schemas/apiMeta'
  5458      apiGetBackupListResult:
  5459        type: object
  5460        required: [ items ]
  5461        properties:
  5462          items:
  5463            type: array
  5464            items:
  5465              type: string
  5466          meta:
  5467            $ref: '#/components/schemas/apiMeta'
  5468      apiGetBridgeListResult:
  5469        type: object
  5470        required: [ items ]
  5471        properties:
  5472          items:
  5473            type: array
  5474            items:
  5475              $ref: '#/components/schemas/apiZigbee2mqttShort'
  5476          meta:
  5477            $ref: '#/components/schemas/apiMeta'
  5478      apiGetClientListResult:
  5479        type: object
  5480        required: [ items ]
  5481        properties:
  5482          items:
  5483            type: array
  5484            items:
  5485              $ref: '#/components/schemas/apiClient'
  5486          meta:
  5487            $ref: '#/components/schemas/apiMeta'
  5488      apiGetConditionListResult:
  5489        type: object
  5490        required: [ items ]
  5491        properties:
  5492          items:
  5493            type: array
  5494            items:
  5495              $ref: '#/components/schemas/apiCondition'
  5496          meta:
  5497            $ref: '#/components/schemas/apiMeta'
  5498      apiGetDashboardCardItemListResult:
  5499        type: object
  5500        required: [ items ]
  5501        properties:
  5502          items:
  5503            type: array
  5504            items:
  5505              $ref: '#/components/schemas/apiDashboardCardItem'
  5506          meta:
  5507            $ref: '#/components/schemas/apiMeta'
  5508      apiGetDashboardCardListResult:
  5509        type: object
  5510        required: [ items ]
  5511        properties:
  5512          items:
  5513            type: array
  5514            items:
  5515              $ref: '#/components/schemas/apiDashboardCard'
  5516          meta:
  5517            $ref: '#/components/schemas/apiMeta'
  5518      apiGetDashboardListResult:
  5519        type: object
  5520        required: [ items ]
  5521        properties:
  5522          items:
  5523            type: array
  5524            items:
  5525              $ref: '#/components/schemas/apiDashboardShort'
  5526          meta:
  5527            $ref: '#/components/schemas/apiMeta'
  5528      apiGetDashboardTabListResult:
  5529        type: object
  5530        required: [ items ]
  5531        properties:
  5532          items:
  5533            type: array
  5534            items:
  5535              $ref: '#/components/schemas/apiDashboardTabShort'
  5536          meta:
  5537            $ref: '#/components/schemas/apiMeta'
  5538      apiGetEntityListResult:
  5539        type: object
  5540        required: [ items ]
  5541        properties:
  5542          items:
  5543            type: array
  5544            items:
  5545              $ref: '#/components/schemas/apiEntityShort'
  5546          meta:
  5547            $ref: '#/components/schemas/apiMeta'
  5548      apiGetEntityStorageResult:
  5549        type: object
  5550        required: [ items, filter, meta ]
  5551        properties:
  5552          items:
  5553            type: array
  5554            items:
  5555              $ref: '#/components/schemas/apiEntityStorage'
  5556          filter:
  5557            type: array
  5558            items:
  5559              $ref: '#/components/schemas/apiEntityStorageFilter'
  5560          meta:
  5561            $ref: '#/components/schemas/apiMeta'
  5562      apiGetImageFilterListResult:
  5563        type: object
  5564        required: [ items ]
  5565        properties:
  5566          items:
  5567            type: array
  5568            items:
  5569              $ref: '#/components/schemas/GetImageFilterListResultfilter'
  5570      apiGetImageListByDateResult:
  5571        type: object
  5572        required: [ items ]
  5573        properties:
  5574          items:
  5575            type: array
  5576            items:
  5577              $ref: '#/components/schemas/apiImage'
  5578      apiGetImageListResult:
  5579        type: object
  5580        required: [ items ]
  5581        properties:
  5582          items:
  5583            type: array
  5584            items:
  5585              $ref: '#/components/schemas/apiImage'
  5586          meta:
  5587            $ref: '#/components/schemas/apiMeta'
  5588      apiGetLogListResult:
  5589        type: object
  5590        required: [ items ]
  5591        properties:
  5592          items:
  5593            type: array
  5594            items:
  5595              $ref: '#/components/schemas/apiLog'
  5596          meta:
  5597            $ref: '#/components/schemas/apiMeta'
  5598      apiGetMessageDeliveryListResult:
  5599        type: object
  5600        required: [ items ]
  5601        properties:
  5602          items:
  5603            type: array
  5604            items:
  5605              $ref: '#/components/schemas/apiMessageDelivery'
  5606          meta:
  5607            $ref: '#/components/schemas/apiMeta'
  5608      apiGetPluginListResult:
  5609        type: object
  5610        required: [ items ]
  5611        properties:
  5612          items:
  5613            type: array
  5614            items:
  5615              $ref: '#/components/schemas/apiPluginShort'
  5616          meta:
  5617            $ref: '#/components/schemas/apiMeta'
  5618      apiGetRoleListResult:
  5619        type: object
  5620        required: [ items ]
  5621        properties:
  5622          items:
  5623            type: array
  5624            items:
  5625              $ref: '#/components/schemas/apiRole'
  5626          meta:
  5627            $ref: '#/components/schemas/apiMeta'
  5628      apiGetScriptListResult:
  5629        type: object
  5630        required: [ items ]
  5631        properties:
  5632          items:
  5633            type: array
  5634            items:
  5635              $ref: '#/components/schemas/apiScript'
  5636          meta:
  5637            $ref: '#/components/schemas/apiMeta'
  5638      apiGetSubscriptionListResult:
  5639        type: object
  5640        required: [ items ]
  5641        properties:
  5642          items:
  5643            type: array
  5644            items:
  5645              $ref: '#/components/schemas/apiSubscription'
  5646          meta:
  5647            $ref: '#/components/schemas/apiMeta'
  5648      apiGetTaskListResult:
  5649        type: object
  5650        required: [ items ]
  5651        properties:
  5652          items:
  5653            type: array
  5654            items:
  5655              $ref: '#/components/schemas/apiTask'
  5656          meta:
  5657            $ref: '#/components/schemas/apiMeta'
  5658      apiGetTriggerListResult:
  5659        type: object
  5660        required: [ items ]
  5661        properties:
  5662          items:
  5663            type: array
  5664            items:
  5665              $ref: '#/components/schemas/apiTrigger'
  5666          meta:
  5667            $ref: '#/components/schemas/apiMeta'
  5668      apiGetUserListResult:
  5669        type: object
  5670        required: [ items ]
  5671        properties:
  5672          items:
  5673            type: array
  5674            items:
  5675              $ref: '#/components/schemas/apiUserShot'
  5676          meta:
  5677            $ref: '#/components/schemas/apiMeta'
  5678      apiGetVariableListResult:
  5679        type: object
  5680        required: [ items ]
  5681        properties:
  5682          items:
  5683            type: array
  5684            items:
  5685              $ref: '#/components/schemas/apiVariable'
  5686          meta:
  5687            $ref: '#/components/schemas/apiMeta'
  5688      apiGetTagListResult:
  5689        type: object
  5690        required: [ items ]
  5691        properties:
  5692          items:
  5693            type: array
  5694            items:
  5695              $ref: '#/components/schemas/apiTag'
  5696          meta:
  5697            $ref: '#/components/schemas/apiMeta'
  5698      apiBackup:
  5699        type: object
  5700        required: [ name, size, fileMode, modTime ]
  5701        properties:
  5702          name:
  5703            type: string
  5704          size:
  5705            type: integer
  5706            format: int64
  5707          fileMode:
  5708            type: integer
  5709            format: uint32
  5710          modTime:
  5711            type: string
  5712            format: date-time
  5713      apiImage:
  5714        type: object
  5715        required: [ id, thumb, url, image, mimeType, title, size, name, createdAt ]
  5716        properties:
  5717          id:
  5718            type: integer
  5719            format: int64
  5720          thumb:
  5721            type: string
  5722          url:
  5723            type: string
  5724          image:
  5725            type: string
  5726          mimeType:
  5727            type: string
  5728          title:
  5729            type: string
  5730          size:
  5731            type: integer
  5732            format: int64
  5733          name:
  5734            type: string
  5735          createdAt:
  5736            type: string
  5737            format: date-time
  5738      apiLog:
  5739        type: object
  5740        required: [ id, level, body, owner, createdAt ]
  5741        properties:
  5742          id:
  5743            type: integer
  5744            format: int64
  5745          level:
  5746            type: string
  5747          body:
  5748            type: string
  5749          owner:
  5750            type: string
  5751          createdAt:
  5752            type: string
  5753            format: date-time
  5754      apiMessage:
  5755        type: object
  5756        required: [ id, type, attributes, createdAt, updatedAt ]
  5757        properties:
  5758          id:
  5759            type: integer
  5760            format: int64
  5761          type:
  5762            type: string
  5763          entityId:
  5764            type: string
  5765          attributes:
  5766            type: object
  5767            additionalProperties:
  5768              type: string
  5769          createdAt:
  5770            type: string
  5771            format: date-time
  5772          updatedAt:
  5773            type: string
  5774            format: date-time
  5775      apiMessageDelivery:
  5776        type: object
  5777        required: [ id, message, address, status, createdAt, updatedAt ]
  5778        properties:
  5779          id:
  5780            type: integer
  5781            format: int64
  5782          message:
  5783            $ref: '#/components/schemas/apiMessage'
  5784          address:
  5785            type: string
  5786          status:
  5787            type: string
  5788          errorMessageStatus:
  5789            type: string
  5790          errorMessageBody:
  5791            type: string
  5792          createdAt:
  5793            type: string
  5794            format: date-time
  5795          updatedAt:
  5796            type: string
  5797            format: date-time
  5798      apiPagination:
  5799        type: object
  5800        required: [ limit, page, total ]
  5801        properties:
  5802          limit:
  5803            type: integer
  5804            format: uint64
  5805          page:
  5806            type: integer
  5807            format: uint64
  5808          total:
  5809            type: integer
  5810            format: uint64
  5811      apiMeta:
  5812        type: object
  5813        required: [ pagination, sort ]
  5814        properties:
  5815          pagination:
  5816            $ref: '#/components/schemas/apiPagination'
  5817          sort:
  5818            type: string
  5819      apiMetric:
  5820        type: object
  5821        required: [ id, name, description, data, type, ranges, createdAt, updatedAt ]
  5822        properties:
  5823          id:
  5824            type: integer
  5825            format: int64
  5826          name:
  5827            type: string
  5828          description:
  5829            type: string
  5830          options:
  5831            $ref: '#/components/schemas/apiMetricOption'
  5832          data:
  5833            type: array
  5834            items:
  5835              $ref: '#/components/schemas/apiMetricOptionData'
  5836          type:
  5837            type: string
  5838          ranges:
  5839            type: array
  5840            items:
  5841              type: string
  5842          createdAt:
  5843            type: string
  5844            format: date-time
  5845          updatedAt:
  5846            type: string
  5847            format: date-time
  5848      apiMetricOption:
  5849        type: object
  5850        required: [ items ]
  5851        properties:
  5852          items:
  5853            type: array
  5854            items:
  5855              $ref: '#/components/schemas/apiMetricOptionItem'
  5856      apiMetricOptionData:
  5857        type: object
  5858        required: [ value, time ]
  5859        properties:
  5860          value:
  5861            type: object
  5862            additionalProperties:
  5863              x-go-type: interface{}
  5864          metricId:
  5865            type: integer
  5866            format: int64
  5867          time:
  5868            type: string
  5869            format: date-time
  5870      apiMetricOptionItem:
  5871        type: object
  5872        required: [ name, description, color, translate, label ]
  5873        properties:
  5874          name:
  5875            type: string
  5876          description:
  5877            type: string
  5878          color:
  5879            type: string
  5880          translate:
  5881            type: string
  5882          label:
  5883            type: string
  5884      apiNetworkmapResponse:
  5885        type: object
  5886        required: [ networkmap ]
  5887        properties:
  5888          networkmap:
  5889            type: string
  5890      apiNewActionRequest:
  5891        type: object
  5892        required: [ name, description ]
  5893        properties:
  5894          name:
  5895            type: string
  5896          description:
  5897            type: string
  5898          scriptId:
  5899            type: integer
  5900            format: int64
  5901          areaId:
  5902            type: integer
  5903            format: int64
  5904          entityId:
  5905            type: string
  5906          entityActionName:
  5907            type: string
  5908      apiNewAreaRequest:
  5909        type: object
  5910        required: [ name, description, zoom, resolution, polygon ]
  5911        properties:
  5912          name:
  5913            type: string
  5914          description:
  5915            type: string
  5916          polygon:
  5917            type: array
  5918            items:
  5919              $ref: '#/components/schemas/apiAreaLocation'
  5920          center:
  5921            $ref: '#/components/schemas/apiAreaLocation'
  5922          zoom:
  5923            type: number
  5924            format: float
  5925          resolution:
  5926            type: number
  5927            format: float
  5928      apiNewConditionRequest:
  5929        type: object
  5930        required: [ name, description ]
  5931        properties:
  5932          name:
  5933            type: string
  5934          description:
  5935            type: string
  5936          scriptId:
  5937            type: integer
  5938            format: int64
  5939          areaId:
  5940            type: integer
  5941            format: int64
  5942      apiNewDashboardCardItemRequest:
  5943        type: object
  5944        required: [ title, type, weight, enabled, dashboardCardId, payload, hidden, frozen ]
  5945        properties:
  5946          title:
  5947            type: string
  5948          type:
  5949            type: string
  5950          weight:
  5951            type: integer
  5952            format: int32
  5953          enabled:
  5954            type: boolean
  5955          dashboardCardId:
  5956            type: integer
  5957            format: int64
  5958          entityId:
  5959            type: string
  5960          payload:
  5961            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  5962            type: string
  5963            format: byte
  5964          hidden:
  5965            type: boolean
  5966          frozen:
  5967            type: boolean
  5968      apiNewDashboardCardRequest:
  5969        type: object
  5970        required: [ title, height, width, weight, enabled, dashboardTabId, payload, hidden ]
  5971        properties:
  5972          title:
  5973            type: string
  5974          height:
  5975            type: integer
  5976            format: int32
  5977          width:
  5978            type: integer
  5979            format: int32
  5980          background:
  5981            type: string
  5982          weight:
  5983            type: integer
  5984            format: int32
  5985          enabled:
  5986            type: boolean
  5987          dashboardTabId:
  5988            type: integer
  5989            format: int64
  5990          payload:
  5991            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  5992            type: string
  5993            format: byte
  5994          hidden:
  5995            type: boolean
  5996          entityId:
  5997            type: string
  5998      apiNewDashboardRequest:
  5999        type: object
  6000        required: [ name, description, enabled ]
  6001        properties:
  6002          name:
  6003            type: string
  6004          description:
  6005            type: string
  6006          enabled:
  6007            type: boolean
  6008          areaId:
  6009            type: integer
  6010            format: int64
  6011      apiNewDashboardTabRequest:
  6012        type: object
  6013        required: [ name, columnWidth, gap, icon, enabled, weight, dashboardId, payload ]
  6014        properties:
  6015          name:
  6016            type: string
  6017          columnWidth:
  6018            type: integer
  6019            format: int32
  6020          gap:
  6021            type: boolean
  6022          background:
  6023            type: string
  6024          icon:
  6025            type: string
  6026          enabled:
  6027            type: boolean
  6028          weight:
  6029            type: integer
  6030            format: int32
  6031          dashboardId:
  6032            type: integer
  6033            format: int64
  6034          payload:
  6035            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  6036            type: string
  6037            format: byte
  6038      apiNewEntityRequest:
  6039        type: object
  6040        required: [ name, pluginName, description, autoLoad, restoreState, attributes, settings, metrics,
  6041                    actions, states, scriptIds, tags ]
  6042        properties:
  6043          name:
  6044            type: string
  6045          pluginName:
  6046            type: string
  6047          description:
  6048            type: string
  6049          areaId:
  6050            type: integer
  6051            format: int64
  6052          icon:
  6053            type: string
  6054          imageId:
  6055            type: integer
  6056            format: int64
  6057          autoLoad:
  6058            type: boolean
  6059          restoreState:
  6060            type: boolean
  6061          parentId:
  6062            type: string
  6063          actions:
  6064            type: array
  6065            items:
  6066              $ref: '#/components/schemas/apiNewEntityRequestAction'
  6067          states:
  6068            type: array
  6069            items:
  6070              $ref: '#/components/schemas/apiNewEntityRequestState'
  6071          attributes:
  6072            type: object
  6073            additionalProperties:
  6074              $ref: '#/components/schemas/apiAttribute'
  6075          settings:
  6076            type: object
  6077            additionalProperties:
  6078              $ref: '#/components/schemas/apiAttribute'
  6079          metrics:
  6080            type: array
  6081            items:
  6082              $ref: '#/components/schemas/apiMetric'
  6083          scriptIds:
  6084            type: array
  6085            items:
  6086              type: integer
  6087              format: int64
  6088          tags:
  6089            type: array
  6090            items:
  6091              type: string
  6092      apiNewEntityRequestAction:
  6093        type: object
  6094        required: [ name, description, type ]
  6095        properties:
  6096          name:
  6097            type: string
  6098          description:
  6099            type: string
  6100          icon:
  6101            type: string
  6102          imageId:
  6103            type: integer
  6104            format: int64
  6105          scriptId:
  6106            type: integer
  6107            format: int64
  6108          type:
  6109            type: string
  6110      apiNewEntityRequestState:
  6111        type: object
  6112        required: [ name, description, style ]
  6113        properties:
  6114          name:
  6115            type: string
  6116          description:
  6117            type: string
  6118          icon:
  6119            type: string
  6120          imageId:
  6121            type: integer
  6122            format: int64
  6123          style:
  6124            type: string
  6125      apiNewImageRequest:
  6126        type: object
  6127        required: [ thumb, image, mimeType, title, size, name ]
  6128        properties:
  6129          thumb:
  6130            type: string
  6131          image:
  6132            type: string
  6133          mimeType:
  6134            type: string
  6135          title:
  6136            type: string
  6137          size:
  6138            type: integer
  6139            format: int64
  6140          name:
  6141            type: string
  6142      apiNewRoleRequest:
  6143        type: object
  6144        required: [ name, description ]
  6145        properties:
  6146          name:
  6147            type: string
  6148          description:
  6149            type: string
  6150          parent:
  6151            type: string
  6152      apiNewScriptRequest:
  6153        type: object
  6154        required: [ lang, name, source, description ]
  6155        properties:
  6156          lang:
  6157            type: string
  6158          name:
  6159            type: string
  6160          source:
  6161            type: string
  6162          description:
  6163            type: string
  6164      apiNewTaskRequest:
  6165        type: object
  6166        required: [ name, description, enabled, condition, triggerIds, conditionIds, actionIds ]
  6167        properties:
  6168          name:
  6169            type: string
  6170          description:
  6171            type: string
  6172          enabled:
  6173            type: boolean
  6174          condition:
  6175            type: string
  6176          triggerIds:
  6177            type: array
  6178            items:
  6179              type: integer
  6180              format: int64
  6181          conditionIds:
  6182            type: array
  6183            items:
  6184              type: integer
  6185              format: int64
  6186          actionIds:
  6187            type: array
  6188            items:
  6189              type: integer
  6190              format: int64
  6191          areaId:
  6192            type: integer
  6193            format: int64
  6194      apiNewTriggerRequest:
  6195        type: object
  6196        required: [ name, description, pluginName, attributes, enabled, entityIds ]
  6197        properties:
  6198          name:
  6199            type: string
  6200          description:
  6201            type: string
  6202          entityIds:
  6203            type: array
  6204            items:
  6205              type: string
  6206          script:
  6207            $ref: '#/components/schemas/apiScript'
  6208          scriptId:
  6209            type: integer
  6210            format: int64
  6211          pluginName:
  6212            type: string
  6213          attributes:
  6214            type: object
  6215            additionalProperties:
  6216              $ref: '#/components/schemas/apiAttribute'
  6217          enabled:
  6218            type: boolean
  6219          areaId:
  6220            type: integer
  6221            format: int64
  6222      apiNewVariableRequest:
  6223        type: object
  6224        required: [ name, value, tags ]
  6225        properties:
  6226          name:
  6227            type: string
  6228          value:
  6229            type: string
  6230          tags:
  6231            type: array
  6232            items:
  6233              type: string
  6234      apiNewZigbee2mqttRequest:
  6235        type: object
  6236        required: [ name, login, permitJoin, baseTopic ]
  6237        properties:
  6238          name:
  6239            type: string
  6240          login:
  6241            type: string
  6242          password:
  6243            type: string
  6244          permitJoin:
  6245            type: boolean
  6246          baseTopic:
  6247            type: string
  6248      apiNewtUserRequest:
  6249        type: object
  6250        required: [ nickname, email, roleName, password, passwordRepeat ]
  6251        properties:
  6252          nickname:
  6253            type: string
  6254          firstName:
  6255            type: string
  6256          lastName:
  6257            type: string
  6258          password:
  6259            type: string
  6260          passwordRepeat:
  6261            type: string
  6262          email:
  6263            type: string
  6264          status:
  6265            type: string
  6266          lang:
  6267            type: string
  6268          imageId:
  6269            type: integer
  6270            format: int64
  6271          roleName:
  6272            type: string
  6273          meta:
  6274            type: array
  6275            items:
  6276              $ref: '#/components/schemas/apiUserMeta'
  6277      apiPasswordResetRequest:
  6278        type: object
  6279        required: [ email ]
  6280        properties:
  6281          email:
  6282            type: string
  6283          token:
  6284            type: string
  6285          newPassword:
  6286            type: string
  6287      apiPlugin:
  6288        type: object
  6289        required: [ name, version, enabled, system, actor, settings ]
  6290        properties:
  6291          name:
  6292            type: string
  6293          version:
  6294            type: string
  6295          enabled:
  6296            type: boolean
  6297          system:
  6298            type: boolean
  6299          actor:
  6300            type: boolean
  6301          settings:
  6302            type: object
  6303            additionalProperties:
  6304              $ref: '#/components/schemas/apiAttribute'
  6305          options:
  6306            $ref: '#/components/schemas/apiPluginOptionsResult'
  6307          isLoaded:
  6308            type: boolean
  6309      apiPluginOptionsResult:
  6310        type: object
  6311        required: [ triggers, actors, actorCustomAttrs, actorAttrs, actorCustomActions, actorActions, actorCustomStates,
  6312                    actorStates, actorCustomSetts, actorSetts, setts ]
  6313        properties:
  6314          triggers:
  6315            type: boolean
  6316          actors:
  6317            type: boolean
  6318          actorCustomAttrs:
  6319            type: boolean
  6320          actorAttrs:
  6321            type: object
  6322            additionalProperties:
  6323              $ref: '#/components/schemas/apiAttribute'
  6324          actorCustomActions:
  6325            type: boolean
  6326          actorActions:
  6327            type: object
  6328            additionalProperties:
  6329              $ref: '#/components/schemas/apiPluginOptionsResultEntityAction'
  6330          actorCustomStates:
  6331            type: boolean
  6332          actorStates:
  6333            type: object
  6334            additionalProperties:
  6335              $ref: '#/components/schemas/apiPluginOptionsResultEntityState'
  6336          actorCustomSetts:
  6337            type: boolean
  6338          actorSetts:
  6339            type: object
  6340            additionalProperties:
  6341              $ref: '#/components/schemas/apiAttribute'
  6342          setts:
  6343            type: object
  6344            additionalProperties:
  6345              $ref: '#/components/schemas/apiAttribute'
  6346      apiPluginOptionsResultEntityAction:
  6347        type: object
  6348        required: [ name, description, imageUrl, icon ]
  6349        properties:
  6350          name:
  6351            type: string
  6352          description:
  6353            type: string
  6354          imageUrl:
  6355            type: string
  6356          icon:
  6357            type: string
  6358      apiPluginOptionsResultEntityState:
  6359        type: object
  6360        required: [ name, description, imageUrl, icon ]
  6361        properties:
  6362          name:
  6363            type: string
  6364          description:
  6365            type: string
  6366          imageUrl:
  6367            type: string
  6368          icon:
  6369            type: string
  6370      apiPluginShort:
  6371        type: object
  6372        required: [ name, version, enabled, system ]
  6373        properties:
  6374          name:
  6375            type: string
  6376          version:
  6377            type: string
  6378          enabled:
  6379            type: boolean
  6380          system:
  6381            type: boolean
  6382          actor:
  6383            type: boolean
  6384          isLoaded:
  6385            type: boolean
  6386      apiReloadRequest:
  6387        type: object
  6388        required: [ id ]
  6389        properties:
  6390          id:
  6391            type: string
  6392      apiResponse:
  6393        type: object
  6394        properties:
  6395          id:
  6396            type: string
  6397          query:
  6398            type: string
  6399          body:
  6400            pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  6401            type: string
  6402            format: byte
  6403      apiRestoreBackupRequest:
  6404        type: object
  6405        required: [ name ]
  6406        properties:
  6407          name:
  6408            type: string
  6409      apiRole:
  6410        type: object
  6411        required: [ name, description, children, createdAt, updatedAt ]
  6412        properties:
  6413          parent:
  6414            $ref: '#/components/schemas/apiRole'
  6415          name:
  6416            type: string
  6417          description:
  6418            type: string
  6419          children:
  6420            type: array
  6421            items:
  6422              $ref: '#/components/schemas/apiRole'
  6423          accessList:
  6424            $ref: '#/components/schemas/apiRoleAccessList'
  6425          createdAt:
  6426            type: string
  6427            format: date-time
  6428          updatedAt:
  6429            type: string
  6430            format: date-time
  6431      apiRoleAccessList:
  6432        type: object
  6433        required: [ levels ]
  6434        properties:
  6435          levels:
  6436            type: object
  6437            additionalProperties:
  6438              $ref: '#/components/schemas/AccessListListOfString'
  6439      apiRoleAccessListResult:
  6440        type: object
  6441        required: [ levels ]
  6442        properties:
  6443          levels:
  6444            type: object
  6445            additionalProperties:
  6446              $ref: '#/components/schemas/apiAccessLevels'
  6447      apiScriptVersion:
  6448        type: object
  6449        required: [ id, lang, source, createdAt ]
  6450        properties:
  6451          id:
  6452            type: integer
  6453            format: int64
  6454          lang:
  6455            type: string
  6456          source:
  6457            type: string
  6458          createdAt:
  6459            type: string
  6460            format: date-time
  6461      apiTag:
  6462        type: object
  6463        required: [ id, name ]
  6464        properties:
  6465          id:
  6466            type: integer
  6467            format: int64
  6468          name:
  6469            type: string
  6470      apiScript:
  6471        type: object
  6472        required: [ id, name, lang, source, description, versions, createdAt, updatedAt ]
  6473        properties:
  6474          id:
  6475            type: integer
  6476            format: int64
  6477          lang:
  6478            type: string
  6479          name:
  6480            type: string
  6481          source:
  6482            type: string
  6483          description:
  6484            type: string
  6485          scriptInfo:
  6486            $ref: '#/components/schemas/apiScriptInfo'
  6487          versions:
  6488            type: array
  6489            items:
  6490              $ref: '#/components/schemas/apiScriptVersion'
  6491          createdAt:
  6492            type: string
  6493            format: date-time
  6494          updatedAt:
  6495            type: string
  6496            format: date-time
  6497      apiScriptInfo:
  6498        type: object
  6499        required: [ alexaIntents, entityActions, entityScripts, automationTriggers, automationConditions, automationActions ]
  6500        properties:
  6501          alexaIntents:
  6502            type: integer
  6503            format: int32
  6504          entityActions:
  6505            type: integer
  6506            format: int32
  6507          entityScripts:
  6508            type: integer
  6509            format: int32
  6510          automationTriggers:
  6511            type: integer
  6512            format: int32
  6513          automationConditions:
  6514            type: integer
  6515            format: int32
  6516          automationActions:
  6517            type: integer
  6518            format: int32
  6519      apiSearchActionResult:
  6520        type: object
  6521        required: [ items ]
  6522        properties:
  6523          items:
  6524            type: array
  6525            items:
  6526              $ref: '#/components/schemas/apiAction'
  6527      apiSearchAreaResult:
  6528        type: object
  6529        required: [ items ]
  6530        properties:
  6531          items:
  6532            type: array
  6533            items:
  6534              $ref: '#/components/schemas/apiArea'
  6535      apiSearchConditionResult:
  6536        type: object
  6537        required: [ items ]
  6538        properties:
  6539          items:
  6540            type: array
  6541            items:
  6542              $ref: '#/components/schemas/apiCondition'
  6543      apiSearchDashboardResult:
  6544        type: object
  6545        required: [ items ]
  6546        properties:
  6547          items:
  6548            type: array
  6549            items:
  6550              $ref: '#/components/schemas/apiDashboard'
  6551      apiSearchDeviceResult:
  6552        type: object
  6553        required: [ items ]
  6554        properties:
  6555          items:
  6556            type: array
  6557            items:
  6558              $ref: '#/components/schemas/apiZigbee2mqttDevice'
  6559      apiSearchEntityResult:
  6560        type: object
  6561        required: [ items ]
  6562        properties:
  6563          items:
  6564            type: array
  6565            items:
  6566              $ref: '#/components/schemas/apiEntityShort'
  6567      apiSearchPluginResult:
  6568        type: object
  6569        required: [ items ]
  6570        properties:
  6571          items:
  6572            type: array
  6573            items:
  6574              $ref: '#/components/schemas/apiPluginShort'
  6575      apiSearchRoleListResult:
  6576        type: object
  6577        required: [ items ]
  6578        properties:
  6579          items:
  6580            type: array
  6581            items:
  6582              $ref: '#/components/schemas/apiRole'
  6583      apiSearchScriptListResult:
  6584        type: object
  6585        required: [ items ]
  6586        properties:
  6587          items:
  6588            type: array
  6589            items:
  6590              $ref: '#/components/schemas/apiScript'
  6591      apiSearchTagListResult:
  6592        type: object
  6593        required: [ items ]
  6594        properties:
  6595          items:
  6596            type: array
  6597            items:
  6598              $ref: '#/components/schemas/apiTag'
  6599      apiSearchTriggerResult:
  6600        type: object
  6601        required: [ items ]
  6602        properties:
  6603          items:
  6604            type: array
  6605            items:
  6606              $ref: '#/components/schemas/apiTrigger'
  6607      apiSearchVariableResult:
  6608        type: object
  6609        required: [ items ]
  6610        properties:
  6611          items:
  6612            type: array
  6613            items:
  6614              $ref: '#/components/schemas/apiVariable'
  6615      apiSigninResponse:
  6616        type: object
  6617        required: [ accessToken ]
  6618        properties:
  6619          currentUser:
  6620            $ref: '#/components/schemas/apiCurrentUser'
  6621          accessToken:
  6622            type: string
  6623      apiStatistic:
  6624        type: object
  6625        required: [ name, description, value, diff ]
  6626        properties:
  6627          name:
  6628            type: string
  6629          description:
  6630            type: string
  6631          value:
  6632            type: integer
  6633            format: int32
  6634          diff:
  6635            type: integer
  6636            format: int32
  6637      apiStatistics:
  6638        type: object
  6639        required: [ items ]
  6640        properties:
  6641          items:
  6642            type: array
  6643            items:
  6644              $ref: '#/components/schemas/apiStatistic'
  6645      apiSubscription:
  6646        type: object
  6647        required: [ id, clientId, topicName, name, qos, noLocal, retainAsPublished, retainHandling ]
  6648        properties:
  6649          id:
  6650            type: integer
  6651            format: uint32
  6652          clientId:
  6653            type: string
  6654          topicName:
  6655            type: string
  6656          name:
  6657            type: string
  6658          qos:
  6659            type: integer
  6660            format: uint32
  6661          noLocal:
  6662            type: boolean
  6663          retainAsPublished:
  6664            type: boolean
  6665          retainHandling:
  6666            type: integer
  6667            format: uint32
  6668      apiTask:
  6669        type: object
  6670        required: [ id, name, description, enabled, condition, createdAt, updatedAt, triggers, triggerIds,
  6671                    conditions, conditionIds, actions, actionIds, telemetry ]
  6672        properties:
  6673          id:
  6674            type: integer
  6675            format: int64
  6676          name:
  6677            type: string
  6678          description:
  6679            type: string
  6680          enabled:
  6681            type: boolean
  6682          condition:
  6683            type: string
  6684          triggers:
  6685            type: array
  6686            items:
  6687              $ref: '#/components/schemas/apiTrigger'
  6688          conditions:
  6689            type: array
  6690            items:
  6691              $ref: '#/components/schemas/apiCondition'
  6692          actions:
  6693            type: array
  6694            items:
  6695              $ref: '#/components/schemas/apiAction'
  6696          area:
  6697            $ref: '#/components/schemas/apiArea'
  6698          areaId:
  6699            type: integer
  6700            format: int64
  6701          isLoaded:
  6702            type: boolean
  6703          triggerIds:
  6704            type: array
  6705            items:
  6706              type: integer
  6707              format: int64
  6708          conditionIds:
  6709            type: array
  6710            items:
  6711              type: integer
  6712              format: int64
  6713          actionIds:
  6714            type: array
  6715            items:
  6716              type: integer
  6717              format: int64
  6718          completed:
  6719            type: boolean
  6720          telemetry:
  6721            type: array
  6722            items:
  6723              $ref: '#/components/schemas/apiTelemetryItem'
  6724          createdAt:
  6725            type: string
  6726            format: date-time
  6727          updatedAt:
  6728            type: string
  6729            format: date-time
  6730      apiTelemetryItem:
  6731        type: object
  6732        required: [ name, num, start, timeEstimate, attributes, status, level ]
  6733        properties:
  6734          name:
  6735            type: string
  6736          num:
  6737            type: integer
  6738            format: int32
  6739          start:
  6740            type: integer
  6741            format: int64
  6742          end:
  6743            type: integer
  6744            format: int64
  6745          timeEstimate:
  6746            type: integer
  6747            format: int64
  6748          attributes:
  6749            type: object
  6750            additionalProperties:
  6751              type: string
  6752          status:
  6753            type: string
  6754          level:
  6755            type: integer
  6756            format: int32
  6757      apiTrigger:
  6758        type: object
  6759        required: [ id, name, description, pluginName, enabled, createdAt, updatedAt, attributes, entities, entityIds ]
  6760        properties:
  6761          id:
  6762            type: integer
  6763            format: int64
  6764          name:
  6765            type: string
  6766          description:
  6767            type: string
  6768          entities:
  6769            type: array
  6770            items:
  6771              $ref: '#/components/schemas/apiEntityShort'
  6772          entityIds:
  6773            type: array
  6774            items:
  6775              type: string
  6776          script:
  6777            $ref: '#/components/schemas/apiScript'
  6778          scriptId:
  6779            type: integer
  6780            format: int64
  6781          area:
  6782            $ref: '#/components/schemas/apiArea'
  6783          areaId:
  6784            type: integer
  6785            format: int64
  6786          pluginName:
  6787            type: string
  6788          attributes:
  6789            type: object
  6790            additionalProperties:
  6791              $ref: '#/components/schemas/apiAttribute'
  6792          enabled:
  6793            type: boolean
  6794          isLoaded:
  6795            type: boolean
  6796          completed:
  6797            type: boolean
  6798          createdAt:
  6799            type: string
  6800            format: date-time
  6801          updatedAt:
  6802            type: string
  6803            format: date-time
  6804      apiTypes:
  6805        type: string
  6806        default: INT
  6807        enum:
  6808          - INT
  6809          - STRING
  6810          - FLOAT
  6811          - BOOL
  6812          - ARRAY
  6813          - MAP
  6814          - TIME
  6815          - IMAGE
  6816          - ICON
  6817          - POINT
  6818          - ENCRYPTED
  6819      apiUpdateEntityRequestAction:
  6820        type: object
  6821        required: [ name, description, type ]
  6822        properties:
  6823          name:
  6824            type: string
  6825          description:
  6826            type: string
  6827          icon:
  6828            type: string
  6829          imageId:
  6830            type: integer
  6831            format: int64
  6832          scriptId:
  6833            type: integer
  6834            format: int64
  6835          type:
  6836            type: string
  6837      apiUpdateEntityRequestState:
  6838        type: object
  6839        required: [ name, description, style ]
  6840        properties:
  6841          name:
  6842            type: string
  6843          description:
  6844            type: string
  6845          icon:
  6846            type: string
  6847          imageId:
  6848            type: integer
  6849            format: int64
  6850          style:
  6851            type: string
  6852      apiUserFull:
  6853        type: object
  6854        required: [ id, nickname, email, status, signInCount, role, roleName, lang, createdAt, updatedAt,
  6855                    authenticationToken, history, meta ]
  6856        properties:
  6857          id:
  6858            type: integer
  6859            format: int64
  6860          nickname:
  6861            type: string
  6862          firstName:
  6863            type: string
  6864          lastName:
  6865            type: string
  6866          email:
  6867            type: string
  6868          status:
  6869            type: string
  6870          history:
  6871            type: array
  6872            items:
  6873              $ref: '#/components/schemas/apiUserHistory'
  6874          image:
  6875            $ref: '#/components/schemas/apiImage'
  6876          signInCount:
  6877            type: integer
  6878            format: int64
  6879          meta:
  6880            type: array
  6881            items:
  6882              $ref: '#/components/schemas/apiUserMeta'
  6883          role:
  6884            $ref: '#/components/schemas/apiRole'
  6885          roleName:
  6886            type: string
  6887          lang:
  6888            type: string
  6889          authenticationToken:
  6890            type: string
  6891          currentSignInIp:
  6892            type: string
  6893          lastSignInIp:
  6894            type: string
  6895          user:
  6896            $ref: '#/components/schemas/apiUserFullParent'
  6897          createdAt:
  6898            type: string
  6899            format: date-time
  6900          updatedAt:
  6901            type: string
  6902            format: date-time
  6903          currentSignInAt:
  6904            type: string
  6905            format: date-time
  6906          lastSignInAt:
  6907            type: string
  6908            format: date-time
  6909          resetPasswordSentAt:
  6910            type: string
  6911            format: date-time
  6912          deletedAt:
  6913            type: string
  6914            format: date-time
  6915      apiUserFullParent:
  6916        type: object
  6917        required: [ id, nickname ]
  6918        properties:
  6919          id:
  6920            type: integer
  6921            format: int64
  6922          nickname:
  6923            type: string
  6924      apiUserHistory:
  6925        type: object
  6926        required: [ ip, time ]
  6927        properties:
  6928          ip:
  6929            type: string
  6930          time:
  6931            type: string
  6932            format: date-time
  6933      apiUserMeta:
  6934        type: object
  6935        required: [ key, value ]
  6936        properties:
  6937          key:
  6938            type: string
  6939          value:
  6940            type: string
  6941      apiUserShot:
  6942        type: object
  6943        required: [ id, nickname, email, status, lang, role, roleName, createdAt, updatedAt ]
  6944        properties:
  6945          id:
  6946            type: integer
  6947            format: int64
  6948          nickname:
  6949            type: string
  6950          firstName:
  6951            type: string
  6952          lastName:
  6953            type: string
  6954          email:
  6955            type: string
  6956          status:
  6957            type: string
  6958          image:
  6959            $ref: '#/components/schemas/apiImage'
  6960          lang:
  6961            type: string
  6962          role:
  6963            $ref: '#/components/schemas/apiRole'
  6964          roleName:
  6965            type: string
  6966          user:
  6967            $ref: '#/components/schemas/apiUserShotParent'
  6968          createdAt:
  6969            type: string
  6970            format: date-time
  6971          updatedAt:
  6972            type: string
  6973            format: date-time
  6974      apiUserShotParent:
  6975        type: object
  6976        required: [ id, nickname ]
  6977        properties:
  6978          id:
  6979            type: integer
  6980            format: int64
  6981          nickname:
  6982            type: string
  6983      apiVariable:
  6984        type: object
  6985        required: [ name, value, system, tags, createdAt, updatedAt ]
  6986        properties:
  6987          name:
  6988            type: string
  6989          value:
  6990            type: string
  6991          system:
  6992            type: boolean
  6993          tags:
  6994            type: array
  6995            items:
  6996              type: string
  6997          createdAt:
  6998            type: string
  6999            format: date-time
  7000          updatedAt:
  7001            type: string
  7002            format: date-time
  7003      apiZigbee2mqtt:
  7004        type: object
  7005        required: [ scanInProcess,networkmap, status, id, name, login, permitJoin, baseTopic, createdAt, updatedAt ]
  7006        properties:
  7007          scanInProcess:
  7008            type: boolean
  7009          lastScan:
  7010            type: string
  7011            format: date-time
  7012          networkmap:
  7013            type: string
  7014          status:
  7015            type: string
  7016          id:
  7017            type: integer
  7018            format: int64
  7019          name:
  7020            type: string
  7021          login:
  7022            type: string
  7023          permitJoin:
  7024            type: boolean
  7025          baseTopic:
  7026            type: string
  7027          createdAt:
  7028            type: string
  7029            format: date-time
  7030          updatedAt:
  7031            type: string
  7032            format: date-time
  7033      apiZigbee2mqttDevice:
  7034        type: object
  7035        required: [ id, zigbee2mqttId, name, type, model, description, manufacturer, functions, imageUrl, icon, status, createdAt, updatedAt ]
  7036        properties:
  7037          id:
  7038            type: string
  7039          zigbee2mqttId:
  7040            type: integer
  7041            format: int64
  7042          name:
  7043            type: string
  7044          type:
  7045            type: string
  7046          model:
  7047            type: string
  7048          description:
  7049            type: string
  7050          manufacturer:
  7051            type: string
  7052          functions:
  7053            type: array
  7054            items:
  7055              type: string
  7056          imageUrl:
  7057            type: string
  7058          icon:
  7059            type: string
  7060          status:
  7061            type: string
  7062          createdAt:
  7063            type: string
  7064            format: date-time
  7065          updatedAt:
  7066            type: string
  7067            format: date-time
  7068      apiZigbee2mqttShort:
  7069        type: object
  7070        required: [ id, name, login, permitJoin, baseTopic, createdAt, updatedAt ]
  7071        properties:
  7072          id:
  7073            type: integer
  7074            format: int64
  7075          name:
  7076            type: string
  7077          login:
  7078            type: string
  7079          permitJoin:
  7080            type: boolean
  7081          baseTopic:
  7082            type: string
  7083          createdAt:
  7084            type: string
  7085            format: date-time
  7086          updatedAt:
  7087            type: string
  7088            format: date-time
  7089      protobufAny:
  7090        type: object
  7091        properties:
  7092          '@type':
  7093            type: string
  7094            description: |-
  7095              A URL/resource name that uniquely identifies the type of the serialized
  7096              protocol buffer message. This string must contain at least
  7097              one "/" character. The last segment of the URL's path must represent
  7098              the fully qualified name of the type (as in
  7099              `path/google.protobuf.Duration`). The name should be in a canonical form
  7100              (e.g., leading "." is not accepted).
  7101  
  7102              In practice, teams usually precompile into the binary all types that they
  7103              expect it to use in the context of Any. However, for URLs which use the
  7104              scheme `http`, `https`, or no scheme, one can optionally set up a type
  7105              server that maps type URLs to message definitions as follows:
  7106  
  7107              * If no scheme is provided, `https` is assumed.
  7108              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
  7109                value in binary format, or produce an error.
  7110              * Applications are allowed to cache lookup results based on the
  7111                URL, or have them precompiled into a binary to avoid any
  7112                lookup. Therefore, binary compatibility needs to be preserved
  7113                on changes to types. (Use versioned type names to manage
  7114                breaking changes.)
  7115  
  7116              Note: this functionality is not currently available in the official
  7117              protobuf release, and it is not used for type URLs beginning with
  7118              type.googleapis.com.
  7119  
  7120              Schemes other than `http`, `https` (or the empty scheme) might be
  7121              used with implementation specific semantics.
  7122        additionalProperties:
  7123          type: object
  7124        description: |-
  7125          `Any` contains an arbitrary serialized protocol buffer message along with a
  7126          URL that describes the type of the serialized message.
  7127  
  7128          Protobuf library provides support to pack/unpack Any values in the form
  7129          of utility functions or additional generated methods of the Any type.
  7130  
  7131          Example 1: Pack and unpack a message in C++.
  7132  
  7133              Foo foo = ...;
  7134              Any any;
  7135              any.PackFrom(foo);
  7136              ...
  7137              if (any.UnpackTo(&foo)) {
  7138                ...
  7139              }
  7140  
  7141          Example 2: Pack and unpack a message in Java.
  7142  
  7143              Foo foo = ...;
  7144              Any any = Any.pack(foo);
  7145              ...
  7146              if (any.is(Foo.class)) {
  7147                foo = any.unpack(Foo.class);
  7148              }
  7149  
  7150          Example 3: Pack and unpack a message in Python.
  7151  
  7152              foo = Foo(...)
  7153              any = Any()
  7154              any.Pack(foo)
  7155              ...
  7156              if any.Is(Foo.DESCRIPTOR):
  7157                any.Unpack(foo)
  7158                ...
  7159  
  7160          Example 4: Pack and unpack a message in Go
  7161  
  7162               foo := &pb.Foo{...}
  7163               any, err := anypb.New(foo)
  7164               if err != nil {
  7165                 ...
  7166               }
  7167               ...
  7168               foo := &pb.Foo{}
  7169               if err := any.UnmarshalTo(foo); err != nil {
  7170                 ...
  7171               }
  7172  
  7173          The pack methods provided by protobuf library will by default use
  7174          'type.googleapis.com/full.type.name' as the type URL and the unpack
  7175          methods only use the fully qualified type name after the last '/'
  7176          in the type URL, for example "foo.bar.com/x/y.z" will yield type
  7177          name "y.z".
  7178  
  7179  
  7180          JSON
  7181  
  7182          The JSON representation of an `Any` value uses the regular
  7183          representation of the deserialized, embedded message, with an
  7184          additional field `@type` which contains the type URL. Example:
  7185  
  7186              package google.profile;
  7187              message Person {
  7188                string first_name = 1;
  7189                string last_name = 2;
  7190              }
  7191  
  7192              {
  7193                "@type": "type.googleapis.com/google.profile.Person",
  7194                "firstName": <string>,
  7195                "lastName": <string>
  7196              }
  7197  
  7198          If the embedded message type is well-known and has a custom JSON
  7199          representation, that representation will be embedded adding a field
  7200          `value` which holds the custom JSON in addition to the `@type`
  7201          field. Example (for message [google.protobuf.Duration][]):
  7202  
  7203              {
  7204                "@type": "type.googleapis.com/google.protobuf.Duration",
  7205                "value": "1.212s"
  7206              }
  7207      rpcStatus:
  7208        type: object
  7209        properties:
  7210          code:
  7211            type: integer
  7212            format: int32
  7213          message:
  7214            type: string
  7215          details:
  7216            type: array
  7217            items:
  7218              $ref: '#/components/schemas/protobufAny'
  7219    securitySchemes:
  7220      ApiKeyAuth:
  7221        type: apiKey
  7222        name: Authorization
  7223        in: header
  7224        x-api-key: jwt
  7225      BasicAuth:
  7226        type: http
  7227        scheme: basic
  7228    responses:
  7229      HTTP-201:
  7230        description: Created
  7231        content:
  7232          application/json:
  7233            schema:
  7234              type: object
  7235              properties:
  7236                data:
  7237                  type: object
  7238                  properties:
  7239                    id:
  7240                      type: integer
  7241                      format: int64
  7242      HTTP-400:
  7243        description: Example response
  7244        content:
  7245          application/json:
  7246            schema:
  7247              type: object
  7248              properties:
  7249                error:
  7250                  allOf:
  7251                    - $ref: '#/components/schemas/GenericErrorResponse'
  7252      HTTP-401:
  7253        description: Unauthorized
  7254        content:
  7255          application/json:
  7256            schema:
  7257              type: object
  7258              properties:
  7259                error:
  7260                  allOf:
  7261                    - $ref: '#/components/schemas/GenericErrorResponse'
  7262                    - type: object
  7263                      properties:
  7264                        code:
  7265                          type: string
  7266                          enum:
  7267                            - UNAUTHORIZED
  7268      HTTP-404:
  7269        description: Not found
  7270        content:
  7271          application/json:
  7272            schema:
  7273              type: object
  7274              properties:
  7275                error:
  7276                  allOf:
  7277                    - $ref: '#/components/schemas/GenericErrorResponse'
  7278      HTTP-409:
  7279        description: Conflict
  7280        content:
  7281          application/json:
  7282            schema:
  7283              type: object
  7284              properties:
  7285                error:
  7286                  allOf:
  7287                    - $ref: '#/components/schemas/GenericErrorResponse'
  7288      HTTP-413:
  7289        description: Conflict
  7290        content:
  7291          application/json:
  7292            schema:
  7293              type: object
  7294              properties:
  7295                error:
  7296                  allOf:
  7297                    - $ref: '#/components/schemas/GenericErrorResponse'
  7298      HTTP-422:
  7299        description: Unprocessable Entity
  7300        content:
  7301          application/json:
  7302            schema:
  7303              type: object
  7304              properties:
  7305                error:
  7306                  allOf:
  7307                    - $ref: '#/components/schemas/GenericErrorResponse'
  7308                    - type: object
  7309                      properties:
  7310                        code:
  7311                          type: string
  7312                          enum:
  7313                            - VALIDATION_ERROR
  7314                        fields:
  7315                          type: array
  7316                          items:
  7317                            type: object
  7318                            properties:
  7319                              name:
  7320                                type: string
  7321                              message:
  7322                                type: string