#
Requests
Our default endpoint is: https://app.monuv.com.br
#
List cameras
Returns an array of registered camera objects
- Path: https://app.monuv.com.br/api/cameras
- Method: GET
#
Parameters:
#
Response Main Fields:
[
{
"id": "0000",
"description": "Teste IA#0000",
"status": "OFFLINE",
"live_url": "LIVE_URL",
"server_url": "",
"thumb_url": "THUMB_URL",
"digest": "DIGEST",
"hash": "HASH",
"client_id": "CLIENT_ID",
"address": "ADRESS",
"latitude": "LAT",
"longitude": "LON",
}
]
#
Code example
curl --location 'https://app.monuv.com.br/api/cameras?token=USER_TOKEN'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/cameras?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = "https://app.monuv.com.br/api/cameras?token=USER_TOKEN"
response = requests.request("GET", url)
print(response.text)
#
Get camera
Returns a registered camera object
- Path: https://app.monuv.com.br/api/camera-player/{id}
- Method: GET
#
Parameters:
#
Response Main Fields:
{
"id": "0000",
"description": "Teste IA#0000",
"status": "OFFLINE",
"live_url": "LIVE_URL",
"server_url": "",
"thumb_url": "THUMB_URL",
"digest": "DIGEST",
"hash": "HASH",
"client_id": "CLIENT_ID",
"address": "ADRESS",
"latitude": "LAT",
"longitude": "LON",
}
#
Code example
curl --location 'https://app.monuv.com.br/api/camera-player/1001?token=USER_TOKEN'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/camera-player/1001?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = "https://app.monuv.com.br/api/camera-player/1001?token=USER_TOKEN"
response = requests.request("GET", url)
print(response.text)
#
Get camera player
Returns HTML with the camera's video player
- Path: https://app.monuv.com.br/api/camera/{id}/player
- Method: GET
#
Parameters:
#
Response:
'<!DOCTYPE html>\n<html lang="pt-br" style=\'height:100%\'>\n<head>\n\n (...)
#
Code example
curl --location 'https://app.monuv.com.br/api/camera/0000/player?token=USER_TOKEN'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/camera/0000/player?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/api/camera/0000/player?token=USER_TOKEN'
response = requests.request("GET", url)
print(response.text)
#
Get recordings
Returns an array of jsons of stored recordings
- Path: https://app.monuv.com.br/camera/{id}/recordings
- Method: GET
#
Parameters:
#
Response:
#
Data:
{ "DATA":
[{ "ini":1679324828000,
"start_date":"2023-03-20 12:07:08",
"dur":62000,
"file":"VIDEO.mp4",
"url":"VIDEO_URL"},
(...)
]
}
#
Code example
curl --location 'https://app.monuv.com.br/cameras/0000/recordings/?token=USER_TOKEN&digest=CAMERA_DIGEST'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/cameras/0000/recordings/?token=USER_TOKEN&digest=CAMERA_DIGEST',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/cameras/0000/recordings/?token=USER_TOKEN&digest=CAMERA_DIGEST'
response = requests.request("GET", url)
print(response.text)
#
Get hourly images
Returns an array of jsons of stored hourly generated captures
- Path: https://app.monuv.com.br/api/camera/{id}/thumbs-hourly
- Method: GET
#
Parameters:
#
Response:
[
{
"ts": 1648782000,
"url": "THUMB_URL"
},
(...)
]
#
Code example
curl --location 'https://app.monuv.com.br/api/camera/0000/thumbs-hourly?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/camera/0000/thumbs-hourly?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/api/camera/0000/thumbs-hourly?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST'
response = requests.request("GET", url)
print(response.text)
#
Get minute-by-minute images
Returns an array of jsons of stored generated captures minute-by-minute
- Path: https://app.monuv.com.br/api/camera/{id}/thumbs-minutes
- Method: GET
#
Parameters:
#
Response:
[
{
"ts": 1648782000,
"url": "THUMB_URL"
},
(...)
]
#
Code example
curl --location 'https://app.monuv.com.br/api/camera/0000/thumbs-minutes?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/camera/0000/thumbs-minutes?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/api/camera/0000/thumbs-minutes?ts=1648844377&token=USER_TOKEN&digest=CAMERA_DIGEST'
response = requests.request("GET", url)
print(response.text)
#
Get camera live stream url
Returns camera live stream url
#
Parameters:
#
Response:
{
"code": 0,
"msg": "",
"data": "LIVE_STREAM_URL"
}
#
Code example
curl --location 'https://app.monuv.com.br/api/cameras/0000/live-url/?token=USER_TOKEN'
const axios = require('axios');
const FormData = require('form-data');
let data = new FormData();
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/api/cameras/0000/live-url/?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/api/cameras/0000/live-url/?token=USER_TOKEN'
response = requests.request("GET", url)
print(response.text)
#
Create downloadable video
Generates a continuos video evidence set between given timestamps
- Path: https://app.monuv.com.br/v2/api/drives
- Method: POST
- Content Type: application/json
#
Parameters:
#
Response:
#
Data:
{
"code": 0,
"msg": "Vídeo sendo gerado. Para acompanhar os vídeos salvos, acesse a lista de vídeos salvos.",
"video_thumb": "https://drives.staging.monuv.com.br/0000/ID.jpg"
"data": {
"camera_id": 0000,
"description": "DESC",
"start_date": "2023-03-20 12:07:08",
"end_date": "2023-03-20 12:11:14",
"create_user_id": "USER_ID",
"update_user_id": "USER_ID",
"status": 0,
"updated_at": "2023-04-05 18:00:17",
"created_at": "2023-04-05 18:00:17",
"id": "ID",
"camera_name": "CAMERA_NAME",
"last_thumb": "LAST_THUMB_URL",
"StartDateF": "20/03/2023 12:07",
"EndDateF": "20/03/2023 12:11",
"UrlDrive": "https://drives.monuv.com.br/0000/"
}
}
#
Code example
curl --location --request POST 'https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN&camera_id=0000&start_at=1679324828000&end_at=1679325074000&description=DESC
const axios = require('axios');
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN&camera_id=0000&start_at=1679324828000&end_at=1679325074000&description=DESC',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = "https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN&camera_id=0000&start_at=1679324828000&end_at=1679325074000&description=DESC"
response = requests.request("POST", url)
print(response.text)
#
List downloadable videos
List generated downloadable videos
- Path: https://app.monuv.com.br/v2/api/drives
- Method: GET
#
Parameters:
#
Response:
#
Data:
{
"code": 0,
"msg": "",
"data": [
{
"id": 0000,
"description": "cool",
"url": "https://drives.monuv.com.br/00000/642de16230789",
"startDateF": "20/03/2023 12:07",
"endDateF": "20/03/2023 12:11",
"tsStart": 1679324828,
"tsEnd": 1679325074,
"camera_name": "CAMERA_NAME",
"status": 1,
"last_thumb": "LAST_THUMB_URL",
"video_thumb": "VIDEO_THUMB_URL"
}
]
}
#
Code example
curl --location 'https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN'
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = "https://app.monuv.com.br/v2/api/drives?token=USER_TOKEN"
response = requests.request("GET", url)
print(response.text)
#
Remove downloadable video
Remove generated downloadable video
- Path: https://app.monuv.com.br/v2/api/drives/{id}
- Method: POST
- Content Type: application/json
#
Parameters:
#
Response:
{
"code": 0,
"msg": "Vídeo excluído com sucesso.",
"data": []
}
#
Code example
curl --location --request POST 'https://app.monuv.com.br/v2/api/drives/delete/0000?token=USER_TOKEN'
const axios = require('axios');
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://app.monuv.com.br/v2/api/drives/delete/0000?token=USER_TOKEN',
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
url = 'https://app.monuv.com.br/v2/api/drives/delete/0000?token=USER_TOKEN'
response = requests.request("POST", url)
print(response.text)