List vehicles
Every vehicle you can name with vehicle_id: the presets (containers, trailers, trucks, pallets of the types your organization may use), then your organization's own vehicles.
Free: no credits are charged.
Autenticação
Parâmetros de consulta
limitintegerPage size.
201–100cursorstringnext_cursor of the previous page.
kindstringOnly presets (preset), or only your own vehicles (custom).
presetcustomtypestringOnly vehicles of this type.
trucktrailerflatbedcontainerpalletaircraftshipqstringOnly vehicles whose name contains this text.
created_bystringOnly what this member created: me (the key's creator) or a member id (usr_…).
Exemplo de pedido
curl -X GET "https://runner.cargoduo.com/v1/vehicles?type=trailer" \
-H "Authorization: Bearer $CARGODUO_API_KEY"const res = await fetch("https://runner.cargoduo.com/v1/vehicles?type=trailer", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
},
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.get(
"https://runner.cargoduo.com/v1/vehicles",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
params={
"type": "trailer",
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://runner.cargoduo.com/v1/vehicles?type=trailer", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("CARGODUO_API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(out))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/vehicles?type=trailer"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
}
}using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("CARGODUO_API_KEY"));
var request = new HttpRequestMessage(HttpMethod.Get, "https://runner.cargoduo.com/v1/vehicles?type=trailer");
var response = await client.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");<?php
$ch = curl_init('https://runner.cargoduo.com/v1/vehicles?type=trailer');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CARGODUO_API_KEY'),
],
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), ' ', $response, PHP_EOL;require "net/http"
require "uri"
uri = URI("https://runner.cargoduo.com/v1/vehicles?type=trailer")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.code, response.bodyExemplo de resposta
{
"data": [
{
"id": "standard-trailer-13-6m",
"object": "vehicle",
"kind": "preset",
"name": "Standard Trailer (13.6m)",
"type": "trailer",
"length": 1362,
"width": 248,
"height": 270,
"max_weight": 24000,
"floor_load_capacity": 1800,
"axle_positions": [
30,
938,
1069,
1200
],
"axle_max_loads": [
10000,
8000,
8000,
8000
],
"cog_range_x": 50,
"cog_range_y": 20,
"aux_deck": false,
"aux_deck_height": null,
"aux_deck_max_weight": null,
"tractor_weight": null,
"empty_trailer_weight": null,
"front_axle_to_middle_axle": null,
"front_axle_to_tractor_cog": null,
"front_axle_to_kingpin": null,
"kingpin_to_rear_axle": null,
"trailer_cog_to_rear_axle": null,
"trailer_start_to_kingpin": null,
"max_middle_axle_weight": null,
"max_rear_axle_weight": null,
"blocked_areas": [],
"created_by": null,
"updated_by": null,
"created_at": null
},
{
"id": "veh_118",
"object": "vehicle",
"kind": "custom",
"name": "Mega trailer 13.6 m",
"type": "trailer",
"length": 1360,
"width": 248,
"height": 300,
"max_weight": 24000,
"floor_load_capacity": null,
"axle_positions": [],
"axle_max_loads": [],
"cog_range_x": null,
"cog_range_y": null,
"aux_deck": false,
"aux_deck_height": null,
"aux_deck_max_weight": null,
"tractor_weight": null,
"empty_trailer_weight": null,
"front_axle_to_middle_axle": null,
"front_axle_to_tractor_cog": null,
"front_axle_to_kingpin": null,
"kingpin_to_rear_axle": null,
"trailer_cog_to_rear_axle": null,
"trailer_start_to_kingpin": null,
"max_middle_axle_weight": null,
"max_rear_axle_weight": null,
"blocked_areas": [],
"created_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"updated_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"created_at": "2026-10-02T08:41:17Z"
}
],
"next_cursor": ""
}Abridged: one preset and one of your vehicles are shown.
Respostas
200OKOne page of vehicles.
NomeTipoObrigatórioDescriçãodataSavedVehicle[]SavedVehicle[]NãoPresets first, then your own vehicles, oldest first.
idstringstringNãoPreset id, or veh_… for your own vehicles.
objectstringstringNãovehiclekindstringstringNãopreset= the predefined catalogue;custom= your organization's.presetcustomtypestringstringNãoVehicle type. Only the types listed in GET /v1/limits (allowed_vehicle_types) are accepted.
trucktrailerflatbedcontainerpalletaircraftshipnamestringstringNãoDisplay name.
lengthnumber · cmnumber · cmNãoInternal cargo-space length, along x (from the front wall toward the door).
widthnumber · cmnumber · cmNãoInternal cargo-space width, along z.
heightnumber · cmnumber · cmNãoInternal cargo-space height, along y.
max_weightnumber · kgnumber · kgNãoMaximum payload.
floor_load_capacitynumber | null · kg/m²number | null · kg/m²NãoFloor load capacity: 0 or more (0 = no limit).
axle_positionsnumber[] · cmnumber[] · cmNãoAxle (support point) positions measured from the front of the cargo area; negative = in front of it. Same length as axle_max_loads. Each between −300 (an axle ahead of the cargo area, e.g. a rigid truck's front axle under the cab) and the vehicle length.
axle_max_loadsnumber[] · kgnumber[] · kgNãoMaximum cargo load per axle, in the order of axle_positions. Each greater than 0 and at most 100000.
cog_range_xnumber | null · cmnumber | null · cmNãoAllowed centre-of-gravity deviation from the middle of the length: 0 to length / 2.
cog_range_ynumber | null · cmnumber | null · cmNãoAllowed centre-of-gravity deviation from the middle of the width: 0 to width / 2.
aux_deckbooleanbooleanNãoThe vehicle has a second deck (double-decker).
aux_deck_heightnumber | null · cmnumber | null · cmNãoSecond deck height above the floor. Required when
aux_deckistrue.aux_deck_max_weightnumber | null · kgnumber | null · kgNãoLoad limit of the second deck. Required when
aux_deckistrue.tractor_weightnumber | null · kgnumber | null · kgNãoSemi-trailer axle model: tractor unit mass.
empty_trailer_weightnumber | null · kgnumber | null · kgNãoSemi-trailer axle model: unladen trailer mass.
front_axle_to_middle_axlenumber | null · cmnumber | null · cmNãoSemi-trailer axle model: tractor front axle to drive (middle) axle.
front_axle_to_tractor_cognumber | null · cmnumber | null · cmNãoSemi-trailer axle model: front axle to tractor centre of gravity.
front_axle_to_kingpinnumber | null · cmnumber | null · cmNãoSemi-trailer axle model: front axle to kingpin (fifth wheel).
kingpin_to_rear_axlenumber | null · cmnumber | null · cmNãoSemi-trailer axle model: kingpin to trailer rear axle group.
trailer_cog_to_rear_axlenumber | null · cmnumber | null · cmNãoSemi-trailer axle model: trailer centre of gravity to rear axle group.
trailer_start_to_kingpinnumber | null · cmnumber | null · cmNãoSemi-trailer axle model: trailer front to kingpin.
max_middle_axle_weightnumber | null · kgnumber | null · kgNãoSemi-trailer axle model: legal drive (middle) axle limit.
max_rear_axle_weightnumber | null · kgnumber | null · kgNãoSemi-trailer axle model: legal rear axle group limit.
blocked_areasRect[]Rect[]NãoFloor zones nothing may stand on (wheel arches, damage, reserved space). Each must lie on the vehicle floor.
xnumber · cmobrigatórionumber · cmSimDistance from the front wall to the rectangle's near edge.
znumber · cmobrigatórionumber · cmSimDistance from the right wall (z = 0; right as seen from the door looking in) to the rectangle's near edge.
lengthnumber · cmobrigatórionumber · cmSimExtent along x.
widthnumber · cmobrigatórionumber · cmSimExtent along z.
created_byUserRef | nullUserRef | nullNãoThe member who created it (for API calls: the member who created the key).
nullwhen unknown.idstringstringNãoMember id (usr_…). Filter lists with ?created_by=.
namestringstringNãoupdated_byUserRef | nullUserRef | nullNãoThe member who last changed it.
idstringstringNãoMember id (usr_…). Filter lists with ?created_by=.
namestringstringNãocreated_atstring | nullstring | nullNãoRFC 3339;
nullfor presets.next_cursorstringstringNãoPass as ?cursor= for the next page; empty on the last page.
401Unauthorized
unauthorizedkey_revokedkey_expiredunauthorizedMissing, malformed or unknown API key.key_revokedThe key was revoked.key_expiredThe key passed its expiry date.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.
403Forbidden
ip_not_allowedsubscription_inactiveaccount_inactivescope_missingip_not_allowedThe calling IP is not on the key's allowlist.subscription_inactiveThe organization has no active subscription that includes the API.account_inactiveThe organization is suspended, or has no owner whose account is active.scope_missingThe key lacks a scope this endpoint needs.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.
422Unprocessable entity
validation_failedvalidation_failedThe request is well-formed JSON but describes an invalid job. details[] lists every problem.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.
429Too many requests
rate_limitedrate_limitedToo many requests in the current minute, hour or day (per key or per organization), or more than 60 failed authentications per minute from your IP address.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.
500Internal server error
internal_errorinternal_errorSomething failed on our side.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.
503Service unavailable
api_disabledapi_disabledThe API is temporarily disabled (maintenance) or switched off for the organization.
Todos os códigos de erroNomeTipoObrigatórioDescriçãoerrorErrorBodyobrigatórioErrorBodySimcodestringobrigatóriostringSimMachine code (snake_case). Branch on this, never on
message.messagestringobrigatóriostringSimEnglish explanation.
request_idstringobrigatóriostringSimSame as the X-Request-Id header. Quote it when contacting support.
detailsErrorDetail[]ErrorDetail[]NãoPer-field problems (
validation_failed).pathstringstringNãoJSON path of the offending field, e.g. items[3].length.
codestringstringNãorequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNãoEnglish explanation.