{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/main/json-schema/eagle-eye-networks-event-schema.json", "title": "Event", "description": "List of all public events.", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/eagle-eye-networks-events-openapi.yml#/components/schemas/Event", "oneOf": [ { "$ref": "#/$defs/DeviceCloudStatusUpdateEvent" }, { "$ref": "#/$defs/MotionDetectionEvent" }, { "$ref": "#/$defs/MotionInRegionDetectionEvent" }, { "$ref": "#/$defs/LprPlateReadEvent" }, { "$ref": "#/$defs/FleetCodeRecognitionEvent" }, { "$ref": "#/$defs/TamperDetectionEvent" }, { "$ref": "#/$defs/LoiterDetectionEvent" }, { "$ref": "#/$defs/ObjectLineCrossEvent" }, { "$ref": "#/$defs/ObjectLineCrossCountEvent" }, { "$ref": "#/$defs/ObjectIntrusionEvent" }, { "$ref": "#/$defs/PoSTransactionEvent" }, { "$ref": "#/$defs/ViolenceDetectionEvent" }, { "$ref": "#/$defs/DoorStatusEvent" }, { "$ref": "#/$defs/BatteryLevelUpdateEvent" }, { "$ref": "#/$defs/MeasurementThresholdStatusEvent" }, { "$ref": "#/$defs/PersonMotionDetectionEvent" }, { "$ref": "#/$defs/PersonDetectionEvent" }, { "$ref": "#/$defs/FaceDetectionEvent" }, { "$ref": "#/$defs/PPEViolationEvent" }, { "$ref": "#/$defs/VehicleMotionDetectionEvent" }, { "$ref": "#/$defs/VehicleDetectionEvent" }, { "$ref": "#/$defs/SceneLabelEvent" }, { "$ref": "#/$defs/EEVAQueryEvent" }, { "$ref": "#/$defs/WeaponDetectionEvent" }, { "$ref": "#/$defs/GunDetectionEvent" }, { "$ref": "#/$defs/EenGunShotAudioDetectionEvent" }, { "$ref": "#/$defs/EenT3AlarmAudioDetectionEvent" }, { "$ref": "#/$defs/EenT4AlarmAudioDetectionEvent" }, { "$ref": "#/$defs/LayoutCreationEvent" }, { "$ref": "#/$defs/LayoutUpdateEvent" }, { "$ref": "#/$defs/LayoutDeletionEvent" }, { "$ref": "#/$defs/DeviceCreationEvent" }, { "$ref": "#/$defs/DeviceUpdateEvent" }, { "$ref": "#/$defs/DeviceDeletionEvent" }, { "$ref": "#/$defs/UserCreationEvent" }, { "$ref": "#/$defs/UserUpdateEvent" }, { "$ref": "#/$defs/UserDeletionEvent" }, { "$ref": "#/$defs/AccountCreationEvent" }, { "$ref": "#/$defs/AccountUpdateEvent" }, { "$ref": "#/$defs/AccountDeletionEvent" }, { "$ref": "#/$defs/PtzPositionUpdateEvent" }, { "$ref": "#/$defs/JobCreationEvent" }, { "$ref": "#/$defs/JobUpdateEvent" }, { "$ref": "#/$defs/JobDeletionEvent" }, { "$ref": "#/$defs/ObjectRemovalEvent" }, { "$ref": "#/$defs/PersonTailgateEvent" }, { "$ref": "#/$defs/FallDetectionEvent" }, { "$ref": "#/$defs/FightDetectionEvent" }, { "$ref": "#/$defs/ThermalCameraThresholdStatusEvent" }, { "$ref": "#/$defs/DeviceIOEvent" }, { "$ref": "#/$defs/HandsUpDetectionEvent" }, { "$ref": "#/$defs/EvacuateProtocolEvent" }, { "$ref": "#/$defs/HoldProtocolEvent" }, { "$ref": "#/$defs/LockdownProtocolEvent" }, { "$ref": "#/$defs/SecureProtocolEvent" }, { "$ref": "#/$defs/ShelterProtocolEvent" }, { "$ref": "#/$defs/VapeDetectionEvent" }, { "$ref": "#/$defs/PanicButtonEvent" }, { "$ref": "#/$defs/AnimalDetectionEvent" }, { "$ref": "#/$defs/SpillDetectionEvent" }, { "$ref": "#/$defs/CrowdFormationDetectionEvent" }, { "$ref": "#/$defs/FireDetectionEvent" }, { "$ref": "#/$defs/AccessActivationEvent" }, { "$ref": "#/$defs/VisitorRegistrationEvent" }, { "$ref": "#/$defs/PurgeEvent" }, { "$ref": "#/$defs/DataPurgedEvent" }, { "$ref": "#/$defs/EdgeReportedDeviceStatusEvent" }, { "$ref": "#/$defs/DeviceCloudConnectionStatusUpdateEvent" } ], "$defs": { "AccessActivationEvent": { "description": "Generated when an access activation is made at an access control point (door, gate, reader, etc.). This event uses a device-centric approach where the access control point is the actor. The event includes separate data schemas for user access decision and credential information, allowing independent tracking of user activity and credential usage.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.accessActivationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenUserAccessActivationV1" }, { "$ref": "#/$defs/EenCredentialAccessActivationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "AccountCreationEvent": { "description": "Generated when an account is created.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.accountCreationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "AccountDeletionEvent": { "description": "Generated when an account is deleted.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.accountDeletionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "AccountUpdateEvent": { "description": "Generated when an account is updated.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.accountUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "AnimalDetectionEvent": { "description": "Generated when there is an animal in motion in front of the camera. The event represents the span of time for which the animal was in motion, and a null `endTimestamp` indicates that the animal's motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.animalDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenAnimalAttributesV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "AreaV1": { "type": "array", "description": "List of 3 or more coordinates representing the area. The first and last coordinate should be connected by the client to complete the area. For each two-value coordinate, the first value represents the horizontal position (from left) as a percentage of the image width, and the second value represents the vertical position (from top) as a percentage of the total image height.\n", "minItems": 3, "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "number", "minimum": 0, "maximum": 1 } } }, "BaseDataObject": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Specific data schema type, eg `een.lprDetection.v1` which describes what other fields will exist in this object.\n" }, "creatorId": { "type": "string", "description": "Id of the application or system that created this piece of information, generally the same as the `creatorId` of the event itself. This field allows clients to disambiguate data from multiple sources in the same event." } } }, "BatteryLevelUpdateEvent": { "description": "Generated when there is an update in the level of a device's battery.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.batteryLevelUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenBatteryLevelUpdateV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "BoundingBoxV1": { "type": "array", "description": "Array of 4 floats describing a bounding box around the object of interest. Note that the percentage defined below\nis as a decimal value between 0 and 1. This means 55% would have to be provided as 0.55.\n* First - top left corner horizontal position (from left) as a percentage of the image width.\n* Second - top left corner vertical position (from top) as a percentage of the total image height.\n* Third - bottom right corner horizontal position (from left) as a percentage of the image width.\n* Fourth - bottom right corner vertical position (from top) as a percentage of the image height.", "minItems": 4, "maxItems": 4, "items": { "type": "number", "format": "double", "minimum": 0, "maximum": 1 } }, "ColorDefinitions": { "type": "string", "description": "Standard color enumerations used across all object classes (person, vehicle, etc.).", "enum": [ "beige", "black", "blue", "brown", "burgundy", "gold-beige", "green", "gray", "silver", "silver-gray", "maroon", "orange", "pink", "purple", "red", "teal", "white", "yellow" ] }, "CrowdFormationDetectionEvent": { "description": "Detects the formation of a crowd of people.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.crowdFormationDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "DataPurgedEvent": { "description": "Generated for each portion of recorded data that is deleted during a purge operation. The event's `startTimestamp` and `endTimestamp` represent the time range of the recorded data that was deleted. Contains details about how many bytes were freed.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.dataPurgedEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenPurgedDataDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "DeviceCloudConnectionStatus": { "description": "Indicates the connection status of the device. The statuses defined here should be in sync with the DeviceStatus schema.\n * `online`: The device is online and operational.\n * `deviceOffline`: The device is offline.\n * `bridgeOffline`: The bridge that connects to the device itself has no connection with the cloud. \n * `off`: The device is online, but has been turned off by the user.\n * `error`: The device is offline due to some problem that has not been described by any of the other statuses.\n * `unknown`: The device state is unknown for some reason.\n * `invalidCredentials`: Credentials for this device are not valid.\n", "type": "string", "enum": [ "online", "deviceOffline", "bridgeOffline", "off", "error", "unknown", "invalidCredentials" ] }, "DeviceCloudConnectionStatusUpdateEvent": { "description": "Generated when a device's connection status to the cloud changes. The event represents the span of time the device stays in the given state, and a null `endTimestamp` indicates it was still in the given state when the event was retrieved.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudConnectionStatusUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDeviceCloudConnectionStatusUpdateV1" }, { "$ref": "#/$defs/EenDeviceCloudConnectionPreviousStatusV1" } ] } } } } ] }, "DeviceCloudStatusUpdateEvent": { "description": "Generated when a device's status changes. The event represents the span of time the device stays in the given state, and a null `endTimestamp` indicates it was still in the given state when the event was retrieved.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudStatusUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDeviceCloudStatusUpdateV1" }, { "$ref": "#/$defs/EenDeviceCloudPreviousStatusV1" } ] } } } } ] }, "DeviceCommonStatus": { "description": "Indicates the operational status of the device. The statuses defined here should be in sync with the DeviceStatus schema.\n * `operational`: The device is online and operational.\n * `error`: Device not working (requires error details).\n * `disabled`: Operational but intentionally not recording telemetry\n * `unreachable`: The device is not reachable (e.g., offline, out of service).\n * `unknown`: The device state is unknown for some reason.\n * `initializing`: The device is in the process of initializing.\n", "type": "string", "enum": [ "operational", "error", "disabled", "unreachable", "unknown", "initializing" ] }, "DeviceCreationEvent": { "description": "Generated when a device is added.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceCreationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "DeviceDeletionEvent": { "description": "Generated when a device is deleted.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceDeletionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "DeviceErrorStatus": { "description": "Indicates the detailed error status of a device, grouped by device type:\nONVIF Camera / RTSP Camera / Multicamera:\n * `generalDeviceError`: Camera error\n * `networkError`: Network error\n * `invalidCredentials`: Invalid credentials\n * `deviceSupportIssue`: Device support issue\n * `queuedForConfiguration`: Queued for configuration\n * `configurationInProgress`: Configuration in progress\n * `deviceDisabled`: Device is turned off\n * `disconnectedFromBridge`: Disconnected from bridge\n\nAnalog Camera:\n * `analogNoPower`: Power loss detected\n * `analogBadSignal`: Signal quality issue\n * `analogIncompatibleSignal`: Incompatible signal\n * `analogNoSignal`: No signal\n * `disconnectedFromBridge`: Disconnected from bridge\n * `deviceDisabled`: Device is turned off\n\nManaged Switch:\n * `deviceSupportIssue`: Switch support issue\n * `disconnectedFromBridge`: Disconnected from bridge\n", "x-een-device-type-error-status-mapping": { "onvifCamera": [ "generalDeviceError", "networkError", "invalidCredentials", "deviceSupportIssue", "queuedForConfiguration", "configurationInProgress", "deviceDisabled", "disconnectedFromBridge" ], "rtspCamera": [ "generalDeviceError", "networkError", "invalidCredentials", "deviceSupportIssue", "queuedForConfiguration", "configurationInProgress", "deviceDisabled", "disconnectedFromBridge" ], "analogCamera": [ "analogNoPower", "analogBadSignal", "analogIncompatibleSignal", "analogNoSignal", "disconnectedFromBridge", "deviceDisabled" ], "multiCamera": [ "generalDeviceError", "networkError", "invalidCredentials", "deviceSupportIssue", "queuedForConfiguration", "configurationInProgress", "deviceDisabled", "disconnectedFromBridge" ], "managedSwitch": [ "deviceSupportIssue", "disconnectedFromBridge" ] }, "type": "string", "enum": [ "disconnectedFromBridge", "generalDeviceError", "networkError", "invalidCredentials", "deviceSupportIssue", "queuedForConfiguration", "configurationInProgress", "deviceDisabled", "analogNoPower", "analogBadSignal", "analogIncompatibleSignal", "analogNoSignal" ] }, "DeviceIOEvent": { "description": "Generated when there is a change in device I/O state, starting when the state becomes 'active' and ending when it transitions to 'idle'.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceIOEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenDeviceIOV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "DeviceUpdateEvent": { "description": "Generated when a device is updated.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.deviceUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "DoorStatusEvent": { "description": "Generated when a door is opened or closed.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.doorStatusEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenMeasurementStringValueUpdateV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "EEVAQueryEvent": { "description": "This event is generated when a user defined query is run on the image and the answer to the query by vlm matches with the condition set by the user.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.eevaQueryEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCustomLabelsV1" }, { "$ref": "#/$defs/EenEEVAAttributesV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" } ] } } } } ] }, "EdgeReportedDeviceStatusEvent": { "description": "Generated when a device's status changes. The event represents the span of time the device stays in the given state, and a null `endTimestamp` indicates it was still in the given state when the event was retrieved.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.edgeReportedDeviceStatusEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDeviceCommonStatusUpdateV1" }, { "$ref": "#/$defs/EenDeviceErrorStatusUpdateV1" } ] } } } } ] }, "EenAnimalAttributesV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Attributes related to an animal detected in an event image", "required": [ "type", "objectId" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.animalAttributes.v1'", "enum": [ "een.animalAttributes.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "Optional timestamp of the frame for which the attributes were inferred." }, "stationary": { "type": "boolean", "description": "Information regarding whether the animal is moving or not", "x-filterable": true }, "stationaryConfidence": { "type": "number", "description": "The confidence on the value of `stationary` key", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true } } } ] }, "EenAudioDetectionV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the audio detection event.", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "een.audioDetection.v1" ] }, "class": { "description": "Specifies the type of audio event detected.", "type": "string" }, "classConfidence": { "description": "Indicates the confidence level of the detected audio class.", "type": "number", "format": "float", "minimum": 0, "maximum": 1 }, "direction": { "description": "Indicates the direction from which the audio originates, expressed as an angle in degrees.", "type": "number" }, "loudness": { "description": "Indicates the loudness level of the detected sound, measured in decibels (dB).", "type": "number" } } } ] }, "EenBatteryLevelUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the devices battery level updates.", "required": [ "type", "status" ], "properties": { "type": { "type": "string", "enum": [ "een.batteryLevelUpdate.v1" ] }, "status": { "description": "Indicates the change in level of the battery.", "type": "string", "enum": [ "low", "normal" ], "x-filterable": true } } } ] }, "EenCreatorDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the source of the events. Generally this should mainly be used for \"subjective\" events where different applications, hardware models and even versions might generate different results, making it useful to be able to differentiate between them.\n", "required": [ "type", "id", "vendor" ], "properties": { "type": { "type": "string", "enum": [ "een.creatorDetails.v1" ] }, "id": { "type": "string", "description": "CreatorId this gives the details for." }, "vendor": { "type": "string", "description": "The organisation that is responsible for the application that generated the event." }, "application": { "type": "string", "description": "The name of the application. Does not need to be supplied for device generated events unless it is generated by an an installable app on the device such.\n" }, "hardwareModel": { "type": "string", "description": "Model name if generated by software running on a device such as a camera." }, "version": { "type": "string", "description": "The version of the application. Can be unique build version, but less fine-grained is also ok if there is no impact on event generation between builds.\n" }, "needsValidation": { "type": "boolean", "description": "Indicates that confidence of the application or its integrators isn't high enough to use the event without further verification.\n", "default": false } } } ] }, "EenCredentialAccessActivationV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Records information about the credential used in an access attempt at an access control point. This data schema tracks which credential was presented and its status (enabled/disabled).\n", "required": [ "type", "credentialId" ], "properties": { "type": { "type": "string", "enum": [ "een.credentialAccessActivation.v1" ] }, "credentialId": { "type": "string", "description": "The unique identifier of the credential presented for access. This is typically an ID from the access control system (e.g., Brivo credential ID for a badge or key card).\n" }, "disabled": { "type": "boolean", "description": "Indicates whether the credential was disabled at the time of the access attempt. If true, the credential has been deactivated and should not grant access.\n", "default": false } } } ] }, "EenCroppedFrameImageUrlV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the cropped frame image url related to the event.", "required": [ "type", "httpsUrl", "timestamp", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.croppedFrameImageUrl.v1" ] }, "httpsUrl": { "type": "string", "format": "url", "description": "Link to obtain the frame crop image of the area of interest related to this event. For example in case of LPR, it is beneficial for end user to obtain the crop of the license plate." }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp of the frame from which the crop was made." } } } ] }, "EenCustomLabelsV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the custom label created by the user.", "required": [ "type", "label" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.customLabels.v1'", "enum": [ "een.customLabels.v1" ] }, "label": { "type": "string", "maxLength": 25, "description": "Label assigned by the user." } } } ] }, "EenDeviceCloudConnectionPreviousStatusV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the previous status.", "required": [ "type", "cloudConnectionStatus", "startTimestamp", "duration" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudConnectionPreviousStatus.v1" ] }, "cloudConnectionStatus": { "description": "Indicates various aspects of the device's connection status from the viewpoint of the cloud.", "type": "object", "required": [ "connectionStatus" ], "properties": { "connectionStatus": { "$ref": "#/$defs/deviceCloudConnectionStatusV2" } } }, "startTimestamp": { "type": "string", "format": "date-time", "description": "The timestamp when the device entered this status.\n" }, "duration": { "type": "integer", "format": "int64", "description": "Duration in milliseconds that the device remained in this status." } } } ] }, "EenDeviceCloudConnectionStatusUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the status update.", "required": [ "type", "cloudConnectionStatus" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudConnectionStatusUpdate.v1" ] }, "cloudConnectionStatus": { "description": "Indicates various aspects of the device's connection status from the viewpoint of the cloud.", "type": "object", "required": [ "connectionStatus" ], "properties": { "connectionStatus": { "$ref": "#/$defs/deviceCloudConnectionStatusV2" } } } } } ] }, "EenDeviceCloudPreviousStatusV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the previous status.", "required": [ "type", "connectionStatus", "startTimestamp", "duration" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudPreviousStatus.v1" ] }, "connectionStatus": { "$ref": "#/$defs/DeviceCloudConnectionStatus" }, "startTimestamp": { "type": "string", "format": "date-time", "description": "The timestamp when the device entered this status.\n" }, "duration": { "type": "integer", "format": "int64", "description": "Duration in milliseconds that the device remained in this status." } } } ] }, "EenDeviceCloudStatusUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the status update.", "required": [ "type", "newStatus" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceCloudStatusUpdate.v1" ] }, "newStatus": { "description": "Indicates various aspects of the device's status from the viewpoint of the cloud.", "type": "object", "required": [ "connectionStatus" ], "properties": { "connectionStatus": { "allOf": [ { "$ref": "#/$defs/DeviceCloudConnectionStatus" }, { "type": "string", "x-filterable": true } ] } } } } } ] }, "EenDeviceCommonStatusUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the status update.", "required": [ "type", "status", "lastVerifiedTimestamp" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceCommonStatusUpdate.v1" ] }, "status": { "description": "Indicates various aspects of the device's operational status from the viewpoint of the cloud.", "type": "object", "required": [ "commonStatus" ], "properties": { "commonStatus": { "allOf": [ { "$ref": "#/$defs/DeviceCommonStatus" }, { "type": "string", "x-filterable": true } ] } } }, "lastVerifiedTimestamp": { "type": "string", "format": "date-time", "description": "The timestamp when the device status was last verified." } } } ] }, "EenDeviceErrorStatusUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the error status update.", "required": [ "type", "errorStatus" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceErrorStatusUpdate.v1" ] }, "errorStatus": { "allOf": [ { "$ref": "#/$defs/DeviceErrorStatus" }, { "type": "string", "x-filterable": true } ] }, "description": { "type": "string", "description": "A detailed description of the device error status." } } } ] }, "EenDeviceIOV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the state change of a device's input or output.", "required": [ "type", "portId", "ioType", "idleCircuitState" ], "properties": { "type": { "type": "string", "enum": [ "een.deviceIO.v1" ] }, "portId": { "type": "string", "description": "Unique identifier for the input or output port." }, "ioType": { "type": "string", "enum": [ "input", "output" ], "description": "Denotes whether the event is related to an input or output." }, "idleCircuitState": { "type": "string", "enum": [ "open", "closed" ], "description": "Indicates the normal, inactive or idle, state of the connected circuit.\nPossible values:\n\n* `open`: means the port is \"off\" when in `idle` state (open circuit; has no voltage), and the port state being `active` means it is turned \"on\" (circuit is closed; has voltage).\n* `closed`: means the port is \"on\" when in `idle` state (closed circuit; has voltage), and the port state being active means it is turned \"off\" (open circuit; has no voltage)." } } } ] }, "EenDisplayLocationSummaryV1": { "allOf": [ { "type": "object", "description": "Details of location which actor is directly a part of. \nThis is derived data that is fetched based on mappings available on server side corresponding to a actorId.", "readOnly": true, "required": [ "type", "id", "name" ], "properties": { "type": { "type": "string", "description": "Specific data schema which describes what other fields will exist in this object", "enum": [ "een.displayLocationSummary.v1" ] }, "id": { "type": "string", "description": "Unique id of location", "readOnly": true }, "name": { "type": "string", "description": "Name of the location", "minLength": 1, "maxLength": 126, "readOnly": true } } } ] }, "EenDisplayOverlayBoundingBoxV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "It represents the overlays data that can be used to overlay displays for a particular event type, from the bounding boxes. This can include details such as labels, bounding boxes, and other relevant visual markers.\n", "required": [ "type", "overlays" ], "properties": { "type": { "type": "string", "enum": [ "een.displayOverlay.boundingBox.v1" ] }, "overlays": { "type": "array", "description": "A list of overlay data available for the event.", "items": { "type": "object", "required": [ "label", "timestamp", "labelLocation", "color", "lineWidth", "boundingBox" ], "properties": { "label": { "type": "string", "description": "The label to be displayed at the specified location based on the event type. \n" }, "timestamp": { "type": "string", "format": "date-time", "description": "The timestamp for which the bounding box display overlay is valid. Format is ISO 8601.\n" }, "labelLocation": { "type": "string", "description": "The location where the label will be displayed.\n", "enum": [ "topLeft" ] }, "color": { "type": "string", "format": "color", "description": "The color code in hex format for the bounding box (outline). In SVG or CSS, this corresponds to the `stroke` property.\n" }, "lineWidth": { "type": "integer", "description": "The width of the line for the bounding box based on factors like object size, priority and event type, specified in normalized units. This value represents a fraction of the overall size of the display area. For example, a value of 0.03 means the line will be 3% of the total width or height of the display area. In SVG or CSS, this corresponds to the `stroke-width` property.\n" }, "boundingBox": { "$ref": "#/$defs/BoundingBoxV1" } } } } } } ] }, "EenDotNumberRecognitionV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the dot number that was detected.", "required": [ "type", "regNumber", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.dotNumberRecognition.v1" ] }, "regNumber": { "type": "string", "description": "This is the detected registration number of the vehicle." }, "regNumberConfidence": { "description": "The confidence of the number read reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1 } } } ] }, "EenEEVAAttributesV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Attributes related to an Eeva query that resulted in this event being detected in an image.", "required": [ "type", "queryType", "query", "binaryResponse", "reason" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.eevaAttributes.v1'.", "enum": [ "een.eevaAttributes.v1" ] }, "queryType": { "type": "string", "description": "The type of the Eeva query which is run on the image.", "enum": [ "binaryTimestamp" ] }, "query": { "type": "string", "description": "Query set by the user to run on image." }, "binaryResponse": { "type": "boolean", "description": "Boolean response returned by the OpenAI VLM in response to the query." }, "reason": { "type": "string", "description": "An explanation detailing the reasoning or evidence behind the provided answer. This field helps clarify why the answer was determined to be true, or false, and may include relevant observations from the analyzed data." } } } ] }, "EenEntryDirectionV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Defines the entry or exit movement within a defined boundary or area.", "required": [ "type", "direction" ], "properties": { "type": { "type": "string", "enum": [ "een.entryDirection.v1" ] }, "direction": { "description": "Indicates whether the subject is entering ('in') or exiting ('out') a defined boundary or area.", "type": "string", "enum": [ "in", "out" ], "x-filterable": true } } } ] }, "EenFleetCodeRecognitionV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the extra text that was detected from vehicle.", "required": [ "type", "value", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.recognizedText.v1" ] }, "value": { "type": "string", "description": "This is the recognized text." }, "valueConfidence": { "description": "The confidence of the recognized text as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1 } } } ] }, "EenFullFrameImageUrlV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the full frame image url related to the event.", "required": [ "type", "httpsUrl", "timestamp" ], "properties": { "type": { "type": "string", "enum": [ "een.fullFrameImageUrl.v1" ] }, "httpsUrl": { "type": "string", "format": "url", "description": "Link to obtain the full frame image related to this event." }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp of the frame from which the crop was made." }, "feedType": { "type": "string", "enum": [ "main", "preview" ], "description": "Multiple video feeds can be published per source, but they should all have the same viewpoint. They can differ in resolution:\n * `main` is higher resolution and high framerate.\n * `preview` is low resolution and low framerate.\n" } } } ] }, "EenFullFrameImageUrlWithOverlayV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Provides URLs for retrieving a full-frame image related to an event, with SVG overlays.", "required": [ "type", "overlaySvgHeaderUrl" ], "properties": { "type": { "type": "string", "enum": [ "een.fullFrameImageUrlWithOverlay.v1" ] }, "overlaySvgHeaderUrl": { "type": "string", "format": "url", "description": "Link to obtain the svg overlay through `X-Een-OverlaySvg` header containing the overlays as a SVG image." }, "overlayEmbeddedUrl": { "type": "string", "format": "url", "description": "Link to obtain the svg overlay on top of the source image resulting in a single jpeg." } } } ] }, "EenGeoLocationV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Defines the geographic coordinates marking the location where an event originated.", "required": [ "type", "latitude", "longitude" ], "properties": { "type": { "type": "string", "enum": [ "een.geoLocation.v1" ] }, "latitude": { "description": "The latitude of the device. (WGS 84)", "type": "number", "format": "double", "minimum": -90, "maximum": 90 }, "longitude": { "description": "The longitude of the device. (WGS 84).", "type": "number", "format": "double", "minimum": -180, "maximum": 180 }, "altitude": { "type": "number", "format": "double", "description": "Altitude of the device in meters above sea level." }, "speed": { "type": "number", "format": "double", "description": "Speed over ground in meters per second." }, "heading": { "type": "number", "format": "double", "minimum": 0, "maximum": 360, "description": "Direction of movement in degrees relative to true north, derived from GPS data." }, "hdop": { "type": "number", "format": "double", "minimum": 1, "description": "Horizontal Dilution of Precision; values start at 1, where lower is better and 1 indicates ideal positional accuracy." }, "timestamp": { "type": "string", "format": "date-time", "description": "The timestamp the location was recorded in ISO 8601 format" }, "objectId": { "type": "string", "description": "Optional identifier of the specific detected object associated with this location (e.g., person, vehicle, weapon). When present, indicates this location is specific to the identified object within the event. When omitted, the location represents the event as a whole (e.g., the device location or event origin point).\n" } } } ] }, "EenGunShotAudioDetectionEvent": { "description": "Generated when a gunshot sound has been detected by the system.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.gunShotAudioDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenAudioDetectionV1" }, { "$ref": "#/$defs/EenGeoLocationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "EenHumanValidationDetailsV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Schema containing necessary information about human validation. This schema will be associated with a event", "required": [ "type", "isValid", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.humanValidationDetails.v1" ] }, "isValid": { "type": "boolean", "description": "Specifies whether the human validated the object as correct (true) or incorrect (false)." }, "extValidatedById": { "type": "string", "description": "Specifies the ID of the human who validated the object. This is provided by the external system." }, "timestamp": { "type": "string", "format": "date-time", "description": "The moment at which the object was validated by a human." }, "validationNotes": { "type": "string", "description": "Additional notes or comments provided by the human validator." } } } ] }, "EenIntrusionAreaV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the monitored area in which the intrusion happened.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.intrusionArea.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the area." }, "name": { "type": "string", "description": "User-given name of the area." }, "area": { "$ref": "#/$defs/AreaV1" } } } ] }, "EenJobDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the job.", "required": [ "type", "jobTypeId", "state" ], "properties": { "type": { "type": "string", "enum": [ "een.jobDetails.v1" ] }, "jobTypeId": { "type": "string", "description": "Concatenation of JobType namespace and a name which forms a unique ID. Type determines what kind of Job is run.\n" }, "state": { "type": "string", "description": "State of the Job.", "enum": [ "pending", "started", "failure", "success", "revoked" ] } } } ] }, "EenLineCrossLineV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the monitored line where a line crossing event occurred.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.lineCrossLine.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the line." }, "name": { "type": "string", "description": "User-given name of the line." }, "line": { "$ref": "#/$defs/LineV1" }, "direction": { "description": "The direction the of travel across the line.", "type": "string", "enum": [ "up", "down", "left", "right" ] } } } ] }, "EenLoiterAreaV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the monitored area in which the loitering happened.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.loiterArea.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the area." }, "name": { "type": "string", "description": "User-given name of the area." }, "area": { "$ref": "#/$defs/AreaV1" }, "minimumDwellTimeSec": { "type": "integer", "description": "Threshold after which an object is detected as loitering.", "minimum": 0 } } } ] }, "EenLprAccessTypeV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Lists are maintained about known vehicles and this object describes if a known vehicle should be allowed or denied according to these lists.\n", "required": [ "type", "accessType", "vehicleListId" ], "properties": { "type": { "type": "string", "enum": [ "een.lprAccessType.v1" ] }, "accessType": { "type": "string", "description": "Denotes the access type the vehicle list set for the vehicle that triggered the event.", "enum": [ "allow", "deny" ], "x-filterable": true }, "vehicleListId": { "type": "string", "format": "uuid", "description": "Vehicle list Id which matched this event" } } } ] }, "EenLprDetectionV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Metadata specific to LPR attributes", "required": [ "type", "plate" ], "properties": { "type": { "type": "string", "enum": [ "een.lprDetection.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "Optional timestamp of the frame for which the plate recognition was done." }, "plateBoundingBox": { "allOf": [ { "$ref": "#/$defs/BoundingBoxV1" }, { "description": "References the bounding box of the license plate." } ] }, "plate": { "type": "string", "description": "This is the plate read in uppercase", "x-filterable": true }, "plateConfidence": { "description": "The confidence of the plate read reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "plateRegion": { "type": [ "string", "null" ], "description": "This is the state that the plate belongs to. This is compliant to ISO 3166.2 specification", "x-filterable": true }, "plateRegionConfidence": { "description": "The confidence of the plate region classification reported as a float value between 0 and 1.", "type": [ "number", "null" ], "format": "float", "minimum": 0, "maximum": 1 }, "direction": { "type": "string", "description": "Denotes the direction of the vehicle, Entry or Exit", "enum": [ "entry", "exit" ], "x-filterable": true }, "isWrongDirection": { "type": "boolean", "description": "Indicates if the vehicle is traveling in the wrong direction or not", "x-filterable": true } } } ] }, "EenMeasurementStringValueUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the measurement value that has been updated.", "required": [ "type", "value" ], "properties": { "type": { "type": "string", "enum": [ "een.measurementStringValueUpdate.v1" ] }, "propertyType": { "allOf": [ { "$ref": "#/$defs/MeasurementPropertyType" }, { "type": "string", "x-filterable": true } ] }, "value": { "type": "string", "description": "Each unit type can have different values.", "x-filterable": true }, "displayUnitType": { "allOf": [ { "$ref": "#/$defs/MeasurementDisplayUnitType" }, { "type": "string", "x-filterable": true } ] } } } ] }, "EenMeasurementThresholdStatusV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the measurement's status changes related to predefined thresholds.", "required": [ "type", "propertyType", "status" ], "properties": { "type": { "type": "string", "enum": [ "een.measurementThresholdStatus.v1" ] }, "propertyType": { "allOf": [ { "$ref": "#/$defs/MeasurementPropertyType" }, { "type": "string", "x-filterable": true } ] }, "status": { "description": "Indicates the change in status related to a measurement's threshold.", "type": "string", "enum": [ "maxCritical", "maxWarning", "normal", "minWarning", "minCritical" ], "x-filterable": true } } } ] }, "EenMeasurementValueUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the measurement value that has been updated.", "required": [ "type", "value" ], "properties": { "type": { "type": "string", "enum": [ "een.measurementValueUpdate.v1" ] }, "propertyType": { "allOf": [ { "$ref": "#/$defs/MeasurementPropertyType" }, { "type": "string", "x-filterable": true } ] }, "value": { "type": "number", "description": "The value of reported measurement.", "x-filterable": true }, "displayUnitType": { "allOf": [ { "$ref": "#/$defs/MeasurementDisplayUnitType" }, { "type": "string", "x-filterable": true } ] } } } ] }, "EenMonitoredAreaV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "It represents the area configured to be monitored for a particular event type. If multiple regions are configured for the same type, we only add the area in which the event was detected.\n", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.monitoredArea.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the area." }, "name": { "type": "string", "description": "User-given name of the area." }, "area": { "$ref": "#/$defs/AreaV1" } } } ] }, "EenMotionRegionV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the region where the motion occurred.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.motionRegion.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the region." }, "name": { "type": "string", "description": "User-given name of the region." }, "area": { "$ref": "#/$defs/AreaV1" } } } ] }, "EenObjectClassificationV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the object's classification.", "required": [ "class", "objectId", "type" ], "properties": { "type": { "type": "string", "enum": [ "een.objectClassification.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "Optional timestamp of the frame for which the classification was made." }, "class": { "allOf": [ { "$ref": "#/$defs/ObjectClass" }, { "type": "string", "x-filterable": true } ] }, "confidence": { "type": "number", "description": "Confidence of the system in the classification. Higher is better.", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true } } } ] }, "EenObjectDetectionV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the object that was detected.", "required": [ "boundingBox", "type", "objectId", "timestamp" ], "properties": { "type": { "type": "string", "enum": [ "een.objectDetection.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "The moment at which the object was detected at the location given by the bounding box." }, "boundingBox": { "$ref": "#/$defs/BoundingBoxV1" } } } ] }, "EenObjectRegionMappingV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the region(s) to which a selected object is associated with.\nAn object is considered to be associated with a region, if >20% of the area of the object bounding box lies within the region.\nIf an object is associated with multiple regions, all those regions should be enumerated in a single instance of this schema.", "required": [ "type", "objectId", "regions" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.objectRegionMapping.v1'", "enum": [ "een.objectRegionMapping.v1" ] }, "regions": { "description": "A list of the associated regions.", "title": "ObjectRegionMappingV1", "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" } }, "required": [ "name" ] } } } } ] }, "EenOwnerDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the owner of a resource.", "required": [ "type", "ownerId", "ownerType" ], "properties": { "type": { "type": "string", "enum": [ "een.ownerDetails.v1" ] }, "ownerId": { "type": "string", "description": "Identifier of the user or account that owns the resource." }, "ownerType": { "type": "string", "description": "Type of the owner. More types can be added in the future.", "enum": [ "account", "user" ] } } } ] }, "EenPersonAttributesV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Attributes related to a person detected in an event image", "required": [ "type", "objectId" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.personAttributes.v1'", "enum": [ "een.personAttributes.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "Optional timestamp of the frame for which the attributes were inferred." }, "upperBodyClothingColor": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Color of the upper body clothing of the person" }, { "$ref": "#/$defs/PersonUbcColorDefinitions" } ] }, "upperBodyClothingColorConfidence": { "description": "The confidence of the clothing color classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "upperBodyClothingColorRgb": { "description": "Optional RGB color values for the upper body clothing color. Preserves precise color data.", "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 255 }, "minItems": 3, "maxItems": 3 }, "lowerBodyClothingColor": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Color of the lower body clothing of the person" }, { "$ref": "#/$defs/PersonLbcColorDefinitions" } ] }, "lowerBodyClothingColorConfidence": { "description": "The confidence of the clothing color classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "lowerBodyClothingColorRgb": { "description": "Optional RGB color values for the lower body clothing color. Preserves precise color data from AI models.", "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 255 }, "minItems": 3, "maxItems": 3 }, "upperBodyClothingColorSecondary": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Secondary color of the upper body clothing of the person" }, { "$ref": "#/$defs/PersonUbcColorDefinitions" } ] }, "upperBodyClothingColorSecondaryConfidence": { "description": "The confidence of the secondary clothing color classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "lowerBodyClothingColorSecondary": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Secondary color of the lower body clothing of the person" }, { "$ref": "#/$defs/PersonLbcColorDefinitions" } ] }, "lowerBodyClothingColorSecondaryConfidence": { "description": "The confidence of the secondary clothing color classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "gender": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Gender of the person" }, { "$ref": "#/$defs/PersonGenderDefinitions" } ] }, "genderConfidence": { "description": "The confidence of the gender classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "stationary": { "type": "boolean", "description": "Information regarding whether the person is moving or not", "x-filterable": true }, "stationaryConfidence": { "type": "number", "description": "The confidence on the value of `stationary` key", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "helmet": { "type": "boolean", "description": "Information regarding whether the person is wearing a helmet or not", "x-filterable": true }, "helmetConfidence": { "type": "number", "description": "The confidence on the value of `helmet` key", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "vest": { "type": "boolean", "description": "Information regarding whether the person is wearing a vest or not", "x-filterable": true }, "vestConfidence": { "type": "number", "description": "The confidence on the value of `vest` key", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true } } } ] }, "EenPersonVisitorDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about a person visiting a site or building.", "required": [ "type", "extVisitorId" ], "properties": { "type": { "type": "string", "enum": [ "een.personVisitorDetails.v1" ] }, "extVisitorId": { "type": "string", "description": "Identifier of the visitor." }, "name": { "type": "string", "description": "The name of the visitor." }, "email": { "type": "string", "description": "The email address of the visitor.", "format": "email" }, "phoneNumber": { "type": "string", "description": "The phone number of the visitor.", "format": "E.164" }, "extHttpsUrl": { "type": "string", "description": "A link to the visitor's profile.", "format": "uri" } } } ] }, "EenPoSTransactionEndV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Metadata specific to PoS Transaction End attributes", "required": [ "type", "transactionType", "status", "currency", "totalAmount" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionEnd.v1" ] }, "billNumber": { "type": "string", "description": "Bill number as per the PoS device", "x-filterable": true }, "transactionType": { "allOf": [ { "$ref": "#/$defs/PosTransactionType" }, { "type": "string", "x-filterable": true } ] }, "status": { "type": "string", "description": "Status of the transaction. Transaction might be `closed` which means it has been completed or `open` which means it is not yet completed. These enum values may change in future.", "enum": [ "closed", "open" ], "x-filterable": true }, "currency": { "type": "string", "description": "The currency code - USD, EUR, GBP or JPY. The supported currency codes may change as new currencies are added.", "enum": [ "USD", "EUR", "GBP", "JPY" ], "x-filterable": true }, "subTotal": { "type": "number", "description": "Total value of the given PoS transaction exclusive of taxes, discounts", "format": "float", "x-filterable": true }, "totalAmount": { "type": "number", "description": "Total value of the given PoS transaction inclusive of item purchased/refunded cost, taxes, discounts", "format": "float", "x-filterable": true }, "totalTax": { "type": "number", "description": "Total value of the taxes", "format": "float", "x-filterable": true }, "totalDiscount": { "type": "number", "description": "Total discount value of the given PoS transaction", "format": "float", "x-filterable": true }, "percDiscount": { "type": "number", "description": "Discount percentage encoded as a value between 0 and 1 (25% is expressed as 0.25). This field may be omitted for transactions involving complex scenarios such as mixed purchases and refunds occurring simultaneously.", "format": "float", "minimum": 0, "x-filterable": true }, "extCustomerId": { "type": "string", "description": "Customer id associated to the transaction as per PoS API" }, "extTableId": { "type": "string", "description": "Table id associated to the transaction as per PoS API. (Relevant for restaurants, bars etc)" } } } ] }, "EenPoSTransactionFlagV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Metadata specific to PoS Transaction Flag attributes. \nSince a transaction can be flagged/unflagged multiple times, there might be multiple occurrences of this object. To get the latest state of the flag, use the object with the latest `timestamp`", "required": [ "type", "isFlagged", "timestamp" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionFlag.v1" ] }, "isFlagged": { "type": "boolean", "description": "Whether a user has flagged this transaction or not.", "x-filterable": true }, "userId": { "type": "string", "description": "User id of user who has flagged/unflagged this transaction", "x-filterable": true }, "userFirstName": { "type": "string", "description": "First name of user who has flagged/unflagged this transaction" }, "userLastName": { "type": "string", "description": "Last name of user who has flagged/unflagged this transaction" }, "timestamp": { "type": "string", "format": "date-time", "description": "Time at which the transaction was flagged/unflagged.", "x-filterable": true } } } ] }, "EenPoSTransactionItemV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Data specific to items that are purchased in the PoS Transaction", "required": [ "type", "rowNum", "price" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionItem.v1" ] }, "rowNum": { "type": "integer", "description": "Row number for each item in the bill. This field can be used to order the items in the bill. This will be deprecated in favor of seq.", "minimum": 1 }, "seq": { "type": "number", "description": "Position identifier of the item in the user interface or bill.\nDecimal values (2.5, 3.1) indicate sub-items like discounts or promotions associated with a particular item.", "format": "float", "minimum": 1 }, "extLineId": { "type": "string", "description": "Id of the order line item as per POS system." }, "sku": { "type": "string", "description": "Unique id for each individual bill item as per PoS api" }, "name": { "type": "string", "description": "Name of item purchased as part of transaction. This will be deprecated in future." }, "item": { "type": "object", "description": "Item that is purchased in the transaction. Atleast one of following attributes is required.", "properties": { "id": { "type": "string", "description": "Id of item purchased in transaction" }, "name": { "type": "string", "description": "Name of item purchased in transaction" }, "description": { "type": "string", "description": "Description of item purchased in transaction" } } }, "restrictionCode": { "type": "string", "description": "Restriction code for the item purchased. This is used to indicate if the item is restricted for sale to certain age groups or other criteria.\nFor example, 'alcohol', 'tobacco', etc." }, "departmentId": { "type": "string", "description": "ID of the department which the item belongs to." }, "parentSku": { "type": "string", "description": "Unique id of the main product associated with the purchased variant" }, "parentName": { "type": "string", "description": "Name of the main product associated with the purchased variant" }, "unitPrice": { "type": "number", "description": "Price per unit of the item purchased", "format": "float" }, "quantity": { "type": "number", "description": "Number of units of the item purchased as part of this transaction.\nThis value can be non integer values to accommodate use cases in say a supermarket - say a customer purchases 0.5 kg of rice and SKU unit price is defined per kg.", "format": "float" }, "subTotal": { "type": "number", "description": "Total price for the given item exclusive of discounts - unitPrice x quantity", "format": "float" }, "discount": { "type": "number", "description": "Discount amount applied to the item", "format": "float" }, "percDiscount": { "type": "number", "description": "Discount percentage applied to the item encoded as a value between 0 and 1 (25% is expressed as 0.25).", "format": "float", "minimum": 0 }, "price": { "type": "number", "description": "Total price for the given item - unitPrice x quantity - any discounts applied. This will be deprecated in future in favor of totalPrice.", "format": "float" }, "totalPrice": { "type": "number", "description": "Total price for the given item - unitPrice x quantity - any discounts applied.", "format": "float" }, "timestamp": { "type": "string", "format": "date-time", "description": "Time at which the item was added to the bill" } } } ] }, "EenPoSTransactionLabelV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Label assigned to a POS transaction. Multiple labels can be added to a single transaction by including multiple instances of this schema in the event data array.", "required": [ "type", "label" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.posTransactionLabel.v1'", "enum": [ "een.posTransactionLabel.v1" ] }, "label": { "$ref": "#/$defs/PosTransactionLabel" } } } ] }, "EenPoSTransactionPaymentV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Metadata specific to PoS Transaction Payment related attributes", "required": [ "type", "method", "timestamp", "status", "currency", "amount" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionPayment.v1" ] }, "method": { "$ref": "#/$defs/PosPaymentMethod" }, "status": { "type": "string", "description": "Status of the payment. The enum values may change in future as new statuses are added.", "enum": [ "completed", "approved", "cancelled", "failed" ] }, "currency": { "type": "string", "description": "The currency code - USD, EUR, GBP or JPY. The supported currency codes may change as new currencies are added.", "enum": [ "USD", "EUR", "GBP", "JPY" ] }, "amount": { "type": "number", "description": "Amount charged from the customer in the payment.", "format": "float" }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp of the payment in RFC3339 format YYYY-MM-DDThh:mm:ss.sTZD" }, "extPaymentId": { "type": "string", "description": "Id associated to the payment as per payment source." }, "additionalInfo": { "description": "Additional non-critical payment information (e.g., masked account number, approval code, terminal ID, etc.). Remove sensitive personal or financial information if not needed." } } } ] }, "EenPoSTransactionStartV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Metadata specific to PoS Transaction Start attributes", "required": [ "type", "extTransactionId" ], "properties": { "type": { "enum": [ "een.posTransactionStart.v1" ] }, "extStoreId": { "type": "string", "description": "Store/Location Id of the PoS terminal as defined by an external system such as a PoS machine itself, or a PoS management cloud.", "x-filterable": true }, "extRegisterId": { "type": "string", "description": "Id of the PoS terminal coming from the PoS API", "x-filterable": true }, "extTransactionId": { "type": "string", "description": "Unique Id of the transaction coming from PoS API", "x-filterable": true }, "extOperatorId": { "type": "string", "description": "Id of the employee logged into the terminal during the transaction coming from PoS API", "x-filterable": true }, "operatorFirstName": { "type": "string", "description": "First name of the employee logged into the terminal during the transaction coming from PoS API" }, "operatorLastName": { "type": "string", "description": "Last name of the employee logged into the terminal during the transaction coming from PoS API" } } } ] }, "EenPosTransactionCardLoadSummaryV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Summary data specific to card load operations in PoS Transaction", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionCardLoadSummary.v1" ] }, "accountNumber": { "type": "string", "description": "The last four digits of the card number used in the load operation." }, "approvalTimestamp": { "type": "string", "format": "date-time", "description": "The time when the card load operation was approved." }, "balance": { "type": "number", "format": "float", "description": "The balance on the card after the load operation." } } } ] }, "EenPosTransactionCartChangeTrailV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Data about cart changes in POS Transaction", "required": [ "type", "seq", "cartChangeType", "timestamp" ], "properties": { "type": { "type": "string", "enum": [ "een.posTransactionCartChangeTrail.v1" ] }, "seq": { "type": "integer", "description": "Sequential number indicating the order of change events as they occur in the transaction. This should be unique for each change event within a transaction.", "minimum": 1 }, "extLineId": { "type": "string", "description": "Id of the order line item as per POS system." }, "cartChangeType": { "type": "string", "description": "Specifies the type of modification made to the cart during a POS transaction." }, "cartChangeResult": { "type": "string", "description": "Additional information about the event, such as error messages or reasons for price override. This information is not shown to buyers and is used for internal purposes." }, "cartChangeOrigin": { "type": "string", "description": "Indicates the origin of the cart change event. This can be used to identify whether the change was initiated by scanning the item, searching for it, etc." }, "extOperatorId": { "type": "string", "description": "Id of the employee modifying the cart." }, "item": { "type": "object", "description": "Item that is updated in cart. Atleast one of following attributes is required.", "properties": { "id": { "type": "string", "description": "Id of item updated in cart" }, "name": { "type": "string", "description": "Name of item updated in cart" }, "description": { "type": "string", "description": "Description of item updated in cart" } } }, "sku": { "type": "string", "description": "Unique id of the item" }, "restrictionCode": { "type": "string", "description": "Restriction code for the item purchased. This is used to indicate if the item is restricted for sale to certain age groups or other criteria.\nFor example, 'alcohol', 'tobacco', etc." }, "departmentId": { "type": "string", "description": "ID of the department which the item belongs to." }, "productCategory": { "type": "string", "description": "Category or department of item updated in cart" }, "unitPrice": { "type": "number", "description": "Price per unit of the item updated in cart", "format": "float" }, "quantity": { "type": "number", "description": "Number of units of the item purchased as part of this transaction.\nThis may be a non-integer value in cases where items are sold by weight or another unit of measure. For example, 0.5 kg of rice may be purchased if the SKU unit price is defined per kg.", "format": "float" }, "price": { "type": "number", "description": "Total price for the given item - unitPrice x quantity", "format": "float" }, "timestamp": { "type": "string", "format": "date-time", "description": "Time at which the item was added to the bill" } } } ] }, "EenPtzPositionUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the ptz position update.", "required": [ "type", "newPosition" ], "properties": { "type": { "type": "string", "enum": [ "een.ptzPositionUpdate.v1" ] }, "newPosition": { "description": "The new ptz coordinates of the camera in a space defined as pan:(-1,1), tilt:(-1,1), zoom:(0,1). Whenever there is a change in any of the axes, all axes that are supported will be reported. This could also mean that only one of the axes is reported if the camera does not support the other two.", "type": "object", "properties": { "x": { "type": "number", "format": "double", "description": "Pan coordinate given as value between -1(max left) and 1(max right).", "minimum": -1, "maximum": 1 }, "y": { "type": "number", "format": "double", "description": "Tilt coordinate given as value between -1(max down) and 1(max up).", "minimum": -1, "maximum": 1 }, "z": { "type": "number", "format": "double", "description": "Zoom coordinate given as value between 0(fully zoomed out) and 1(fully zoomed in).", "minimum": 0, "maximum": 1 } }, "minProperties": 1 } } } ] }, "EenPurgedDataDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about purged recorded data. The time period of the purged data is represented by the event's startTimestamp and endTimestamp.\n", "required": [ "type", "bytes" ], "properties": { "type": { "type": "string", "enum": [ "een.purgedDataDetails.v1" ] }, "bytes": { "type": "integer", "format": "int64", "description": "Number of bytes freed by purging the data." } } } ] }, "EenRawDataV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "This schema is used to capture raw data of the event before any processing.", "required": [ "type" ], "properties": { "type": { "enum": [ "een.rawData.v1" ] }, "rawJson": { "type": "object", "description": "Json data of the event." } } } ] }, "EenResourceDetailsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the resource that produced or observed the event. Also known as the actor.", "required": [ "type", "resourceId", "resourceName" ], "properties": { "type": { "type": "string", "enum": [ "een.resourceDetails.v1" ] }, "resourceId": { "type": "string", "description": "Unique resource identifier." }, "resourceName": { "type": "string", "description": "Name of the resource." } } } ] }, "EenT3AlarmAudioDetectionEvent": { "description": "Generated upon detecting the sound of a T3 alarm, which is defined as \"Audible Emergency Evacuation Signal\" by the ANSI S3.41 and ISO 8201 standards. This alarm is normally used to indicate the presence of smoke or fire, but can be used in any situation that requires immediate evacuation of the building.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.t3AlarmAudioDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenAudioDetectionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "EenT4AlarmAudioDetectionEvent": { "description": "Generated upon detecting the sound of a T4 alarm, which is specifically designed to indicate high levels of carbon monoxide (CO).\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.t4AlarmAudioDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenAudioDetectionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "EenThermalCameraValueUpdateV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Details about the thermal camera values that has been updated.", "required": [ "type", "value", "measurement", "displayUnitType" ], "properties": { "type": { "type": "string", "enum": [ "een.thermalCameraValueUpdate.v1" ] }, "value": { "type": "number", "description": "Temperature in the area that triggered the event, based on the type of measurement", "x-filterable": true }, "measurement": { "type": "string", "description": "Type of temperature measurement used for triggering the alarm", "enum": [ "maximum", "minimum", "average" ], "x-filterable": true }, "minimumTemp": { "type": "number", "description": "Minimum temperature in the area" }, "maximumTemp": { "type": "number", "description": "Maximum temperature in the area" }, "averageTemp": { "type": "number", "description": "Average temperature in the area" }, "maxTempPosition": { "type": "array", "description": "X and Y coordinates of the maximum temperature", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "minTempPosition": { "type": "array", "description": "X and Y coordinates of the minimum temperature", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "displayUnitType": { "$ref": "#/$defs/MeasurementDisplayUnitType" }, "boundingBox": { "allOf": [ { "$ref": "#/$defs/BoundingBoxV1" }, { "description": "References the bounding box of where the temperature change was recorded." } ] } } } ] }, "EenThermalMonitoredAreaV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "It represents the area configured to be monitored for thermal events, with additional configurations defined for the area. If multiple regions are configured for the same type, we only add the area in which the event was detected.\n", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "enum": [ "een.thermalMonitoredArea.v1" ] }, "id": { "type": "string", "description": "Unique identifier of the area." }, "name": { "type": "string", "description": "User-given name of the area." }, "area": { "$ref": "#/$defs/AreaV1" }, "detectionType": { "type": "string", "description": "Type of detection configured for the area based on temperature changes.\n * `above`: The alarm will trigger if the value goes above the threshold value.\n * `below`: The alarm will trigger if the value goes below the threshold value.\n * `increase`: The alarm will trigger if the temperature increases faster than the threshold value divided by the delay time.\n * `decrease`: The alarm will trigger if the temperature decreases faster than the threshold value divided by the delay time.\n", "enum": [ "above", "below", "increase", "decrease" ] }, "threshold": { "type": "number", "description": "The temperature threshold for the area that should trigger the alarm." }, "delay": { "type": "integer", "description": "Delay time in seconds, the temperature has to be over the threshold before the alarm triggers, configured for the area." } } } ] }, "EenTrailerNumberRecognitionV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the trailer number that was detected.", "required": [ "type", "regNumber", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.trailerNumberRecognition.v1" ] }, "regNumber": { "type": "string", "description": "This is the detected registration number of the vehicle." }, "regNumberConfidence": { "description": "The confidence of the number read reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1 } } } ] }, "EenTruckNumberRecognitionV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Details about the truck number that was detected.", "required": [ "type", "regNumber", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.truckNumberRecognition.v1" ] }, "regNumber": { "type": "string", "description": "This is the detected registration number of the vehicle." }, "regNumberConfidence": { "description": "The confidence of the number read reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1 } } } ] }, "EenUserAccessActivationV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Records the decision made for a user's access activation at an access control point. This data schema tracks whether access was granted or denied for a specific user.\n", "required": [ "type", "decision", "userId" ], "properties": { "type": { "type": "string", "enum": [ "een.userAccessActivation.v1" ] }, "decision": { "type": "string", "enum": [ "granted", "denied" ], "description": "The decision made for this access activation." }, "userId": { "type": "string", "description": "The unique identifier of the user attempting access. This is typically an ID from the access control system (e.g., Brivo user ID).\n" } } } ] }, "EenUserDataV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Object containing all user information associated with the specific event. For example, for a plate read, this would contain user supplied attributes for the given plate like apartment number. the following are the guidelines for supplying User Data:\n * Fields Should be in camelCase\n * Maximum of 5 unique keys.\n * Each key or value should have only 256 characters max.", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "een.userData.v1" ] } } } ] }, "EenUserTagsV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Tags containing all user information associated with the specific vehicle entry.", "required": [ "type" ], "properties": { "type": { "type": "string" }, "tag": { "type": "string", "description": "Tag provided by user for a vehicle entry" } } } ] }, "EenVehicleAttributesV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Attributes of the vehicle that created the LPR event.\n", "required": [ "type", "objectId" ], "properties": { "type": { "type": "string", "enum": [ "een.vehicleAttributes.v1" ] }, "timestamp": { "type": "string", "format": "date-time", "description": "Optional timestamp of the frame at which these attributes were inferred." }, "color": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Enumerations of standard colors for vehicles." }, { "$ref": "#/$defs/VehicleColorDefinitions" } ] }, "colorConfidence": { "description": "Confidence of the color classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "colorRgb": { "description": "Optional RGB color values for the vehicle color. Preserves precise color data.", "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 255 }, "minItems": 3, "maxItems": 3 }, "make": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Make of the vehicle" }, { "$ref": "#/$defs/VehicleMakeDefinitions" } ] }, "makeDisplay": { "type": "string", "readOnly": true, "description": "UI ready display name of the make of the vehicle", "x-filterable": true }, "makeConfidence": { "description": "The confidence of the make classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "model": { "type": "string", "description": "Model of the vehicle", "x-filterable": true }, "modelConfidence": { "description": "The confidence of the model classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "bodyType": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Type of the vehicle" }, { "$ref": "#/$defs/VehicleBodyTypeDefinitions" } ] }, "bodyTypeDisplay": { "type": "string", "readOnly": true, "description": "UI ready display name of the bodyType of the vehicle", "x-filterable": true }, "bodyTypeConfidence": { "description": "The confidence of the body type classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "year": { "type": "integer", "description": "Year of production", "x-filterable": true }, "yearConfidence": { "description": "The confidence of the year classification reported as a float value between 0 and 1.", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true }, "orientation": { "type": "string", "description": "Orientation of vehicle w.r.t. the camera. In other words, it describes how the camera viewed a specific vehicle.", "enum": [ "front", "rear", "side" ], "x-filterable": true }, "parked": { "type": "boolean", "description": "Information regarding whether the vehicle is parked or not", "x-filterable": true }, "parkedConfidence": { "type": "number", "description": "The confidence on the value of `parked` key reported as a float value between 0 and 1.", "format": "float", "minimum": 0, "maximum": 1, "x-filterable": true } } } ] }, "EenVehicleListInfoV1": { "readOnly": true, "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Provides details of vehicle lists that include a license plate for which an LPR event was triggered. This is a system-generated data schema and cannot be created using POST API calls.", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "een.vehicleListInfo.v1" ] }, "vehicleListId": { "type": "string", "description": "The unique uuid of the vehicle list" }, "vehicleListName": { "type": "string", "description": "The user defined name of the vehicle list" } } } ] }, "EenVspInsightsSummaryInfoV1": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "description": "Object containing the insights details generated by the VSP package for a License Plate Recognition (LPR) event. These insights provide information such as first-time appearances, hotlist matches, or count of occurrences.", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "een.vspInsightsSummary.v1" ] }, "insightType": { "type": "string", "description": "A short identifier representing the type of insight. Example values include:\n - `visitorType`: Classification of visitor - \"new\" for first visit within the retention period, \"frequent\" for vehicle occurring weekly within the retention period\n - `visitCount`: Count of total visits (entry & exit pairs) in the last 7 days\n - `avgDurationSec`: Average duration of visits in seconds based on visits in the last 7 days\n - `new`: First appearance of the plate (legacy)\n - `count`: Indicates number of times the vehicle has been seen (legacy)\n - `hotlist`: hotlisted vehicle (legacy)\n" }, "label": { "type": [ "string", "null" ], "description": "User-friendly label for displaying the insight type. Examples: \"Visitor Type\", \"Total Visits\", \"Average Duration\"\n" }, "value": { "type": [ "string", "null" ], "description": "Optional value associated with the insightType.\n" }, "description": { "type": "string", "description": "Human-readable explanation of the insight, intended for end users. A single tag can have multiple different descriptions, depending on the context or additional data associated with the insight.\n" } } } ] }, "EenWeaponAttributesV1": { "allOf": [ { "$ref": "#/$defs/ObjectEnvelopeDataObject" }, { "type": "object", "description": "Attributes related to a weapon object detected in an event image", "required": [ "type", "objectId" ], "properties": { "type": { "type": "string", "description": "Type of this data schema. The value is fixed as 'een.weaponAttributes.v1'", "enum": [ "een.weaponAttributes.v1" ] }, "class": { "type": "string", "x-filterable": true, "allOf": [ { "description": "Class of the weapon." }, { "$ref": "#/$defs/WeaponClassDefinitions" } ] } } } ] }, "EvacuateProtocolEvent": { "description": "Generated when an evacuation is initiated, indicating that people need to move from one location to another, either within or outside the building. May include information about the affected location.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.evacuateProtocolEvent.v1" ] } } } ] }, "EventEnvelope": { "type": "object", "description": "Envelope for een events", "allOf": [ { "$ref": "#/$defs/EventEnvelopeParent" }, { "required": [ "accountId", "actorAccountId" ] } ] }, "EventEnvelopeParent": { "type": "object", "description": "Parent for envelope for een events", "required": [ "startTimestamp", "endTimestamp", "span", "actorId", "actorType", "creatorId", "type", "dataSchemas", "data" ], "properties": { "id": { "type": "string", "description": "System wide unique id of the event", "readOnly": true }, "startTimestamp": { "type": "string", "format": "date-time", "description": "Time at which the event starts." }, "endTimestamp": { "type": [ "string", "null" ], "format": "date-time", "description": "Time at which the event ended. If null, the event is ongoing." }, "span": { "type": "boolean", "description": "True if the event describes a period of time instead of a single moment in time." }, "accountId": { "type": "string", "description": "Id of the account the event belongs in. This can be a different account than the account of the actor that changed as part of the event, see the `actorAccountId` description for more details.\n" }, "actorId": { "type": "string", "description": "Id of the entity that changed as part of the event, such as a camera id, user id, or account id. This id represents the specific entity that underwent a change, triggering the event notification.\n" }, "actorAccountId": { "type": "string", "description": "Id of the account to which the changed actor belongs. This might be different from the `accountId` field in cases where one account is helping to manage another one. For example, a reseller that manages the bridges for one of their end-users would want to get alerts in their own account (`accountId`) that are about bridges located in their end-user's account (actorAccountId).\n" }, "actorType": { "type": "string", "enum": [ "bridge", "camera", "multiCamera", "speaker", "account", "user", "layout", "job", "measurement", "sensor", "gateway", "accessControlPoint", "location" ], "default": "camera", "description": "Type of actor that changed, triggering the event." }, "creatorId": { "type": "string", "default": "unknown", "description": "Id of the application or system that created this event. This id should not differ between instances or even versions of the same application." }, "type": { "type": "string", "description": "Specific event type, e.g. een.motionDetectionEvent.v1, een.lprPlateReadEvent.v1" }, "dataSchemas": { "type": "array", "items": { "type": "string" }, "description": "List of all data schema types that can be found in this event." }, "data": { "type": "array", "description": "Event specific data given as an array of objects that have a `type` field indicates the schema of the value.\n", "items": { "$ref": "#/$defs/BaseDataObject" } } } }, "FaceDetectionEvent": { "description": "Generated when a face is detected in the camera's view.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.faceDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenPersonAttributesV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenUserDataV1" } ] } } } } ] }, "FallDetectionEvent": { "description": "Generated when a fall is detected, potentially indicating an accident or medical emergency.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.fallDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "FightDetectionEvent": { "description": "Generated when a fight is detected in the field of view for longer than a given duration.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.fightDetectionEvent.v1" ] } } } ] }, "FireDetectionEvent": { "description": "Generated when a fire is detected.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.fireDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "FleetCodeRecognitionEvent": { "description": "Generated when the camera captures a fleet code of a passing vehicle. It represents a single point in time.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.fleetCodeRecognitionEvent.v1" ] }, "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenDotNumberRecognitionV1" }, { "$ref": "#/$defs/EenTruckNumberRecognitionV1" }, { "$ref": "#/$defs/EenTrailerNumberRecognitionV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenFleetCodeRecognitionV1" }, { "$ref": "#/$defs/EenResourceDetailsV1" } ] } } } } ] }, "GunDetectionEvent": { "description": "Generated when a weapon is detected in the camera's view..", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.gunDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenMotionRegionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenWeaponAttributesV1" }, { "$ref": "#/$defs/EenPersonAttributesV1" }, { "$ref": "#/$defs/EenHumanValidationDetailsV1" } ] } } } } ] }, "HandsUpDetectionEvent": { "description": "Generated when a person with their hands up is detected.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.handsUpDetectionEvent.v1" ] } } } ] }, "HoldProtocolEvent": { "description": "Generated when a hold protocol is initiated, instructing individuals to follow the directive: \"In Your Room or Area\" to keep hallways clear of occupants.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.holdProtocolEvent.v1" ] } } } ] }, "JobCreationEvent": { "description": "Generated when a job is created.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.jobCreationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenJobDetailsV1" }, { "$ref": "#/$defs/EenOwnerDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "JobDeletionEvent": { "description": "Generated when a job is deleted.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.jobDeletionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenOwnerDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "JobUpdateEvent": { "description": "Generated when a job is updated.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.jobUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenJobDetailsV1" }, { "$ref": "#/$defs/EenOwnerDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "LayoutCreationEvent": { "description": "Generated when a layout is created.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.layoutCreationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "LayoutDeletionEvent": { "description": "Generated when a layout is deleted.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.layoutDeletionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "LayoutUpdateEvent": { "description": "Generated when a layout is updated.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.layoutUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "LineV1": { "type": "array", "description": "List of 2 coordinates representing the line. For each two-value coordinate, the first value represents the horizontal position (from left) as a percentage of the image width, and the second value represents the vertical position (from top) as a percentage of the total image height.\n", "minItems": 2, "maxItems": 2, "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "number", "minimum": 0, "maximum": 1 } } }, "LockdownProtocolEvent": { "description": "Generated when a lockdown protocol is initiated, instructing individuals to follow \"Locks, Lights, Out of Sight\" to secure rooms and remain quiet and in place.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.lockdownProtocolEvent.v1" ] } } } ] }, "LoiterDetectionEvent": { "description": "Generated when an object remains in a specific area for an extended period of time, potentially indicating suspicious activity or unauthorized lingering.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.loiterDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenLoiterAreaV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "LprPlateReadEvent": { "description": "Generated when the camera captures a license plate of a passing vehicle. It can either be a span event or a point event. When the event is a span event, it represents the time period during which the vehicle was detected, here event will have different start and end time. When the event is a point event, it is the time of plate read trigger and both start and end times would be same.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.lprPlateReadEvent.v1" ] }, "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenLprDetectionV1" }, { "$ref": "#/$defs/EenVehicleAttributesV1" }, { "$ref": "#/$defs/EenLprAccessTypeV1" }, { "$ref": "#/$defs/EenUserDataV1" }, { "$ref": "#/$defs/EenUserTagsV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenVehicleListInfoV1" }, { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenVspInsightsSummaryInfoV1" } ] } } } } ] }, "MeasurementDisplayUnitType": { "type": "string", "description": "The unit of measurement that the measurement reports in.", "enum": [ "fahrenheit", "celsius", "kelvin", "relativeHumidity", "standardGravity", "metersPerSecondSquared", "feetPerSecondSquared", "inchesPerSecondSquared", "knots", "kilometersPerHour", "milesPerHour", "metersPerSecond", "degrees", "pascals", "poundsPerSquareInch", "bar", "cubicFeetPerSecond", "cubicMetersPerSecond", "gallonsUSPerMinute", "kilopascals", "meters", "centimeters", "feet", "inches", "partsPerMillion", "predictiveFailure", "number", "newtons", "poundForce", "lux", "revolutionsPerMinute", "hectopascals", "decibels", "grams", "kilograms", "pounds", "value", "liters", "quarts", "gallonsUS", "milliliter", "cubicInches", "cubicFeet", "cubicMeters", "millimeters", "amps", "milliamps", "volts", "ohms", "voltageRootMeanSquare", "voltagePeak", "voltagePeakToPeak", "metersPerMinute", "watts", "percent", "index", "partsPerBillion", "openClosed", "yesNo", "onOff", "offOn", "stoppedRunning", "dryWet", "microgramsPerMeterCubic", "feetPerSecond", "feetPerMinute", "score", "litersPerSecond" ] }, "MeasurementPropertyType": { "type": "string", "description": "The property that the measurement is measuring.", "enum": [ "temperature", "humidity", "vibration", "speed", "door", "electricCurrent", "electricPotentialDC", "electricResistance", "angle", "waterPresence", "contact", "activity", "voltagePresence", "button", "pressure", "volumeFlow", "distance", "concentration", "motor", "quantity", "force", "illuminance", "siren", "rotation", "soundPressureLevel", "mass", "value", "volume", "electricPotentialAC", "power", "soilMoisture", "airQuality", "count", "density" ] }, "MeasurementThresholdStatusEvent": { "description": "Generated when there is a change in status related to a measurement's threshold.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.measurementThresholdStatusEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenMeasurementThresholdStatusV1" }, { "$ref": "#/$defs/EenMeasurementValueUpdateV1" }, { "$ref": "#/$defs/EenMeasurementStringValueUpdateV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "MotionDetectionEvent": { "description": "Generated when there is a motion in front of the camera. The event represents the span of time for which the motion happened, and a null `endTimestamp` indicates that the motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.motionDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "MotionInRegionDetectionEvent": { "description": "Generated when there is a motion in a configured region of interest. The event represents the span of time for which the motion happened, and a null `endTimestamp` indicates that the motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.motionInRegionDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenMotionRegionV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "ObjectClass": { "type": "string", "description": "The `class` of the object", "enum": [ "person", "vehicle", "suitcase", "backpack", "handbag", "weapon", "face", "animal", "fire" ] }, "ObjectEnvelopeDataObject": { "allOf": [ { "$ref": "#/$defs/BaseDataObject" }, { "type": "object", "properties": { "objectId": { "$ref": "#/$defs/ObjectIdV1" } } } ] }, "ObjectIdV1": { "type": "string", "description": "ID given to the object by the detector. It is namespaced with a prefix to guarantee uniqueness while not\nneeding different detectors like camera, edge based algorithms and cloud based algorithms to coordinate.\nThe the prefix is followed by a colon and then the unique (within the namespace) id of the object.", "pattern": "^.*:.*$" }, "ObjectIntrusionEvent": { "description": "Generated when an unauthorized object enters a restricted or monitored area, potentially indicating a security breach or intrusion attempt.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.objectIntrusionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenIntrusionAreaV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenEntryDirectionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "ObjectLineCrossCountEvent": { "description": "Generated when counting analytics is enabled and an object crosses a predefined virtual line or boundary within a monitored area. This event is distinct from object line cross events and is used specifically for statistical counting purposes rather than alerting.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.objectLineCrossCountEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenLineCrossLineV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenEntryDirectionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "ObjectLineCrossEvent": { "description": "Generated when an object crosses a predefined virtual line or boundary within a monitored area.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.objectLineCrossEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenLineCrossLineV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenEntryDirectionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "ObjectRemovalEvent": { "description": "Generated when an object is removed from a designated or monitored area, potentially signaling a security concern, such as theft or loss. The schema for object detection is related to the removed object. The timestamp and image provided correspond to the moment when the object's removal was detected. The object detection bounding box points at the location the object previously was.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.objectRemovalEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenMonitoredAreaV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "PPEViolationEvent": { "description": "Generated when PPE Violation (Personal Protective Equipment Violation) is detected in the camera's view.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.ppeViolationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenPersonAttributesV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "PanicButtonEvent": { "description": "Generated when a user triggers a panic button, indicating an urgent safety concern or distress situation.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.panicButtonEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenGeoLocationV1" } ] } } } } ] }, "PersonDetectionEvent": { "description": "Generated when there is a person in motion in front of the camera. The event represents the span of time for which the person was in motion, and a null `endTimestamp` indicates that the person's motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.personDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenPersonAttributesV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenGeoLocationV1" } ] } } } } ] }, "PersonGenderDefinitions": { "type": "string", "description": "Enumerations of gender for person.", "enum": [ "male", "female" ] }, "PersonLbcColorDefinitions": { "allOf": [ { "$ref": "#/$defs/ColorDefinitions" }, { "description": "Enumerations of lowerbody clothing color for person." } ] }, "PersonMotionDetectionEvent": { "description": "Generated when there is a person in motion in front of the camera. The event represents the span of time for which the person was in motion, and a null `endTimestamp` indicates that the person's motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.personMotionDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "PersonTailgateEvent": { "description": "Generated when an unauthorized person follows an authorized individual through a secure access point, potentially indicating a security breach.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.personTailgateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "PersonUbcColorDefinitions": { "allOf": [ { "$ref": "#/$defs/ColorDefinitions" }, { "description": "Enumerations of upperbody clothing color for person." } ] }, "PoSTransactionEvent": { "description": "Generated when a transaction is performed on Point of Sale (PoS) terminal integrated with Eagle Eye VMS. It is a span event and has a separate start and end time.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.posTransactionEvent.v1" ] }, "dataSchemas": { "type": "array", "items": { "enum": [ "een.posTransactionStart.v1", "een.posTransactionEnd.v1", "een.posTransactionItem.v1", "een.posTransactionPayment.v1", "een.posTransactionCartChangeTrail.v1", "een.posTransactionCardLoadSummary.v1", "een.posTransactionFlag.v1", "een.posTransactionLabel.v1", "een.rawData.v1", "een.displayLocationSummary.v1", "een.fullFrameImageUrl.v1", "een.creatorDetails.v1" ] } }, "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/EenPoSTransactionStartV1" }, { "$ref": "#/$defs/EenPoSTransactionEndV1" }, { "$ref": "#/$defs/EenPoSTransactionItemV1" }, { "$ref": "#/$defs/EenPoSTransactionPaymentV1" }, { "$ref": "#/$defs/EenPosTransactionCartChangeTrailV1" }, { "$ref": "#/$defs/EenPosTransactionCardLoadSummaryV1" }, { "$ref": "#/$defs/EenPoSTransactionFlagV1" }, { "$ref": "#/$defs/EenPoSTransactionLabelV1" }, { "$ref": "#/$defs/EenRawDataV1" }, { "$ref": "#/$defs/EenDisplayLocationSummaryV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "PosPaymentMethod": { "type": "string", "description": "The payment method used for the transaction:\n- cash: Physical currency in the form of bills and coins\n- creditCard: Credit card payment\n- debitCard: Debit card payment\n- unknownCard: Card type could not be determined\n- bankAccount: Direct bank transfer or account payment\n- check: Paper check payment\n- giftCard: Payment using store or merchant gift card\n- crypto: Payment using cryptocurrency\n- storeCredit: Payment using store credit balance\n- buyNowPayLater: Deferred payment services (e.g., Affirm, Klarna)\n- wallet: Digital wallet payment (e.g., Apple Pay, Google Pay)\n- amex: American Express card payment\n- discover: Discover card payment\n- masterCard: Mastercard payment\n- visa: Visa card payment\n- ebt: Electronic Benefit Transfer card for government assistance programs\n- keyFob: Payment using RFID key fob\n- storedValueCard: Payment using pre-loaded value card\n- other: Other payment methods not listed\n- none: No payment method specified", "enum": [ "cash", "creditCard", "debitCard", "unknownCard", "bankAccount", "check", "giftCard", "crypto", "storeCredit", "buyNowPayLater", "wallet", "amex", "discover", "masterCard", "visa", "ebt", "keyFob", "storedValueCard", "localCharge", "other", "none" ] }, "PosTransactionLabel": { "description": "Indicates the labels that is assigned to a POS transaction. The list of valid labels may be expanded in future. Clients should handle new values gracefully. The `refund` label is deprecated and will be removed in a future version.", "type": "string", "minLength": 1, "maxLength": 50, "enum": [ "nonScannedRefunds", "itemsVoided", "negativePromoTransaction", "transactionDiscountsExcludingCigarettes", "scannedRefunds", "manufactureCoupons", "pluInquiry", "cancelAgeVerification", "memoryCancels", "noSales", "priceOverrides", "changeMakers", "pennyRings", "voidedTransaction", "transactionDiscountsOnlyCigarettes", "nonScannedSalesPluNotFound", "abortFollowedByUniqueActivity", "cashback", "refund" ] }, "PosTransactionType": { "description": "Indicates the type of transaction. Either purchase, refund, void or noSale. The values may change in future as new transaction types are supported.", "type": "string", "enum": [ "purchase", "refund", "void", "noSale", "aborted", "return", "paidIn", "paidOut", "storeToMemory", "recallFromMemory", "safeTransaction", "safeDrop", "balanceInquiry", "safeLoadTube", "safeVendTube", "safeInsertBills", "safeVaultCashDrop", "EOD", "EOS", "unknown" ] }, "PtzPositionUpdateEvent": { "description": "Generated when there is a change in the ptz position of a camera.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.ptzPositionUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenPtzPositionUpdateV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "PurgeEvent": { "description": "Generated when a purge operation is initiated due to insufficient disk space.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.purgeEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "SceneLabelEvent": { "description": "Generated whenever an image is labeled with object metadata. It merely represents the state of the scene at that point in time. This event is sufficient to describe the information related to 0 or more objects present in the scene at that point in time. Consequently, there can be more than one occurrence of each schema in this event data. For example, if there are two persons in the scene, there will be two instances of each of objectDetection, objectClassification, personAttributes schema. The consumer of this data is expected to use the objectId which is present in each dataSchema to link information for each instance of the object in the scene, as objectId will be unique per object in the scene.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.sceneLabelEvent.v1" ] }, "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenVehicleAttributesV1" }, { "$ref": "#/$defs/EenPersonAttributesV1" }, { "$ref": "#/$defs/EenAnimalAttributesV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenCustomLabelsV1" }, { "$ref": "#/$defs/EenEEVAAttributesV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "SecureProtocolEvent": { "description": "Generated when a secure protocol is initiated, instructing individuals to follow the directive: \"Get Inside. Lock Outside Doors\" to safeguard people within the building.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.secureProtocolEvent.v1" ] } } } ] }, "ShelterProtocolEvent": { "description": "Generated when a shelter directive is issued for group or individual protection.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.shelterProtocolEvent.v1" ] } } } ] }, "SpillDetectionEvent": { "description": "Detects a liquid that has been spilled and may represent a slipping hazard.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.spillDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "TamperDetectionEvent": { "description": "Generated when someone is trying to block the camera's view or the image is greatly altered.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.tamperDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "ThermalCameraThresholdStatusEvent": { "description": "Generated when a thermal camera detects temperature changes based on user-defined thresholds, in a monitored area. It captures metadata including temperature values, coordinates, and status changes.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.thermalCameraThresholdStatusEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenThermalCameraValueUpdateV1" }, { "$ref": "#/$defs/EenThermalMonitoredAreaV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "UserCreationEvent": { "description": "Generated when a user is created.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.userCreationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "UserDeletionEvent": { "description": "Generated when a user is deleted.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.userDeletionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "UserUpdateEvent": { "description": "Generated when a user is updated.", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.userUpdateEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenResourceDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "VapeDetectionEvent": { "description": "Generated when vaping activity is detected by a sensor.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.vapeDetectionEvent.v1" ] } } } ] }, "VehicleBodyTypeDefinitions": { "type": "string", "description": "Enumerations of standard classes for vehicles. Warning: These body types are subject to future modifications\n", "enum": [ "motorbike", "car", "bus", "truck", "sedan", "hatchback", "coupe", "convertible", "minivan", "wagon", "trike", "roadster", "crossover", "scooter", "sports_car", "van", "bicycle", "tukTuk", "suv", "pickupTruck", "forklift", "others" ] }, "VehicleColorDefinitions": { "allOf": [ { "$ref": "#/$defs/ColorDefinitions" }, { "description": "Enumerations of standard colors for vehicles." } ] }, "VehicleDetectionEvent": { "description": "Generated when there is a vehicle in motion in front of the camera. The event represents the span of time for which the vehicle was in motion, and a null `endTimestamp` indicates that the vehicle's motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.vehicleDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenVehicleAttributesV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenObjectRegionMappingV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "VehicleMakeDefinitions": { "type": "string", "description": "Enumerations of standard makes/brands for vehicles.", "enum": [ "abarth", "acura", "alfa_romeo", "aston_martin", "audi", "bentley", "bmw", "bugatti", "buick", "byd", "cadillac", "chevrolet", "chrysler", "citroen", "dacia", "daihatsu", "dodge", "dodge_ram", "ferrari", "fiat", "fisker", "ford", "ford_mustang", "garia", "genesis", "gmc", "harley_davidson", "honda", "hummer", "hyundai", "infiniti", "isuzu", "jaguar", "jeep", "kia", "lamborghini", "land_rover", "lexus", "lincoln", "lotus", "lucid", "mahindra", "maruti_suzuki", "maserati", "mazda", "mclaren", "mercedes_benz", "mini_cooper", "mitsubishi", "mg", "nissan", "oldsmobile", "opel", "perodua", "peugeot", "plymouth", "polaris", "polestar", "pontiac", "porsche", "proton", "ram", "renault", "rivian", "rolls_royce", "rover", "saab", "saturn", "scion", "skoda", "smart", "subaru", "suzuki", "tata", "tesla", "toyota", "vinfast", "volkswagen", "volvo", "wagoneer", "others" ] }, "VehicleMotionDetectionEvent": { "description": "Generated when there is a vehicle in motion in front of the camera. The event represents the span of time for which the vehicle was in motion, and a null `endTimestamp` indicates that the vehicle's motion was still ongoing when the event was retrieved.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.vehicleMotionDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenVehicleAttributesV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "ViolenceDetectionEvent": { "description": "Generated when violent behavior or physical aggression is detected in the camera's field of view.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "properties": { "type": { "type": "string", "enum": [ "een.violenceDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "VisitorRegistrationEvent": { "description": "Generated when a visitor to a site or building is registered.\n", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.visitorRegistrationEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenObjectClassificationV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" }, { "$ref": "#/$defs/EenPersonVisitorDetailsV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" } ] } } } } ] }, "WeaponClassDefinitions": { "type": "string", "description": "Enumerations of standard weapons classes", "enum": [ "handgun", "rifle" ] }, "WeaponDetectionEvent": { "description": "Generated when a weapon is detected in the camera's view..", "type": "object", "allOf": [ { "$ref": "#/$defs/EventEnvelope" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "een.weaponDetectionEvent.v1" ] }, "data": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/EenFullFrameImageUrlV1" }, { "$ref": "#/$defs/EenCroppedFrameImageUrlV1" }, { "$ref": "#/$defs/EenObjectDetectionV1" }, { "$ref": "#/$defs/EenMotionRegionV1" }, { "$ref": "#/$defs/EenCreatorDetailsV1" }, { "$ref": "#/$defs/EenDisplayOverlayBoundingBoxV1" }, { "$ref": "#/$defs/EenFullFrameImageUrlWithOverlayV1" } ] } } } } ] }, "deviceCloudConnectionStatusV2": { "description": "Socket connection state between device and cloud\n * `connected`: The device socket connected to cloud.\n * `disconnected`: The device socket disconnected from cloud.\n", "type": "string", "enum": [ "connected", "disconnected" ] } } }