VSP Events
VSP Events
This API returns events related to License Plate Recognition (LPR) and Fleet Code Recognition. By default, the API returns only LPR events (een.lprPlateReadEvent.v1). You can customize both the type of events returned and the data included in the response using query parameters.
Event Types
LPR Event
A License Plate Recognition (LPR) event contains details about the detected vehicle.
In addition to detection metadata, the LPR event may also include:
- Associated vehicle entry data from the vehicle list (e.g., access type, user-data)
- Insights generated for the current event
- Associated vehicle lists that contain the plate associated with the event
Fleet Code Event
A Fleet Code Recognition event will have information like the DOT number, truck number, trailer number, and additional text recognized from the vehicle.
API Endpoints
VSP Search /lprEvents
The API allows a user to search for vehicle events based on the license plate or by using other attributes of the vehicle like the Make, Color, and Body types, or Direction of travel.
The search can also be defined by a set of cameras, locations, or by a specific time range.
Filter by Event Type to get LPR and Fleet code Events
Use the type__in
query parameter to filter events based on their type.
Examples:
type__in=een.lprPlateReadEvent.v1
→ Returns only LPR eventstype__in=een.fleetCodeRecognitionEvent.v1
→ Returns only fleet code eventstype__in=een.lprPlateReadEvent.v1,een.fleetCodeRecognitionEvent.v1
→ Returns both event types
Customize Response with include Query Parameter
Use the include
query parameter to request additional details in the response. You can pass one or more comma-separated values.
Core include values:
Value | Description |
---|---|
data.een.vehicleAttributes.v1 | Attributes such as vehicle color, make, body type, and year etc. |
data.een.fullFrameImageUrl.v1 | URL to the full-frame image associated with the event. |
data.een.croppedFrameImageUrl.v1 | URL to the cropped image associated with the event. |
data.een.userData.v1 | Custom user-defined metadata in the associated vehicle entry (if available). |
data.een.lprAccessType.v1 | Access type configured in the associated vehicle entry (if available). |
Additional include values:
For a complete list including fleet code data, detection details, insights, and related events, see the API reference.
Related Events
LPR events and fleet code events can have parent-child relationships. If relatedEvents
or relatedEvents.event
is included in the include
query parameter, the API will return related events in the response.
Related events will be available under the relatedEvents
field and will include information such as the relationship type and related event ID. If relatedEvents.event
is used, full event details for related events will also be included.
Example with related events:
{
"id": "nINlL0YuoRAnv9QcHKXi",
"type": "een.lprPlateReadEvent.v1",
"data": [...],
"relatedEvents": [
{
"id": "nINlL0YuoRAnv9QcHKXa",
"rel": "child",
"event": {
"id": "nINlL0YuoRAnv9QcHKXa",
"type": "een.fleetCodeRecognitionEvent.v1",
"data": [
{
"type": "een.dotNumberRecognition.v1",
"regNumber": "123456",
"regNumberConfidence": 0.99
}
]
}
}
]
}
Core Query Parameters
Query Parameter | Description | Supported Operators |
---|---|---|
timestamp | Filter events based on timestamp using ISO-8601 format. | __gte , __lte |
plate | Filter by license plate. | __eq , __contains , __fuzzy |
direction | Filter by direction of the vehicle. | __in |
color | Filter by detected vehicle color. | __in |
make | Filter by detected vehicle make. | __in |
bodyType | Filter by detected vehicle body type. | __in |
data.een.userData.v1 | Filter events using custom user-defined fields from the vehicle entry. Use the prefix data.een.userData.v1. Example: To filter by apartmentNum = 12A, use: data.een.userData.v1.apartmentNum=12A | __eq |
pageSize | Number of events to return per page. | __eq |
Additional Parameters
For a complete parameter reference including fleet code filtering, advanced search options, and pagination tokens, see the API reference.
VSP Summary /lprEvents:Summary
The VSP Summary shows the camera-level event count summary for the last hour, yesterday, today, the last 7 days, and the last 30 days.
The event count can be presented for the whole account or listed per camera.
Response Structure
The API returns event count summaries organized by time periods:
{
"totalSize": 1,
"results": [
{
"hourly": { "count": 15 },
"daily": { "count": 120 },
"weekly": { "count": 450 },
"monthly": { "count": 1800 }
}
]
}
Response Examples
LPR Event Response
{
"totalSize": 1,
"results": [
{
"id": "nINlL0YuoRAnv9QcHKXi",
"startTimestamp": "2021-04-22T00:00:00.000+00:00",
"type": "een.lprPlateReadEvent.v1",
"actorId": "100d4c41",
"data": [
{
"type": "een.lprDetection.v1",
"plate": "ABC1234",
"plateConfidence": 0.99,
"direction": "exit"
},
{
"type": "een.vehicleAttributes.v1",
"color": "yellow",
"make": "Toyota",
"bodyType": "car"
},
{
"type": "een.userData.v1",
"apartmentNum": "105A"
},
{
"type": "een.fullFrameImageUrl.v1",
"httpsUrl": "https://media.c001.eagleeyenetworks.com/assets/events/..."
}
]
}
]
}
Fleet Code Event Response
{
"id": "nINlL0YuoRAnv9QcHYUn1",
"type": "een.fleetCodeRecognitionEvent.v1",
"data": [
{
"type": "een.truckNumberRecognition.v1",
"regNumber": "123321",
"regNumberConfidence": 0.99
},
{
"type": "een.fullFrameImageUrl.v1",
"httpsUrl": "https://media.c001.eagleeyenetworks.com/assets/events/..."
}
]
}
Example API Calls
Basic LPR Event Search
curl --request GET \
--url 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?plate__contains=ABC&type__in=een.lprPlateReadEvent.v1' \
--header 'accept: application/json'
import requests
url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?plate__contains=ABC&type__in=een.lprPlateReadEvent.v1"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(response.text)
using RestSharp;
var options = new RestClientOptions("https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?plate__contains=ABC&type__in=een.lprPlateReadEvent.v1");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?plate__contains=ABC&type__in=een.lprPlateReadEvent.v1';
const options = {method: 'GET', headers: {accept: 'application/json'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
Fleet Code Events with Images
curl --request GET \
--url 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?type__in=een.fleetCodeRecognitionEvent.v1&include=data.een.fullFrameImageUrl.v1,data.een.croppedFrameImageUrl.v1' \
--header 'accept: application/json'
import requests
url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?type__in=een.fleetCodeRecognitionEvent.v1&include=data.een.fullFrameImageUrl.v1,data.een.croppedFrameImageUrl.v1"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(response.text)
using RestSharp;
var options = new RestClientOptions("https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?type__in=een.fleetCodeRecognitionEvent.v1&include=data.een.fullFrameImageUrl.v1,data.een.croppedFrameImageUrl.v1");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?type__in=een.fleetCodeRecognitionEvent.v1&include=data.een.fullFrameImageUrl.v1,data.een.croppedFrameImageUrl.v1';
const options = {method: 'GET', headers: {accept: 'application/json'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
Time Range Search with User Data
curl --request GET \
--url 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?timestamp__gte=2021-04-22T00%3A00%3A00.000Z×tamp__lte=2021-04-23T00%3A00%3A00.000Z&type__in=een.fleetCodeRecognitionEvent.v1&apartmentNum=105A&include=' \
--header 'accept: application/json'
import requests
url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?timestamp__gte=2021-04-22T00%3A00%3A00.000Z×tamp__lte=2021-04-23T00%3A00%3A00.000Z&type__in=een.fleetCodeRecognitionEvent.v1&apartmentNum=105A&include="
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(response.text)
using RestSharp;
var options = new RestClientOptions("https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?timestamp__gte=2021-04-22T00%3A00%3A00.000Z×tamp__lte=2021-04-23T00%3A00%3A00.000Z&type__in=een.fleetCodeRecognitionEvent.v1&apartmentNum=105A&include=");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/lprEvents?timestamp__gte=2021-04-22T00%3A00%3A00.000Z×tamp__lte=2021-04-23T00%3A00%3A00.000Z&type__in=een.fleetCodeRecognitionEvent.v1&apartmentNum=105A&include=';
const options = {method: 'GET', headers: {accept: 'application/json'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
Pagination
Use pageToken
and pageSize
parameters for large result sets. The response includes nextPageToken
and prevPageToken
for navigation between pages of results.
Updated 4 days ago