curl --request PUT \
--url https://api.ugps.io/api/assets/{id} \
--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,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
'import requests
url = "https://api.ugps.io/api/assets/{id}"
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,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
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,
description: '<string>',
clientId: '<string>',
state: '<string>'
})
};
fetch('https://api.ugps.io/api/assets/{id}', 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/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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,
'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/{id}"
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 \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.ugps.io/api/assets/{id}")
.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 \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ugps.io/api/assets/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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 \"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>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
}{
"error": "El email es requerido"
}{
"error": "Token inválido o expirado"
}{
"error": "Recurso no encontrado"
}{
"message": "Error interno del servidor"
}Actualizar un activo por ID
Actualiza un activo existente. Solo se actualizan los campos proporcionados.
Datos que se pueden actualizar:
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 activovehicleTypeId(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:
- Se valida que la placa y el nombre sean únicos dentro del cliente (si se actualizan)
- Si se proporciona un
trackerId, se valida que el tracker pertenezca al mismo cliente
Permisos requeridos: access_assets
curl --request PUT \
--url https://api.ugps.io/api/assets/{id} \
--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,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
'import requests
url = "https://api.ugps.io/api/assets/{id}"
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,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
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,
description: '<string>',
clientId: '<string>',
state: '<string>'
})
};
fetch('https://api.ugps.io/api/assets/{id}', 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/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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,
'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/{id}"
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 \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.ugps.io/api/assets/{id}")
.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 \"description\": \"<string>\",\n \"clientId\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ugps.io/api/assets/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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 \"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>",
"vehicleTypeId": "<string>",
"model": "<string>",
"year": 123,
"color": "<string>",
"make": "<string>",
"chassis": "<string>",
"motor": "<string>",
"fuel": "<string>",
"kilometer": 123,
"description": "<string>",
"clientId": "<string>",
"state": "<string>"
}
}{
"error": "El email es requerido"
}{
"error": "Token inválido o expirado"
}{
"error": "Recurso no encontrado"
}{
"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.
Path Parameters
ID del recurso
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)
Descripción adicional del activo (opcional)
Estado del activo (opcional)