curl --request POST \
--url https://api.ugps.io/api/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
'import requests
url = "https://api.ugps.io/api/assets"
payload = {
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
icon: {id: '<string>', color: '<string>'},
mainTrackerId: 123,
trackers: [{id: 123, platform: '<string>'}],
plate: '<string>',
assetTypeId: '<string>',
vehicleTypeId: '<string>',
model: '<string>',
year: 123,
color: '<string>',
make: '<string>',
chassis: '<string>',
motor: '<string>',
fuel: '<string>',
kilometer: 123,
technicalInspection: {
date: '2023-12-25',
result: '<string>',
resultGas: '<string>',
month: '<string>',
station: {
code: '<string>',
region: '<string>',
commune: '<string>',
concession: '<string>',
address: '<string>'
}
},
description: '<string>',
clientId: '<string>',
state: '<string>'
})
};
fetch('https://api.ugps.io/api/assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ugps.io/api/assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'icon' => [
'id' => '<string>',
'color' => '<string>'
],
'mainTrackerId' => 123,
'trackers' => [
[
'id' => 123,
'platform' => '<string>'
]
],
'plate' => '<string>',
'assetTypeId' => '<string>',
'vehicleTypeId' => '<string>',
'model' => '<string>',
'year' => 123,
'color' => '<string>',
'make' => '<string>',
'chassis' => '<string>',
'motor' => '<string>',
'fuel' => '<string>',
'kilometer' => 123,
'technicalInspection' => [
'date' => '2023-12-25',
'result' => '<string>',
'resultGas' => '<string>',
'month' => '<string>',
'station' => [
'code' => '<string>',
'region' => '<string>',
'commune' => '<string>',
'concession' => '<string>',
'address' => '<string>'
]
],
'description' => '<string>',
'clientId' => '<string>',
'state' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ugps.io/api/assets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ugps.io/api/assets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ugps.io/api/assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"kind": "vehicle",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
}{
"error": "El email es requerido"
}{
"error": "Token inválido o expirado"
}{
"message": "Error interno del servidor"
}Crear un nuevo activo
Crea un nuevo activo en el sistema.
Datos requeridos:
name(string): Nombre del activoicon(object): Objeto conid(string) ycolor(string, formato hexadecimal #RRGGBB o #RGB)mainTrackerId(number): ID del tracker principaltrackers(array): Array de objetos conid(number) yplatform(string)plate(string): Placa del activo (debe ser única dentro del cliente)assetTypeId(string): ID del tipo de activo
Datos opcionales:
vehicleTypeId(string): ID del tipo de vehículomodel(string): Modelo del activoyear(number): Año del activocolor(string): Color del activomake(string): Marca del activochassis(string): Número de chasismotor(string): Número de motorfuel(string): Tipo de combustiblekilometer(number): Kilometrajedescription(string): Descripción adicionalstate(string): Estado del activo
Comportamiento automático:
- El
clientIdse asigna automáticamente desde el token del usuario - Se valida que la placa y el nombre sean únicos dentro del cliente
- Si se proporciona un
trackerId, se valida que el tracker pertenezca al mismo cliente
Permisos requeridos: access_assets
curl --request POST \
--url https://api.ugps.io/api/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
'import requests
url = "https://api.ugps.io/api/assets"
payload = {
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
icon: {id: '<string>', color: '<string>'},
mainTrackerId: 123,
trackers: [{id: 123, platform: '<string>'}],
plate: '<string>',
assetTypeId: '<string>',
vehicleTypeId: '<string>',
model: '<string>',
year: 123,
color: '<string>',
make: '<string>',
chassis: '<string>',
motor: '<string>',
fuel: '<string>',
kilometer: 123,
technicalInspection: {
date: '2023-12-25',
result: '<string>',
resultGas: '<string>',
month: '<string>',
station: {
code: '<string>',
region: '<string>',
commune: '<string>',
concession: '<string>',
address: '<string>'
}
},
description: '<string>',
clientId: '<string>',
state: '<string>'
})
};
fetch('https://api.ugps.io/api/assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ugps.io/api/assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'icon' => [
'id' => '<string>',
'color' => '<string>'
],
'mainTrackerId' => 123,
'trackers' => [
[
'id' => 123,
'platform' => '<string>'
]
],
'plate' => '<string>',
'assetTypeId' => '<string>',
'vehicleTypeId' => '<string>',
'model' => '<string>',
'year' => 123,
'color' => '<string>',
'make' => '<string>',
'chassis' => '<string>',
'motor' => '<string>',
'fuel' => '<string>',
'kilometer' => 123,
'technicalInspection' => [
'date' => '2023-12-25',
'result' => '<string>',
'resultGas' => '<string>',
'month' => '<string>',
'station' => [
'code' => '<string>',
'region' => '<string>',
'commune' => '<string>',
'concession' => '<string>',
'address' => '<string>'
]
],
'description' => '<string>',
'clientId' => '<string>',
'state' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ugps.io/api/assets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ugps.io/api/assets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ugps.io/api/assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"icon\": {\n \"id\": \"<string>\",\n \"color\": \"<string>\"\n },\n \"mainTrackerId\": 123,\n \"trackers\": [\n {\n \"id\": 123,\n \"platform\": \"<string>\"\n }\n ],\n \"plate\": \"<string>\",\n \"assetTypeId\": \"<string>\",\n \"vehicleTypeId\": \"<string>\",\n \"model\": \"<string>\",\n \"year\": 123,\n \"color\": \"<string>\",\n \"make\": \"<string>\",\n \"chassis\": \"<string>\",\n \"motor\": \"<string>\",\n \"fuel\": \"<string>\",\n \"kilometer\": 123,\n \"technicalInspection\": {\n \"date\": \"2023-12-25\",\n \"result\": \"<string>\",\n \"resultGas\": \"<string>\",\n \"month\": \"<string>\",\n \"station\": {\n \"code\": \"<string>\",\n \"region\": \"<string>\",\n \"commune\": \"<string>\",\n \"concession\": \"<string>\",\n \"address\": \"<string>\"\n }\n },\n \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"name": "<string>",
"icon": {
"id": "<string>",
"color": "<string>"
},
"mainTrackerId": 123,
"trackers": [
{
"id": 123,
"platform": "<string>"
}
],
"plate": "<string>",
"assetTypeId": "<string>",
"kind": "vehicle",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"technicalInspection": {
"date": "2023-12-25",
"result": "<string>",
"resultGas": "<string>",
"month": "<string>",
"station": {
"code": "<string>",
"region": "<string>",
"commune": "<string>",
"concession": "<string>",
"address": "<string>"
}
},
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
}{
"error": "El email es requerido"
}{
"error": "Token inválido o expirado"
}{
"message": "Error interno del servidor"
}Authorizations
Token de sesión Better Auth o API token (atk_...) en el header Authorization: Bearer <token>. Los JWT legacy ya no son válidos.
Body
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Familia canonica del activo. Se rellena de forma compatible con tipos antiguos.
vehicle, generic ID del tipo de vehículo asociado al activo (opcional)
Modelo del activo (opcional)
Color del activo (opcional)
Número de chasis del activo (opcional)
Número de motor del activo (opcional)
Tipo de combustible del activo (opcional)
Kilometraje del activo (opcional)
Revisión técnica del vehículo (opcional). La puebla la consulta vehicular
por patente y también se puede editar a mano. Solo aplica a activos de
kind vehicle: en los generic se limpia.
Show child attributes
Show child attributes
Descripción adicional del activo (opcional)
Estado del activo (opcional)