V3 API - Computer vision technology for fleets
The Events API provides all device events (Telemetry, Vision and Hardware). It allows users to retrieve the latest events from devices and to search for events based on a specific time frame.
This function returns the latest device events from device.
body
{
"items": [
"01HMPAF1YGKVFNVCFACG543A7Z",
"01HNJJYG7NXTNF8X5BED7YCYV3",
"01HMPAF1YGKVFNVCFACG543A7Z",
"01HMKFCMWF49T5ZR4WT34BANBF",
"01HNJJYGJ4CXJ4WE0DA4PXAP0P",
"01HNJJYG741RJJRS4QESSJ3FXB",
"01HNJJYG87907F65E3PVV4DAXA",
"01HNB5YR23XTD1YXP7CFPQ6D6W"
]
}Copy
header
TelemetryEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01D03BD8WGVJ3GGS45SGNRZG8C",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675945051006,
"lastTimestampOfFix": 1675945050000,
"latitude": -23.329572,
"longitude": -51.178328,
"altitude": 639.1799926757812,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.66,
"vdop": 0.34,
"ignitionON": true,
"odometer": 272347,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 1,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "image"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
}
],
"telemetryEvent": {
"telemetryEventType": 1,
"maxSpeedExceeded": true
},
"visionEvent": {},
"hardwareEvent": {}
}
],
"NotProcess": null
}
VisionEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01GRTXJ4EHHWK8XNC162EC197W",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675940663762,
"lastTimestampOfFix": 1675940663000,
"latitude": -23.059565,
"longitude": -51.033406,
"altitude": 388.2489929199219,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.659,
"vdop": 0.34,
"ignitionON": true,
"odometer": 271945,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 2,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "image"
"feature": "event"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
"feature": "face"
}
],
"telemetryEvent": {},
"visionEvent": {
"VisionEventType": 4,
"VisionTimestamp": 1675209592,
"Fps": 30,
"NeutralHeadposePitch": 0.0,
"NeutralHeadposeYaw": 0.0,
"NeutralHeadposeRoll": 0.0,
"HeadposePitch": 0.0,
"HeadposeYaw": 0.0,
"HeadposeRoll": 0.0,
"GazeConfidence": 0.0,
"FaceConfidence": 0.0,
"MaskConfidence:": 0.0,
"GlassesConfidence:": 0.0,
"Perclos": 0.0,
"BlinksPerMin": 0.0,
"LeftEyeClosureTime": 0.0,
"RightEyeClosureTime": 0.0,
"MaskDetected": false,
"GlassesDetected": false
"BoundingBox" : {
"X": 0.0,
"Y": 0.0,
"Width": 0.0,
"Height": 0.0,
"IsDriver": true
}
},
"hardwareEvent": {}
}
],
"NotProcess": null
}
HardwareEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01GRTXJ4EHHWK8XNC162EC197W",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675940603762,
"lastTimestampOfFix": 1675940603000,
"latitude": -23.059549,
"longitude": -51.03736,
"altitude": 388.2489929199219,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.659,
"vdop": 0.34,
"ignitionON": true,
"odometer": 271945,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 2,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "event"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
}
],
"telemetryEvent": {},
"visionEvent": {},
"hardwareEvent": {
"HardwareEventType": 9,
"HardwareModel": "JC400P",
"VehicleBatteryConnected": true,
"Pid": "0x0C",
"Version": "1.0",
"FirmwareVersion": "2.0",
"TimeSinceBoot": 1675940663000
"Iccid": "1234567890123456789",
"OriginalUlid": "01GRTXJ4EHHWK8XNC162EC197W",
"Details": ""
}
}
],
"NotProcess": null
}
TelemetryEvent
VisionEvent
HardwareEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/events/latest \
--header 'maxkeys: 100' \
--body '{"items":["01HMPAF1YGKVFNVCFACG543A7Z", "01HNJJYG7NXTNF8X5BED7YCYV3", "01HMPAF1YGKVFNVCFACG543A7Z", "01HMKFCMWF49T5ZR4WT34BANBF", "01HNJJYGJ4CXJ4WE0DA4PXAP0P", "01HNJJYG741RJJRS4QESSJ3FXB", "01HNJJYG87907F65E3PVV4DAXA", "01HNB5YR23XTD1YXP7CFPQ6D6W"]
}'
fetch('https://v3mock.apiv3.com/events/latest', {
method: 'POST',
headers: {
"maxkeys": "100"
},
body: {
"items": "['01HMPAF1YGKVFNVCFACG543A7Z', '01HNJJYG7NXTNF8X5BED7YCYV3', '01HMPAF1YGKVFNVCFACG543A7Z', '01HMKFCMWF49T5ZR4WT34BANBF', '01HNJJYGJ4CXJ4WE0DA4PXAP0P', '01HNJJYG741RJJRS4QESSJ3FXB', '01HNJJYG87907F65E3PVV4DAXA', '01HNB5YR23XTD1YXP7CFPQ6D6W']"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/events/latest',
headers: {"maxkeys": "100"},
body: {
"items": "['01HMPAF1YGKVFNVCFACG543A7Z', '01HNJJYG7NXTNF8X5BED7YCYV3', '01HMPAF1YGKVFNVCFACG543A7Z', '01HMKFCMWF49T5ZR4WT34BANBF', '01HNJJYGJ4CXJ4WE0DA4PXAP0P', '01HNJJYG741RJJRS4QESSJ3FXB', '01HNJJYG87907F65E3PVV4DAXA', '01HNB5YR23XTD1YXP7CFPQ6D6W']"
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/events/latest"
headers = {
"maxkeys": "100"
"Content-Type": "application/json"
}
body = {
"items": "['01HMPAF1YGKVFNVCFACG543A7Z', '01HNJJYG7NXTNF8X5BED7YCYV3', '01HMPAF1YGKVFNVCFACG543A7Z', '01HMKFCMWF49T5ZR4WT34BANBF', '01HNJJYGJ4CXJ4WE0DA4PXAP0P', '01HNJJYG741RJJRS4QESSJ3FXB', '01HNJJYG87907F65E3PVV4DAXA', '01HNB5YR23XTD1YXP7CFPQ6D6W']"
}
response = requests.POST(url, headers=headers, json=body)
This function returns events by time. Warning: Maximum time interval of 1 hour.
path
header
TelemetryEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01D03BD8WGVJ3GGS45SGNRZG8C",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675945051006,
"lastTimestampOfFix": 1675945050000,
"latitude": -23.329572,
"longitude": -51.178328,
"altitude": 639.1799926757812,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.66,
"vdop": 0.34,
"ignitionON": true,
"odometer": 272347,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 1,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "image"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
}
],
"telemetryEvent": {
"telemetryEventType": 1,
"maxSpeedExceeded": true
},
"visionEvent": {},
"hardwareEvent": {}
}]
}
VisionEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01GRTXJ4EHHWK8XNC162EC197W",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675940663762,
"lastTimestampOfFix": 1675940663000,
"latitude": -23.059565,
"longitude": -51.033406,
"altitude": 388.2489929199219,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.659,
"vdop": 0.34,
"ignitionON": true,
"odometer": 271945,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 2,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "image"
"feature": "event"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
"feature": "face"
}
],
"telemetryEvent": {},
"visionEvent": {
"VisionEventType": 4,
"VisionTimestamp": 1675209592,
"Fps": 30,
"NeutralHeadposePitch": 0.0,
"NeutralHeadposeYaw": 0.0,
"NeutralHeadposeRoll": 0.0,
"HeadposePitch": 0.0,
"HeadposeYaw": 0.0,
"HeadposeRoll": 0.0,
"GazeConfidence": 0.0,
"FaceConfidence": 0.0,
"MaskConfidence:": 0.0,
"GlassesConfidence:": 0.0,
"Perclos": 0.0,
"BlinksPerMin": 0.0,
"LeftEyeClosureTime": 0.0,
"RightEyeClosureTime": 0.0,
"MaskDetected": false,
"GlassesDetected": false
"BoundingBox" : {
"X": 0.0,
"Y": 0.0,
"Width": 0.0,
"Height": 0.0,
"IsDriver": true
}
},
"hardwareEvent": {}
}]
}
HardwareEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01GRTXJ4EHHWK8XNC162EC197W",
"deviceSource": "862793330426543",
"sequenceNumber": 13,
"timestamp": 1675940603762,
"lastTimestampOfFix": 1675940603000,
"latitude": -23.059549,
"longitude": -51.03736,
"altitude": 388.2489929199219,
"gpsHeading": 0,
"speed": 32,
"satellites": 16,
"fixed": true,
"hdop": 0.659,
"vdop": 0.34,
"ignitionON": true,
"odometer": 271945,
"vehicleBatteryVoltage": 13.989,
"backupBatteryVoltage": 13.989,
"connectionType": 17,
"signalStrength": 0,
"mcc": 33,
"mnc": 20,
"cellID": 0,
"locationAreaCode": 0,
"timingAdvance": 0,
"eventType": 2,
"files": [
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam0.png",
"bucket": "v3-device-images",
"type": "image"
},
{
"filename": "01GXRRKM43W02X5JZDSMZHAJJY/862798050833538/01GXRRKYF3TD4NJF353QPFTWJ3_cam1.png",
"bucket": "v3-device-images",
"type": "image"
}
],
"telemetryEvent": {},
"visionEvent": {},
"hardwareEvent": {
"HardwareEventType": 9,
"HardwareModel": "JC400P",
"VehicleBatteryConnected": true,
"Pid": "0x0C",
"Version": "1.0",
"FirmwareVersion": "2.0",
"TimeSinceBoot": 1675940663000
"Iccid": "1234567890123456789",
"Details": ""
}
}]
}
TelemetryEvent
VisionEvent
HardwareEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/events/devices/{devicesource}/events/search/time \
--header 'inithour:mm/dd/yyyy 00:00:00' \
--header 'endhour:mm/dd/yyyy 00:00:00'
fetch('https://v3mock.apiv3.com/events/devices/{devicesource}/events/search/time', {
method: 'GET',
headers: {
"inithour": "mm/dd/yyyy 00:00:00",
"endhour": "mm/dd/yyyy 00:00:00"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/events/devices/{devicesource}/events/search/time',
headers: {"inithour": "mm/dd/yyyy 00:00:00","endhour": "mm/dd/yyyy 00:00:00"},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/events/devices/{devicesource}/events/search/time"
headers = {
"inithour": "mm/dd/yyyy 00:00:00",
"endhour": "mm/dd/yyyy 00:00:00"
}
response = requests.GET(url, headers=headers)
This API returns the files sent by the device inside an event events.
Returned links give direct access to the file within S3 Bucket
body
{
"files": [
{
"BucketName": "v3-device-faces",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"
}
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"
}
]
}Copy
header
Response
{
"files":[
{
"filename":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png",
"urlfile":"https://v3-device-faces.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"
"urlfilethumb":"https://v3-device-faces.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0_thumbnail.png"
"urlfilecrop":"https://v3-device-faces.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0_filecrop.png"
},
{
"filename":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png",
"urlfile":"https://v3-device-images.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"
"urlfilethumb":"https://v3-device-faces.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0_thumbnail.png"
"urlfilecrop":"https://v3-device-faces.s3.us-west-2.amazonaws.com/01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0_filecrop.png"
}
]
}
Response
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/events/files \
--body '{"files":[{"BucketName": "v3-device-images","FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"}{"BucketName": "v3-device-images","FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"}]}'
fetch('https://v3mock.apiv3.com/events/files', {
method: 'POST',
body: {
"files": [
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"
}
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"
}
]
}
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/events/files',
body: {
"files": [
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"
}
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"
}
]
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/events/files"
body = {
"files": [
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam0.png"
}
{
"BucketName": "v3-device-images",
"FileName":"01GR59A9AX/862798050833538/01GXRRTMW98N719SNTRJ5YVC7C_cam1.png"
}
]
}
response = requests.POST(url, json=body)
The Face API provides face events and recognition actions. It allows users to index new faces and catch recognition events (Face Events)
This function returns the latest face events.
body
{
"Ulids": [
"TPGPGWHGDYQDSJ5G1HKV1902",
"GCGR3RNHE6MYNBGDFXBJBD2K",
"HJGR3RP5QPY9R1T1E3ZCPF1D"
]
}Copy
header
FaceEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01D03BD8WGVJ3GGS45SGNRZG8C",
"generatorulid": "862793330426543",
"driverulid": "01D1LD8WGVJ3GGS45SGSAD89A",
"faceeventtype": 1,
"facematches": [
{
"Face": {
"BoundingBox": {
"Height": 0.06333330273628235,
"Left": 0.1718519926071167,
"Top": 0.7366669774055481,
"Width": 0.11061699688434601
},
"Confidence": 100,
"driverulid": "01D1LD8WGVJ3GGS45SGSAD89A",
"FaceId": "578e2e1b-d0b0-493c-aa39-ba476a421a34",
"ImageId": "9ba38e68-35b6-5509-9d2e-fcffa75d1653",
"IndexFacesModelVersion": "6.0"
},
"Similarity": 99.9764175415039
}
],
"devicesource": "862793330426543",
"filename": "input.jpg"
}
],
"NotProcess": null
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/face/latest\
--header 'maxkeys: 100' \
--body '{"items":["01GPGWHGDYQDSJ5G1HKV19021H", "01GR3RNHE6MYNBGDFXBJBD2KND", "01GR3RP5QPY9R1T1E3ZCPF1DBD"]}'
fetch('https://v3mock.apiv3.com/face/latest', {
method: 'POST',
headers: {
"maxkeys": "100"
},
body: {
"items": "['01GPGWHGDYQDSJ5G1HKV19021H', '01GR3RNHE6MYNBGDFXBJBD2KND', '01GR3RP5QPY9R1T1E3ZCPF1DBD']"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/face/latest',
headers: {"maxkeys": "100"},
body: {
"items": "['01GPGWHGDYQDSJ5G1HKV19021H', '01GR3RNHE6MYNBGDFXBJBD2KND', '01GR3RP5QPY9R1T1E3ZCPF1DBD']"
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/latest"
headers = {
"maxkeys": "100"
"Content-Type": "application/json"
}
body = {
"items": "['01GPGWHGDYQDSJ5G1HKV19021H', '01GR3RNHE6MYNBGDFXBJBD2KND', '01GR3RP5QPY9R1T1E3ZCPF1DBD']"
}
response = requests.POST(url, headers=headers, json=body)
This function triggers a facial recognition.
body
{
"eventulid":"01H4RV9NA6KVB3C41Y5NCMAW6Y",
"devicesource":"8933200042123132",
"teamulids":["01H4RV9NA6KVB3C41Y5NCMAW6Y"]
}Copy
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/face/recognition\
fetch('https://v3mock.apiv3.com/face/recognition', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/face/recognition',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/recognition"
response = requests.POST(url)
This function returns the face events by time. Warning: Maximum time interval of 1 hour.
path
header
FaceEvent
{
"Events": [
{
"accountulid": "01GRV1H4FBZSTJJ75PHYPWAMD5",
"ulid": "01D03BD8WGVJ3GGS45SGNRZG8C",
"generatorulid": "862793330426543",
"driverulid": "01D1LD8WGVJ3GGS45SGSAD89A",
"faceeventtype": 1,
"facematches": [
{
"Face": {
"BoundingBox": {
"Height": 0.06333330273628235,
"Left": 0.1718519926071167,
"Top": 0.7366669774055481,
"Width": 0.11061699688434601
},
"Confidence": 100,
"driverulid": "01D1LD8WGVJ3GGS45SGSAD89A",
"FaceId": "578e2e1b-d0b0-493c-aa39-ba476a421a34",
"ImageId": "9ba38e68-35b6-5509-9d2e-fcffa75d1653",
"IndexFacesModelVersion": "6.0"
},
"Similarity": 99.9764175415039
}
],
"devicesource": "862793330426543",
"filename": "input.jpg"
}
],
"NotProcess": null
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/devices/{devicesource}/face/search/time \
--header 'inithour:mm/dd/yyyy 00:00:00' \
--header 'endhour:mm/dd/yyyy 00:00:00'
fetch('https://v3mock.apiv3.com/face/devices/{devicesource}/face/search/time', {
method: 'GET',
headers: {
"inithour": "mm/dd/yyyy 00:00:00",
"endhour": "mm/dd/yyyy 00:00:00"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/devices/{devicesource}/face/search/time',
headers: {"inithour": "mm/dd/yyyy 00:00:00","endhour": "mm/dd/yyyy 00:00:00"},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/devices/{devicesource}/face/search/time"
headers = {
"inithour": "mm/dd/yyyy 00:00:00",
"endhour": "mm/dd/yyyy 00:00:00"
}
response = requests.GET(url, headers=headers)
Indexes the face of drivers.
body
{
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"
"objectkey": [
"v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9AHDHADJAU2.png"
]
}Copy
header
Response
{
"process":
[
{
"ulid": "01H1A5TKKDSVRHW734218JDN8Q",
"driverulid": "01H0MTECKY8JPRVWVX9J1PCTMR",
"newobjectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"oldobjectkey": "v3-device-faces/01GZXXCVVPEKM7E830XAMJKA14/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png"
},
],
"notprocessed":
[
{
"driverulid": "01H0MTECKY8JPRVWVX9J1PCTMR",
"objectkeys":["v3-device-faces/01GZXXCVVPEKM7E830XAMJKA14/862798050579016/01H11S0HEHQPREZMYE8PAWM44X_cam0.png"]
}
]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/face/drivers/index \
--body '{ "objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png", "driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT", "teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"}'
fetch('https://v3mock.apiv3.com/face/drivers/index', {
method: 'POST',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/face/drivers/index',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/drivers/index"
headers = {
"maxkeys": "100"
"Content-Type": "application/json"
}
body = {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"
}
response = requests.POST(url, json=body)
Re-index photos that have been incorrectly recognized by the system.
body
{
"teamulid":"01H0DF3PK4H9ZTXVHWV8FJW8NA",
"driverulid":"01H0H23PK4H9ZTXVHWV8FJW8NA",
"photoulids": ["01H0MT3PK4H9ZTXVHWV8FJWDA"]
}Copy
header
Response
{
"notprocessed": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid} \
--body '{"objectkey":"v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png","accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX","driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT","teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"}'
fetch('https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}', {
method: 'POST',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3""
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}"
body = {
" "objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3""
}
response = requests.POST(url, json=body)
Change photos that have been incorrectly recognized by the system.
body
{
"teamulid":"01H0DF3PK4H9ZTXVHWV8FJW8NA",
"driverulid":"01H0H23PK4H9ZTXVHWV8FJW8NA",
"photoulids": ["01H0MT3PK4H9ZTXVHWV8FJWDA"]
}Copy
header
Response
{
"notprocessed": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid} \
--body '{"objectkey":"v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png","accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX","driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT","teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"}'
fetch('https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}', {
method: 'POST',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}',
body: {
"objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3""
},
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/reindexing/driver/change/{ulid}/{teamulid}/{driverulid}"
body = {
" "objectkey": "v3-device-faces/V3/862798050581038/01GJFCV0ZNPGNEH9A2GSE2J0VJ.png",
"accountUlid": "01GR59A9AQPQ4M9AFK53T7AZQX",
"driverUlid": "01GVJWPWB8R3RDMJ61QT6HMAFT",
"teamUlid": "01GVJVTVWYYVGVFD2ZX99KPHW3""
}
response = requests.POST(url, json=body)
List of photos for a specific driver.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/recognized \
fetch('https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/recognized', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/recognized',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/recognized"
response = requests.GET(url)
List of photos for a specific team.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/teams/{teamulid}/photos/recognized \
fetch('https://v3mock.apiv3.com/face/teams/{teamulid}/photos/recognized', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/teams/{teamulid}/photos/recognized',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/teams/{teamulid}/photos/recognized"
response = requests.GET(url)
List of photos for a specific driver.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/indexed \
fetch('https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/indexed', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/indexed',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/drivers/{driverulid}/photos/indexed"
response = requests.GET(url)
List of photos for a specific team.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"teamulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/teams/{teamulid}/photos/indexed \
fetch('https://v3mock.apiv3.com/face/teams/{teamulid}/photos/indexed', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/teams/{teamulid}/photos/indexed',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/teams/{teamulid}/photos/indexed"
response = requests.GET(url)
List of photos for a specific device.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/devices/{devicesource}/photos/unrecognized \
fetch('https://v3mock.apiv3.com/face/devices/{devicesource}/photos/unrecognized', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/devices/{devicesource}/photos/unrecognized',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/devices/{devicesource}/photos/unrecognized"
response = requests.GET(url)
List of photos for a specific fleet.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/fleets/{fleetulid}/photos \
fetch('https://v3mock.apiv3.com/face/fleets/{fleetulid}/photos', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/fleets/{fleetulid}/photos',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/fleets/{fleetulid}/photos"
response = requests.GET(url)
List of photos for a specific event.
path
header
Response
{
"files": [
{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
]
}
Files
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/events/{eventulid}/photos \
fetch('https://v3mock.apiv3.com/face/events/{eventulid}/photos', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/events/{eventulid}/photos',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/events/{eventulid}/photos"
response = requests.GET(url)
Get a specific driver recognized photo.
path
header
Response
{
"file":{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
}
File
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/drivers/photos/{photoulid} \
fetch('https://v3mock.apiv3.com/face/drivers/photos/{photoulid}', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/drivers/photos/{photoulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/drivers/photos/{photoulid}"
response = requests.GET(url)
Get a specific driver indexed photo.
path
header
Response
{
"file":{
"ulid": "01GVK81BM0QTTDS8K8MAYZBC2B",
"urlfile":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00.png",
"urlfilethumb":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_thumbnail.png"
"urlfilecrop":"https://v3.amazonaws.com/V3/01H0QEZ0TY0PM4KSCB33R60Z00_filecrop.png"
"driverulid":"01H0QEZ0TY0PM4KSCB33R60Z00",
"filename": "01H0QEZ0TY0PM4KSCB33R60Z00.png",
"filepath": "V3/01H0QEZ0TY0PM4KSCB33R60Z00.png"
}
}
File
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/face/drivers/photos/{photoulid}/indexed \
fetch('https://v3mock.apiv3.com/face/drivers/photos/{photoulid}/indexed', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/face/drivers/photos/{photoulid}/indexed',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/drivers/photos/{photoulid}/indexed"
response = requests.GET(url)
Remove an indexed photo from the system.
body
{
"photoulids": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}Copy
header
Deleted
Response
{
"notprocessed": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/face/remove/photo/indexed
fetch('https://v3mock.apiv3.com/face/remove/photo/indexed', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/face/remove/photo/indexed',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/remove/photo/indexed"
response = requests.DELETE(url)
Remove all driver indexed photos from the system.
body
{
"ulids": [
{
"driverulid": "01HTCT8BBPK4MF7MZKZ055WAAA",
"teamulid": "01HTCT4A1Q2DXS00XB5Y0GPMAA"
},
{
"driverulid": "01HTCTBBM2MT4QR085MAN01BBB",
"teamulid": "01HTCTB5HCFBE6ZHMZQ5MERBBB"
}
]
}Copy
header
Deleted
Response
{
"notprocessed": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/face/remove/driver/indexed/batch
fetch('https://v3mock.apiv3.com/face/remove/driver/indexed/batch', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/face/remove/driver/indexed/batch',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/remove/driver/indexed/batchd"
response = requests.DELETE(url)
Remove an recognized photo from the system.
body
{
"photoulids": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}Copy
header
Deleted
{
"notprocessed": ["01H0MT3PK4H9ZTXVHWV8FJW8NA"]
}
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/face/remove/photo
fetch('https://v3mock.apiv3.com/face/remove/photo', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/face/remove/photo',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/face/remove/photo"
response = requests.DELETE(url)
The Management provides resources for managing client account operations. This API enables users to create, update, delete, and retrieve information for accounts, devices, drivers, fleets and teams.
Retrieves information about the logged account.
Success
{
"ulid": "01H4KV0PXZJTGXMC2QH3220TJ5",
"generickey": "testerAccount",
"accountid": "01H4KV0PXZJTGXMC2QH3220TJ5"
}
Account Example
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/accounts/name
fetch('https://v3mock.apiv3.com/management/accounts/name', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'hhttps://v3mock.apiv3.com/management/accounts/name',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/accounts/name"
response = requests.GET(url)
Updates the generic key of account.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/accounts/generickey/{generickey}
fetch('https://v3mock.apiv3.com/management/accounts/generickey/{generickey}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/accounts/generickey/{generickey}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/accounts/generickey/{generickey}"
response = requests.PUT(url)
Deletes the device with the specified ULID and returns a success message.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/management/devices/{devicesource}
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/management/devices/{devicesource}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}"
headers = {
}
response = requests.DELETE(url, headers=headers)
Updates the automatic recognition function of device, {state} can be S (activated) or N (desactivated).
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/devices/{devicesource}/automaticrecognition/{state}
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}/automaticrecognition/{state}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/devices/{devicesource}/automaticrecognition/{state}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}/automaticrecognition/{state}"
response = requests.PUT(url)
Updates the phone number for a specific device.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/devices/{devicesource}/phonenumber/{phonenumber}
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}/phonenumber/{phonenumber}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/devices/{devicesource}/phonenumber/{phonenumber}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}/phonenumber/{phonenumber}"
response = requests.PUT(url)
Updates the iccid for a specific device.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/devices/{deviceSource}/iccid/{iccid}
fetch('https://v3mock.apiv3.com/management/devices/{deviceSource}/iccid/{iccid}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/devices/{deviceSource}/iccid/{iccid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{deviceSource}/iccid/{iccid}"
response = requests.PUT(url)
Updates the fleet for a specific device.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/devices/{devicesource}/fleets/{fleetulid}
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}/fleets/{fleetulid}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/devices/{devicesource}/fleets/{fleetulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}/fleets/{fleetulid}"
response = requests.PUT(url)
Retrieves information about the device with the specified ULID.
path
header
Success
{
"ulid": "01H4KV0PXZJTGXMC2QH3220TJ5",
"model": "JC400P",
"devicesource": "123456789012345",
"phonenumber": "999999999",
"fleetulid": "01H4KV0YENPDNZ61GH8QG10885",
"automaticrecognition": "N",
"iccid": "891004234814455936F"
}
Device Example
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/devices/{devicesource}/info
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}/info', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'hhttps://v3mock.apiv3.com/management/devices/{devicesource}/info',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}/info"
response = requests.GET(url)
Retrieves information about the device with the specified ULID.
path
header
Success
{
"ulid": "01H4KV0PXZJTGXMC2QH3220TJ5",
"model": "JC400P",
"devicesource": "123456789012345",
"phonenumber": "999999999",
"fleetulid": "01H4KV0YENPDNZ61GH8QG10885",
"automaticrecognition": "N",
"iccid": "891004234814455936F"
}
Device Example
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/devices/{devicesource}/info
fetch('https://v3mock.apiv3.com/management/devices/{devicesource}/info', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'hhttps://v3mock.apiv3.com/management/devices/{devicesource}/info',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/devices/{devicesource}/info"
response = requests.GET(url)
Retrieves all devices attached to the fleet with the specified ULID.
path
header
Success
[
{
"ulid": "01H4KTYWFSTZ0GHJC7B7ZNP2VB",
"model": "JC400P",
"devicesource": "123456789012345",
"phonenumber": "999999999",
"fleetulid": "01H4KTYD2FQHHQ8WJ5P9NDTXCY",
"automaticrecognition": "N",
"iccid": "891004234814455936F"
},
{
"ulid": "01H4KTYQB3MBD1AZC6V22HKP7C",
"model": "JC400P",
"devicesource": "123456789012345",
"phonenumber": "88888888",
"fleetulid": "01H4KTYD2FQHHQ8WJ5P9NDTXCY"
"automaticrecognition": "S",
"iccid": "42310423485565966B"
}
]
Device Example
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
Creates a new driver with the specified parameters and returns the ULID of the newly created
driver.
body
{
"teamulid": "01GSWKCH5F8WW24E481S4H120A",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
}
header
Created
{
"teamulid": "01GSWKCH5F8WW24E481S4H120A",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
}>
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/management/drivers
fetch('https://v3mock.apiv3.com/management/drivers', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/management/drivers',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/drivers"
response = requests.POST(url)
Permits batch creation of driver lists.
body
{ "drivers" : [{"teamulid": "01GSWKCH5F8WW24E481S4H120A","generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"}]}
header
Created
{"processed" : [{"teamulid": "01GSWKCH5F8WW24E481S4H120A","generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl","ulid": "01GSWKCH5F8WW24E481S4H120B"}] , "notprocessed" : [{"teamulid": "01GSWKCH5F8WW24E481S4H120A","generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl","error": "Team not found"}]}>
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/management/drivers/batch
fetch('https://v3mock.apiv3.com/management/drivers/batch', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/management/drivers/batch',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/drivers/batch"
response = requests.POST(url)
Updates the generic key of driver.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/drivers/{driverulid}/generickey/{generickey}}
fetch('https://v3mock.apiv3.com/management/drivers/{driverulid}/generickey/{generickey}}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/drivers/{driverulid}/generickey/{generickey}}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/drivers/{driverulid}/generickey/{generickey}}"
response = requests.PUT(url)
Deletes the driver with the specified ULID and returns a success message.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/management/drivers/{driverulid}
fetch('https://v3mock.apiv3.com/management/drivers/{driverulid}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/management/drivers/{driverulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/drivers/{driverulid}"
response = requests.DELETE(url)
Retrieves information about the driver with the specified ULID.
path
header
Success
{
"ulid": "01GSD8KNTT51P3FHVCX0GD0CAX",
"teamulid": "01GSD89RQM8PBH1QBKH0MCDEKF",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/drivers/{driverulid}/info
fetch('https://v3mock.apiv3.com/management/drivers/{driverulid}/info', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/drivers/{driverulid}/info',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/drivers/{driverulid}/info"
response = requests.GET(url)
Retrieves all drivers belonging to the team with the specified ULID.
path
header
Drivers
[
{
"ulid": "01GSD8KNTT51P3FHVCX0GD0CAX",
"teamulid": "01GSD89RQM8PBH1QBKH0MCDEKF",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
},
{
"ulid": "01H4P3W731NN88M38BEE8M3X6Q",
"teamulid": "01GSD89RQM8PBH1QBKH0MCDEKF",
"generickey": "Oa930aWR08M3TQiI8M323Kk"
}
]
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/drivers
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/drivers', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/drivers',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/drivers"
response = requests.GET(url)
Creates a new fleet with the specified parameters and returns the ULID of the newly created
fleet.
body
{
"teamulid": "01GSWKCH5F8WW24E481S4H120A",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
}
header
Created
{
"ulid": "01H4P4111ZKYN36TJPCRW7AHX6"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/management/fleets
fetch('https://v3mock.apiv3.com/management/fleets', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/management/fleets',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/fleets"
response = requests.POST(url)
Updates the generic key of fleet.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/fleets/{fleetulid}/generickey/{generickey}}
fetch('https://v3mock.apiv3.com/management/fleets/{fleetulid}/generickey/{generickey}}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/fleets/{fleetulid}/generickey/{generickey}}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/fleets/{fleetulid}/generickey/{generickey}}"
response = requests.PUT(url)
Deletes the fleet with the specified ULID and returns a success message.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/management/fleets/{fleetulid}
fetch('https://v3mock.apiv3.com/management/fleets/{fleetulid}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/management/fleets/{fleetulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/fleets/{fleetulid}"
response = requests.DELETE(url)
Retrieves information about the fleet with the specified ULID.
path
header
Success
{
"ulid":"01H4PD4VAVA8HBX2B8Z03NYQAY",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl",
"teamulid":"01H4PD50J58GCBVNJPG4QXRAX6"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/fleets/{fleetulid}/info
fetch('https://v3mock.apiv3.com/management/fleets/{fleetulid}/info', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/fleets/{fleetulid}/info',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/fleets/{fleetulid}/info"
response = requests.GET(url)
Retrieves all fleets.
Success
{
"fleets": [
{
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl",
"ulid": "01GSG4QWX87VWPYW093ATW1PFF",
"teamulid":"01H4PD50J58GCBVNJPG4QXRAX6"
},
{
"generickey": "CYtkKoPWbjeFAaBQiItXb",
"ulid": "01FLBNXKYW6RXCDKMCFRNRABY6",
"teamulid":"01H4PD50J58GCBVNJPG4QXRAX6"
}
]
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/fleets
fetch('https://v3mock.apiv3.com/management/fleets', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/fleets',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/fleets"
response = requests.GET(url, headers=headers)
Creates a new team with the specified parameters and returns the ULID of the newly created team.
body
{
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
}
header
Team Created
{
"ulid": "01H4P3HPFD9CB0M63Z47QCNJ8C"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/management/teams
fetch('https://v3mock.apiv3.com/management/teams', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/management/teams',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams"
response = requests.POST(url)
Deletes the team with the specified ULID and returns a success message.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/management/teams/{teamulid}
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}"
response = requests.DELETE(url)
Updates the generic key of account.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/generickey/{generickey}}
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/generickey/{generickey}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/generickey/{generickey}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/generickey/{generickey}"
response = requests.PUT(url)
Retrieves information about the team with the specified ULID.
path
header
Success
{
"ulid":"01H4PDMQDGGTA2JX1T4M33WJAD",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl",
"accountulid":"01H4PDMWAPS08CVW8VDASQQWKD"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/info
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/info', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/info',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/info"
response = requests.GET(url)
Retrieves all teams belonging to the account.
Drivers
{
"teams": [
{
"ulid": "01GSG4QWX87VWPYW093ATW1PFF",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
"accountulid": "01GY9VB573ABKECQEPN9KYGK6HK"
},
{
"ulid": "01GSG4QWX87VWPYW093ATW1PFF",
"generickey": "PHN2ZyB3aWR0aD0iMTQiIGhl"
"accountulid": "01GYT569CKAHEROEPN9KYFK6BK"
}
]
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/management/teams
fetch('https://v3mock.apiv3.com/management/teams', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/management/teams',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams"
response = requests.GET(url)
Create a driver that belongs to 2 or more teams with the specified parameters and returns the ULID of the newly created teamDriver.
path
header
TeamDriver Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/add
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/add', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/add',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/add"
response = requests.POST(url)
Deletes the driver with the specified ULID of the team and returns a success message.
path
header
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/remove
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/remove', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/remove',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/remove"
response = requests.DELETE(url)
Updates the Team for a specific driver.
path
header
Success
"Successfully updated driver 01H5HVXWNVMRKG9VZ9P0TWA5XD from 01H0MT3PK4H9ZTXVHWV8FJW8NA to 01H5HW00KX80RNEBQJEAD8G9AP"
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request PUT \
--url https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/update/{teamulid}
fetch('https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/update/{teamulid}', {
method: 'PUT',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'PUT',
url: 'https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/update/{teamulid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/management/teams/{teamulid}/drivers/{driverulid}/update/{teamulid}"
response = requests.PUT(url)
The Order API is responsible for managing the delivery of commands and configurations to telemetry devices. Users can send orders to individual devices or fleets of devices, which can include commands or configurations to be applied to the device(s). The API also allows users to retrieve the current configuration of a device, which can be useful for troubleshooting or maintenance purposes. Additionally, users can check the status of an order to ensure that it has been successfully delivered to the device.
Sends a batch of orders.
Body
{
"devices": ["862798050834858", "862798050575832"],
"orders": [
{
"config":"MAX_SPEED_KMH",
"value":100
}
]
}
header
Order Created
{
"devices": [
{
"deviceSource": "862798050834858",
"successfulOrders": [
{
"orderUlid": "01HACP87N57SF5RQZMJTV1898Q",
"config": [
"MAX_SPEED_KMH"
]
}
],
"failedOrders": []
}
]
}
Order Sent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/config \
--body '{"devices": ["862798050834858", "862798050575832"],"orders": [{"config":"MAX_SPEED_KMH","value":100}]}'
fetch('https://v3mock.apiv3.com/order/devices/config', {
method: 'POST',
body: {
"{"devices": ["862798050834858", "862798050575832"],"orders": [{"config":"MAX_SPEED_KMH","value":100}]}"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/config',
body: {"devices": ["862798050834858", "862798050575832"],"orders": [{"config":"MAX_SPEED_KMH","value":100}]}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/config"
body = {"devices": ["862798050834858", "862798050575832"],"orders": [{"config":"MAX_SPEED_KMH","value":100}]}
response = requests.POST(url, json=body)
Returns orders sent and pending for a specific device.
path
header
Success
[
{
"orderUlid": "01HA5A5G0YB4MDMS3SJJCJ75B0",
"status": "SENT"
},
{
"orderUlid": "01HA5C2QMQQFZ4P3Z4Q31A0VH6",
"status": "PENDING"
},
{
"orderUlid": "01HA84RN7E8D1CYPS1S07JY3QN",
"status": "PENDING"
},
{
"orderUlid": "01HA84SBF1EBB039MPQ2ZRMQ71",
"status": "PENDING"
}
]
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}"
response = requests.GET(url)
Returns the status of a specific order.
path
header
Success
[
{
"orderUlid": "01HA5A5G0YB4MDMS3SJJCJ75B0",
"status": "SENT"
},
]
FaceEvent
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request GET \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}', {
method: 'GET',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'GET',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}"
response = requests.GET(url)
Deletes all pending and sent orders from a specific device.
path
header
Success
{
"orderUlids": [
"01HA5A5G0YB4MDMS3SJJCJ75B0", "01HA5C2QMQQFZ4P3Z4Q31A0VH6", "01HA84RN7E8D1CYPS1S07JY3QN", "01HA84SBF1EBB039MPQ2ZRMQ71"
]
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}"
response = requests.DELETE(url)
Deletes a specific order with a status of sent or pending.
path
header
Success
{
"orderUlid": "01HA5A5G0YB4MDMS3SJJCJ75B0"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/order/{orderUlid}
fetch('https://v3mock.apiv3.com/order/{orderUlid}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/order/{orderUlid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/{orderUlid}"
response = requests.DELETE(url)
Add a WiFi configuration to the device.
path
Body
{
"ssid": "123455689",
"password": "Aa123!"
}
header
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi \
--body '{"ssid": "123455689","password": "Aa123!"}'
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi', {
method: 'POST',
body: {
"{"ssid": "123455689","password": "Aa123!"}"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: ' https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi',
body: {"ssid": "123455689","password": "Aa123!"}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi"
body = {"ssid": "123455689","password": "Aa123!"}
response = requests.POST(url, json=body)
Add a WiFi configuration to many devices at once.
header
Body
{
"wifis": [
{
"deviceSource": "1234567",
"ssid": "wifi1",
"password": "Aa123!"
},
{
"deviceSource": "123456",
"ssid": "wifi2",
"password": "Aa123!"
}
]
}
header
Order Created
{
"orderUlid": "01HAMRR5KKPB29JS1N80MHJV8K"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/batch/wifi \
--body '{"ssid": "123455689","password": "Aa123!"}'
fetch('https://v3mock.apiv3.com/order/devices/batch/wifi', {
method: 'POST',
body: {
"{"ssid": "123455689","password": "Aa123!"}"
},
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: ' https://v3mock.apiv3.com/order/devices/batch/wifi',
body: {"ssid": "123455689","password": "Aa123!"}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/batch/wifi"
body = {"ssid": "123455689","password": "Aa123!"}
response = requests.POST(url, json=body)
Deletes a WiFi configuration for the device.
path
header
Success
{
"orderUlid": "01HA5A5G0YB4MDMS3SJJCJ75B0"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request DELETE \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi/{wifiUlid}
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi/{wifiUlid}', {
method: 'DELETE',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'DELETE',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi/{wifiUlid}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/wifi/{wifiUlid}"
response = requests.DELETE(url)
Sends a reboot command to the device.
path
header
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/device/{devicesource}/command/reboot \
fetch('https://v3mock.apiv3.com/order/device/{devicesource}/command/reboot', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/device/{devicesource}/command/reboot',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/device/{devicesource}/command/reboot"
response = requests.POST(url)
Sends a force position command to the device.
path
header
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{devicesource}/command/state \
fetch('https://v3mock.apiv3.com/order/devices/{devicesource}/command/state', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{devicesource}/command/state',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{devicesource}/command/state"
response = requests.POST(url)
Send a image requisition to device to get a image, can be a road or driver image.
path
header
Body
{
"timeStamp": "2024-03-12T14:52:00Z",
"selectedCam": "driver"
}
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/image \
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/image', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/image',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/image"
response = requests.POST(url)
Send a video requisition to device to get a video, can be a road or driver video. Maximum vídeo duration is 3 minutes.
path
header
Body
{
"timeStamp": "2024-03-12T14:52:00Z",
"finalTimeStamp": "2024-03-12T14:53:00Z",
"selectedCam": "driver"
}
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/video \
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/video', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/video',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/command/demand/video"
response = requests.POST(url)
Order sent to the device to activate (ON) or deactivate (OFF) a set of telemetry behaviors such as: maximum speed alerts, speed in rain, tolerances and related audible alerts.
path
header
Order Created
{
"orderUlids": "01HAMRR5KKPB29JS1N80MHJV8K, 01TRMNFURHT76JB1BA0M46DHEK"
}
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/telemetry/{state} \
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/telemetry/{state}', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/telemetry/{state}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/telemetry/{state}"
response = requests.POST(url)
Order sent to the device to activate (ON) or deactivate (OFF) a set of inertial behaviors such as: driver behavior, such as impact alert, sudden braking, sudden acceleration and other related sound alerts.
path
header
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/inertial/{state} \
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/inertial/{state}', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/inertial/{state}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/inertial/{state}"
response = requests.POST(url)
Order sent to the device to activate (ON) or deactivate (OFF) a set of tracking behaviors such as: periodic events, ignition and sound alerts related to these.
path
header
Order Created
Bad Request
{
"Error": "%s(error Aplication)"
}
Unauthorized
Method not allowed
Quota Exceeded
Internal Server Error
{
"Error": "Internal Server Error"
}
curl --request POST \
--url https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/tracking/{state} \
fetch('https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/tracking/{state}', {
method: 'POST',
})
.then(e => e.json())
.then((data) => {
console.log('Request succeeded with JSON response', data);
})
.catch((error) => {
console.log('Request failed', error);
});
const request = require('request');
const options = {
method: 'POST',
url: 'https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/tracking/{state}',
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://v3mock.apiv3.com/order/devices/{deviceSource}/command/drivercoach/tracking/{state}"
response = requests.POST(url)
This guide will explain how you can access and authenticate using clientId and clientSecret, from first access, changing your clientSecret using the web interface, to requesting the access token.
When you register for V3, you'll receive an email with your initial credentials. The following steps will guide you to change your initial clientSecret:
1. Open the V3 API welcome email and click on the link provided to access the interface.
2. Log in with the initial credentials provided in the email.
3. On first login, the interface will ask you to change your initial password. Enter the new password as per the provided password policies.
IMPORTANT: This password will be your clientSecret for accessing the token.
4. After changing the password, you will be redirected to the V3 Callback page.
After changing the password, to authenticate your requests to the V3 API, you'll need an access token. Follow these steps to get your token:
curl -X POST https://v3mock.apiv3.com/auth/token \
-H 'Content-Type: application/json' \
-d '{
"clientId": "my_clientId",
"clientSecret": "my_clientSecret"
}'
import requests
import json
data = {
"clientId": "my_clientId",
"clientSecret": "my_clientSecret"
}
response = requests.post('https://v3mock.apiv3.com/auth/token', json=data)
if response.status_code == 200:
token = json.loads(response.text)['accessToken']
print(token)
else:
print(f'Error: {response.status_code}')
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class Program
{
public static async Task Main(string[] args)
{
var client = new HttpClient();
var requestData = new
{
clientId = "my_clientId",
clientSecret = "my_clientSecret"
};
var json = JsonConvert.SerializeObject(requestData);
var data = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://v3mock.apiv3.com/auth/token", data);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
var token = JsonConvert.DeserializeObject(result).accessToken;
Console.WriteLine(token);
}
else
{
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
Now that you have the access token, you can use it to authenticate your requests to the V3 API. Just include the access token in the authorization header of your HTTP requests:
headers = {
'Authorization': access_token,
}
Replace access_token with the token you obtained in the previous steps. Please note that the access token has an expiration time, after which it will become invalid. You'll need to request a new token after the current token expires.
If you have any questions or encounter problems during the process, don't hesitate to contact us.