{"openapi": "3.1.0", "info": {"title": "UniFi Protect API", "version": "6.1.68"}, "servers": [{"url": "https://{host}/proxy/protect/integration", "description": "Local — console direto na LAN (header X-API-KEY)", "variables": {"host": {"default": "192.168.1.1", "description": "IP/host do console UniFi"}}}, {"url": "https://api.ui.com/v1/connector/consoles/{consoleId}/protect/integration", "description": "Remoto — Cloud Connector via Site Manager (header X-API-Key)", "variables": {"consoleId": {"default": "CONSOLE_ID", "description": "id do console (GET /v1/hosts)"}}}], "paths": {"/v1/meta/info": {"get": {"summary": "Get application information", "description": "Get generic information about the Protect application", "tags": ["Information about application"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"applicationVersion": {"type": "string", "description": "Protect application version", "examples": ["1.0.0"], "title": "protectVersion"}}, "required": ["applicationVersion"]}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/viewers/{id}": {"get": {"summary": "Get viewer details", "description": "Get detailed information about a specific viewer", "tags": ["Viewer information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of viewer", "schema": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch viewer settings", "description": "Patch the settings for a specific viewer", "tags": ["Viewer information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of viewer", "schema": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the model", "title": "name"}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/viewers": {"get": {"summary": "Get all viewers", "description": "Get detailed information about all viewers", "tags": ["Viewer information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/liveviews/{id}": {"get": {"summary": "Get live view details", "description": "Get detailed information about a specific live view", "tags": ["Live view management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of liveview", "schema": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch live view configuration", "description": "Patch the configuration about a specific live view", "tags": ["Live view management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of liveview", "schema": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"allOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}], "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/liveviews": {"get": {"summary": "Get all live views", "description": "Get detailed information about all live views", "tags": ["Live view management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "post": {"summary": "Create live view", "description": "Create a new live view", "tags": ["Live view management"], "requestBody": {"required": true, "content": {"application/json": {"schema": {"allOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}], "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/subscribe/devices": {"get": {"summary": "Get update messages about devices", "description": "A WebSocket subscription which broadcasts all changes happening to Protect-managed hardware devices", "tags": ["WebSocket updates"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"oneOf": [{"type": "object", "properties": {"type": {"type": "string", "const": "add"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey", "name", "doorbellSettings"], "title": "nvr"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "speaker"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "bridge"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "doorlock"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiProcessor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiPort"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "linkStation"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvr", "camera": "#/components/schemas/camera", "chime": "#/components/schemas/chime", "light": "#/components/schemas/light", "viewer": "#/components/schemas/viewer", "speaker": "#/components/schemas/speaker", "bridge": "#/components/schemas/bridge", "doorlock": "#/components/schemas/doorlock", "sensor": "#/components/schemas/sensor", "aiprocessor": "#/components/schemas/aiProcessor", "aiport": "#/components/schemas/aiPort", "linkstation": "#/components/schemas/linkStation"}}, "title": "device"}}, "required": ["type", "item"], "title": "deviceAdd"}, {"type": "object", "properties": {"type": {"type": "string", "const": "update"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey"], "title": "nvrPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey"], "title": "cameraPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey"], "title": "chimePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey"], "title": "lightPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey"], "title": "viewerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "speakerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "bridgePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "doorlockPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey"], "title": "sensorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiProcessorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiPortPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "linkStationPartialWithReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrPartialWithReference", "camera": "#/components/schemas/cameraPartialWithReference", "chime": "#/components/schemas/chimePartialWithReference", "light": "#/components/schemas/lightPartialWithReference", "viewer": "#/components/schemas/viewerPartialWithReference", "speaker": "#/components/schemas/speakerPartialWithReference", "bridge": "#/components/schemas/bridgePartialWithReference", "doorlock": "#/components/schemas/doorlockPartialWithReference", "sensor": "#/components/schemas/sensorPartialWithReference", "aiprocessor": "#/components/schemas/aiProcessorPartialWithReference", "aiport": "#/components/schemas/aiPortPartialWithReference", "linkstation": "#/components/schemas/linkStationPartialWithReference"}}, "title": "devicePartialWithReference"}}, "required": ["type", "item"], "title": "deviceUpdate"}, {"type": "object", "properties": {"type": {"type": "string", "const": "remove"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}}, "required": ["id", "modelKey"], "title": "nvrReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}}, "required": ["id", "modelKey"], "title": "cameraReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}}, "required": ["id", "modelKey"], "title": "chimeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}}, "required": ["id", "modelKey"], "title": "lightReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}}, "required": ["id", "modelKey"], "title": "viewerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}}, "required": ["id", "modelKey"], "title": "speakerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}}, "required": ["id", "modelKey"], "title": "bridgeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}}, "required": ["id", "modelKey"], "title": "doorlockReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}}, "required": ["id", "modelKey"], "title": "sensorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}}, "required": ["id", "modelKey"], "title": "aiProcessorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}}, "required": ["id", "modelKey"], "title": "aiPortReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}}, "required": ["id", "modelKey"], "title": "linkStationReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrReference", "camera": "#/components/schemas/cameraReference", "chime": "#/components/schemas/chimeReference", "light": "#/components/schemas/lightReference", "viewer": "#/components/schemas/viewerReference", "speaker": "#/components/schemas/speakerReference", "bridge": "#/components/schemas/bridgeReference", "doorlock": "#/components/schemas/doorlockReference", "sensor": "#/components/schemas/sensorReference", "aiprocessor": "#/components/schemas/aiProcessorReference", "aiport": "#/components/schemas/aiPortReference", "linkstation": "#/components/schemas/linkStationReference"}}, "title": "deviceReference"}}, "required": ["type", "item"], "title": "deviceRemove"}], "discriminator": {"propertyName": "type", "mapping": {"add": "#/components/schemas/deviceAdd", "update": "#/components/schemas/deviceUpdate", "remove": "#/components/schemas/deviceRemove"}}, "description": "A device which was created, updated or deleted"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/subscribe/events": {"get": {"summary": "Get Protect event messages", "description": "A WebSocket subscription that broadcasts Protect events", "tags": ["WebSocket updates"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"oneOf": [{"type": "object", "properties": {"type": {"type": "string", "const": "add"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}], "discriminator": {"propertyName": "type", "mapping": {"ring": "#/components/schemas/ringEvent", "sensorExtremeValues": "#/components/schemas/sensorExtremeValueEvent", "sensorWaterLeak": "#/components/schemas/sensorWaterLeakEvent", "sensorTamper": "#/components/schemas/sensorTamperEvent", "sensorBatteryLow": "#/components/schemas/sensorBatteryLowEvent", "sensorAlarm": "#/components/schemas/sensorAlarmEvent", "sensorOpened": "#/components/schemas/sensorOpenEvent", "sensorClosed": "#/components/schemas/sensorClosedEvent", "sensorMotion": "#/components/schemas/sensorMotionEvent", "lightMotion": "#/components/schemas/lightMotionEvent", "motion": "#/components/schemas/cameraMotionEvent", "smartAudioDetect": "#/components/schemas/cameraSmartDetectAudioEvent", "smartDetectZone": "#/components/schemas/cameraSmartDetectZoneEvent", "smartDetectLine": "#/components/schemas/cameraSmartDetectLineEvent", "smartDetectLoiterZone": "#/components/schemas/cameraSmartDetectLoiterEvent"}}, "title": "event"}}, "required": ["type", "item"], "title": "eventAdd"}, {"type": "object", "properties": {"type": {"type": "string", "const": "update"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}], "discriminator": {"propertyName": "type", "mapping": {"ring": "#/components/schemas/ringEvent", "sensorExtremeValues": "#/components/schemas/sensorExtremeValueEvent", "sensorWaterLeak": "#/components/schemas/sensorWaterLeakEvent", "sensorTamper": "#/components/schemas/sensorTamperEvent", "sensorBatteryLow": "#/components/schemas/sensorBatteryLowEvent", "sensorAlarm": "#/components/schemas/sensorAlarmEvent", "sensorOpened": "#/components/schemas/sensorOpenEvent", "sensorClosed": "#/components/schemas/sensorClosedEvent", "sensorMotion": "#/components/schemas/sensorMotionEvent", "lightMotion": "#/components/schemas/lightMotionEvent", "motion": "#/components/schemas/cameraMotionEvent", "smartAudioDetect": "#/components/schemas/cameraSmartDetectAudioEvent", "smartDetectZone": "#/components/schemas/cameraSmartDetectZoneEvent", "smartDetectLine": "#/components/schemas/cameraSmartDetectLineEvent", "smartDetectLoiterZone": "#/components/schemas/cameraSmartDetectLoiterEvent"}}, "title": "event"}}, "required": ["type", "item"], "title": "eventUpdate"}], "discriminator": {"propertyName": "type", "mapping": {"add": "#/components/schemas/eventAdd", "update": "#/components/schemas/eventUpdate"}}, "description": "An event that was created or updated"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/ptz/patrol/start/{slot}": {"post": {"summary": "Start a camera PTZ patrol", "description": "Start a camera PTZ patrol", "tags": ["Camera PTZ control & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}, {"in": "path", "name": "slot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "schema": {"type": "string", "title": "activePatrolSlotString", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": ["0", "1", "2", "3", "4"]}, "required": true}], "responses": {"204": {"description": "The camera PTZ patrol was started successfully."}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/ptz/patrol/stop": {"post": {"summary": "Stop active camera PTZ patrol", "description": "Stop active camera PTZ patrol", "tags": ["Camera PTZ control & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "responses": {"204": {"description": "The camera PTZ patrol was stopped successfully."}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/ptz/goto/{slot}": {"post": {"summary": "Move PTZ camera to preset", "description": "Adjust the PTZ camera position to a specified preset", "tags": ["Camera PTZ control & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}, {"in": "path", "name": "slot", "description": "The slot number (0-4) of the preset to move the camera to", "schema": {"type": "string", "description": "The slot number (0-4) of the preset to move the camera to", "examples": ["-1", "0", "2", "8", "9"]}, "required": true}], "responses": {"204": {"description": "The PTZ camera was moved to the given preset successfully."}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/alarm-manager/webhook/{id}": {"post": {"summary": "Send a webhook to the alarm manager", "description": "Send a webhook to the alarm manager to trigger configured alarms", "tags": ["Alarm manager integration"], "parameters": [{"in": "path", "name": "id", "description": "User defined string used to trigger only specific alarms. Alarm should be configured with the same ID to be triggered.", "schema": {"type": "string", "description": "User defined string used to trigger only specific alarms. Alarm should be configured with the same ID to be triggered.", "examples": ["AnyRandomString"], "title": "alarmTriggerId"}, "required": true}], "responses": {"204": {"description": "Webhook was sent to alarm manager successfully"}, "400": {"description": "Bad request response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["'id' is required"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["BAD_REQUEST"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "idRequiredError"}}}}}}}, "/v1/lights/{id}": {"get": {"summary": "Get light details", "description": "Get detailed information about a specific light", "tags": ["Light information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of light", "schema": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch light settings", "description": "Patch the settings for a specific light", "tags": ["Light information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of light", "schema": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the model", "title": "name"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/lights": {"get": {"summary": "Get all lights", "description": "Get detailed information about all lights", "tags": ["Light information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}": {"get": {"summary": "Get camera details", "description": "Get detailed information about a specific camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch camera settings", "description": "Patch the settings for a specific camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the camera"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "additionalProperties": false, "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "additionalProperties": false, "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"description": "Message that's set on the LCD screen (for doorbells and/or other devices with LCD screens). To upload image assets for the LCD screen, use the `/files/{fileType}` endpoint.", "oneOf": [{"type": "object", "properties": {"type": {"type": "string", "const": "DO_NOT_DISTURB"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}}, "required": ["type"], "description": "Show a pre-defined \"do not disturb\" message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "LEAVE_PACKAGE_AT_DOOR"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}}, "required": ["type"], "description": "Show a pre-defined \"leave package at door\" message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "CUSTOM_MESSAGE"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string", "description": "The custom text message to show on the doorbell", "examples": ["Hello world!"]}}, "required": ["type", "text"], "description": "Show a custom text message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "IMAGE"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string", "description": "The ID of the custom image to show on the doorbell", "examples": ["34225b30-fe6a-11af-1690-29424bd911c2.png"]}}, "required": ["type", "text"], "description": "Show a custom image on the doorbell"}], "title": "lcdMessage"}, "micVolume": {"allOf": [{"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}], "minimum": 1}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"allOf": [{"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}], "description": "High Dynamic Range (HDR) mode setting.", "enum": ["auto", "on", "off"], "x-enum-descriptions": ["Recommended, the system automatically adjusts the HDR level.", "Forces HDR to be always enabled as the highest level.", "Disables HDR completely."], "x-enum-varnames": ["auto", "on", "off"]}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "additionalProperties": false, "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras": {"get": {"summary": "Get all cameras", "description": "Get detailed information about all cameras", "tags": ["Camera information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/rtsps-stream": {"post": {"summary": "Create RTSPS streams for camera", "description": "Returns RTSPS stream URLs for specified quality levels", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"qualities": {"type": "array", "items": {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}, "minItems": 1, "description": "Array of quality levels of RTSPS streams", "examples": [["high", "medium"]], "title": "createdQualities"}}, "required": ["qualities"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"high": {"type": "string", "format": "uri"}, "medium": {"type": "string", "format": "uri"}, "low": {"type": "string", "format": "uri"}, "package": {"type": "string", "format": "uri"}}, "additionalProperties": false, "description": "The RTSPS stream URLs for the camera", "examples": [{"high": "rtsps://192.168.1.1:7441/5nPr7RCmueGTKMP7?enableSrtp", "medium": "rtsps://192.168.1.1:7441/AbUgnDb5IqIEMidk?enableSrtp"}], "title": "createdRtspsStreams"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "delete": {"summary": "Delete camera RTSPS stream", "description": "Remove the RTSPS stream for a specified camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}, {"in": "query", "name": "qualities", "description": "The array of quality levels for the RTSPS streams to be removed.", "schema": {"anyOf": [{"type": "array", "items": {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}, "minItems": 1}, {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}], "description": "The array of quality levels for the RTSPS streams to be removed.", "examples": [["high", "medium"]], "title": "removedQualities"}, "required": true}], "responses": {"204": {"description": "RTSPS stream successfully removed"}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "get": {"summary": "Get RTSPS streams for camera", "description": "Returns existing RTSPS stream URLs for camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"high": {"type": ["string", "null"], "format": "uri"}, "medium": {"type": ["string", "null"], "format": "uri"}, "low": {"type": ["string", "null"], "format": "uri"}, "package": {"type": ["string", "null"], "format": "uri"}}, "additionalProperties": false, "description": "The RTSPS stream URLs for the camera", "examples": [{"high": "rtsps://192.168.1.1:7441/5nPr7RCmueGTKMP7?enableSrtp", "medium": "rtsps://192.168.1.1:7441/AbUgnDb5IqIEMidk?enableSrtp", "low": null, "package": null}], "title": "existingRtspsStreams"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/snapshot": {"get": {"summary": "Get camera snapshot", "description": "Get a snapshot image from a specific camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}, {"in": "query", "name": "highQuality", "description": "Whether to force 1080P or higher resolution snapshot", "schema": {"type": "string", "enum": ["true", "false"], "default": "false", "description": "Whether to force 1080P or higher resolution snapshot", "title": "forceHighQuality"}}], "responses": {"200": {"description": "Camera snapshot", "content": {"image/jpeg": {"schema": {"type": "string", "format": "binary"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/disable-mic-permanently": {"post": {"summary": "Permanently disable camera microphone", "description": "Disable the microphone for a specific camera. This action cannot be undone unless the camera is reset.", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/cameras/{id}/talkback-session": {"post": {"summary": "Create talkback session for camera", "description": "Returns the talkback stream URL and audio configuration for a specific camera", "tags": ["Camera information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of camera", "schema": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"url": {"type": "string", "format": "uri", "description": "Talkback stream URL", "examples": ["rtp://192.168.1.123:7004"], "title": "talkbackStreamUrl"}, "codec": {"type": "string", "description": "Audio format to use.", "examples": ["opus"], "title": "talkbackStreamCodec"}, "samplingRate": {"type": "integer", "exclusiveMinimum": 0, "description": "Sampling Rate.", "examples": [24000], "title": "talkbackStreamSamplingRate"}, "bitsPerSample": {"type": "integer", "exclusiveMinimum": 0, "description": "Bits per sample.", "examples": [16], "title": "talkbackStreamBitsPerSample"}}, "required": ["url", "codec", "samplingRate", "bitsPerSample"], "description": "Talkback session information", "examples": [{"url": "rtp://192.168.1.123:7004", "codec": "opus", "samplingRate": 24000, "bitsPerSample": 16}], "title": "talkbackSession"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/sensors/{id}": {"get": {"summary": "Get sensor details", "description": "Get detailed information about a specific sensor", "tags": ["Sensor information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of sensor", "schema": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch sensor settings", "description": "Patch the settings for a specific sensor", "tags": ["Sensor information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of sensor", "schema": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the model", "title": "name"}, "lightSettings": {"allOf": [{"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}], "additionalProperties": false}, "humiditySettings": {"allOf": [{"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}], "additionalProperties": false}, "temperatureSettings": {"allOf": [{"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}], "additionalProperties": false}, "motionSettings": {"allOf": [{"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}], "additionalProperties": false}, "alarmSettings": {"allOf": [{"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}], "additionalProperties": false}}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/sensors": {"get": {"summary": "Get all sensors", "description": "Get detailed information about all sensors", "tags": ["Sensor information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/nvrs": {"get": {"summary": "Get NVR details", "description": "Get detailed information about the NVR", "tags": ["NVR information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey", "name", "doorbellSettings"], "title": "nvr"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/files/{fileType}": {"post": {"summary": "Upload device asset file", "description": "Upload a new device asset file", "tags": ["Device asset file management"], "parameters": [{"in": "path", "name": "fileType", "description": "Device asset file type", "schema": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "required": true}], "requestBody": {"content": {"multipart/form-data": {"schema": {"type": "string", "format": "binary", "description": "A binary file with one of these MIME types: image/gif, image/jpeg, image/png, audio/mpeg, audio/mp4, audio/wave, audio/x-caf}"}}}}, "responses": {"200": {"description": "Processed and persisted device asset", "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "Unique ID for the asset file", "title": "fileName"}, "type": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "originalName": {"type": "string", "description": "Original filename of the uploaded file", "title": "fileOriginalName"}, "path": {"type": "string", "description": "Path to the file on the filesystem", "title": "filePath"}}, "required": ["name", "type", "path"], "title": "fileSchema"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "get": {"summary": "Get device asset files", "description": "Get a list of all device asset files", "tags": ["Device asset file management"], "parameters": [{"in": "path", "name": "fileType", "description": "Device asset file type", "schema": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "required": true}], "responses": {"200": {"description": "Device asset list", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "description": "Unique ID for the asset file", "title": "fileName"}, "type": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "originalName": {"type": "string", "description": "Original filename of the uploaded file", "title": "fileOriginalName"}, "path": {"type": "string", "description": "Path to the file on the filesystem", "title": "filePath"}}, "required": ["name", "type", "path"], "title": "fileSchema"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/chimes/{id}": {"get": {"summary": "Get chime details", "description": "Get detailed information about a specific chime", "tags": ["Chime information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of chime", "schema": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "required": true}], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}, "patch": {"summary": "Patch chime settings", "description": "Patch the settings for a specific chime", "tags": ["Chime information & management"], "parameters": [{"in": "path", "name": "id", "description": "The primary key of chime", "schema": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "required": true}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the chime"}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"allOf": [{"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}], "additionalProperties": false}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}, "/v1/chimes": {"get": {"summary": "Get all chimes", "description": "Get detailed information about all chimes", "tags": ["Chime information & management"], "responses": {"200": {"description": "Success response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}}}}}, "default": {"description": "Error response", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}}}}}}}}, "components": {"schemas": {"protectVersion": {"type": "string", "description": "Protect application version", "examples": ["1.0.0"], "title": "protectVersion"}, "genericError": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["Unexpected API error occurred"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["API_ERROR"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "genericError"}, "viewerId": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "viewer": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}, "viewerModelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "deviceState": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"type": "string", "description": "The name of the model", "title": "name"}, "liveviewId": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}, "liveview": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, "modelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "name": {"type": "string", "description": "The name of this live view."}, "isDefault": {"type": "boolean", "description": "Whether this live view is the default one for all viewers."}, "isGlobal": {"type": "boolean", "description": "Whether this live view is global and available system-wide to all users"}, "owner": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "layout": {"type": "number", "minimum": 1, "maximum": 26, "description": "The number of slots this live view contains. Which as a consequence also affects the layout of the live view."}, "slots": {"type": "array", "items": {"type": "object", "properties": {"cameras": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}}, "cycleMode": {"type": "string", "enum": ["motion", "time"], "description": "Whether to switch to next camera in slot based on motion events or a strict time interval"}, "cycleInterval": {"type": "number", "description": "How long should each camera stream be shown for in seconds until we cycle to the next camera"}}, "required": ["cameras", "cycleMode", "cycleInterval"], "description": "Which cameras will be visible in a given slot and how will they be cycled through"}, "description": "List of cameras visible in each given slot. And cycling settings for each slot if it has multiple cameras listed."}}, "required": ["id", "modelKey", "name", "isDefault", "isGlobal", "owner", "layout", "slots"], "title": "liveview"}, "liveviewModelKey": {"type": "string", "const": "liveview", "description": "The model key of the liveview", "title": "liveviewModelKey"}, "userId": {"type": "string", "description": "The primary key of user", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "userId"}, "cameraId": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "deviceAdd": {"type": "object", "properties": {"type": {"type": "string", "const": "add"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey", "name", "doorbellSettings"], "title": "nvr"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "speaker"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "bridge"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "doorlock"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiProcessor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiPort"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "linkStation"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvr", "camera": "#/components/schemas/camera", "chime": "#/components/schemas/chime", "light": "#/components/schemas/light", "viewer": "#/components/schemas/viewer", "speaker": "#/components/schemas/speaker", "bridge": "#/components/schemas/bridge", "doorlock": "#/components/schemas/doorlock", "sensor": "#/components/schemas/sensor", "aiprocessor": "#/components/schemas/aiProcessor", "aiport": "#/components/schemas/aiPort", "linkstation": "#/components/schemas/linkStation"}}, "title": "device"}}, "required": ["type", "item"], "title": "deviceAdd"}, "device": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey", "name", "doorbellSettings"], "title": "nvr"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey", "state", "name", "liveview", "streamLimit"], "title": "viewer"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "speaker"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "bridge"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "doorlock"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiProcessor"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiPort"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "linkStation"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvr", "camera": "#/components/schemas/camera", "chime": "#/components/schemas/chime", "light": "#/components/schemas/light", "viewer": "#/components/schemas/viewer", "speaker": "#/components/schemas/speaker", "bridge": "#/components/schemas/bridge", "doorlock": "#/components/schemas/doorlock", "sensor": "#/components/schemas/sensor", "aiprocessor": "#/components/schemas/aiProcessor", "aiport": "#/components/schemas/aiPort", "linkstation": "#/components/schemas/linkStation"}}}, "nvr": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey", "name", "doorbellSettings"], "title": "nvr"}, "nvrId": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "nvrModelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}, "camera": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey", "state", "name", "isMicEnabled", "osdSettings", "ledSettings", "lcdMessage", "micVolume", "activePatrolSlot", "videoMode", "hdrType", "featureFlags", "smartDetectSettings"], "title": "camera"}, "cameraModelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "osdIsNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "osdIsDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "osdIsLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "osdIsDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "osdOverlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "ledIsEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}, "lcdMessageUnion": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "cameraFeatureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}, "objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}, "chime": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey", "state", "name", "cameraIds", "ringSettings"], "title": "chime"}, "chimeId": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "chimeModelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "ringSettings": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "light": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey", "state", "name", "lightModeSettings", "lightDeviceSettings", "isDark", "isLightOn", "isLightForceEnabled", "lastMotion", "isPirMotionDetected", "camera"], "title": "light"}, "lightId": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "lightModelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightMode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "speaker": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "speaker"}, "deviceId": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "speakerModelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "bridge": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "bridge"}, "bridgeModelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "doorlock": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "doorlock"}, "doorlockModelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "sensor": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey", "state", "name", "mountType", "batteryStatus", "stats", "lightSettings", "humiditySettings", "temperatureSettings", "isOpened", "openStatusChangedAt", "isMotionDetected", "motionDetectedAt", "motionSettings", "alarmTriggeredAt", "alarmSettings", "leakDetectedAt", "externalLeakDetectedAt", "leakSettings", "tamperingDetectedAt"], "title": "sensor"}, "sensorId": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "sensorModelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "sensorMountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "sensorStats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "sensorValue": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, "sensorStatus": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "sensorIsOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "sensorOpenStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "sensorIsMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "sensorMotionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "sensorAlarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "sensorLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "sensorExternalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}, "aiProcessor": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiProcessor"}, "aiprocessorModelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "aiPort": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "aiPort"}, "aiportModelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "linkStation": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey", "state", "name"], "title": "linkStation"}, "linkstationModelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "deviceUpdate": {"type": "object", "properties": {"type": {"type": "string", "const": "update"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey"], "title": "nvrPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey"], "title": "cameraPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey"], "title": "chimePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey"], "title": "lightPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey"], "title": "viewerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "speakerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "bridgePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "doorlockPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey"], "title": "sensorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiProcessorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiPortPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "linkStationPartialWithReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrPartialWithReference", "camera": "#/components/schemas/cameraPartialWithReference", "chime": "#/components/schemas/chimePartialWithReference", "light": "#/components/schemas/lightPartialWithReference", "viewer": "#/components/schemas/viewerPartialWithReference", "speaker": "#/components/schemas/speakerPartialWithReference", "bridge": "#/components/schemas/bridgePartialWithReference", "doorlock": "#/components/schemas/doorlockPartialWithReference", "sensor": "#/components/schemas/sensorPartialWithReference", "aiprocessor": "#/components/schemas/aiProcessorPartialWithReference", "aiport": "#/components/schemas/aiPortPartialWithReference", "linkstation": "#/components/schemas/linkStationPartialWithReference"}}, "title": "devicePartialWithReference"}}, "required": ["type", "item"], "title": "deviceUpdate"}, "devicePartialWithReference": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey"], "title": "nvrPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey"], "title": "cameraPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey"], "title": "chimePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey"], "title": "lightPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey"], "title": "viewerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "speakerPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "bridgePartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "doorlockPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey"], "title": "sensorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiProcessorPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiPortPartialWithReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "linkStationPartialWithReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrPartialWithReference", "camera": "#/components/schemas/cameraPartialWithReference", "chime": "#/components/schemas/chimePartialWithReference", "light": "#/components/schemas/lightPartialWithReference", "viewer": "#/components/schemas/viewerPartialWithReference", "speaker": "#/components/schemas/speakerPartialWithReference", "bridge": "#/components/schemas/bridgePartialWithReference", "doorlock": "#/components/schemas/doorlockPartialWithReference", "sensor": "#/components/schemas/sensorPartialWithReference", "aiprocessor": "#/components/schemas/aiProcessorPartialWithReference", "aiport": "#/components/schemas/aiPortPartialWithReference", "linkstation": "#/components/schemas/linkStationPartialWithReference"}}}, "nvrPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "doorbellSettings": {"type": "object", "properties": {"defaultMessageText": {"type": "string"}, "defaultMessageResetTimeoutMs": {"type": "number"}, "customMessages": {"type": "array", "items": {"type": "string"}}, "customImages": {"type": "array", "items": {"type": "object", "properties": {"preview": {"type": "string"}, "sprite": {"type": "string"}}, "required": ["preview", "sprite"]}}}, "title": "doorbellSettings"}}, "required": ["id", "modelKey"], "title": "nvrPartialWithReference"}, "cameraPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "isMicEnabled": {"type": "boolean", "description": "Whether or not the microphone on camera is enabled", "title": "isMicEnabled"}, "osdSettings": {"type": "object", "properties": {"isNameEnabled": {"type": "boolean", "description": "Whether to show the name in the OSD.", "title": "osdIsNameEnabled"}, "isDateEnabled": {"type": "boolean", "description": "Whether to show the date in the OSD.", "title": "osdIsDateEnabled"}, "isLogoEnabled": {"type": "boolean", "description": "Whether to show the logo in the bottom right corner.", "title": "osdIsLogoEnabled"}, "isDebugEnabled": {"type": "boolean", "description": "Whether debug info is enabled.", "title": "osdIsDebugEnabled"}, "overlayLocation": {"type": "string", "enum": ["topLeft", "topMiddle", "topRight", "bottomLeft", "bottomMiddle", "bottomRight"], "description": "The location of the overlay on the screen.", "title": "osdOverlayLocation"}}, "required": ["isNameEnabled", "isDateEnabled", "isLogoEnabled", "isDebugEnabled", "overlayLocation"], "description": "On Screen Display settings.", "title": "osdSettings"}, "ledSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Whether the LED is enabled.", "title": "ledIsEnabled"}}, "required": ["isEnabled"], "description": "LED settings.", "title": "ledSettings"}, "lcdMessage": {"type": "object", "properties": {"type": {"type": "string", "enum": ["LEAVE_PACKAGE_AT_DOOR", "DO_NOT_DISTURB", "CUSTOM_MESSAGE", "IMAGE"]}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string"}}, "title": "lcdMessageUnion"}, "micVolume": {"type": "number", "minimum": 0, "maximum": 100, "description": "Mic volume: a number from 0-100.", "title": "micVolume"}, "activePatrolSlot": {"oneOf": [{"type": "number", "title": "activePatrolSlot", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": [0, 1, 2, 3, 4]}, {"type": "null"}]}, "videoMode": {"type": "string", "enum": ["default", "highFps", "sport", "slowShutter", "lprReflex", "lprNoneReflex"], "description": "Current video mode of the camera", "title": "videoMode"}, "hdrType": {"type": "string", "enum": ["auto", "on", "off"], "description": "High Dynamic Range (HDR) mode setting.", "title": "videoMode"}, "featureFlags": {"type": "object", "properties": {"supportFullHdSnapshot": {"type": "boolean", "description": "Whether camera support full HD or higher resolution snapshot"}, "hasHdr": {"type": "boolean", "description": "Whether the camera supports High Dynamic Range mode"}, "smartDetectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "description": "What smart detection object types do the camera support."}, "smartDetectAudioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "description": "What smart detection audio types do the camera support."}, "videoModes": {"type": "array", "items": {"type": "string", "enum": ["default", "highFps", "homekit", "sport", "slowShutter", "lprReflex", "lprNoneReflex"]}, "description": "A list of supported video modes by the camera"}, "hasMic": {"type": "boolean", "description": "Whether the camera has a microphone"}, "hasLedStatus": {"type": "boolean", "description": "Whether the camera has LED status"}, "hasSpeaker": {"type": "boolean", "description": "Whether the camera has a speaker to support talkback"}}, "required": ["supportFullHdSnapshot", "hasHdr", "smartDetectTypes", "smartDetectAudioTypes", "videoModes", "hasMic", "hasLedStatus", "hasSpeaker"], "title": "cameraFeatureFlags"}, "smartDetectSettings": {"type": "object", "properties": {"objectTypes": {"type": "array", "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"]}, "title": "objectTypes"}, "audioTypes": {"type": "array", "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"]}, "title": "objectTypes"}}, "required": ["objectTypes", "audioTypes"], "description": "Smart detection settings for the camera.", "title": "smartDetectSettings"}}, "required": ["id", "modelKey"], "title": "cameraPartialWithReference"}, "chimePartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "cameraIds": {"type": "array", "items": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "description": "The list of (doorbell-only) cameras which this chime is paired to."}, "ringSettings": {"type": "array", "items": {"type": "object", "properties": {"cameraId": {"type": "string", "description": "Which paired (doorbell-only) camera do these settings refer to."}, "repeatTimes": {"type": "number", "minimum": 1, "maximum": 10, "description": "How many times should the ringtone be repeated"}, "ringtoneId": {"type": "string", "description": "The ID of the ringtone that should be played when the (doorbell-only) camera is rung."}, "volume": {"type": "number", "minimum": 0, "maximum": 100, "description": "How loud should the ringtone be played. 0 being silent and 100 the loudest."}}, "required": ["cameraId", "repeatTimes", "ringtoneId", "volume"], "title": "ringSettings"}, "description": "List of custom ringtone settings for (doorbell-only) cameras paired to this chime."}}, "required": ["id", "modelKey"], "title": "chimePartialWithReference"}, "lightPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "lightModeSettings": {"type": "object", "properties": {"mode": {"anyOf": [{"type": "string", "const": "always"}, {"type": "string", "const": "motion"}, {"type": "string", "const": "off"}], "description": "When will floodlight turn on.", "title": "lightMode"}, "enableAt": {"anyOf": [{"type": "string", "const": "fulltime"}, {"type": "string", "const": "dark"}], "description": "At what time is the lighting mode relevant and acted upon (this has no effect when mode is off).", "title": "enableAt"}}, "description": "Settings for when and how your light gets activated", "title": "lightModeSettings"}, "lightDeviceSettings": {"type": "object", "properties": {"isIndicatorEnabled": {"type": "boolean", "description": "Turn on/off floodlight status LED indicator."}, "pirDuration": {"type": "number", "minimum": 0, "description": "How long the light stays on after a motion event in milliseconds."}, "pirSensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "How sensitive is the PIR to motion (0-100)%."}, "ledLevel": {"type": "number", "minimum": 1, "maximum": 6, "description": "Brightness level of the main LED (1-6)."}}, "description": "Hardware settings for light device.", "title": "lightDeviceSettings"}, "isDark": {"type": "boolean", "description": "Whether the light is currently sensing that it's in a dark scene.", "title": "isDark"}, "isLightOn": {"type": "boolean", "description": "Whether the light has its main LED currently enabled.", "title": "isLightOn"}, "isLightForceEnabled": {"type": "boolean", "description": "Whether the light has its main LED currently force-enabled.", "title": "isLightForceEnabled"}, "lastMotion": {"type": ["number", "null"], "description": "Unix timestamp of the last time the PIR motion-detection was triggered.", "title": "lastMotion"}, "isPirMotionDetected": {"type": "boolean", "description": "Whether the light PIR is currently detecting motion", "title": "isPirMotionDetected"}, "camera": {"oneOf": [{"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, {"type": "null"}], "description": "Which camera is configured to be paired to this light."}}, "required": ["id", "modelKey"], "title": "lightPartialWithReference"}, "viewerPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "liveview": {"oneOf": [{"type": "string", "description": "The primary key of liveview", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "liveviewId"}, {"type": "null"}]}, "streamLimit": {"type": "number", "description": "Count of maximum supported parallel live streams.", "title": "streamLimit"}}, "required": ["id", "modelKey"], "title": "viewerPartialWithReference"}, "speakerPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "speakerPartialWithReference"}, "bridgePartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "bridgePartialWithReference"}, "doorlockPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "doorlockPartialWithReference"}, "sensorPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}, "mountType": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}, "batteryStatus": {"type": "object", "properties": {"percentage": {"type": ["number", "null"], "description": "Battery charge level from 0 to 100 (%)."}, "isLow": {"type": "boolean", "description": "Low battery charge level flag."}}, "description": "Battery status.", "title": "batteryStatus"}, "stats": {"type": "object", "properties": {"light": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "humidity": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}, "temperature": {"type": "object", "properties": {"value": {"oneOf": [{"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}, {"type": "null"}]}, "status": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "description": "Ambient light value (Lux)."}}, "description": "Sensor statistics.", "title": "sensorStats"}, "lightSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable ambient light sensor."}, "margin": {"type": "number", "description": "Ambient light threshold detection hysteresis margin (Lux). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 503192, "description": "Ambient light interrupt threshold low level from 1 to 503192 (Lux)."}, "highThreshold": {"type": ["number", "null"], "description": "Ambient light interrupt threshold high level from 1 to 503192 (Lux)."}}, "description": "Ambient light sensor settings.", "title": "lightSettings"}, "humiditySettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable relative humidity sensor."}, "margin": {"type": "number", "description": "Humidity threshold detection hysteresis margin (%). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": 1, "maximum": 99, "description": "Humidity low level threshold from 1 to 99 (%)."}, "highThreshold": {"type": ["number", "null"], "description": "Humidity high level threshold from 1 to 99 (%)."}}, "description": "Relative humidity sensor settings.", "title": "humiditySettings"}, "temperatureSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable temperature sensor."}, "margin": {"type": "number", "description": "Temperature threshold detection hysteresis margin (C). Read-only value decided by sensor implementation."}, "lowThreshold": {"type": ["number", "null"], "minimum": -39, "maximum": 124, "description": "Temperature low level threshold from -39 to 124 (C)."}, "highThreshold": {"type": ["number", "null"], "description": "Temperature high level threshold from -39 to 124 (C)."}}, "description": "Temperature sensor settings.", "title": "temperatureSettings"}, "isOpened": {"type": "boolean", "description": "Whether the door/window/garage is opened.", "title": "sensorIsOpened"}, "openStatusChangedAt": {"type": ["number", "null"], "description": "Unix timestamp when the door/window/garage was last opened or closed, nullable.", "title": "sensorOpenStatusChangedAt"}, "isMotionDetected": {"type": "boolean", "description": "Whether sensor is currently detecting the motion.", "title": "sensorIsMotionDetected"}, "motionDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the last motion was detected.", "title": "sensorMotionDetectedAt"}, "motionSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable motion sensor."}, "sensitivity": {"type": "number", "minimum": 0, "maximum": 100, "description": "Motion sensitivity (0-100)."}}, "description": "Motion sensor settings.", "title": "motionSettings"}, "alarmTriggeredAt": {"type": ["number", "null"], "description": "Unix timestamp when the smoke or carbon monoxide alarm was triggered, nullable.", "title": "sensorAlarmTriggeredAt"}, "alarmSettings": {"type": "object", "properties": {"isEnabled": {"type": "boolean", "description": "Enable smoke and carbon monoxide alarm sensor."}}, "description": "Smoke and carbon monoxide alarm sensor settings.", "title": "alarmSettings"}, "leakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected a water leak, nullable.", "title": "sensorLeakDetectedAt"}, "externalLeakDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected an external water leak, nullable.", "title": "sensorExternalLeakDetectedAt"}, "leakSettings": {"type": "object", "properties": {"isInternalEnabled": {"type": "boolean", "description": "Enable internal water leak detection."}, "isExternalEnabled": {"type": "boolean", "description": "Enable external water leak detection."}}, "description": "Leak sensor settings.", "title": "leakSettings"}, "tamperingDetectedAt": {"type": ["number", "null"], "description": "Unix timestamp when the sensor detected tampering, nullable.", "title": "tamperingDetectedAt"}}, "required": ["id", "modelKey"], "title": "sensorPartialWithReference"}, "aiProcessorPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiProcessorPartialWithReference"}, "aiPortPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "aiPortPartialWithReference"}, "linkStationPartialWithReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}, "state": {"type": "string", "enum": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "description": "Connection state of the device.", "examples": ["CONNECTED", "CONNECTING", "DISCONNECTED"], "title": "deviceState"}, "name": {"oneOf": [{"type": "string", "description": "The name of the model", "title": "name"}, {"type": "null"}]}}, "required": ["id", "modelKey"], "title": "linkStationPartialWithReference"}, "deviceRemove": {"type": "object", "properties": {"type": {"type": "string", "const": "remove"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}}, "required": ["id", "modelKey"], "title": "nvrReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}}, "required": ["id", "modelKey"], "title": "cameraReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}}, "required": ["id", "modelKey"], "title": "chimeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}}, "required": ["id", "modelKey"], "title": "lightReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}}, "required": ["id", "modelKey"], "title": "viewerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}}, "required": ["id", "modelKey"], "title": "speakerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}}, "required": ["id", "modelKey"], "title": "bridgeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}}, "required": ["id", "modelKey"], "title": "doorlockReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}}, "required": ["id", "modelKey"], "title": "sensorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}}, "required": ["id", "modelKey"], "title": "aiProcessorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}}, "required": ["id", "modelKey"], "title": "aiPortReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}}, "required": ["id", "modelKey"], "title": "linkStationReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrReference", "camera": "#/components/schemas/cameraReference", "chime": "#/components/schemas/chimeReference", "light": "#/components/schemas/lightReference", "viewer": "#/components/schemas/viewerReference", "speaker": "#/components/schemas/speakerReference", "bridge": "#/components/schemas/bridgeReference", "doorlock": "#/components/schemas/doorlockReference", "sensor": "#/components/schemas/sensorReference", "aiprocessor": "#/components/schemas/aiProcessorReference", "aiport": "#/components/schemas/aiPortReference", "linkstation": "#/components/schemas/linkStationReference"}}, "title": "deviceReference"}}, "required": ["type", "item"], "title": "deviceRemove"}, "deviceReference": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}}, "required": ["id", "modelKey"], "title": "nvrReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}}, "required": ["id", "modelKey"], "title": "cameraReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}}, "required": ["id", "modelKey"], "title": "chimeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}}, "required": ["id", "modelKey"], "title": "lightReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}}, "required": ["id", "modelKey"], "title": "viewerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}}, "required": ["id", "modelKey"], "title": "speakerReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}}, "required": ["id", "modelKey"], "title": "bridgeReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}}, "required": ["id", "modelKey"], "title": "doorlockReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}}, "required": ["id", "modelKey"], "title": "sensorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}}, "required": ["id", "modelKey"], "title": "aiProcessorReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}}, "required": ["id", "modelKey"], "title": "aiPortReference"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}}, "required": ["id", "modelKey"], "title": "linkStationReference"}], "discriminator": {"propertyName": "modelKey", "mapping": {"nvr": "#/components/schemas/nvrReference", "camera": "#/components/schemas/cameraReference", "chime": "#/components/schemas/chimeReference", "light": "#/components/schemas/lightReference", "viewer": "#/components/schemas/viewerReference", "speaker": "#/components/schemas/speakerReference", "bridge": "#/components/schemas/bridgeReference", "doorlock": "#/components/schemas/doorlockReference", "sensor": "#/components/schemas/sensorReference", "aiprocessor": "#/components/schemas/aiProcessorReference", "aiport": "#/components/schemas/aiPortReference", "linkstation": "#/components/schemas/linkStationReference"}}}, "nvrReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of nvr", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "nvrId"}, "modelKey": {"type": "string", "const": "nvr", "description": "The model key of the nvr", "title": "nvrModelKey"}}, "required": ["id", "modelKey"], "title": "nvrReference"}, "cameraReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of camera", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "cameraId"}, "modelKey": {"type": "string", "const": "camera", "description": "The model key of the camera", "title": "cameraModelKey"}}, "required": ["id", "modelKey"], "title": "cameraReference"}, "chimeReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of chime", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "chimeId"}, "modelKey": {"type": "string", "const": "chime", "description": "The model key of the chime", "title": "chimeModelKey"}}, "required": ["id", "modelKey"], "title": "chimeReference"}, "lightReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of light", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "lightId"}, "modelKey": {"type": "string", "const": "light", "description": "The model key of the light", "title": "lightModelKey"}}, "required": ["id", "modelKey"], "title": "lightReference"}, "viewerReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of viewer", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "viewerId"}, "modelKey": {"type": "string", "const": "viewer", "description": "The model key of the viewer", "title": "viewerModelKey"}}, "required": ["id", "modelKey"], "title": "viewerReference"}, "speakerReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "speaker", "description": "The model key of the speaker", "title": "speakerModelKey"}}, "required": ["id", "modelKey"], "title": "speakerReference"}, "bridgeReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "bridge", "description": "The model key of the bridge", "title": "bridgeModelKey"}}, "required": ["id", "modelKey"], "title": "bridgeReference"}, "doorlockReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "doorlock", "description": "The model key of the doorlock", "title": "doorlockModelKey"}}, "required": ["id", "modelKey"], "title": "doorlockReference"}, "sensorReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of sensor", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "sensorId"}, "modelKey": {"type": "string", "const": "sensor", "description": "The model key of the sensor", "title": "sensorModelKey"}}, "required": ["id", "modelKey"], "title": "sensorReference"}, "aiProcessorReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiprocessor", "description": "The model key of the aiprocessor", "title": "aiprocessorModelKey"}}, "required": ["id", "modelKey"], "title": "aiProcessorReference"}, "aiPortReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "aiport", "description": "The model key of the aiport", "title": "aiportModelKey"}}, "required": ["id", "modelKey"], "title": "aiPortReference"}, "linkStationReference": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "modelKey": {"type": "string", "const": "linkstation", "description": "The model key of the linkstation", "title": "linkstationModelKey"}}, "required": ["id", "modelKey"], "title": "linkStationReference"}, "eventAdd": {"type": "object", "properties": {"type": {"type": "string", "const": "add"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}], "discriminator": {"propertyName": "type", "mapping": {"ring": "#/components/schemas/ringEvent", "sensorExtremeValues": "#/components/schemas/sensorExtremeValueEvent", "sensorWaterLeak": "#/components/schemas/sensorWaterLeakEvent", "sensorTamper": "#/components/schemas/sensorTamperEvent", "sensorBatteryLow": "#/components/schemas/sensorBatteryLowEvent", "sensorAlarm": "#/components/schemas/sensorAlarmEvent", "sensorOpened": "#/components/schemas/sensorOpenEvent", "sensorClosed": "#/components/schemas/sensorClosedEvent", "sensorMotion": "#/components/schemas/sensorMotionEvent", "lightMotion": "#/components/schemas/lightMotionEvent", "motion": "#/components/schemas/cameraMotionEvent", "smartAudioDetect": "#/components/schemas/cameraSmartDetectAudioEvent", "smartDetectZone": "#/components/schemas/cameraSmartDetectZoneEvent", "smartDetectLine": "#/components/schemas/cameraSmartDetectLineEvent", "smartDetectLoiterZone": "#/components/schemas/cameraSmartDetectLoiterEvent"}}, "title": "event"}}, "required": ["type", "item"], "title": "eventAdd"}, "event": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}], "discriminator": {"propertyName": "type", "mapping": {"ring": "#/components/schemas/ringEvent", "sensorExtremeValues": "#/components/schemas/sensorExtremeValueEvent", "sensorWaterLeak": "#/components/schemas/sensorWaterLeakEvent", "sensorTamper": "#/components/schemas/sensorTamperEvent", "sensorBatteryLow": "#/components/schemas/sensorBatteryLowEvent", "sensorAlarm": "#/components/schemas/sensorAlarmEvent", "sensorOpened": "#/components/schemas/sensorOpenEvent", "sensorClosed": "#/components/schemas/sensorClosedEvent", "sensorMotion": "#/components/schemas/sensorMotionEvent", "lightMotion": "#/components/schemas/lightMotionEvent", "motion": "#/components/schemas/cameraMotionEvent", "smartAudioDetect": "#/components/schemas/cameraSmartDetectAudioEvent", "smartDetectZone": "#/components/schemas/cameraSmartDetectZoneEvent", "smartDetectLine": "#/components/schemas/cameraSmartDetectLineEvent", "smartDetectLoiterZone": "#/components/schemas/cameraSmartDetectLoiterEvent"}}}, "ringEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, "eventId": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "eventModelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "sensorExtremeValueEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, "sensorWaterLeakEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, "sensorTamperEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, "sensorBatteryLowEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, "sensorAlarmEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, "sensorOpenEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, "sensorClosedEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, "sensorMotionEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, "lightMotionEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, "cameraMotionEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, "cameraSmartDetectAudioEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, "cameraSmartDetectZoneEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, "cameraSmartDetectLineEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, "cameraSmartDetectLoiterEvent": {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}, "eventUpdate": {"type": "object", "properties": {"type": {"type": "string", "const": "update"}, "item": {"oneOf": [{"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "ring"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "A device ring button has been pressed", "title": "ringEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorExtremeValues"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["temperature", "light", "humidity"]}}, "required": ["text"], "description": "Name of the metric measured by the sensor", "examples": [{"text": "temperature"}]}, "sensorValue": {"type": "object", "properties": {"text": {"type": "number", "description": "Decimal value of the metric measured by the sensor", "title": "sensorValue"}}, "required": ["text"]}, "status": {"type": "object", "properties": {"text": {"type": "string", "enum": ["neutral", "low", "safe", "high", "unknown"], "description": "What range does the measured metric fall into", "title": "sensorStatus", "examples": ["high"]}}, "required": ["text"]}}, "required": ["sensorType", "sensorValue", "status"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "The value of a metric measured by a sensor has gone in or out of range", "title": "sensorExtremeValueEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorWaterLeak"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Water leak in the given mount point has started or ended", "title": "sensorWaterLeakEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorTamper"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished being tampered with", "title": "sensorTamperEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorBatteryLow"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorBatteryPercentage": {"type": "object", "properties": {"number": {"type": "number"}}, "required": ["number"], "description": "Decimal value of the available sensor battery percentage", "examples": [{"number": 95}]}}, "required": ["sensorBatteryPercentage"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor battery level is getting low", "title": "sensorBatteryLowEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorAlarm"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"alarmType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["smoke", "CO"]}}, "required": ["text"], "description": "A type of sensor alarm", "examples": [{"text": "CO"}]}}, "required": ["alarmType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor has started or finished enduring an alarming state", "title": "sensorAlarmEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorOpened"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered an open state", "title": "sensorOpenEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorClosed"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "metadata": {"type": "object", "properties": {"sensorMountType": {"type": "object", "properties": {"text": {"type": "string", "enum": ["door", "window", "garage", "leak", "none"], "description": "Mounting type of the sensor.", "examples": ["garage"], "title": "sensorMountType"}}, "required": ["text"]}}, "required": ["sensorMountType"]}}, "required": ["id", "modelKey", "type", "start", "device", "metadata"], "description": "Sensor in a given mount type has entered a closed state", "title": "sensorClosedEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "sensorMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Sensor has started or finished detecting motion", "title": "sensorMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "lightMotion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Floodlight has encountered motion", "title": "lightMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "motion"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}}, "required": ["id", "modelKey", "type", "start", "device"], "description": "Camera has started or finished detecting motion", "title": "cameraMotionEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartAudioDetect"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["alrmSmoke", "alrmCmonx", "alrmSiren", "alrmBabyCry", "alrmSpeak", "alrmBark", "alrmBurglar", "alrmCarHorn", "alrmGlassBreak"], "description": "A type of smart detection based on the audio feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart audio-based detection", "title": "cameraSmartDetectAudioEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based zone detection", "title": "cameraSmartDetectZoneEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLine"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based line detection", "title": "cameraSmartDetectLineEvent"}, {"type": "object", "properties": {"id": {"type": "string", "description": "The primary key of event", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "eventId"}, "modelKey": {"type": "string", "const": "event", "description": "The model key of the event", "title": "eventModelKey"}, "type": {"type": "string", "const": "smartDetectLoiterZone"}, "start": {"type": "number", "exclusiveMinimum": 0, "description": "Unix timestamp of the start time of the event.", "examples": [1445408038748, 1741267544209]}, "end": {"type": ["number", "null"], "description": "Unix timestamp of the end time of the event.", "examples": [1445408048748, 1741267554209]}, "device": {"type": "string", "description": "The primary key of device", "examples": ["66d025b301ebc903e80003ea", "672094f900e26303e800062a"], "title": "deviceId"}, "smartDetectTypes": {"type": ["array", "null"], "items": {"type": "string", "enum": ["person", "vehicle", "package", "licensePlate", "face", "animal"], "description": "A type of smart detection based on the video feed"}}}, "required": ["id", "modelKey", "type", "start", "device", "smartDetectTypes"], "description": "Camera has started or finished a smart video-based loiter detection", "title": "cameraSmartDetectLoiterEvent"}], "discriminator": {"propertyName": "type", "mapping": {"ring": "#/components/schemas/ringEvent", "sensorExtremeValues": "#/components/schemas/sensorExtremeValueEvent", "sensorWaterLeak": "#/components/schemas/sensorWaterLeakEvent", "sensorTamper": "#/components/schemas/sensorTamperEvent", "sensorBatteryLow": "#/components/schemas/sensorBatteryLowEvent", "sensorAlarm": "#/components/schemas/sensorAlarmEvent", "sensorOpened": "#/components/schemas/sensorOpenEvent", "sensorClosed": "#/components/schemas/sensorClosedEvent", "sensorMotion": "#/components/schemas/sensorMotionEvent", "lightMotion": "#/components/schemas/lightMotionEvent", "motion": "#/components/schemas/cameraMotionEvent", "smartAudioDetect": "#/components/schemas/cameraSmartDetectAudioEvent", "smartDetectZone": "#/components/schemas/cameraSmartDetectZoneEvent", "smartDetectLine": "#/components/schemas/cameraSmartDetectLineEvent", "smartDetectLoiterZone": "#/components/schemas/cameraSmartDetectLoiterEvent"}}, "title": "event"}}, "required": ["type", "item"], "title": "eventUpdate"}, "activePatrolSlotString": {"type": "string", "title": "activePatrolSlotString", "description": "The slot number (0-4) of the patrol that is currently running, or null if no patrol is running", "examples": ["0", "1", "2", "3", "4"]}, "alarmTriggerId": {"type": "string", "description": "User defined string used to trigger only specific alarms. Alarm should be configured with the same ID to be triggered.", "examples": ["AnyRandomString"], "title": "alarmTriggerId"}, "idRequiredError": {"type": "object", "properties": {"error": {"type": "string", "description": "Error message", "examples": ["'id' is required"]}, "name": {"type": "string", "description": "Name of the error", "examples": ["BAD_REQUEST"]}, "cause": {"type": "object", "additionalProperties": {}, "description": "An optional nested cause for the parent error", "examples": [{"error": "Unexpected functionality error", "name": "UNKNOWN_ERROR"}]}}, "required": ["error", "name"], "title": "idRequiredError"}, "lcdMessage": {"oneOf": [{"type": "object", "properties": {"type": {"type": "string", "const": "DO_NOT_DISTURB"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}}, "required": ["type"], "description": "Show a pre-defined \"do not disturb\" message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "LEAVE_PACKAGE_AT_DOOR"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}}, "required": ["type"], "description": "Show a pre-defined \"leave package at door\" message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "CUSTOM_MESSAGE"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string", "description": "The custom text message to show on the doorbell", "examples": ["Hello world!"]}}, "required": ["type", "text"], "description": "Show a custom text message on the doorbell"}, {"type": "object", "properties": {"type": {"type": "string", "const": "IMAGE"}, "resetAt": {"type": ["number", "null"], "description": "UNIX timestamp when doorbell message should be removed (if not set then `nvr.doorbellSettings.defaultMessageResetTimeoutMs` is used, if set to `null` then interpreted as \"forever\")"}, "text": {"type": "string", "description": "The ID of the custom image to show on the doorbell", "examples": ["34225b30-fe6a-11af-1690-29424bd911c2.png"]}}, "required": ["type", "text"], "description": "Show a custom image on the doorbell"}], "title": "lcdMessage"}, "createdQualities": {"type": "array", "items": {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}, "minItems": 1, "description": "Array of quality levels of RTSPS streams", "examples": [["high", "medium"]], "title": "createdQualities"}, "channelQuality": {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}, "createdRtspsStreams": {"type": "object", "properties": {"high": {"type": "string", "format": "uri"}, "medium": {"type": "string", "format": "uri"}, "low": {"type": "string", "format": "uri"}, "package": {"type": "string", "format": "uri"}}, "additionalProperties": false, "description": "The RTSPS stream URLs for the camera", "examples": [{"high": "rtsps://192.168.1.1:7441/5nPr7RCmueGTKMP7?enableSrtp", "medium": "rtsps://192.168.1.1:7441/AbUgnDb5IqIEMidk?enableSrtp"}], "title": "createdRtspsStreams"}, "removedQualities": {"anyOf": [{"type": "array", "items": {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}, "minItems": 1}, {"type": "string", "enum": ["high", "medium", "low", "package"], "title": "channelQuality"}], "description": "The array of quality levels for the RTSPS streams to be removed.", "examples": [["high", "medium"]], "title": "removedQualities"}, "existingRtspsStreams": {"type": "object", "properties": {"high": {"type": ["string", "null"], "format": "uri"}, "medium": {"type": ["string", "null"], "format": "uri"}, "low": {"type": ["string", "null"], "format": "uri"}, "package": {"type": ["string", "null"], "format": "uri"}}, "additionalProperties": false, "description": "The RTSPS stream URLs for the camera", "examples": [{"high": "rtsps://192.168.1.1:7441/5nPr7RCmueGTKMP7?enableSrtp", "medium": "rtsps://192.168.1.1:7441/AbUgnDb5IqIEMidk?enableSrtp", "low": null, "package": null}], "title": "existingRtspsStreams"}, "forceHighQuality": {"type": "string", "enum": ["true", "false"], "default": "false", "description": "Whether to force 1080P or higher resolution snapshot", "title": "forceHighQuality"}, "talkbackSession": {"type": "object", "properties": {"url": {"type": "string", "format": "uri", "description": "Talkback stream URL", "examples": ["rtp://192.168.1.123:7004"], "title": "talkbackStreamUrl"}, "codec": {"type": "string", "description": "Audio format to use.", "examples": ["opus"], "title": "talkbackStreamCodec"}, "samplingRate": {"type": "integer", "exclusiveMinimum": 0, "description": "Sampling Rate.", "examples": [24000], "title": "talkbackStreamSamplingRate"}, "bitsPerSample": {"type": "integer", "exclusiveMinimum": 0, "description": "Bits per sample.", "examples": [16], "title": "talkbackStreamBitsPerSample"}}, "required": ["url", "codec", "samplingRate", "bitsPerSample"], "description": "Talkback session information", "examples": [{"url": "rtp://192.168.1.123:7004", "codec": "opus", "samplingRate": 24000, "bitsPerSample": 16}], "title": "talkbackSession"}, "talkbackStreamUrl": {"type": "string", "format": "uri", "description": "Talkback stream URL", "examples": ["rtp://192.168.1.123:7004"], "title": "talkbackStreamUrl"}, "talkbackStreamCodec": {"type": "string", "description": "Audio format to use.", "examples": ["opus"], "title": "talkbackStreamCodec"}, "talkbackStreamSamplingRate": {"type": "integer", "exclusiveMinimum": 0, "description": "Sampling Rate.", "examples": [24000], "title": "talkbackStreamSamplingRate"}, "talkbackStreamBitsPerSample": {"type": "integer", "exclusiveMinimum": 0, "description": "Bits per sample.", "examples": [16], "title": "talkbackStreamBitsPerSample"}, "assetFileType": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "fileSchema": {"type": "object", "properties": {"name": {"type": "string", "description": "Unique ID for the asset file", "title": "fileName"}, "type": {"type": "string", "enum": ["animations"], "description": "Device asset file type", "title": "assetFileType"}, "originalName": {"type": "string", "description": "Original filename of the uploaded file", "title": "fileOriginalName"}, "path": {"type": "string", "description": "Path to the file on the filesystem", "title": "filePath"}}, "required": ["name", "type", "path"], "title": "fileSchema"}, "fileName": {"type": "string", "description": "Unique ID for the asset file", "title": "fileName"}, "fileOriginalName": {"type": "string", "description": "Original filename of the uploaded file", "title": "fileOriginalName"}, "filePath": {"type": "string", "description": "Path to the file on the filesystem", "title": "filePath"}}}}