Obtener información de la sesión
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
token | query | string | no | — |
Respuestas
| 200 | OK |
| 404 | Not found |
terminalEjemplo cURL
curl -X GET "https://gps.liot.cl/api/session"Integra el rastreo GPS de tu flota en tus propios sistemas. Posiciones en tiempo real, historial, reportes y eventos mediante una API REST simple y segura.
La API de Rastreo LIOT es una API REST sobre HTTPS que entrega acceso programático a toda la información de tu flota: dispositivos, posiciones en tiempo real, historial de recorridos, eventos, geocercas, reportes y más. Está pensada para integraciones de empresas y partners que necesitan llevar la telemetría de LIOT a sus propios sistemas.
2026-01-01T18:30:00Z.https://gps.liot.cl/apiwss://gps.liot.cl/api/socket24/7, con monitoreo continuo y soporte dedicado.
TLS obligatorio. Acceso autenticado por token o sesión.
La API admite tres mecanismos. Todos los endpoints marcados como “Requiere autenticación” responden 401 si no envías credenciales válidas.
Autenticación tipo Bearer. Ideal para integraciones y servidores.
Authorization: Bearer TU_TOKEN_DE_ACCESO
También puedes enviarlo como parámetro: ?token=TU_TOKEN
Autenticación básica en el inicio de sesión; el servidor devuelve una cookie JSESSIONID que se reutiliza en las siguientes llamadas.
POST /session
Content-Type: application/x-www-form-urlencoded
email=usuario@empresa.cl&password=CLAVE
Usuario y contraseña codificados en Base64, útil para scripts simples.
Authorization: Basic base64(usuario:contraseña)
curl -X POST "https://gps.liot.cl/api/session/token" \
-u usuario@empresa.cl:CLAVE \
-d "expiration=2027-01-01T00:00:00Z"
En lugar de consultar repetidamente el endpoint de posiciones, conéctate al canal WebSocket para recibir actualizaciones apenas el equipo las reporta. Es la forma recomendada para mapas y paneles en vivo.
const socket = new WebSocket('wss://gps.liot.cl/api/socket');
socket.onmessage = (event) => {
const data = JSON.parse(event.data);
// data.positions -> últimas posiciones
// data.events -> eventos recientes
console.log(data);
};
socket.onopen = () => socket.send(JSON.stringify({ devices: [1234] }));
POST /session y luego abre el socket.117 operaciones sobre 23 módulos. Usa el buscador de la barra lateral para encontrar un endpoint.
Inicia sesión, obtén tokens de acceso y gestiona la sesión activa.
Obtener información de la sesión
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
token | query | string | no | — |
| 200 | OK |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/session"Iniciar sesión
Esquema: object
| 200 | OK |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/session" \
-d "email=usuario@empresa.cl" -d "password=CLAVE"Cerrar la sesión
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/session" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Abrir sesión como otro usuario
Solo administradores o gerentes. Abre una sesión suplantando al usuario indicado.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/session/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Generar token de acceso
Esquema: object
| 200 | Token string |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/session/token" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-d "campo=valor"Revocar token de acceso
Esquema: object
| 204 | No Content |
| 400 | Bad request |
curl -X POST "https://gps.liot.cl/api/session/token/revoke" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-d "token=TOKEN_DE_RESET" -d "password=NUEVA_CLAVE"Iniciar autenticación OpenID Connect
| 303 | Redirect to OpenID Connect identity provider |
| 400 | OpenID Connect is not configured |
| default | Unexpected error |
curl -X GET "https://gps.liot.cl/api/session/openid/auth" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Callback de OpenID Connect
| 303 | Successful authentication, redirect to homepage |
| 400 | Invalid or expired callback parameters |
| default | Unexpected error |
curl -X GET "https://gps.liot.cl/api/session/openid/callback" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Alta, consulta, edición y baja de los equipos GPS de tu flota.
Listar dispositivos
Sin parámetros, devuelve los dispositivos del usuario.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
id | query | integer | no | Para obtener uno o varios dispositivos. Se pueden pasar varios parámetros como `id=31&id=42`. |
uniqueId | query | string | no | Para obtener uno o varios dispositivos. Se pueden pasar varios parámetros como `uniqueId=333331&uniqueId=44442`. |
excludeAttributes | query | boolean | no | Excluye el campo de atributos de la respuesta. |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave (busca en nombre, uniqueId, teléfono, modelo y contacto). |
| 200 | OK |
| 400 | No permission |
curl -X GET "https://gps.liot.cl/api/devices" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un dispositivo
Esquema: Device
{
"id": 0,
"name": "",
"uniqueId": "",
"status": "",
"disabled": false,
"lastUpdate": "2026-01-01T00:00:00Z",
"positionId": "",
"groupId": "",
"phone": "",
"model": "",
"contact": "",
"category": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/devices" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"uniqueId": "",
"status": "",
"disabled": false,
"lastUpdate": "2026-01-01T00:00:00Z",
"positionId": "",
"groupId": "",
"phone": "",
"model": "",
"contact": "",
"category": "",
"attributes": {}
}'Obtener un dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/devices/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Device
{
"id": 0,
"name": "",
"uniqueId": "",
"status": "",
"disabled": false,
"lastUpdate": "2026-01-01T00:00:00Z",
"positionId": "",
"groupId": "",
"phone": "",
"model": "",
"contact": "",
"category": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/devices/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"uniqueId": "",
"status": "",
"disabled": false,
"lastUpdate": "2026-01-01T00:00:00Z",
"positionId": "",
"groupId": "",
"phone": "",
"model": "",
"contact": "",
"category": "",
"attributes": {}
}'Eliminar un dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/devices/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar la distancia y las horas totales del dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: DeviceAccumulators
{
"deviceId": 0,
"totalDistance": 0,
"hours": 0
}| 204 | No Content |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/devices/1/accumulators" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"deviceId": 0,
"totalDistance": 0,
"hours": 0
}'Subir o actualizar la imagen del dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: string
| 200 | OK |
| 400 | Invalid image type or size |
| 404 | Device not found |
curl -X POST "https://gps.liot.cl/api/devices/1/image" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: image/*" \
--data-binary "@/ruta/local/imagen.png"Ubicación, historial, kilómetros y exportación de recorridos.
Listar posiciones
Recomendamos usar la API WebSocket en tiempo real en lugar de consultar repetidamente este endpoint. Sin parámetros, devuelve la última posición conocida de todos los dispositivos del usuario. Los campos `from` y `to` no son obligatorios cuando se usa `id`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | no | `deviceId` es opcional, pero requiere los parámetros `from` y `to` cuando se usa. |
from | query | string | no | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | no | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
id | query | integer | no | Para obtener una o varias posiciones. Se pueden pasar varios parámetros como `id=31&id=42`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/positions" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Eliminar las posiciones de un dispositivo en un rango de tiempo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 204 | No Content |
| 400 | Bad request |
curl -X DELETE "https://gps.liot.cl/api/positions" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Eliminar una posición
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 404 | Not found |
curl -X DELETE "https://gps.liot.cl/api/positions/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Exportar posiciones en KML
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | — |
from | query | string | sí | — |
to | query | string | sí | — |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/positions/kml?deviceId=1&from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Exportar posiciones en CSV
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | — |
geofenceId | query | integer | no | — |
from | query | string | sí | — |
to | query | string | sí | — |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/positions/csv?deviceId=1&from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Exportar posiciones en GPX
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | — |
from | query | string | sí | — |
to | query | string | sí | — |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/positions/gpx?deviceId=1&from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Transmisión de video HLS desde cámaras asociadas a los dispositivos.
Obtener la lista de reproducción HLS de una cámara
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | path | integer | sí | — |
channel | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/stream/1/1/live.m3u8" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Obtener un segmento de video HLS de una cámara
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | path | integer | sí | — |
channel | path | integer | sí | — |
index | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/stream/1/1/0.ts" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Resúmenes, recorridos, detenciones, eventos y geocercas por período.
Reporte combinado de recorrido, eventos y posiciones
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/combined?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Recorrido de posiciones en un período
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/route?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de recorrido
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/route/valor?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Eventos en un período
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
type | query | array | no | Se puede usar `%` para devolver eventos de todos los tipos. |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/events?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de eventos
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
deviceId | query | array | no | — |
groupId | query | array | no | — |
type | query | array | no | Tipos de evento a incluir; `%` incluye todos. |
alarm | query | array | no | Tipos de alarma a incluir. |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/events/valor?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Intervalos de entrada y salida de geocercas
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
geofenceId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/geofences?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Resumen de actividad en un período
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/summary?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de resumen
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
daily | query | boolean | no | Agrega los valores por día en lugar de todo el período. |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/summary/valor?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Viajes en un período
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/trips?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de viajes
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/trips/valor?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Detenciones en un período
Se debe indicar al menos un `deviceId` o un `groupId`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/reports/stops?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de detenciones
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
deviceId | query | array | no | — |
groupId | query | array | no | — |
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/stops/valor?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Descargar o enviar por correo el reporte de dispositivos
Usa `type=xlsx` para descargar el reporte o `type=mail` para enviarlo por correo de forma asíncrona.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
type | path | string xlsx · mail | sí | — |
| 200 | Spreadsheet attachment |
| 204 | Report queued for email delivery |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/reports/devices/valor" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Eventos generados por los dispositivos (encendido, alarmas, excesos de velocidad, etc.).
Obtener un evento
Devuelve un evento con todo su contexto para el identificador indicado.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/events/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Zonas geográficas para alertas de entrada y salida.
Listar geocercas
Sin parámetros, devuelve las geocercas a las que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/geofences" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear una geocerca
Esquema: Geofence
{
"id": 0,
"name": "",
"description": "",
"area": "",
"calendarId": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/geofences" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"description": "",
"area": "",
"calendarId": 0,
"attributes": {}
}'Obtener una geocerca
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/geofences/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar una geocerca
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Geofence
{
"id": 0,
"name": "",
"description": "",
"area": "",
"calendarId": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/geofences/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"description": "",
"area": "",
"calendarId": 0,
"attributes": {}
}'Eliminar una geocerca
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/geofences/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Agrupación de dispositivos y usuarios.
Listar grupos
Sin parámetros, devuelve los grupos a los que pertenece el usuario.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/groups" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un grupo
Esquema: Group
{
"id": 0,
"name": "",
"groupId": 0,
"attributes": {}
}| 200 | OK |
| 400 | No permission |
curl -X POST "https://gps.liot.cl/api/groups" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"groupId": 0,
"attributes": {}
}'Obtener un grupo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/groups/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un grupo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Group
{
"id": 0,
"name": "",
"groupId": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/groups/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"groupId": 0,
"attributes": {}
}'Eliminar un grupo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/groups/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Reglas de alerta por evento y canales de envío.
Listar notificaciones
Sin parámetros, devuelve las notificaciones a las que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/notifications" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear una notificación
Esquema: Notification
{
"id": 0,
"type": "",
"description": "",
"always": false,
"commandId": 0,
"notificators": "",
"calendarId": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/notifications" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"type": "",
"description": "",
"always": false,
"commandId": 0,
"notificators": "",
"calendarId": 0,
"attributes": {}
}'Obtener una notificación
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/notifications/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar una notificación
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Notification
{
"id": 0,
"type": "",
"description": "",
"always": false,
"commandId": 0,
"notificators": "",
"calendarId": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/notifications/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"type": "",
"description": "",
"always": false,
"commandId": 0,
"notificators": "",
"calendarId": 0,
"attributes": {}
}'Eliminar una notificación
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/notifications/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Listar los tipos de notificación disponibles
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/notifications/types" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Listar los canales de notificación disponibles
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
announcement | query | boolean | no | Con `true`, excluye los canales que no pueden entregar anuncios. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/notifications/notificators" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Enviar una notificación de prueba al usuario por correo y SMS
| 204 | Successful sending |
| 400 | Could happen if sending has failed |
curl -X POST "https://gps.liot.cl/api/notifications/test" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Enviar una notificación de prueba por un canal específico
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
notificator | path | string | sí | — |
| 204 | Successful sending |
| 400 | Could happen if sending has failed |
curl -X POST "https://gps.liot.cl/api/notifications/test/valor" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Enviar una notificación personalizada a usuarios seleccionados
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
notificator | path | string | sí | — |
userId | query | array | no | Lista opcional de ids de usuario destino; si se omite, envía a todos los usuarios permitidos. |
Esquema: NotificationMessage
{
"subject": "",
"digest": "",
"body": "",
"priority": false
}| 204 | Successful sending |
| 400 | Could happen if sending has failed |
curl -X POST "https://gps.liot.cl/api/notifications/send/valor" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"subject": "",
"digest": "",
"body": "",
"priority": false
}'Comandos guardados y envío de instrucciones a los equipos.
Listar comandos guardados
Sin parámetros, devuelve los comandos guardados a los que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/commands" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un comando guardado
Esquema: Command
{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/commands" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}'Obtener un comando guardado
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/commands/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un comando guardado
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Command
{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/commands/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}'Eliminar un comando guardado
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/commands/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Listar los comandos soportados por el dispositivo en este momento
Devuelve los comandos guardados vinculados al dispositivo y sus grupos, según el protocolo soportado.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
| 200 | OK |
| 400 | Could happen when the user doesn't have permission for the device |
curl -X GET "https://gps.liot.cl/api/commands/send?deviceId=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Enviar comandos al dispositivo
Envía un comando nuevo, o uno guardado si se define `body.id`.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
groupId | query | integer | no | Envía el comando a todos los dispositivos del grupo. |
Esquema: Command
{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}| 200 | Command sent |
| 202 | Command queued |
| 400 | Could happen when the user doesn't have permission or an incorrect command _type_ for the device |
curl -X POST "https://gps.liot.cl/api/commands/send" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"deviceId": 0,
"description": "",
"type": "",
"textChannel": false,
"attributes": {}
}'Listar los comandos disponibles para el dispositivo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | no | Identificador interno del dispositivo. Solo funciona si el dispositivo ya reportó ubicaciones. |
textChannel | query | boolean | no | Con `true` devuelve comandos SMS; en otro caso devuelve comandos de datos. |
| 200 | OK |
| 400 | Could happen when trying to fetch from a device the user does not have permission |
curl -X GET "https://gps.liot.cl/api/commands/types" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Registro de conductores y asignación a vehículos.
Listar conductores
Sin parámetros, devuelve los conductores a los que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/drivers" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un conductor
Esquema: Driver
{
"id": 0,
"name": "",
"uniqueId": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/drivers" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"uniqueId": "",
"attributes": {}
}'Obtener un conductor
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/drivers/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un conductor
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Driver
{
"id": 0,
"name": "",
"uniqueId": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/drivers/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"uniqueId": "",
"attributes": {}
}'Eliminar un conductor
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/drivers/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Planes de mantenimiento y control por kilometraje u horas.
Listar tareas de mantenimiento
Sin parámetros, devuelve las tareas de mantenimiento a las que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/maintenance" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear una tarea de mantenimiento
Esquema: Maintenance
{
"id": 0,
"name": "",
"type": "",
"start": 0,
"period": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/maintenance" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"type": "",
"start": 0,
"period": 0,
"attributes": {}
}'Obtener una tarea de mantenimiento
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/maintenance/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar una tarea de mantenimiento
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Maintenance
{
"id": 0,
"name": "",
"type": "",
"start": 0,
"period": 0,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/maintenance/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"type": "",
"start": 0,
"period": 0,
"attributes": {}
}'Eliminar una tarea de mantenimiento
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/maintenance/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Horarios y ventanas de tiempo para notificaciones.
Listar calendarios
Sin parámetros, devuelve los calendarios a los que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/calendars" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un calendario
Esquema: Calendar
{
"id": 0,
"name": "",
"data": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/calendars" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"data": "",
"attributes": {}
}'Obtener un calendario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/calendars/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un calendario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Calendar
{
"id": 0,
"name": "",
"data": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/calendars/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"data": "",
"attributes": {}
}'Eliminar un calendario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/calendars/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Órdenes y servicios asociados a los vehículos.
Listar órdenes
Sin parámetros, devuelve las órdenes a las que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
excludeAttributes | query | boolean | no | Omite el mapa de atributos en la respuesta. |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/orders" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear una orden
Esquema: Order
{
"id": 0,
"uniqueId": "",
"description": "",
"fromAddress": "",
"toAddress": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/orders" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"uniqueId": "",
"description": "",
"fromAddress": "",
"toAddress": "",
"attributes": {}
}'Obtener una orden
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/orders/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar una orden
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Order
{
"id": 0,
"uniqueId": "",
"description": "",
"fromAddress": "",
"toAddress": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/orders/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"uniqueId": "",
"description": "",
"fromAddress": "",
"toAddress": "",
"attributes": {}
}'Eliminar una orden
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/orders/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Atributos derivados y personalizados de los dispositivos.
Listar atributos
Sin parámetros, devuelve los atributos a los que el usuario tiene acceso.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
all | query | boolean | no | Solo administradores o gerentes pueden consultar todas las entidades. |
userId | query | integer | no | Los usuarios estándar solo pueden usarlo con su propio `userId`. |
deviceId | query | integer | no | Los usuarios estándar solo pueden usarlo con dispositivos a los que tengan acceso. |
groupId | query | integer | no | Los usuarios estándar solo pueden usarlo con grupos a los que tengan acceso. |
refresh | query | boolean | no | — |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/attributes/computed" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un atributo
Esquema: Attribute
{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/attributes/computed" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}'Evaluar un atributo calculado con la última posición
Solo administradores. Devuelve el valor calculado sin guardar el atributo.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
deviceId | query | integer | sí | — |
Esquema: Attribute
{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}| 200 | OK |
| 204 | Computation produced no value |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/attributes/computed/test" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}'Obtener un atributo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/attributes/computed/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un atributo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: Attribute
{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/attributes/computed/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"description": "",
"attribute": "",
"expression": "",
"type": ""
}'Eliminar un atributo
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/attributes/computed/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Gestión de usuarios, roles y permisos de la plataforma.
Listar usuarios
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
userId | query | string | no | Solo disponible para usuarios administradores o gerentes. |
limit | query | integer | no | Limita la cantidad de resultados devueltos. |
offset | query | integer | no | Desplazamiento para paginación. |
keyword | query | string | no | Filtro por palabra clave (busca en nombre y correo). |
| 200 | OK |
| 400 | No Permission |
curl -X GET "https://gps.liot.cl/api/users" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Crear un usuario
Esquema: User
{
"id": 0,
"name": "",
"email": "",
"phone": "",
"readonly": false,
"administrator": false,
"map": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"password": "",
"coordinateFormat": "",
"disabled": false,
"expirationTime": "2026-01-01T00:00:00Z",
"deviceLimit": 0,
"userLimit": 0,
"deviceReadonly": false,
"limitCommands": false,
"fixedEmail": false,
"poiLayer": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/users" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"email": "",
"phone": "",
"readonly": false,
"administrator": false,
"map": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"password": "",
"coordinateFormat": "",
"disabled": false,
"expirationTime": "2026-01-01T00:00:00Z",
"deviceLimit": 0,
"userLimit": 0,
"deviceReadonly": false,
"limitCommands": false,
"fixedEmail": false,
"poiLayer": "",
"attributes": {}
}'Generar secreto TOTP
| 200 | OK |
| 400 | Bad request |
curl -X POST "https://gps.liot.cl/api/users/totp"Obtener un usuario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not found |
curl -X GET "https://gps.liot.cl/api/users/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Actualizar un usuario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
Esquema: User
{
"id": 0,
"name": "",
"email": "",
"phone": "",
"readonly": false,
"administrator": false,
"map": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"password": "",
"coordinateFormat": "",
"disabled": false,
"expirationTime": "2026-01-01T00:00:00Z",
"deviceLimit": 0,
"userLimit": 0,
"deviceReadonly": false,
"limitCommands": false,
"fixedEmail": false,
"poiLayer": "",
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/users/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"name": "",
"email": "",
"phone": "",
"readonly": false,
"administrator": false,
"map": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"password": "",
"coordinateFormat": "",
"disabled": false,
"expirationTime": "2026-01-01T00:00:00Z",
"deviceLimit": 0,
"userLimit": 0,
"deviceReadonly": false,
"limitCommands": false,
"fixedEmail": false,
"poiLayer": "",
"attributes": {}
}'Eliminar un usuario
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id | path | integer | sí | — |
| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/users/1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Vinculación de dispositivos, grupos y usuarios.
Consultar vínculos de permisos entre objetos
Debes indicar exactamente dos parámetros de consulta `*Id` (por ejemplo `reportId` y `deviceId`). Usa `0` en un lado para indicar "cualquiera", por ejemplo `?reportId=5&deviceId=0` lista todos los dispositivos vinculados al reporte 5. Al menos un lado debe ser distinto de cero.
| 200 | OK |
| 400 | Bad request |
curl -X GET "https://gps.liot.cl/api/permissions" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Vincular un objeto con otro
Esquema: Permission
{
"userId": 0,
"deviceId": 0,
"groupId": 0,
"geofenceId": 0,
"notificationId": 0,
"calendarId": 0,
"attributeId": 0,
"driverId": 0,
"managedUserId": 0,
"commandId": 0
}| 204 | No Content |
| 400 | No permission |
curl -X POST "https://gps.liot.cl/api/permissions" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": 0,
"deviceId": 0,
"groupId": 0,
"geofenceId": 0,
"notificationId": 0,
"calendarId": 0,
"attributeId": 0,
"driverId": 0,
"managedUserId": 0,
"commandId": 0
}'Desvincular un objeto de otro
Esquema: Permission
{
"userId": 0,
"deviceId": 0,
"groupId": 0,
"geofenceId": 0,
"notificationId": 0,
"calendarId": 0,
"attributeId": 0,
"driverId": 0,
"managedUserId": 0,
"commandId": 0
}| 204 | No Content |
| 401 | Unauthorized |
curl -X DELETE "https://gps.liot.cl/api/permissions" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": 0,
"deviceId": 0,
"groupId": 0,
"geofenceId": 0,
"notificationId": 0,
"calendarId": 0,
"attributeId": 0,
"driverId": 0,
"managedUserId": 0,
"commandId": 0
}'Vincular varios objetos en una sola petición
Esquema: array
| 204 | No Content |
| 400 | Bad request |
curl -X POST "https://gps.liot.cl/api/permissions/bulk" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Desvincular varios objetos en una sola petición
Esquema: array
| 204 | No Content |
| 400 | Bad request |
curl -X DELETE "https://gps.liot.cl/api/permissions/bulk" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Métricas agregadas del uso de la plataforma.
Obtener estadísticas del servidor
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/statistics?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Registro de acciones realizadas en la plataforma.
Consultar el registro de auditoría
Solo administradores. Devuelve las acciones realizadas en el rango de tiempo indicado.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
from | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
to | query | string | sí | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/audit?from=1&to=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Flujo de recuperación y restablecimiento de contraseña.
Enviar correo de restablecimiento de contraseña
Siempre responde `200`, exista o no el correo.
Esquema: object
| 200 | OK |
| 400 | Bad request |
curl -X POST "https://gps.liot.cl/api/password/reset" \
-d "email=usuario@empresa.cl" -d "password=CLAVE"Definir una nueva contraseña con el token de restablecimiento
Esquema: object
| 200 | OK |
| 404 | User not found |
curl -X POST "https://gps.liot.cl/api/password/update" \
-d "token=TOKEN_DE_RESET" -d "password=NUEVA_CLAVE"Información, geocodificación, zonas horarias y utilidades del servicio.
Obtener información del servidor
| 200 | OK |
| 400 | Bad request |
curl -X GET "https://gps.liot.cl/api/server"Actualizar la información del servidor
Esquema: Server
{
"id": 0,
"registration": false,
"readonly": false,
"deviceReadonly": false,
"limitCommands": false,
"map": "",
"bingKey": "",
"mapUrl": "",
"poiLayer": "",
"announcement": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"version": "",
"forceSettings": false,
"coordinateFormat": "",
"openIdEnabled": false,
"openIdForce": false,
"attributes": {}
}| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X PUT "https://gps.liot.cl/api/server" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"registration": false,
"readonly": false,
"deviceReadonly": false,
"limitCommands": false,
"map": "",
"bingKey": "",
"mapUrl": "",
"poiLayer": "",
"announcement": "",
"latitude": 0,
"longitude": 0,
"zoom": 0,
"version": "",
"forceSettings": false,
"coordinateFormat": "",
"openIdEnabled": false,
"openIdForce": false,
"attributes": {}
}'Geocodificación inversa de coordenadas
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
latitude | query | number | sí | — |
longitude | query | number | sí | — |
| 200 | OK |
| 401 | Unauthorized |
| 500 | Reverse geocoding is not enabled |
curl -X GET "https://gps.liot.cl/api/server/geocode?latitude=1&longitude=1" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Listar zonas horarias disponibles
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/server/timezones" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Subir un archivo al servidor
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
path | path | string | sí | — |
Esquema: string
| 200 | OK |
| 400 | Bad request |
curl -X POST "https://gps.liot.cl/api/server/file/archivo" \
-H "Authorization: Bearer $LIOT_API_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@/ruta/local/archivo.bin"Ejecutar recolección de basura
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/server/gc" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Consultar el diagnóstico de caché
| 200 | OK |
| 401 | Unauthorized |
curl -X GET "https://gps.liot.cl/api/server/cache" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Reiniciar el proceso del servidor
| 200 | OK |
| 400 | Bad request |
| 401 | Unauthorized |
curl -X POST "https://gps.liot.cl/api/server/reboot" \
-H "Authorization: Bearer $LIOT_API_TOKEN"Verificación de disponibilidad para monitoreo.
Verificar el estado del servicio
Devuelve texto plano con el estado para monitoreo de disponibilidad.
| 200 | Service is healthy |
| 400 | Bad request |
| 500 | Service is unavailable |
curl -X GET "https://gps.liot.cl/api/health"Estructura de los objetos que devuelve la API.
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique action identifier |
actionTime | string (date-time) | When the action was recorded |
address | string | Client address that initiated the action |
userId | integer | Identifier of the User who performed the action |
userEmail | string | Email of the User who performed the action |
actionType | string | Action category (e.g. login, edit, link) |
objectType | string | Type of object affected by the action |
objectId | integer | Identifier of the affected object |
attributes | object | Additional action attributes |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique computed attribute identifier |
description | string | Human readable name of the attribute |
attribute | string | Attribute name used in expressions |
expression | string | Expression that defines how the attribute is calculated |
type | string | String|Number|Boolean |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique calendar identifier |
name | string | Calendar display name |
data | string | base64 encoded in iCalendar format |
attributes | object | Custom calendar attributes |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the report item |
route | array | Simplified route as `[longitude, latitude]` pairs |
events | array | — |
positions | array | — |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique saved command identifier |
deviceId | integer | Target device identifier when the command is bound to one device |
description | string | User friendly label displayed in the UI |
type | string | Command type as defined by the device protocol |
textChannel | boolean | Whether to send the command using the SMS channel |
attributes | object | Additional parameters required by the command type |
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Command type identifier |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique identifier assigned by LIOT |
name | string | Human friendly device label |
uniqueId | string | Hardware or protocol specific unique identifier |
status | string | Current connection status such as `online`, `offline`, or `unknown` |
disabled | boolean | Whether the device is disabled by an administrator |
lastUpdate | string,null (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
positionId | integer,null | Identifier of the last known position |
groupId | integer,null | Parent group identifier when the device is assigned to a group |
phone | string,null | Contact phone number used for SMS commands |
model | string,null | Device model or hardware revision |
contact | string,null | Responsible person's contact information |
category | string,null | Free form category used for grouping devices in the UI |
attributes | object | Custom attributes for protocol or business specific data |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the accumulator entry |
totalDistance | number | in meters |
hours | number | Total engine hours recorded by the device |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique driver identifier |
name | string | Driver full name |
uniqueId | string | Unique external identifier for the driver |
attributes | object | Custom driver attributes |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique event identifier |
type | string | Event type name |
eventTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
deviceId | integer | Device associated with the event |
positionId | integer | Position record linked to the event when applicable |
geofenceId | integer | Geofence referenced by the event if any |
maintenanceId | integer | Maintenance record tied to the event |
attributes | object | Additional event-specific attributes |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique identifier for the geofence |
name | string | Human-readable name shown in lists and maps |
description | string | Details about the geofence for display in the UI |
area | string | Geofence area definition encoded as a WKT string |
calendarId | integer | Calendar identifier limiting when the geofence is active |
attributes | object | Custom key-value pairs for integrations or UI overrides |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique group identifier |
name | string | Group display name |
groupId | integer | Parent group identifier for nested grouping |
attributes | object | Arbitrary metadata attached to the group |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique maintenance item identifier |
name | string | Maintenance task name |
type | string | Metric the maintenance is based on |
start | number | Current accumulated value when maintenance tracking starts |
period | number | Threshold value after which maintenance is due |
attributes | object | Custom maintenance attributes |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique identifier for the notification |
type | string | Notification category such as geofenceEnter or ignitionOn |
description | string,null | User-defined text describing the notification |
always | boolean | Whether the notification triggers regardless of schedule |
commandId | integer | Identifier of the command to send when the notification triggers |
notificators | string | Comma-separated delivery channels (for example, web, mail) |
calendarId | integer | Calendar identifier restricting when the notification is active |
attributes | object | Additional custom attributes used by notificators or templates |
| Campo | Tipo | Descripción |
|---|---|---|
subject | string | Subject or title of the notification |
digest | string | Short summary shown in compact contexts; defaults to the body when omitted |
body · | string | Full notification text |
priority | boolean | Whether the message should be treated as high priority |
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Notification type identifier |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique order identifier |
uniqueId | string | External order identifier used by clients |
description | string | Additional details about the order assignment |
fromAddress | string | Pickup location address |
toAddress | string | Destination address |
attributes | object | Custom order attributes |
| Campo | Tipo | Descripción |
|---|---|---|
userId | integer | User id, can be only first parameter |
deviceId | integer | Device id, can be first parameter or second only in combination with userId |
groupId | integer | Group id, can be first parameter or second only in combination with userId |
geofenceId | integer | Geofence id, can be second parameter only |
notificationId | integer | Notification id, can be second parameter only |
calendarId | integer | Calendar id, can be second parameter only and only in combination with userId |
attributeId | integer | Computed attribute id, can be second parameter only |
driverId | integer | Driver id, can be second parameter only |
managedUserId | integer | User id, can be second parameter only and only in combination with userId |
commandId | integer | Saved command id, can be second parameter only |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique position record identifier |
deviceId | integer | Identifier of the device that reported this position |
protocol | string | Device protocol name that produced the message |
deviceTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
fixTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
serverTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
valid | boolean | Indicates whether the position was marked as valid by the device |
latitude | number | Latitude in decimal degrees |
longitude | number | Longitude in decimal degrees |
altitude | number | Altitude above sea level in meters |
speed | number | in knots |
course | number | Heading in degrees (0-360) where 0 is true north |
address | string | Resolved reverse-geocoded address if available |
accuracy | number | Estimated positional accuracy in meters when provided |
network | object | Network metadata (e.g. cell or Wi‑Fi data) supplied by the device |
geofenceIds | array | List of geofence ids applicable to this position |
attributes | object | Custom key-value attributes sent by the device or enrichments |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Identifier of the queued command job |
deviceId | integer | Device identifier the queued command will be delivered to |
type | string | Command type that will be executed |
textChannel | boolean | Indicates whether the queued command uses SMS delivery |
attributes | object | Stored parameters for the queued command |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the geofence interval |
deviceName | string | Human readable device name |
geofenceId | integer | Geofence identifier |
startTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
endTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the stop |
deviceName | string | Human readable device name |
duration | integer | Stop duration in seconds |
startTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
address | string | Address where the stop occurred |
lat | number | Stop latitude in decimal degrees |
lon | number | Stop longitude in decimal degrees |
endTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
spentFuel | number | in liters |
engineHours | integer | Engine hours accumulated during the stop |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the summary row |
deviceName | string | Human readable device name |
maxSpeed | number | in knots |
averageSpeed | number | in knots |
distance | number | in meters |
spentFuel | number | in liters |
engineHours | integer | Engine hours accumulated for the report period |
| Campo | Tipo | Descripción |
|---|---|---|
deviceId | integer | Device identifier for the trip |
deviceName | string | Human readable device name |
maxSpeed | number | in knots |
averageSpeed | number | in knots |
distance | number | in meters |
spentFuel | number | in liters |
duration | integer | Trip duration in seconds |
startTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
startAddress | string | Address where the trip started |
startLat | number | Starting latitude in decimal degrees |
startLon | number | Starting longitude in decimal degrees |
endTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
endAddress | string | Address where the trip ended |
endLat | number | Ending latitude in decimal degrees |
endLon | number | Ending longitude in decimal degrees |
driverUniqueId | string | Unique identifier of the driver assigned to the trip |
driverName | string | Name of the driver assigned to the trip |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique server configuration identifier |
registration | boolean | Whether new user registrations are allowed |
readonly | boolean | When true only administrators can modify server-wide settings |
deviceReadonly | boolean | Disallow device attribute changes for non-admins |
limitCommands | boolean | Restrict command execution to supported protocol commands |
map | string | Default map layer identifier |
bingKey | string | Bing Maps API key used when Bing is selected as a provider |
mapUrl | string | Custom tile server URL template if configured |
poiLayer | string | External point-of-interest layer configuration |
announcement | string | Message displayed to all users in the web application |
latitude | number | Default map center latitude |
longitude | number | Default map center longitude |
zoom | integer | Default map zoom level |
version | string | LIOT server version string |
forceSettings | boolean | Forces users to use the server-wide settings instead of their own |
coordinateFormat | string | Default coordinate format for displaying positions |
openIdEnabled | boolean | Indicates whether OpenID authentication is available |
openIdForce | boolean | Require OpenID authentication for all users when enabled |
attributes | object | Additional server-level configuration values |
| Campo | Tipo | Descripción |
|---|---|---|
captureTime | string (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
activeUsers | integer | Number of active users in the capture period |
activeDevices | integer | Number of active devices in the capture period |
requests | integer | Total API requests processed |
messagesReceived | integer | Number of device messages received |
messagesStored | integer | Number of device messages stored to the database |
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Unique user identifier |
name | string | User display name |
email | string | Email address used for login and notifications |
phone | string,null | Contact phone number for alerts |
readonly | boolean | When true, the user cannot change settings |
administrator | boolean | Grants full administrative privileges when enabled |
map | string,null | Preferred default map layer for the user |
latitude | number | Default map center latitude for this user |
longitude | number | Default map center longitude for this user |
zoom | integer | Default map zoom level on login |
password | string | Password for user authentication |
coordinateFormat | string,null | Preferred coordinate display format |
disabled | boolean | Indicates whether the user account is disabled |
expirationTime | string,null (date-time) | En formato ISO 8601, por ejemplo `1963-11-22T18:30:00Z`. |
deviceLimit | integer | Maximum number of devices the user can manage |
userLimit | integer | Maximum number of subordinate users |
deviceReadonly | boolean | Restricts user from modifying device attributes |
limitCommands | boolean | Prevents user from sending unsupported commands |
fixedEmail | boolean | Locks the email field to avoid changes |
poiLayer | string,null | External POI layer configured for the user |
attributes | object | Additional custom user attributes |
| Código | Nombre | Descripción |
|---|---|---|
| 200 | OK | La petición se completó correctamente. |
| 202 | Accepted | La operación quedó en cola (por ejemplo, comandos). |
| 204 | No Content | Operación exitosa sin cuerpo de respuesta. |
| 400 | Bad Request | Parámetros inválidos o faltantes. |
| 401 | Unauthorized | Credenciales ausentes o inválidas. |
| 403 | Forbidden | Autenticado, pero sin permisos suficientes. |
| 404 | Not Found | El recurso no existe. |
| 405 | Method Not Allowed | Método HTTP no soportado en la ruta. |
| 415 | Unsupported Media Type | Tipo de contenido no soportado. |
| 500 | Server Error | Error interno del servicio. |