Skip to main content
POST
/
trips
/
bulk
curl --request POST \
  --url https://app.unitedlogistics.com.do/api/v1/trips/bulk \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "external_id": 9876543,
    "vehicle_external_id": 12345,
    "start_date": "2026-05-26T08:32:00.000Z",
    "stop_date": "2026-05-26T10:14:00.000Z",
    "distance_km": 82.4,
    "max_speed_kph": 104.2
  },
  {
    "external_id": 9876544,
    "vehicle_external_id": 12345,
    "start_date": "2026-05-26T12:05:00.000Z",
    "stop_date": "2026-05-26T12:48:00.000Z",
    "distance_km": 31.7
  }
]
'
{
  "inserted": 18,
  "updated": 2,
  "ids": [
    482219,
    482220,
    482221
  ]
}
{
"error": {
"code": "bad_request",
"message": "Invalid trip payload.",
"details": {
"fieldErrors": {
"start_date": [
"start_date must be ISO 8601 datetime"
]
}
}
}
}
{
"error": {
"code": "unauthorized",
"message": "API key missing or invalid."
}
}
{
"error": {
"code": "forbidden",
"message": "No tienes permisos para modificar viajes."
}
}
{
"error": {
"code": "not_found",
"message": "El vehículo especificado no existe en esta organización."
}
}
{
"error": {
"code": "too_many_requests",
"message": "Rate limit exceeded."
}
}

Authorizations

Authorization
string
header
required

Authorization: Bearer ulk__. Cree la clave en Configuración → API.

Body

application/json
external_id
integer
required

Provider trip id (legacy trip_id). Unique per org_id.

Example:

9876543

vehicle_external_id
integer
required

Provider vehicle id (legacy vehicle_id).

Example:

12345

start_date
string<date-time>
required

ISO 8601 timestamp when the trip started.

Example:

"2026-05-26T08:32:00.000Z"

provider
string
default:karma

Telematics provider slug. Defaults to karma.

Required string length: 1 - 64
Example:

"karma"

driver_external_id
integer | null

Provider driver id, if known.

Example:

4421

device_id
string | null
Maximum string length: 255
Example:

"GPS-DEV-001"

vehicle_number
string | null

Denormalized vehicle number at the time of the trip.

Maximum string length: 255
Example:

"UL-021"

trip_active
integer | null
start_message_id
integer | null
start_latitude
number | null
Required range: -90 <= x <= 90
start_longitude
number | null
Required range: -180 <= x <= 180
start_odometer_km
number | null
Required range: x >= 0
stop_message_id
integer | null
stop_date
string<date-time> | null
stop_latitude
number | null
Required range: -90 <= x <= 90
stop_longitude
number | null
Required range: -180 <= x <= 180
stop_odometer_km
number | null
Required range: x >= 0
duration_s
integer | null
Required range: x >= 0
distance_km
number | null
Required range: x >= 0
duration_night_s
integer | null
Required range: x >= 0
distance_night_km
number | null
Required range: x >= 0
max_speed_kph
number | null
Required range: x >= 0
driving_score
integer | null
Required range: 0 <= x <= 100
eco_score
number | null
Required range: 0 <= x <= 100

Response

Imported

inserted
integer
required

Number of trips newly created.

Example:

18

updated
integer
required

Number of existing trips updated.

Example:

2

ids
integer[]
required

Internal ids of every imported (inserted or updated) trip.