Список транспортных средств
Все транспортные средства, которые можно указать через vehicle_id: пресеты (контейнеры, прицепы, грузовики и паллеты тех типов, что доступны вашей организации), затем собственные транспортные средства организации.
Бесплатно: кредиты не списываются.
Аутентификация
Параметры запроса
limitintegerРазмер страницы.
201–100cursorstringnext_cursor предыдущей страницы.
kindstringТолько пресеты (preset) или только ваши транспортные средства (custom).
presetcustomtypestringТолько транспортные средства этого типа.
trucktrailerflatbedcontainerpalletaircraftshipqstringТолько транспортные средства, в названии которых есть этот текст.
created_bystringТолько созданное этим участником: me (создатель ключа) или ID участника (usr_…).
Пример запроса
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.bodyПример ответа
{
"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": ""
}Сокращено: показаны один пресет и одно ваше транспортное средство.
Ответы
200OKСтраница транспортных средств.
ИмяТипОбязательноОписаниеdataSavedVehicle[]SavedVehicle[]НетСначала пресеты, затем ваши транспортные средства, от старых к новым.
idstringstringНетID пресета или veh_… для ваших транспортных средств.
objectstringstringНетvehiclekindstringstringНетpreset= встроенный каталог;custom= транспортные средства вашей организации.presetcustomtypestringstringНетТип транспортного средства. Принимаются только типы из GET /v1/limits (allowed_vehicle_types).
trucktrailerflatbedcontainerpalletaircraftshipnamestringstringНетОтображаемое название.
lengthnumber · cmnumber · cmНетВнутренняя длина грузового пространства, по x (от передней стенки к дверям).
widthnumber · cmnumber · cmНетВнутренняя ширина грузового пространства, по z.
heightnumber · cmnumber · cmНетВнутренняя высота грузового пространства, по y.
max_weightnumber · kgnumber · kgНетМаксимальная грузоподъёмность.
floor_load_capacitynumber | null · kg/m²number | null · kg/m²НетДопустимая нагрузка на пол: 0 или больше (0 = без ограничений).
axle_positionsnumber[] · cmnumber[] · cmНетПоложения осей (точек опоры) от передней границы грузового пространства; отрицательное значение = перед ней. Та же длина массива, что у axle_max_loads. Каждое значение — от −300 (ось перед грузовым пространством, например передняя ось одиночного грузовика под кабиной) до длины транспортного средства.
axle_max_loadsnumber[] · kgnumber[] · kgНетМаксимальная нагрузка груза на каждую ось, в порядке axle_positions. Каждое значение больше 0 и не больше 100000.
cog_range_xnumber | null · cmnumber | null · cmНетДопустимое смещение центра тяжести от середины длины: от 0 до length / 2.
cog_range_ynumber | null · cmnumber | null · cmНетДопустимое смещение центра тяжести от середины ширины: от 0 до width / 2.
aux_deckbooleanbooleanНетУ транспортного средства есть второй ярус (двухъярусная загрузка).
aux_deck_heightnumber | null · cmnumber | null · cmНетВысота второго яруса над полом. Обязательна, если
aux_deckравноtrue.aux_deck_max_weightnumber | null · kgnumber | null · kgНетДопустимая нагрузка на второй ярус. Обязательна, если
aux_deckравноtrue.tractor_weightnumber | null · kgnumber | null · kgНетМодель осей полуприцепа: масса тягача.
empty_trailer_weightnumber | null · kgnumber | null · kgНетМодель осей полуприцепа: масса порожнего прицепа.
front_axle_to_middle_axlenumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от передней оси тягача до ведущей (средней) оси.
front_axle_to_tractor_cognumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от передней оси до центра тяжести тягача.
front_axle_to_kingpinnumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от передней оси до шкворня (седельно-сцепного устройства).
kingpin_to_rear_axlenumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от шкворня до группы задних осей прицепа.
trailer_cog_to_rear_axlenumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от центра тяжести прицепа до группы задних осей.
trailer_start_to_kingpinnumber | null · cmnumber | null · cmНетМодель осей полуприцепа: от передней части прицепа до шкворня.
max_middle_axle_weightnumber | null · kgnumber | null · kgНетМодель осей полуприцепа: допустимая по закону нагрузка на ведущую (среднюю) ось.
max_rear_axle_weightnumber | null · kgnumber | null · kgНетМодель осей полуприцепа: допустимая по закону нагрузка на группу задних осей.
blocked_areasRect[]Rect[]НетЗоны пола, где ничего нельзя ставить (колёсные арки, повреждения, зарезервированное место). Каждая должна лежать в пределах пола транспортного средства.
xnumber · cmобязательноnumber · cmДаРасстояние от передней стенки до ближнего края прямоугольника.
znumber · cmобязательноnumber · cmДаРасстояние от правой стенки (z = 0; справа, если смотреть от дверей внутрь) до ближнего края прямоугольника.
lengthnumber · cmобязательноnumber · cmДаПротяжённость по x.
widthnumber · cmобязательноnumber · cmДаПротяжённость по z.
created_byUserRef | nullUserRef | nullНетУчастник, создавший проект (для вызовов API — участник, создавший ключ).
null, если неизвестно.idstringstringНетID участника (usr_…). Фильтруйте списки через ?created_by=.
namestringstringНетupdated_byUserRef | nullUserRef | nullНетУчастник, последним изменивший проект.
idstringstringНетID участника (usr_…). Фильтруйте списки через ?created_by=.
namestringstringНетcreated_atstring | nullstring | nullНетRFC 3339;
nullдля пресетов.next_cursorstringstringНетПередайте как ?cursor=, чтобы получить следующую страницу; на последней странице пусто.
401Unauthorized
unauthorizedkey_revokedkey_expiredunauthorizedAPI-ключ отсутствует, имеет неверный формат или неизвестен.key_revokedКлюч отозван.key_expiredСрок действия ключа истёк.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.
403Forbidden
ip_not_allowedsubscription_inactiveaccount_inactivescope_missingip_not_allowedIP-адреса вызывающей стороны нет в списке разрешённых IP для этого ключа.subscription_inactiveУ организации нет активной подписки, включающей API.account_inactiveРабота организации приостановлена, или у неё нет владельца с активной учётной записью.scope_missingУ ключа нет области доступа, необходимой для этого endpoint.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.
422Unprocessable entity
validation_failedvalidation_failedЗапрос — корректный JSON, но описывает недопустимое задание. В details[] перечислены все проблемы.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.
429Too many requests
rate_limitedrate_limitedСлишком много запросов за текущую минуту, час или сутки (на ключ или на организацию) либо число неудачных попыток аутентификации с вашего IP-адреса превысило 60 в минуту.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.
500Internal server error
internal_errorinternal_errorСбой на нашей стороне.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.
503Service unavailable
api_disabledapi_disabledAPI временно отключён (техническое обслуживание) или выключен для организации.
Все коды ошибокИмяТипОбязательноОписаниеerrorErrorBodyобязательноErrorBodyДаcodestringобязательноstringДаМашиночитаемый код (snake_case). Ветвите логику по нему, а не по
message.messagestringобязательноstringДаПояснение на английском.
request_idstringобязательноstringДаСовпадает с заголовком X-Request-Id. Указывайте его при обращении в поддержку.
detailsErrorDetail[]ErrorDetail[]НетПроблемы по отдельным полям (
validation_failed).pathstringstringНетJSON-путь к проблемному полю, например items[3].length.
codestringstringНетrequired,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.messagestringstringНетПояснение на английском.