{
  "managers": {
    "ManagerAlarms": {
      "id": "alarms",
      "idCamelCase": "alarms",
      "items": {
        "Alarm": {
          "id": "alarm",
          "schema": {
            "repetition": {
              "type": "object",
              "properties": {
                "required": [
                  "monday",
                  "tuesday",
                  "wednesday",
                  "thursday",
                  "friday",
                  "saturday",
                  "sunday"
                ],
                "monday": {
                  "type": "boolean"
                },
                "tuesday": {
                  "type": "boolean"
                },
                "wednesday": {
                  "type": "boolean"
                },
                "thursday": {
                  "type": "boolean"
                },
                "friday": {
                  "type": "boolean"
                },
                "saturday": {
                  "type": "boolean"
                },
                "sunday": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "operations": {
        "getAlarms": {
          "method": "get",
          "path": "/alarm",
          "private": false,
          "scopes": ["homey.alarm.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Alarm"
          },
          "parameters": {}
        },
        "getAlarm": {
          "method": "get",
          "path": "/alarm/:id",
          "private": false,
          "scopes": ["homey.alarm.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Alarm"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createAlarm": {
          "method": "post",
          "path": "/alarm",
          "private": false,
          "scopes": ["homey.alarm"],
          "crud": {
            "type": "createOne",
            "item": "Alarm"
          },
          "parameters": {
            "alarm": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "time": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "repetition": {
                  "type": "object"
                }
              }
            }
          }
        },
        "updateAlarm": {
          "method": "put",
          "path": "/alarm/:id",
          "private": false,
          "scopes": ["homey.alarm"],
          "crud": {
            "type": "updateOne",
            "item": "Alarm"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "alarm": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "time": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "repetition": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deleteAlarm": {
          "method": "delete",
          "path": "/alarm/:id",
          "private": false,
          "scopes": ["homey.alarm"],
          "crud": {
            "type": "deleteOne",
            "item": "Alarm"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerApi": {
      "id": "api",
      "idCamelCase": "api",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerApps": {
      "id": "apps",
      "idCamelCase": "apps",
      "items": {
        "App": {
          "id": "app",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "type": "string"
              },
              "iconObj": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              },
              "version": {
                "type": "string"
              },
              "channel": {
                "type": "string",
                "enum": ["live", "test"]
              },
              "origin": {
                "type": "string",
                "enum": ["appstore", "devkit_run", "devkit_install"]
              },
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "required": ["name"],
                "additionalProperties": false
              },
              "compatibility": {
                "type": "string"
              },
              "permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "color": {
                "type": "string"
              },
              "images": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              },
              "state": {
                "type": "string",
                "enum": ["starting", "running", "stopping", "stopped", "crashed"]
              },
              "enabled": {
                "description": "Whether the app is enabled.",
                "type": "boolean"
              },
              "autoupdate": {
                "description": "Whether autoupdate is enabled.",
                "type": "boolean"
              },
              "settings": {
                "description": "Whether the app has settings.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updateAvailable": {
                "description": "Whether an update is available for the app.",
                "type": "boolean"
              },
              "usage": {
                "description": "The usage statistics of the app.",
                "type": "object",
                "properties": {
                  "cpu": {
                    "description": "The CPU usage of the app.",
                    "type": "number"
                  },
                  "mem": {
                    "description": "The memory usage of the app.",
                    "type": "number"
                  }
                },
                "required": ["cpu", "mem"],
                "additionalProperties": false
              },
              "crashed": {
                "description": "Whether the app has crashed.",
                "type": "boolean"
              },
              "crashedMessage": {
                "description": "The crash message of the app, if any.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "crashedCount": {
                "description": "The number of times the app has crashed.",
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "AppSettings": {
          "id": "appsettings",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getApps": {
          "method": "get",
          "path": "/app",
          "private": false,
          "scopes": ["homey.app.readonly"],
          "crud": {
            "type": "getAll",
            "item": "App"
          },
          "parameters": {}
        },
        "getApp": {
          "method": "get",
          "path": "/app/:id",
          "private": false,
          "scopes": ["homey.app.readonly"],
          "crud": {
            "type": "getOne",
            "item": "App"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "installFromAppStore": {
          "method": "post",
          "path": "/store",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "id": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "channel": {
              "in": "body",
              "type": "string"
            },
            "waitForInstall": {
              "in": "body",
              "type": "boolean"
            },
            "version": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "uninstallApp": {
          "method": "delete",
          "path": "/app/:id",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppSettings": {
          "method": "get",
          "path": "/app/:id/setting",
          "private": false,
          "scopes": ["homey.app.control"],
          "crud": {
            "type": "getOne",
            "item": "AppSettings"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppSetting": {
          "method": "get",
          "path": "/app/:id/setting/:name",
          "private": false,
          "scopes": ["homey.app.control"],
          "parameters": {
            "name": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setAppSetting": {
          "method": "put",
          "path": "/app/:id/setting/:name",
          "private": false,
          "scopes": ["homey.app.control"],
          "parameters": {
            "name": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetAppSetting": {
          "method": "delete",
          "path": "/app/:id/setting/:name",
          "private": false,
          "scopes": ["homey.app.control"],
          "parameters": {
            "name": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppStd": {
          "method": "post",
          "path": "/app/:id/crashlog",
          "private": false,
          "scopes": ["homey.app.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "message": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "updateApp": {
          "method": "put",
          "path": "/app/:id",
          "private": false,
          "scopes": ["homey.app"],
          "crud": {
            "type": "updateOne",
            "item": "App"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "app": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "autoupdate": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "enableApp": {
          "method": "put",
          "path": "/app/:id/enable",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "disableApp": {
          "method": "put",
          "path": "/app/:id/disable",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "restartApp": {
          "method": "post",
          "path": "/app/:id/restart",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppLocales": {
          "method": "get",
          "path": "/app/:id/locale",
          "private": false,
          "scopes": ["homey.app.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppUsage": {
          "method": "get",
          "path": "/app/:id/usage",
          "private": false,
          "scopes": ["homey.app.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerArp": {
      "id": "arp",
      "idCamelCase": "arp",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerBackup": {
      "id": "backup",
      "idCamelCase": "backup",
      "items": {},
      "operations": {
        "getOptionAutomaticBackupsEnabled": {
          "method": "GET",
          "path": "/option/automaticBackupsEnabled",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionAutomaticBackupsEnabled": {
          "method": "PUT",
          "path": "/option/automaticBackupsEnabled",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionAutomaticBackupsEnabled": {
          "method": "DELETE",
          "path": "/option/automaticBackupsEnabled",
          "scopes": ["homey.system"]
        },
        "getOptionLastSuccessfulBackup": {
          "method": "GET",
          "path": "/option/lastSuccessfulBackup",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionLastSuccessfulBackup": {
          "method": "PUT",
          "path": "/option/lastSuccessfulBackup",
          "scopes": [],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionLastSuccessfulBackup": {
          "method": "DELETE",
          "path": "/option/lastSuccessfulBackup",
          "scopes": []
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "scheduleBackup": {
          "method": "post",
          "path": "/backup",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        }
      }
    },
    "ManagerBLE": {
      "id": "ble",
      "idCamelCase": "ble",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "runCommand": {
          "method": "post",
          "path": "/command",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "command": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "opts": {
              "in": "body",
              "type": "object"
            }
          }
        }
      }
    },
    "ManagerVideos": {
      "id": "videos",
      "idCamelCase": "videos",
      "private": true,
      "items": {
        "Video": {
          "id": "video",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getVideos": {
          "method": "get",
          "path": "/video",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Video"
          },
          "parameters": {}
        },
        "videoOffer": {
          "method": "post",
          "path": "/video/:id/offer",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "offer": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "videoKeepAlive": {
          "method": "post",
          "path": "/video/:id/keep-alive",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "streamId": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "getVideoUrl": {
          "method": "get",
          "path": "/video/:id/video-url",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerClock": {
      "id": "clock",
      "idCamelCase": "clock",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerCloud": {
      "id": "cloud",
      "idCamelCase": "cloud",
      "items": {
        "Webhook": {
          "id": "webhook",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerCoprocessor": {
      "id": "coprocessor",
      "idCamelCase": "coprocessor",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getBridges": {
          "method": "get",
          "path": "/bridge",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "pairBridge": {
          "method": "post",
          "path": "/bridge",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "serialHash": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "setDebugLogging": {
          "method": "put",
          "path": "/debug",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "peripheral": {
              "in": "body",
              "type": "string"
            },
            "enabled": {
              "in": "body",
              "type": "boolean",
              "required": true
            }
          }
        }
      }
    },
    "ManagerCron": {
      "id": "cron",
      "idCamelCase": "cron",
      "items": {
        "Cronjob": {
          "id": "cronjob",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerDashboards": {
      "id": "dashboards",
      "idCamelCase": "dashboards",
      "items": {
        "Dashboard": {
          "id": "dashboard",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the dashboard.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the dashboard.",
                "type": "string"
              },
              "columns": {
                "description": "The columns of the dashboard.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the column.",
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
                    },
                    "widgets": {
                      "description": "The widgets in the column.",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "description": "The unique identifier of the widget.",
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
                          }
                        },
                        "required": ["id"],
                        "additionalProperties": {}
                      }
                    }
                  },
                  "required": ["id", "widgets"],
                  "additionalProperties": {}
                }
              }
            },
            "additionalProperties": false
          }
        },
        "AppWidget": {
          "id": "appwidget",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "WidgetStore": {
          "id": "widgetstore",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getDashboards": {
          "method": "get",
          "path": "/dashboard",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Dashboard"
          },
          "parameters": {}
        },
        "getDashboard": {
          "method": "get",
          "path": "/dashboard/:id",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Dashboard"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createDashboard": {
          "method": "post",
          "path": "/dashboard",
          "private": false,
          "scopes": ["homey.dashboard"],
          "crud": {
            "type": "createOne",
            "item": "Dashboard"
          },
          "parameters": {
            "dashboard": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "columns": {
                  "type": "array",
                  "required": true
                }
              }
            }
          }
        },
        "updateDashboard": {
          "method": "put",
          "path": "/dashboard/:id",
          "private": false,
          "scopes": ["homey.dashboard"],
          "crud": {
            "type": "updateOne",
            "item": "Dashboard"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "dashboard": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "columns": {
                  "type": "array"
                }
              }
            }
          }
        },
        "deleteDashboard": {
          "method": "delete",
          "path": "/dashboard/:id",
          "private": false,
          "scopes": ["homey.dashboard"],
          "crud": {
            "type": "deleteOne",
            "item": "Dashboard"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppWidgets": {
          "method": "get",
          "path": "/appwidget",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getAll",
            "item": "AppWidget"
          },
          "parameters": {}
        },
        "getAppWidget": {
          "method": "get",
          "path": "/appwidget/:id",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getOne",
            "item": "AppWidget"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppWidgetAutocomplete": {
          "method": "get",
          "path": "/appwidget/:id/autocomplete",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "settingId": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "query": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "settings": {
              "in": "query",
              "type": "object"
            }
          }
        },
        "getWidgetStores": {
          "method": "get",
          "path": "/widgetstore",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getAll",
            "item": "WidgetStore"
          },
          "parameters": {}
        },
        "getWidgetStore": {
          "method": "get",
          "path": "/widgetstore/:id",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "crud": {
            "type": "getOne",
            "item": "WidgetStore"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getWidgetStoreState": {
          "method": "get",
          "path": "/widgetstore/:id/state",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setWidgetStoreState": {
          "method": "post",
          "path": "/widgetstore/:id/state",
          "private": false,
          "scopes": ["homey.dashboard.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "state": {
              "in": "body",
              "type": "object",
              "required": true
            },
            "replace": {
              "in": "body",
              "type": "boolean"
            }
          }
        }
      }
    },
    "ManagerDatabase": {
      "id": "database",
      "idCamelCase": "database",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerDevices": {
      "id": "devices",
      "idCamelCase": "devices",
      "items": {
        "Device": {
          "id": "device",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the device",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "driverId": {
                "type": "string"
              },
              "ownerUri": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "zone": {
                "type": "string"
              },
              "data": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "icon": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "iconOverride": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "iconObj": {
                "anyOf": [
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "class": {
                "type": "string"
              },
              "virtualClass": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "capabilities": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "capabilitiesObj": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "settings": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                }
              },
              "settingsObj": {
                "type": "boolean"
              },
              "flags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "energy": {
                "anyOf": [
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "energyObj": {
                "anyOf": [
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ui": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "uiIndicator": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "available": {
                "type": "boolean"
              },
              "unavailableMessage": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "warningMessage": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ready": {
                "type": "boolean"
              },
              "repair": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "unpair": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": false
                }
              },
              "color": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastSeenAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "Capability": {
          "id": "capability",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getDevice": {
          "method": "get",
          "path": "/device/:id",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Device"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getDeviceSettingsObj": {
          "method": "get",
          "path": "/device/:id/settings_obj",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setDeviceSettings": {
          "method": "put",
          "path": "/device/:id/settings",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "settings": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true
            }
          }
        },
        "getDevices": {
          "method": "get",
          "path": "/device",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Device"
          },
          "parameters": {}
        },
        "updateDevice": {
          "method": "put",
          "path": "/device/:id",
          "private": false,
          "scopes": ["homey.device"],
          "crud": {
            "type": "updateOne",
            "item": "Device"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "device": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "zone": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "iconOverride": {
                  "type": "string"
                },
                "virtualClass": {
                  "type": "string"
                },
                "uiIndicator": {
                  "type": "string"
                },
                "hidden": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "deleteDevice": {
          "method": "delete",
          "path": "/device/:id",
          "private": false,
          "scopes": ["homey.device"],
          "crud": {
            "type": "deleteOne",
            "item": "Device"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getCapabilityValue": {
          "method": "get",
          "path": "/device/:deviceId/capability/:capabilityId",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "capabilityId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setCapabilityValue": {
          "method": "put",
          "path": "/device/:deviceId/capability/:capabilityId",
          "private": false,
          "scopes": ["homey.device.control"],
          "parameters": {
            "capabilityId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "value": {
              "in": "body",
              "type": ["string", "number", "boolean"],
              "required": true
            },
            "opts": {
              "in": "body",
              "type": "object"
            },
            "transactionId": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "createGroup": {
          "method": "post",
          "path": "/group",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "group": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "class": {
                  "type": "string",
                  "required": true
                },
                "zoneId": {
                  "type": "string",
                  "required": true
                },
                "deviceIds": {
                  "type": "array",
                  "required": true
                },
                "iconOverride": {
                  "type": "string"
                },
                "iconDeviceId": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deleteDeviceFromGroup": {
          "method": "delete",
          "path": "/group/:groupId/device/:deviceId",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "groupId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "updateGroup": {
          "method": "put",
          "path": "/group/:id",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "group": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "deviceIds": {
                  "type": "array"
                },
                "iconOverride": {
                  "type": "string"
                },
                "iconDeviceId": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "ManagerDevkit": {
      "id": "devkit",
      "idCamelCase": "devkit",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "installApp": {
          "method": "post",
          "path": "/app",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "manifest": {
              "in": "body",
              "type": "object",
              "required": true
            },
            "clean": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "uninstallApp": {
          "method": "delete",
          "path": "/app/:sessionId",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "sessionId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "stopApp": {
          "method": "delete",
          "path": "/:session",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "session": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAppStdOut": {
          "method": "get",
          "path": "/std/:session",
          "private": false,
          "scopes": ["homey.app"],
          "parameters": {
            "session": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerDiscovery": {
      "id": "discovery",
      "idCamelCase": "discovery",
      "items": {
        "DiscoveryStrategyMDNSSD": {
          "id": "discoverystrategy-mdnssd",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "DiscoveryStrategySSDP": {
          "id": "discoverystrategy-ssdp",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "DiscoveryStrategyMAC": {
          "id": "discoverystrategy-mac",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerDrivers": {
      "id": "drivers",
      "idCamelCase": "drivers",
      "items": {
        "Driver": {
          "id": "driver",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the driver.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerUri": {
                "description": "The URI of the owner of the driver.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the driver.",
                "type": "string"
              },
              "ownerIconObj": {
                "description": "The icon object of the driver.",
                "type": "object",
                "properties": {},
                "additionalProperties": false
              },
              "name": {
                "description": "The name of the driver.",
                "type": "string"
              },
              "color": {
                "description": "The color of the driver.",
                "type": "string"
              },
              "class": {
                "description": "The class of the driver.",
                "type": "string"
              },
              "ready": {
                "description": "Whether the driver is ready.",
                "type": "boolean"
              },
              "pair": {
                "description": "Whether pairing is possible.",
                "type": "boolean"
              },
              "repair": {
                "description": "Whether repairing is possible.",
                "type": "boolean"
              },
              "unpair": {
                "description": "Whether unpairing is possible.",
                "type": "boolean"
              },
              "userPath": {
                "description": "The user path of the driver.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deprecated": {
                "description": "Whether the driver is deprecated.",
                "type": "boolean"
              },
              "connectivity": {
                "description": "The connectivity options of the driver.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "PairSession": {
          "id": "pairsession",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getDrivers": {
          "method": "get",
          "path": "/driver",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Driver"
          },
          "parameters": {}
        },
        "getDriver": {
          "method": "get",
          "path": "/driver/:id",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Driver"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getPairSession": {
          "method": "get",
          "path": "/pairsession/:id",
          "private": false,
          "scopes": ["homey.device"],
          "crud": {
            "type": "getOne",
            "item": "PairSession"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createPairSession": {
          "method": "post",
          "path": "/pairsession",
          "private": false,
          "scopes": ["homey.device"],
          "crud": {
            "type": "createOne",
            "item": "PairSession"
          },
          "parameters": {
            "pairsession": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "type": {
                  "type": "string",
                  "required": true
                },
                "driverId": {
                  "type": "string",
                  "required": true
                },
                "deviceId": {
                  "type": "string"
                },
                "zoneId": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deletePairSession": {
          "method": "delete",
          "path": "/pairsession/:id",
          "private": false,
          "scopes": ["homey.device"],
          "crud": {
            "type": "deleteOne",
            "item": "PairSession"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "emitPairingHeartbeat": {
          "method": "post",
          "path": "/pairsession/:id/heartbeat",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "emitPairingEvent": {
          "method": "post",
          "path": "/pairsession/:id/emit",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "event": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "data": {
              "in": "body"
            }
          }
        },
        "emitPairingCallback": {
          "method": "post",
          "path": "/pairsession/:id/callback",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "callbackId": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "data": {
              "in": "body"
            }
          }
        },
        "createPairSessionDevice": {
          "method": "post",
          "path": "/pairsession/:id/device",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "device": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "data": {
                  "required": true
                },
                "zone": {
                  "type": "string"
                },
                "store": {
                  "type": "object"
                },
                "capabilities": {
                  "type": "array"
                },
                "capabilitiesOptions": {
                  "type": "object"
                },
                "class": {
                  "type": "string"
                },
                "icon": {
                  "type": "string"
                },
                "iconOverride": {
                  "type": "string"
                },
                "settings": {
                  "type": "object"
                },
                "energy": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deletePairSessionDevice": {
          "method": "delete",
          "path": "/pairsession/:id/device",
          "private": false,
          "scopes": ["homey.device"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerEnergy": {
      "id": "energy",
      "idCamelCase": "energy",
      "items": {
        "EnergyReportHour": {
          "id": "energyreporthour",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "EnergyReportDay": {
          "id": "energyreportday",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "EnergyReportWeek": {
          "id": "energyreportweek",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "EnergyReportMonth": {
          "id": "energyreportmonth",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "EnergyReportYear": {
          "id": "energyreportyear",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getOptionElectricityPriceFixed": {
          "method": "GET",
          "path": "/option/electricityPriceFixed",
          "scopes": ["homey.energy.readonly"]
        },
        "setOptionElectricityPriceFixed": {
          "method": "PUT",
          "path": "/option/electricityPriceFixed",
          "scopes": ["homey.energy"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionElectricityPriceFixed": {
          "method": "DELETE",
          "path": "/option/electricityPriceFixed",
          "scopes": ["homey.energy"]
        },
        "getOptionGasPriceFixed": {
          "method": "GET",
          "path": "/option/gasPriceFixed",
          "scopes": ["homey.energy.readonly"]
        },
        "setOptionGasPriceFixed": {
          "method": "PUT",
          "path": "/option/gasPriceFixed",
          "scopes": ["homey.energy"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionGasPriceFixed": {
          "method": "DELETE",
          "path": "/option/gasPriceFixed",
          "scopes": ["homey.energy"]
        },
        "getOptionWaterPriceFixed": {
          "method": "GET",
          "path": "/option/waterPriceFixed",
          "scopes": ["homey.energy.readonly"]
        },
        "setOptionWaterPriceFixed": {
          "method": "PUT",
          "path": "/option/waterPriceFixed",
          "scopes": ["homey.energy"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionWaterPriceFixed": {
          "method": "DELETE",
          "path": "/option/waterPriceFixed",
          "scopes": ["homey.energy"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getLiveReport": {
          "method": "get",
          "path": "/live",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "zone": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getReportDay": {
          "method": "get",
          "path": "/report/day",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "date": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "cache": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getReportWeek": {
          "method": "get",
          "path": "/report/week",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "isoWeek": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "cache": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getReportMonth": {
          "method": "get",
          "path": "/report/month",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "yearMonth": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "cache": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getReportYear": {
          "method": "get",
          "path": "/report/year",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "year": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "cache": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getReportsAvailable": {
          "method": "get",
          "path": "/reports/available",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "getCurrency": {
          "method": "get",
          "path": "/currency",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "deleteReports": {
          "method": "delete",
          "path": "/reports",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {}
        },
        "resetReportDayCategories": {
          "method": "put",
          "path": "/report/day/reset/categories",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {
            "options": {
              "in": "body",
              "type": "object",
              "required": true,
              "properties": {
                "date": {
                  "type": "string"
                },
                "categories": {
                  "type": "array"
                },
                "deviceIds": {
                  "type": "array"
                }
              }
            }
          }
        },
        "fetchDynamicElectricityPrices": {
          "method": "get",
          "path": "/price/electricity/dynamic",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {
            "date": {
              "in": "query",
              "type": "string",
              "required": true
            }
          }
        },
        "setDynamicElectricityPriceUserCosts": {
          "method": "put",
          "path": "/price/electricity/dynamic/user-costs",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {
            "mathExpression": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "type": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "getDynamicElectricityPriceUserCosts": {
          "method": "get",
          "path": "/price/electricity/dynamic/user-costs",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "unsetDynamicElectricityPriceUserCosts": {
          "method": "delete",
          "path": "/price/electricity/dynamic/user-costs",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {}
        },
        "setElectricityPriceType": {
          "method": "put",
          "path": "/price/electricity/:type",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {
            "type": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getElectricityPriceType": {
          "method": "get",
          "path": "/price/electricity/type",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "getDynamicPricesElectricityZones": {
          "method": "get",
          "path": "/price/electricity/dynamic/zones",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "getDynamicPricesElectricityZone": {
          "method": "get",
          "path": "/price/electricity/dynamic/zone",
          "private": false,
          "scopes": ["homey.energy.readonly"],
          "parameters": {}
        },
        "setDynamicPricesElectricityZone": {
          "method": "put",
          "path": "/price/electricity/dynamic/zone",
          "private": false,
          "scopes": ["homey.energy"],
          "parameters": {
            "options": {
              "in": "body",
              "type": "object",
              "required": true,
              "properties": {
                "zoneId": {
                  "type": "string"
                },
                "zoneVersion": {
                  "type": "string"
                },
                "priceInterval": {
                  "type": "string"
                }
              }
            }
          }
        },
        "enableDummyEnergyReports": {
          "method": "post",
          "path": "/reports/dummy/enable",
          "private": true,
          "scopes": ["homey.energy"],
          "parameters": {
            "fromDate": {
              "in": "query",
              "type": "string"
            },
            "toDate": {
              "in": "query",
              "type": "string"
            },
            "randomness": {
              "in": "query",
              "type": "string"
            },
            "numTopConsumers": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "disableDummyEnergyReports": {
          "method": "post",
          "path": "/reports/dummy/disable",
          "private": true,
          "scopes": ["homey.energy"],
          "parameters": {}
        }
      }
    },
    "ManagerEnergyDongle": {
      "id": "energydongle",
      "idCamelCase": "energydongle",
      "items": {},
      "operations": {
        "getOptionPhaseLoadNotificationSettings": {
          "method": "GET",
          "path": "/option/phaseLoadNotificationSettings",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionPhaseLoadNotificationSettings": {
          "method": "PUT",
          "path": "/option/phaseLoadNotificationSettings",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionPhaseLoadNotificationSettings": {
          "method": "DELETE",
          "path": "/option/phaseLoadNotificationSettings",
          "scopes": ["homey.system"]
        },
        "createAndUploadDiagnosticReport": {
          "method": "post",
          "path": "/:deviceId/diagnostic-report",
          "private": true,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "timeout": {
              "in": "body",
              "type": "number"
            }
          }
        },
        "getNextFrame": {
          "method": "get",
          "path": "/:deviceId/next-frame",
          "private": true,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "timeout": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "restartSettingsDiscovery": {
          "method": "post",
          "path": "/:deviceId/restart-settings-discovery",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getUartConfig": {
          "method": "get",
          "path": "/:deviceId/uart-config",
          "private": true,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setUartConfig": {
          "method": "post",
          "path": "/:deviceId/uart-config",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string"
            },
            "baudRate": {
              "in": "body",
              "type": "number"
            },
            "dataBits": {
              "in": "body",
              "type": "number"
            },
            "stopBits": {
              "in": "body",
              "type": "number"
            },
            "parity": {
              "in": "body",
              "type": "string"
            },
            "inverseRx": {
              "in": "body",
              "type": "boolean"
            },
            "dataTimeoutMs": {
              "in": "body",
              "type": "number"
            },
            "persistent": {
              "in": "body",
              "type": "boolean"
            },
            "dataRequestActiveState": {
              "in": "body",
              "type": "string"
            },
            "mode": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "checkFirmwareUpdateAvailable": {
          "method": "get",
          "path": "/:deviceId/firmware-update",
          "private": true,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "installFirmwareUpdate": {
          "method": "post",
          "path": "/:deviceId/firmware-update",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "updateThroughReboot": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "reboot": {
          "method": "post",
          "path": "/:deviceId/reboot",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setPhaseLoadLimits": {
          "method": "put",
          "path": "/:deviceId/phase-load",
          "private": true,
          "scopes": ["homey.device"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "phasesConfigured": {
              "in": "body",
              "type": "number",
              "required": true
            },
            "capacity": {
              "in": "body",
              "type": "number",
              "required": true
            }
          }
        },
        "getPhaseLoadLimits": {
          "method": "get",
          "path": "/:deviceId/phase-load",
          "private": true,
          "scopes": ["homey.device.readonly"],
          "parameters": {
            "deviceId": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerExperiments": {
      "id": "experiments",
      "idCamelCase": "experiments",
      "items": {
        "ExperimentSSH": {
          "id": "experiment-ssh",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "ExperimentHomeKit": {
          "id": "experiment-homekit",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "ExperimentPowerUser": {
          "id": "experiment-poweruser",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "ExperimentVirtualDevices": {
          "id": "experiment-virtualdevices",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getExperiments": {
          "method": "get",
          "path": "/experiment",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "enableExperiment": {
          "method": "put",
          "path": "/experiment/:id/enable",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "disableExperiment": {
          "method": "put",
          "path": "/experiment/:id/disable",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerFlow": {
      "id": "flow",
      "idCamelCase": "flow",
      "items": {
        "Flow": {
          "id": "flow",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the Flow.",
                "type": "string"
              },
              "folder": {
                "description": "The folder of the Flow.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "triggerable": {
                "description": "Whether the Flow can manually be triggered.",
                "type": "boolean"
              },
              "enabled": {
                "description": "Whether the Flow is enabled.",
                "type": "boolean"
              },
              "trigger": {
                "description": "The trigger of the Flow.",
                "type": "object",
                "properties": {
                  "id": {
                    "description": "The unique identifier of the trigger.",
                    "type": "string"
                  }
                },
                "required": ["id"],
                "additionalProperties": {}
              },
              "conditions": {
                "description": "The conditions of the Flow.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the condition.",
                      "type": "string"
                    }
                  },
                  "required": ["id"],
                  "additionalProperties": {}
                }
              },
              "actions": {
                "description": "The actions of the Flow.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the action.",
                      "type": "string"
                    }
                  },
                  "required": ["id"],
                  "additionalProperties": {}
                }
              }
            },
            "additionalProperties": false
          }
        },
        "FlowFolder": {
          "id": "flowfolder",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow folder",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the folder.",
                "type": "string"
              },
              "parent": {
                "description": "The id of the parent folder, if any.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "FlowCardTrigger": {
          "id": "flowcardtrigger",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow card.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerId": {
                "description": "The unique identifier of the owner of the Flow card.",
                "type": "string"
              },
              "ownerUri": {
                "description": "The URI of the owner of the Flow card.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the Flow card.",
                "type": "string"
              },
              "title": {
                "description": "The title of the Flow card.",
                "type": "string"
              },
              "titleFormatted": {
                "description": "The formatted title of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hint": {
                "description": "The hint of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "args": {
                "description": "The arguments of the Flow card.",
                "anyOf": [
                  {
                    "type": "array",
                    "items": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "droptoken": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deprecated": {
                "description": "Whether the Flow card is deprecated.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "highlight": {
                "description": "Whether the Flow card should be highlighted.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tokens": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "FlowCardCondition": {
          "id": "flowcardcondition",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow card.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerId": {
                "description": "The unique identifier of the owner of the Flow card.",
                "type": "string"
              },
              "ownerUri": {
                "description": "The URI of the owner of the Flow card.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the Flow card.",
                "type": "string"
              },
              "title": {
                "description": "The title of the Flow card.",
                "type": "string"
              },
              "titleFormatted": {
                "description": "The formatted title of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hint": {
                "description": "The hint of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "args": {
                "description": "The arguments of the Flow card.",
                "anyOf": [
                  {
                    "type": "array",
                    "items": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "droptoken": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deprecated": {
                "description": "Whether the Flow card is deprecated.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "highlight": {
                "description": "Whether the Flow card should be highlighted.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "FlowCardAction": {
          "id": "flowcardaction",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow card.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerId": {
                "description": "The unique identifier of the owner of the Flow card.",
                "type": "string"
              },
              "ownerUri": {
                "description": "The URI of the owner of the Flow card.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the Flow card.",
                "type": "string"
              },
              "title": {
                "description": "The title of the Flow card.",
                "type": "string"
              },
              "titleFormatted": {
                "description": "The formatted title of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hint": {
                "description": "The hint of the Flow card.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "args": {
                "description": "The arguments of the Flow card.",
                "anyOf": [
                  {
                    "type": "array",
                    "items": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "droptoken": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deprecated": {
                "description": "Whether the Flow card is deprecated.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "highlight": {
                "description": "Whether the Flow card should be highlighted.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "duration": {
                "type": "boolean"
              },
              "durationMin": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "durationMax": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tokens": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "advanced": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        },
        "AdvancedFlow": {
          "id": "advancedflow",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Advanced Flow.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the Advanced Flow.",
                "type": "string"
              },
              "folder": {
                "description": "The folder of the Advanced Flow.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "triggerable": {
                "description": "Whether the Advanced Flow can manually be triggered.",
                "type": "boolean"
              },
              "enabled": {
                "description": "Whether the Advanced Flow is enabled.",
                "type": "boolean"
              },
              "cards": {
                "description": "A record of cards associated with the Advanced Flow.",
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
                },
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the card.",
                      "type": "string"
                    },
                    "ownerUri": {
                      "description": "The URI of the owner of the card.",
                      "type": "string"
                    },
                    "type": {
                      "description": "The type of the card.",
                      "type": "string"
                    },
                    "x": {
                      "description": "The x-coordinate of the card.",
                      "type": "number"
                    },
                    "y": {
                      "description": "The y-coordinate of the card.",
                      "type": "number"
                    }
                  },
                  "required": ["type", "x", "y"],
                  "additionalProperties": {}
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getFlow": {
          "method": "get",
          "path": "/flow/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Flow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlows": {
          "method": "get",
          "path": "/flow",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Flow"
          },
          "parameters": {}
        },
        "createFlow": {
          "method": "post",
          "path": "/flow",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "createOne",
            "item": "Flow"
          },
          "parameters": {
            "flow": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "folder": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "trigger": {
                  "type": "object",
                  "required": true
                },
                "conditions": {
                  "type": "array",
                  "required": true
                },
                "actions": {
                  "type": "array",
                  "required": true
                }
              }
            }
          }
        },
        "updateFlow": {
          "method": "put",
          "path": "/flow/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "updateOne",
            "item": "Flow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "flow": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "folder": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "trigger": {
                  "type": "object"
                },
                "conditions": {
                  "type": "array"
                },
                "actions": {
                  "type": "array"
                }
              }
            }
          }
        },
        "deleteFlow": {
          "method": "delete",
          "path": "/flow/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "deleteOne",
            "item": "Flow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "testFlow": {
          "method": "post",
          "path": "/flow/test",
          "private": false,
          "scopes": ["homey.flow"],
          "parameters": {
            "flow": {
              "in": "body",
              "type": "object",
              "required": true,
              "properties": {
                "trigger": {
                  "type": "object",
                  "required": true
                },
                "conditions": {
                  "type": "array",
                  "required": true
                },
                "actions": {
                  "type": "array",
                  "required": true
                }
              }
            },
            "tokens": {
              "in": "body",
              "type": "object",
              "required": true
            },
            "sessionId": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "triggerFlow": {
          "method": "post",
          "path": "/flow/:id/trigger",
          "private": false,
          "scopes": ["homey.flow.start"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "shareFlow": {
          "method": "post",
          "path": "/flow/:id/share",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowFolders": {
          "method": "get",
          "path": "/flowfolder",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "FlowFolder"
          },
          "parameters": {}
        },
        "getFlowFolder": {
          "method": "get",
          "path": "/flowfolder/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "FlowFolder"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createFlowFolder": {
          "method": "post",
          "path": "/flowfolder",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "createOne",
            "item": "FlowFolder"
          },
          "parameters": {
            "flowfolder": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "parent": {
                  "type": "string"
                }
              }
            }
          }
        },
        "updateFlowFolder": {
          "method": "put",
          "path": "/flowfolder/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "updateOne",
            "item": "FlowFolder"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "flowfolder": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "parent": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deleteFlowFolder": {
          "method": "delete",
          "path": "/flowfolder/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "deleteOne",
            "item": "FlowFolder"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowCardTrigger": {
          "method": "get",
          "path": "/flowcardtrigger/:uri/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "FlowCardTrigger"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowCardTriggers": {
          "method": "get",
          "path": "/flowcardtrigger",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "FlowCardTrigger"
          },
          "parameters": {}
        },
        "getFlowCardCondition": {
          "method": "get",
          "path": "/flowcardcondition/:uri/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "FlowCardCondition"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowCardConditions": {
          "method": "get",
          "path": "/flowcardcondition",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "FlowCardCondition"
          },
          "parameters": {}
        },
        "runFlowCardCondition": {
          "method": "post",
          "path": "/flowcardcondition/:uri/:id/run",
          "private": false,
          "scopes": ["homey.flow"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "args": {
              "in": "body",
              "type": "object"
            },
            "tokens": {
              "in": "body",
              "type": "object"
            },
            "state": {
              "in": "body",
              "type": "object"
            },
            "droptoken": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "getFlowCardAction": {
          "method": "get",
          "path": "/flowcardaction/:uri/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "FlowCardAction"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowCardActions": {
          "method": "get",
          "path": "/flowcardaction",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "FlowCardAction"
          },
          "parameters": {}
        },
        "runFlowCardAction": {
          "method": "post",
          "path": "/flowcardaction/:uri/:id/run",
          "private": false,
          "scopes": ["homey.flow"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "args": {
              "in": "body",
              "type": "object"
            },
            "tokens": {
              "in": "body",
              "type": "object"
            },
            "state": {
              "in": "body",
              "type": "object"
            },
            "droptoken": {
              "in": "body",
              "type": "string"
            },
            "duration": {
              "in": "body",
              "type": "number"
            }
          }
        },
        "getFlowCardAutocomplete": {
          "method": "get",
          "path": "/:type/:uri/:id/autocomplete",
          "private": false,
          "scopes": [],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "type": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "name": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "query": {
              "in": "query",
              "type": "string",
              "required": true
            },
            "args": {
              "in": "query",
              "type": "object"
            }
          }
        },
        "getAdvancedFlow": {
          "method": "get",
          "path": "/advancedflow/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "AdvancedFlow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getAdvancedFlows": {
          "method": "get",
          "path": "/advancedflow",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "AdvancedFlow"
          },
          "parameters": {}
        },
        "createAdvancedFlow": {
          "method": "post",
          "path": "/advancedflow",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "createOne",
            "item": "AdvancedFlow"
          },
          "parameters": {
            "advancedflow": {
              "in": "body",
              "root": true,
              "required": true
            }
          }
        },
        "updateAdvancedFlow": {
          "method": "put",
          "path": "/advancedflow/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "updateOne",
            "item": "AdvancedFlow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "advancedflow": {
              "in": "body",
              "root": true,
              "required": true
            }
          }
        },
        "deleteAdvancedFlow": {
          "method": "delete",
          "path": "/advancedflow/:id",
          "private": false,
          "scopes": ["homey.flow"],
          "crud": {
            "type": "deleteOne",
            "item": "AdvancedFlow"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "triggerAdvancedFlow": {
          "method": "post",
          "path": "/advancedflow/:id/trigger",
          "private": false,
          "scopes": ["homey.flow.start"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerFlowToken": {
      "id": "flowtoken",
      "idCamelCase": "flowtoken",
      "items": {
        "FlowToken": {
          "id": "flowtoken",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the Flow token.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerId": {
                "description": "The id of the owner of the Flow token.",
                "type": "string"
              },
              "ownerUri": {
                "description": "The URI of the owner of the Flow token.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the Flow token.",
                "type": "string"
              },
              "type": {
                "description": "The type of the Flow token.",
                "type": "string"
              },
              "title": {
                "description": "The title of the Flow token.",
                "type": "string"
              },
              "example": {
                "description": "An example of the Flow token value.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getFlowTokens": {
          "method": "get",
          "path": "/flowtoken",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getAll",
            "item": "FlowToken"
          },
          "parameters": {}
        },
        "getFlowToken": {
          "method": "get",
          "path": "/flowtoken/:id",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "crud": {
            "type": "getOne",
            "item": "FlowToken"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getFlowTokenValue": {
          "method": "get",
          "path": "/flowtoken/:id/value",
          "private": false,
          "scopes": ["homey.flow.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerGeolocation": {
      "id": "geolocation",
      "idCamelCase": "geolocation",
      "items": {},
      "operations": {
        "getOptionAddress": {
          "method": "GET",
          "path": "/option/address",
          "scopes": ["homey.geolocation.readonly"]
        },
        "setOptionAddress": {
          "method": "PUT",
          "path": "/option/address",
          "scopes": ["homey.geolocation"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionAddress": {
          "method": "DELETE",
          "path": "/option/address",
          "scopes": ["homey.geolocation"]
        },
        "getOptionLocation": {
          "method": "GET",
          "path": "/option/location",
          "scopes": ["homey.geolocation.readonly"]
        },
        "setOptionLocation": {
          "method": "PUT",
          "path": "/option/location",
          "scopes": ["homey.geolocation"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionLocation": {
          "method": "DELETE",
          "path": "/option/location",
          "scopes": ["homey.geolocation"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerGoogleAssistant": {
      "id": "google-assistant",
      "idCamelCase": "googleAssistant",
      "items": {},
      "operations": {
        "getOptionPinCode": {
          "method": "GET",
          "path": "/option/pinCode",
          "scopes": ["homey.system"]
        },
        "setOptionPinCode": {
          "method": "PUT",
          "path": "/option/pinCode",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionPinCode": {
          "method": "DELETE",
          "path": "/option/pinCode",
          "scopes": ["homey.system"]
        },
        "getOptionEnabled": {
          "method": "GET",
          "path": "/option/enabled",
          "scopes": ["homey.system"]
        },
        "setOptionEnabled": {
          "method": "PUT",
          "path": "/option/enabled",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionEnabled": {
          "method": "DELETE",
          "path": "/option/enabled",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "sync": {
          "method": "post",
          "path": "/sync",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        }
      }
    },
    "ManagerI18n": {
      "id": "i18n",
      "idCamelCase": "i18n",
      "items": {},
      "operations": {
        "getOptionLanguage": {
          "method": "GET",
          "path": "/option/language",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionLanguage": {
          "method": "PUT",
          "path": "/option/language",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionLanguage": {
          "method": "DELETE",
          "path": "/option/language",
          "scopes": ["homey.system"]
        },
        "getOptionUnits": {
          "method": "GET",
          "path": "/option/units",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionUnits": {
          "method": "PUT",
          "path": "/option/units",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionUnits": {
          "method": "DELETE",
          "path": "/option/units",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerIcons": {
      "id": "icons",
      "idCamelCase": "icons",
      "items": {
        "Icon": {
          "id": "icon",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerImages": {
      "id": "images",
      "idCamelCase": "images",
      "items": {
        "Image": {
          "id": "image",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the image.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerUri": {
                "description": "The URI of the owner of the image.",
                "type": "string"
              },
              "url": {
                "description": "The URL of the image.",
                "type": "string"
              },
              "lastUpdated": {
                "description": "The time the image was last updated.",
                "type": "string",
                "format": "date-time"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getImages": {
          "method": "get",
          "path": "/image",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Image"
          },
          "parameters": {}
        }
      }
    },
    "ManagerInsights": {
      "id": "insights",
      "idCamelCase": "insights",
      "items": {
        "Log": {
          "id": "log",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the log.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerUri": {
                "description": "The URI of the owner of the log.",
                "type": "string"
              },
              "ownerName": {
                "description": "The name of the owner of the log.",
                "type": "string"
              },
              "ownerId": {
                "description": "The id of the owner of the log.",
                "type": "string"
              },
              "type": {
                "description": "The type of the log.",
                "type": "string",
                "enum": ["number", "boolean"]
              },
              "title": {
                "description": "The title of the log.",
                "type": "string"
              },
              "titleTrue": {
                "description": "The title that should be used for when a log value is true.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "titleFalse": {
                "description": "The title that should be used for when a log value is false.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "units": {
                "description": "The units of the log.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "decimals": {
                "description": "The number of decimals that should be used for the log value.",
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastValue": {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "description": "The last boolean value of the log.",
                        "anyOf": [
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      {
                        "description": "The last number value of the log.",
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "LogEntryBoolean": {
          "id": "logentryboolean",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getLog": {
          "method": "get",
          "path": "/log/:id",
          "private": false,
          "scopes": ["homey.insights.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Log"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getLogs": {
          "method": "get",
          "path": "/log",
          "private": false,
          "scopes": ["homey.insights.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Log"
          },
          "parameters": {}
        },
        "getLogEntries": {
          "method": "get",
          "path": "/log/:uri/:id/entry",
          "private": false,
          "scopes": ["homey.insights.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "resolution": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "deleteLog": {
          "method": "delete",
          "path": "/log/:uri/:id",
          "private": false,
          "scopes": ["homey.insights"],
          "crud": {
            "type": "deleteOne",
            "item": "Log"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteLogEntries": {
          "method": "delete",
          "path": "/log/:uri/:id/entry",
          "private": false,
          "scopes": ["homey.insights"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerLedring": {
      "id": "ledring",
      "idCamelCase": "ledring",
      "items": {},
      "operations": {
        "getOptionScreensaver": {
          "method": "GET",
          "path": "/option/screensaver",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionScreensaver": {
          "method": "PUT",
          "path": "/option/screensaver",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionScreensaver": {
          "method": "DELETE",
          "path": "/option/screensaver",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getScreensavers": {
          "method": "get",
          "path": "/screensaver",
          "private": false,
          "scopes": [],
          "parameters": {}
        }
      }
    },
    "ManagerLogic": {
      "id": "logic",
      "idCamelCase": "logic",
      "items": {
        "Variable": {
          "id": "variable",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the variable.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the variable.",
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": ["string", "number", "boolean"]
              },
              "value": {
                "description": "The value of the variable. Should match the type defined in the `type` property.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getVariable": {
          "method": "get",
          "path": "/variable/:id",
          "private": false,
          "scopes": ["homey.logic.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Variable"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getVariables": {
          "method": "get",
          "path": "/variable",
          "private": false,
          "scopes": ["homey.logic.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Variable"
          },
          "parameters": {}
        },
        "createVariable": {
          "method": "post",
          "path": "/variable",
          "private": false,
          "scopes": ["homey.logic"],
          "crud": {
            "type": "createOne",
            "item": "Variable"
          },
          "parameters": {
            "variable": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "type": {
                  "type": "string",
                  "required": true
                },
                "value": {
                  "type": ["string", "number", "boolean"],
                  "required": true
                }
              }
            }
          }
        },
        "updateVariable": {
          "method": "put",
          "path": "/variable/:id",
          "private": false,
          "scopes": ["homey.logic"],
          "crud": {
            "type": "updateOne",
            "item": "Variable"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "variable": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": ["string", "number", "boolean"]
                }
              }
            }
          }
        },
        "deleteVariable": {
          "method": "delete",
          "path": "/variable/:id",
          "private": false,
          "scopes": ["homey.logic"],
          "crud": {
            "type": "deleteOne",
            "item": "Variable"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerMatter": {
      "id": "matter",
      "idCamelCase": "matter",
      "items": {
        "MatterNode": {
          "id": "matternode",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getOptionPaaSettings": {
          "method": "GET",
          "path": "/option/paaSettings",
          "scopes": ["homey.system"]
        },
        "setOptionPaaSettings": {
          "method": "PUT",
          "path": "/option/paaSettings",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionPaaSettings": {
          "method": "DELETE",
          "path": "/option/paaSettings",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getMatterNode": {
          "method": "get",
          "path": "/node/:id",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "crud": {
            "type": "getOne",
            "item": "MatterNode"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getMatterNodes": {
          "method": "get",
          "path": "/nodes",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "crud": {
            "type": "getAll",
            "item": "MatterNode"
          },
          "parameters": {}
        },
        "deleteMatterNode": {
          "method": "delete",
          "path": "/node/:id",
          "private": false,
          "scopes": ["homey.system"],
          "crud": {
            "type": "deleteOne",
            "item": "MatterNode"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getNodeAttributes": {
          "method": "get",
          "path": "/node/:id/attributes",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getNodeFabrics": {
          "method": "get",
          "path": "/node/:id/fabrics",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteNodeFabric": {
          "method": "delete",
          "path": "/node/:id/fabric/:fabricIndex",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "fabricIndex": {
              "in": "path",
              "type": "number",
              "required": true
            },
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "resolveNodeAddress": {
          "method": "post",
          "path": "/node/:id/resolve-address",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "forceNodeUpdate": {
          "method": "post",
          "path": "/node/:id/force-update",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "pingNode": {
          "method": "post",
          "path": "/node/:id/ping",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "getNodeAvailableFirmwareUpdate": {
          "method": "get",
          "path": "/node/:id/firmware-update",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "installNodeAvailableFirmwareUpdate": {
          "method": "post",
          "path": "/node/:id/firmware-update",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "softwareVersion": {
              "in": "body",
              "type": "number",
              "required": true
            }
          }
        },
        "nodeDiagnosticReport": {
          "method": "post",
          "path": "/node/:id/diagnostic-report",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "nodeThreadNetworkInformation": {
          "method": "get",
          "path": "/node/:id/thread-network",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "nodeWiFiNetworkInformation": {
          "method": "get",
          "path": "/node/:id/wifi-network",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "openCommissioningWindow": {
          "method": "post",
          "path": "/open-commissioning-window",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "timeout": {
              "in": "body",
              "type": "number"
            },
            "revokeExisting": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "getFabrics": {
          "method": "get",
          "path": "/fabrics",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "deviceId": {
              "in": "query",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteFabric": {
          "method": "post",
          "path": "/delete-fabric",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "deviceId": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "fabricIndex": {
              "in": "body",
              "type": "number",
              "required": true
            }
          }
        }
      }
    },
    "ManagerMobile": {
      "id": "mobile",
      "idCamelCase": "mobile",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerMoods": {
      "id": "moods",
      "idCamelCase": "moods",
      "items": {
        "Mood": {
          "id": "mood",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the mood.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the mood.",
                "type": "string"
              },
              "preset": {
                "description": "The preset associated with the mood, if any.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "zone": {
                "description": "The zone to which the mood belongs.",
                "type": "string"
              },
              "devices": {
                "description": "A record of devices associated with the mood, where keys are device IDs and values are objects containing their state.",
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
                },
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "description": "The state of the device, where keys are state names and values can be strings, booleans, or numbers.",
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "number"
                          }
                        ]
                      }
                    }
                  },
                  "required": ["state"],
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getMoods": {
          "method": "get",
          "path": "/mood",
          "private": false,
          "scopes": ["homey.mood.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Mood"
          },
          "parameters": {}
        },
        "getMood": {
          "method": "get",
          "path": "/mood/:id",
          "private": false,
          "scopes": ["homey.mood.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Mood"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createMood": {
          "method": "post",
          "path": "/mood",
          "private": false,
          "scopes": ["homey.mood"],
          "crud": {
            "type": "createOne",
            "item": "Mood"
          },
          "parameters": {
            "mood": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "devices": {
                  "type": "object",
                  "required": true
                },
                "preset": {
                  "type": "string"
                }
              }
            }
          }
        },
        "updateMood": {
          "method": "put",
          "path": "/mood/:id",
          "private": false,
          "scopes": ["homey.mood"],
          "crud": {
            "type": "updateOne",
            "item": "Mood"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "mood": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "devices": {
                  "type": "object"
                },
                "preset": {
                  "type": "string"
                }
              }
            }
          }
        },
        "setMood": {
          "method": "post",
          "path": "/mood/:id/set",
          "private": false,
          "scopes": ["homey.mood.set"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteMood": {
          "method": "delete",
          "path": "/mood/:id",
          "private": false,
          "scopes": ["homey.mood"],
          "crud": {
            "type": "deleteOne",
            "item": "Mood"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerNotifications": {
      "id": "notifications",
      "idCamelCase": "notifications",
      "items": {
        "Notification": {
          "id": "notification",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the notification.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "ownerUri": {
                "description": "The URI of the owner of the notification.",
                "type": "string"
              },
              "ownerName": {
                "type": "string"
              },
              "dateCreated": {
                "type": "string",
                "format": "date-time"
              },
              "excerpt": {
                "type": "string"
              },
              "meta": {
                "description": "Metadata associated with the notification.",
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getNotifications": {
          "method": "get",
          "path": "/notification",
          "private": false,
          "scopes": ["homey.notifications.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Notification"
          },
          "parameters": {}
        },
        "deleteNotification": {
          "method": "delete",
          "path": "/notification/:id",
          "private": false,
          "scopes": ["homey.notifications"],
          "crud": {
            "type": "deleteOne",
            "item": "Notification"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteNotifications": {
          "method": "delete",
          "path": "/notification",
          "private": false,
          "scopes": ["homey.notifications"],
          "parameters": {
            "ownerUri": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getOwners": {
          "method": "get",
          "path": "/owner",
          "private": false,
          "scopes": ["homey.notifications.readonly"],
          "parameters": {}
        },
        "setOwnerEnabled": {
          "method": "put",
          "path": "/owner/:uri/enabled",
          "private": false,
          "scopes": ["homey.notifications"],
          "parameters": {
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "enabled": {
              "in": "body",
              "type": "boolean",
              "required": true
            }
          }
        },
        "setOwnerPush": {
          "method": "put",
          "path": "/owner/:uri/push",
          "private": false,
          "scopes": ["homey.notifications"],
          "parameters": {
            "uri": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "push": {
              "in": "body",
              "type": "boolean",
              "required": true
            }
          }
        }
      }
    },
    "ManagerPresence": {
      "id": "presence",
      "idCamelCase": "presence",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "setPresentMe": {
          "method": "put",
          "path": "/me/present",
          "private": false,
          "scopes": ["homey.presence.self"],
          "parameters": {
            "value": {
              "in": "body",
              "type": "boolean"
            },
            "opts": {
              "in": "body",
              "type": "object",
              "properties": {
                "forceFlowTrigger": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "setPresent": {
          "method": "put",
          "path": "/:id/present",
          "private": false,
          "scopes": ["homey.presence"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "value": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "getPresent": {
          "method": "get",
          "path": "/:id/present",
          "private": false,
          "scopes": ["homey.presence.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "setAsleepMe": {
          "method": "put",
          "path": "/me/asleep",
          "private": false,
          "scopes": ["homey.presence.self"],
          "parameters": {
            "value": {
              "in": "body",
              "type": "boolean"
            },
            "opts": {
              "in": "body",
              "type": "object",
              "properties": {
                "forceFlowTrigger": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "setAsleep": {
          "method": "put",
          "path": "/:id/asleep",
          "private": false,
          "scopes": ["homey.presence"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "value": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "getAsleep": {
          "method": "get",
          "path": "/:id/asleep",
          "private": false,
          "scopes": ["homey.presence.readonly"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerRF": {
      "id": "rf",
      "idCamelCase": "rf",
      "items": {
        "Signal": {
          "id": "signal",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "record": {
          "method": "post",
          "path": "/record",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "frequency": {
              "in": "body",
              "type": "string"
            },
            "timeout": {
              "in": "body",
              "type": "number"
            }
          }
        },
        "replay": {
          "method": "post",
          "path": "/replay",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "frequency": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "data": {
              "in": "body",
              "type": "array",
              "required": true
            }
          }
        },
        "emulate": {
          "method": "post",
          "path": "/:frequency/emulate",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "frequency": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "data": {
              "in": "body",
              "type": "array",
              "root": true,
              "required": true
            }
          }
        },
        "set433MHzConfig": {
          "method": "post",
          "path": "/mhz433/config",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "modulation": {
              "in": "body",
              "type": "string"
            },
            "carrier": {
              "in": "body",
              "type": "number"
            },
            "deviation": {
              "in": "body",
              "type": "number"
            },
            "channelSpacing": {
              "in": "body",
              "type": "number"
            },
            "filterBandwidth": {
              "in": "body",
              "type": "number"
            },
            "baudrate": {
              "in": "body",
              "type": "number"
            },
            "power": {
              "in": "body",
              "type": "number"
            }
          }
        },
        "txInfraredProntohex": {
          "method": "post",
          "path": "/ir/prontohex",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "payload": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "repetitions": {
              "in": "body",
              "type": "number"
            }
          }
        }
      }
    },
    "ManagerSafety": {
      "id": "safety",
      "idCamelCase": "safety",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerSatellites": {
      "id": "satellites",
      "idCamelCase": "satellites",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "setDebugLogging": {
          "method": "put",
          "path": "/debug",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "peripheral": {
              "in": "body",
              "type": "string"
            },
            "enabled": {
              "in": "body",
              "type": "boolean",
              "required": true
            },
            "serial": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "getDebugLog": {
          "method": "post",
          "path": "/debug",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "serial": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerSecurity": {
      "id": "security",
      "idCamelCase": "security",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerSessions": {
      "id": "sessions",
      "idCamelCase": "sessions",
      "items": {
        "Session": {
          "id": "session",
          "schema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "type": {
                "type": "string",
                "enum": ["OAUTH", "APP", "PAT"]
              },
              "scopes": {
                "description": "These are the requested scopes",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "intersectedScopes": {
                "description": "These are the actual available scopes. This is an intersection between the requested scopes and the user's scopes.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getSessionMe": {
          "method": "get",
          "path": "/session/me",
          "private": false,
          "scopes": [],
          "parameters": {}
        }
      }
    },
    "ManagerSystem": {
      "id": "system",
      "idCamelCase": "system",
      "items": {},
      "operations": {
        "getOptionForwardedPort": {
          "method": "GET",
          "path": "/option/forwardedPort",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionForwardedPort": {
          "method": "PUT",
          "path": "/option/forwardedPort",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionForwardedPort": {
          "method": "DELETE",
          "path": "/option/forwardedPort",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "ping": {
          "method": "get",
          "path": "/ping",
          "private": false,
          "scopes": [],
          "parameters": {
            "id": {
              "in": "query",
              "type": "string"
            }
          }
        },
        "getInfo": {
          "method": "get",
          "path": "/",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getSystemName": {
          "method": "get",
          "path": "/name",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "setSystemName": {
          "method": "put",
          "path": "/name",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "name": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "reboot": {
          "method": "post",
          "path": "/reboot",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "sendLog": {
          "method": "post",
          "path": "/journalctl",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {
            "append": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "getMemoryInfo": {
          "method": "get",
          "path": "/memory",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getStorageInfo": {
          "method": "get",
          "path": "/storage",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getMemoryInfoTotal": {
          "method": "get",
          "path": "/memory/total",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getStorageInfoTotal": {
          "method": "get",
          "path": "/storage/total",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "rebootOTA": {
          "method": "post",
          "path": "/reboot-ota",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "setDebug": {
          "method": "put",
          "path": "/debug",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "namespace": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "enableWifi": {
          "method": "post",
          "path": "/enable-wifi",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "disableWifi": {
          "method": "post",
          "path": "/disable-wifi",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "startProfile": {
          "method": "post",
          "path": "/profile/start",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "duration": {
              "in": "body",
              "type": "number"
            }
          }
        },
        "stopProfile": {
          "method": "post",
          "path": "/profile/stop",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {}
        }
      }
    },
    "ManagerThread": {
      "id": "thread",
      "idCamelCase": "thread",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getActiveDataset": {
          "method": "get",
          "path": "/active-dataset",
          "private": true,
          "scopes": ["homey.device"],
          "parameters": {}
        },
        "setActiveDataset": {
          "method": "post",
          "path": "/active-dataset",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "tlvHex": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "apiReset": {
          "method": "post",
          "path": "/reset",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "executeCommand": {
          "method": "post",
          "path": "/execute-command",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {
            "command": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "timeout": {
              "in": "body",
              "type": "number"
            },
            "flush": {
              "in": "body",
              "type": "boolean"
            },
            "preventThreadSetup": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "apiDisable": {
          "method": "get",
          "path": "/disable",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "apiEnable": {
          "method": "get",
          "path": "/enable",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "getNetworkTopology": {
          "method": "get",
          "path": "/topology",
          "private": false,
          "scopes": ["homey.device.readonly"],
          "parameters": {}
        },
        "getDiscoveredBorderRouters": {
          "method": "get",
          "path": "/discovered-border-routers",
          "private": true,
          "scopes": ["homey.device"],
          "parameters": {}
        },
        "rescanBorderRouters": {
          "method": "post",
          "path": "/rescan-border-routers",
          "private": true,
          "scopes": ["homey.device"],
          "parameters": {}
        }
      }
    },
    "ManagerUpdates": {
      "id": "updates",
      "idCamelCase": "updates",
      "items": {},
      "operations": {
        "getOptionChannel": {
          "method": "GET",
          "path": "/option/channel",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionChannel": {
          "method": "PUT",
          "path": "/option/channel",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionChannel": {
          "method": "DELETE",
          "path": "/option/channel",
          "scopes": ["homey.system"]
        },
        "getOptionAutoupdate": {
          "method": "GET",
          "path": "/option/autoupdate",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionAutoupdate": {
          "method": "PUT",
          "path": "/option/autoupdate",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionAutoupdate": {
          "method": "DELETE",
          "path": "/option/autoupdate",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getUpdates": {
          "method": "get",
          "path": "/update",
          "private": false,
          "scopes": ["homey.updates.readonly"],
          "parameters": {}
        },
        "installUpdate": {
          "method": "post",
          "path": "/update",
          "private": false,
          "scopes": ["homey.updates"],
          "parameters": {
            "reboot": {
              "in": "body",
              "type": "boolean"
            },
            "silent": {
              "in": "body",
              "type": "boolean"
            }
          }
        },
        "abortInstallUpdate": {
          "method": "delete",
          "path": "/update",
          "private": false,
          "scopes": [],
          "parameters": {}
        }
      }
    },
    "ManagerUsers": {
      "id": "users",
      "idCamelCase": "users",
      "items": {
        "User": {
          "id": "user",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "role": {
                "type": "string"
              },
              "properties": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "athomId": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "enabled": {
                "default": true,
                "type": "boolean"
              },
              "enabledUntil": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "present": {
                "default": false,
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "asleep": {
                "default": false,
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "avatar": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "verified": {
                "default": false,
                "type": "boolean"
              },
              "inviteUrl": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "localUsername": {
                "description": "The local username of the user.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "login": {
          "method": "post",
          "path": "/login",
          "private": false,
          "scopes": [],
          "parameters": {
            "token": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "getUserMe": {
          "method": "get",
          "path": "/user/me",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {}
        },
        "updateUserMe": {
          "method": "put",
          "path": "/user/me",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {
            "name": {
              "in": "body",
              "type": "string"
            }
          }
        },
        "deleteUserMe": {
          "method": "delete",
          "path": "/user/me",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {}
        },
        "getUsers": {
          "method": "get",
          "path": "/user",
          "private": false,
          "scopes": ["homey.user.readonly"],
          "crud": {
            "type": "getAll",
            "item": "User"
          },
          "parameters": {}
        },
        "getUser": {
          "method": "get",
          "path": "/user/:id",
          "private": false,
          "scopes": ["homey.user.readonly"],
          "crud": {
            "type": "getOne",
            "item": "User"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createUser": {
          "method": "post",
          "path": "/user",
          "private": false,
          "scopes": ["homey.user"],
          "crud": {
            "type": "createOne",
            "item": "User"
          },
          "parameters": {
            "user": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "role": {
                  "type": "string",
                  "required": true
                }
              }
            }
          }
        },
        "updateUser": {
          "method": "put",
          "path": "/user/:id",
          "private": false,
          "scopes": ["homey.user"],
          "crud": {
            "type": "updateOne",
            "item": "User"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "user": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "role": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "deleteUser": {
          "method": "delete",
          "path": "/user/:id",
          "private": false,
          "scopes": ["homey.user"],
          "crud": {
            "type": "deleteOne",
            "item": "User"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "updateUserMeProperties": {
          "method": "put",
          "path": "/user/me/properties/:id",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "value": {
              "in": "body",
              "type": "object",
              "required": true
            }
          }
        },
        "deleteUserMeProperties": {
          "method": "delete",
          "path": "/user/me/properties/:id",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "swapOwner": {
          "method": "post",
          "path": "/swap-owner",
          "private": false,
          "scopes": [],
          "parameters": {
            "newOwnerUserId": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "getPersonalAccessTokens": {
          "method": "get",
          "path": "/pat",
          "private": false,
          "scopes": [],
          "parameters": {}
        },
        "createPersonalAccessToken": {
          "method": "post",
          "path": "/pat",
          "private": false,
          "scopes": [],
          "parameters": {
            "name": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "scopes": {
              "in": "body",
              "type": "array",
              "required": true
            }
          }
        },
        "deletePersonalAccessToken": {
          "method": "delete",
          "path": "/pat/:id",
          "private": false,
          "scopes": [],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "loginLocal": {
          "method": "post",
          "path": "/login-local",
          "private": false,
          "scopes": [],
          "parameters": {
            "username": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "password": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "clientId": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "clientName": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "updateUserMeLocalCredentials": {
          "method": "put",
          "path": "/user/me/local-credentials",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {
            "username": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "password": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "updateUserLocalCredentials": {
          "method": "put",
          "path": "/user/:id/local-credentials",
          "private": false,
          "scopes": [],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "username": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "password": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "deleteUserMeLocalCredentials": {
          "method": "delete",
          "path": "/user/me/local-credentials",
          "private": false,
          "scopes": ["homey.user.self"],
          "parameters": {}
        },
        "deleteUserLocalCredentials": {
          "method": "delete",
          "path": "/user/:id/local-credentials",
          "private": false,
          "scopes": [],
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "grantInstallerAccess": {
          "method": "post",
          "path": "/installer/grant",
          "private": false,
          "scopes": [],
          "parameters": {}
        },
        "revokeInstallerAccess": {
          "method": "post",
          "path": "/installer/revoke",
          "private": false,
          "scopes": [],
          "parameters": {}
        },
        "requestInstallerAccess": {
          "method": "post",
          "path": "/installer/request",
          "private": false,
          "scopes": [],
          "parameters": {
            "jwt": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        },
        "swapOwnerInstaller": {
          "method": "post",
          "path": "/installer/swap-owner",
          "private": false,
          "scopes": [],
          "parameters": {
            "newOwnerUserId": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "jwt": {
              "in": "body",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerVirtualDevice": {
      "id": "vdevice",
      "idCamelCase": "vdevice",
      "items": {
        "VirtualDriverDummySocket": {
          "id": "virtualdriverdummysocket",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceDummySocket": {
          "id": "virtualdevicedummysocket",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverZwave": {
          "id": "virtualdriverzwave",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceZwave": {
          "id": "virtualdevicezwave",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverZigbee": {
          "id": "virtualdriverzigbee",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceZigbee": {
          "id": "virtualdevicezigbee",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverInfrared": {
          "id": "virtualdriverinfrared",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceInfrared": {
          "id": "virtualdeviceinfrared",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverRF433": {
          "id": "virtualdriverrf433",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceRF433": {
          "id": "virtualdevicerf433",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverHomeyBridge": {
          "id": "virtualdriverbridge",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceHomeyBridge": {
          "id": "virtualdevicebridge",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverEnergyDongle": {
          "id": "virtualdriverenergydongle",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceEnergyDongle": {
          "id": "virtualdeviceenergydongle",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverGroup": {
          "id": "virtualdrivergroup",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceGroup": {
          "id": "virtualdevicegroup",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverVirtualSocket": {
          "id": "virtualdrivervirtualsocket",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceVirtualSocket": {
          "id": "virtualdevicevirtualsocket",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverVirtualButton": {
          "id": "virtualdrivervirtualbutton",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceVirtualButton": {
          "id": "virtualdevicevirtualbutton",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverVirtualIPCamera": {
          "id": "virtualdrivervirtualipcamera",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceVirtualIPCamera": {
          "id": "virtualdevicevirtualipcamera",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDriverMatter": {
          "id": "virtualdrivermatter",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        },
        "VirtualDeviceMatter": {
          "id": "virtualdevicematter",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the item.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerWeather": {
      "id": "weather",
      "idCamelCase": "weather",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getWeather": {
          "method": "get",
          "path": "/weather",
          "private": false,
          "scopes": ["homey.geolocation.readonly"],
          "parameters": {}
        },
        "getWeatherHourly": {
          "method": "get",
          "path": "/forecast/hourly",
          "private": false,
          "scopes": ["homey.geolocation.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerWebserver": {
      "id": "webserver",
      "idCamelCase": "webserver",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        }
      }
    },
    "ManagerZigbee": {
      "id": "zigbee",
      "idCamelCase": "zigbee",
      "items": {},
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "runCommand": {
          "method": "post",
          "path": "/command",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "command": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "opts": {
              "in": "body",
              "type": "object"
            }
          }
        },
        "flashFirmware": {
          "method": "put",
          "path": "/flash-firmware",
          "private": true,
          "scopes": ["homey.system"],
          "parameters": {}
        }
      }
    },
    "ManagerZones": {
      "id": "zones",
      "idCamelCase": "zones",
      "items": {
        "Zone": {
          "id": "zone",
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the zone.",
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
              },
              "name": {
                "description": "The name of the zone.",
                "type": "string"
              },
              "parent": {
                "description": "The parent zone of the zone.",
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "icon": {
                "description": "The icon of the zone.",
                "default": "default",
                "type": "string"
              },
              "active": {
                "description": "Whether the zone is currently active.",
                "type": "boolean"
              },
              "activeOrigins": {
                "description": "The origins that are currently active in the zone.",
                "default": [],
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "activeLastUpdated": {
                "description": "The last time the active origins changed.",
                "default": null,
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        }
      },
      "operations": {
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "getZones": {
          "method": "get",
          "path": "/zone",
          "private": false,
          "scopes": ["homey.zone.readonly"],
          "crud": {
            "type": "getAll",
            "item": "Zone"
          },
          "parameters": {}
        },
        "getZone": {
          "method": "get",
          "path": "/zone/:id",
          "private": false,
          "scopes": ["homey.zone.readonly"],
          "crud": {
            "type": "getOne",
            "item": "Zone"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        },
        "createZone": {
          "method": "post",
          "path": "/zone",
          "private": false,
          "scopes": ["homey.zone"],
          "crud": {
            "type": "createOne",
            "item": "Zone"
          },
          "parameters": {
            "zone": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string",
                  "required": true
                },
                "icon": {
                  "type": "string",
                  "required": true
                },
                "parent": {
                  "type": "string",
                  "required": true
                }
              }
            }
          }
        },
        "updateZone": {
          "method": "put",
          "path": "/zone/:id",
          "private": false,
          "scopes": ["homey.zone"],
          "crud": {
            "type": "updateOne",
            "item": "Zone"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            },
            "zone": {
              "in": "body",
              "type": "object",
              "root": true,
              "required": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "icon": {
                  "type": "string"
                },
                "parent": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deleteZone": {
          "method": "delete",
          "path": "/zone/:id",
          "private": false,
          "scopes": ["homey.zone"],
          "crud": {
            "type": "deleteOne",
            "item": "Zone"
          },
          "parameters": {
            "id": {
              "in": "path",
              "type": "string",
              "required": true
            }
          }
        }
      }
    },
    "ManagerZwave": {
      "id": "zwave",
      "idCamelCase": "zwave",
      "items": {},
      "operations": {
        "getOptionRegionOverride": {
          "method": "GET",
          "path": "/option/regionOverride",
          "scopes": ["homey.system.readonly"]
        },
        "setOptionRegionOverride": {
          "method": "PUT",
          "path": "/option/regionOverride",
          "scopes": ["homey.system"],
          "parameters": {
            "value": {
              "in": "body",
              "required": true
            }
          }
        },
        "unsetOptionRegionOverride": {
          "method": "DELETE",
          "path": "/option/regionOverride",
          "scopes": ["homey.system"]
        },
        "getState": {
          "method": "get",
          "path": "/state",
          "private": false,
          "scopes": ["homey.system.readonly"],
          "parameters": {}
        },
        "runCommand": {
          "method": "post",
          "path": "/command",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "command": {
              "in": "body",
              "type": "string",
              "required": true
            },
            "opts": {
              "in": "body",
              "type": "object"
            }
          }
        },
        "getLog": {
          "method": "get",
          "path": "/log",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {}
        },
        "setLogEnabled": {
          "method": "put",
          "path": "/log",
          "private": false,
          "scopes": ["homey.system"],
          "parameters": {
            "enabled": {
              "in": "body",
              "type": "boolean",
              "required": true
            }
          }
        }
      }
    }
  }
}
