Изменить проект
Переименовывает проект, меняет его параметры или заменяет транспортные средства либо позиции (вместе с группами).
Замена транспортных средств или позиций удаляет сохранённый план; открытые сессии приложения перезагружаются. Бесплатно: кредиты не списываются.
Аутентификация
Параметры пути
idstringобязательноID проекта (prj_…).
Параметры тела
application/jsonnamestringvehiclesProjectVehicle[]Слоты транспортных средств.
idstringID слота (pv_…). В результатах заданий проекта — vehicle_id. Только для чтения.
vehicle_idstringобязательноID транспортного средства из GET /v1/vehicles (пресет или veh_…).
namestringНазвание сохранённого транспортного средства. Только для чтения.
typestringТип сохранённого транспортного средства. Только для чтения.
trucktrailerflatbedcontainerpalletaircraftshiplengthnumber · cmРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
widthnumber · cmРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
heightnumber · cmРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
max_weightnumber · kgРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
quantityintegerСколько одинаковых транспортных средств с этим описанием доступно.
11–100aux_deckbooleanУ транспортного средства есть второй ярус (двухъярусная загрузка).
falseaux_deck_heightnumber · cmВысота второго яруса над полом. Обязательна, если aux_deck равно true.
aux_deck_max_weightnumber · kgДопустимая нагрузка на второй ярус. Обязательна, если aux_deck равно true.
blocked_areasRect[]Зоны пола, где ничего нельзя ставить (колёсные арки, повреждения, зарезервированное место). Каждая должна лежать в пределах пола транспортного средства.
xnumber · cmобязательноРасстояние от передней стенки до ближнего края прямоугольника.
znumber · cmобязательноРасстояние от правой стенки (z = 0; справа, если смотреть от дверей внутрь) до ближнего края прямоугольника.
lengthnumber · cmобязательноПротяжённость по x.
widthnumber · cmобязательноПротяжённость по z.
tractor_weightНужен доступnumber · kgМодель осей полуприцепа: масса тягача.
empty_trailer_weightНужен доступnumber · kgМодель осей полуприцепа: масса порожнего прицепа.
front_axle_to_middle_axleНужен доступnumber · cmМодель осей полуприцепа: от передней оси тягача до ведущей (средней) оси.
front_axle_to_tractor_cogНужен доступnumber · cmМодель осей полуприцепа: от передней оси до центра тяжести тягача.
front_axle_to_kingpinНужен доступnumber · cmМодель осей полуприцепа: от передней оси до шкворня (седельно-сцепного устройства).
kingpin_to_rear_axleНужен доступnumber · cmМодель осей полуприцепа: от шкворня до группы задних осей прицепа.
trailer_cog_to_rear_axleНужен доступnumber · cmМодель осей полуприцепа: от центра тяжести прицепа до группы задних осей.
trailer_start_to_kingpinНужен доступnumber · cmМодель осей полуприцепа: от передней части прицепа до шкворня.
max_middle_axle_weightНужен доступnumber · kgМодель осей полуприцепа: допустимая по закону нагрузка на ведущую (среднюю) ось.
max_rear_axle_weightНужен доступnumber · kgМодель осей полуприцепа: допустимая по закону нагрузка на группу задних осей.
itemsItem[]Позиции груза (не более 500 описаний).
idstringВаш идентификатор, уникальный в пределах запроса. В результатах — item_id. По умолчанию — template_id.
template_idstringID шаблона (tpl_…) из GET /v1/templates. Задаёт все поля позиции; поля, переданные рядом с ним, их переопределяют.
labelstringОтображаемая метка (по умолчанию — id).
shapestringФорма позиции. Для cylinder и drum используются radius + height вместо length + width; pallet и drum всегда стоят вертикально.
boxcylinderpalletbagdrumПо умолчанию "box"lengthnumber · cmДлина. Обязательна, если shape не cylinder и не drum.
widthnumber · cmШирина. Обязательна, если shape не cylinder и не drum.
heightnumber · cmобязательноВысота (вертикальная сторона, когда груз стоит в исходной ориентации).
radiusnumber · cmРадиус. Обязателен, если shape — cylinder или drum.
weightnumber · kgобязательноВес ОДНОЙ единицы.
quantityintegerКоличество одинаковых единиц.
11–10000stackablebooleanСверху можно ставить другие грузы.
truemax_stack_weightnumber · kgМаксимальный вес, который можно поставить на одну единицу. 0 = без ограничений.
0rotationstringall = любая из шести ориентаций; upright = только поворот вокруг вертикальной оси (этой стороной вверх); fixed = без поворотов.
alluprightfixedПо умолчанию "all"hazardousbooleanОпасный груз: размещается внизу и отдельно от других опасных грузов.
falsepriorityintegerПриоритет загрузки. Позиции с более высоким приоритетом загружаются раньше и при нехватке места остаются в плане. 0 = без приоритета.
0groupstringНазвание группы, к которой относится позиция (см. groups и options.group_routing).
colorstringЦвет отображения в формате #rrggbb (только в просмотрщике и PDF).
nesting_heightnumber · cmПерекрытие при вкладывании одинаковых единиц друг в друга (вкладываемые ящики, вёдра).
0groupsGroup[]Группы с порядком загрузки.
namestringобязательноНазвание группы, на которое ссылается Item.group.
orderintegerПорядок загрузки (меньше — раньше). По умолчанию — место в списке.
colorstringЦвет отображения в формате #rrggbb.
optionsProjectOptionsПараметры расчёта, которые хранит проект.
packing_modestringauto = когда указанные транспортные средства заполнены, добавляются копии наиболее подходящего (в пределах лимита транспортных средств задания); fleet_only = используются только указанные транспортные средства, всё, что не поместилось, попадает в неразмещённые.
autofleet_onlyПо умолчанию "auto"group_routingstringnone = группы только для информации; wall = каждая группа занимает свою секцию транспортного средства; routing = группы загружаются по порядку, и более поздняя группа может стоять на более ранней или рядом с ней, но не под ней (доставка по нескольким адресам); no_stack = группы загружаются по порядку рядом друг с другом, но не друг на друга.
nonewallroutingno_stackПо умолчанию "none"allow_overweightbooleanИгнорировать ограничения грузоподъёмности транспортных средств.
falseПример запроса
curl -X PATCH "https://runner.cargoduo.com/v1/projects/prj_3051" \
-H "Authorization: Bearer $CARGODUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}'const res = await fetch("https://runner.cargoduo.com/v1/projects/prj_3051", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}),
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.patch(
"https://runner.cargoduo.com/v1/projects/prj_3051",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
json={
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2,
},
],
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}`)
req, err := http.NewRequest("PATCH", "https://runner.cargoduo.com/v1/projects/prj_3051", body)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("CARGODUO_API_KEY"))
req.Header.Set("Content-Type", "application/json")
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 {
String body = """
{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/projects/prj_3051"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.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 json = """
{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}
""";
var request = new HttpRequestMessage(HttpMethod.Patch, "https://runner.cargoduo.com/v1/projects/prj_3051")
{
Content = new StringContent(json, Encoding.UTF8, "application/json"),
};
var response = await client.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");<?php
$payload = <<<'JSON'
{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}
JSON;
$ch = curl_init('https://runner.cargoduo.com/v1/projects/prj_3051');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CARGODUO_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
]);
$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/projects/prj_3051")
request = Net::HTTP::Patch.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
request["Content-Type"] = "application/json"
request.body = <<~'JSON'
{
"vehicles": [
{
"vehicle_id": "veh_118",
"quantity": 2
}
]
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.code, response.bodyПример ответа
{
"id": "prj_3051",
"object": "project",
"name": "Order 1042",
"status": "draft",
"item_count": 58,
"vehicle_count": 2,
"app_url": "https://app.cargoduo.com/projects/3051",
"created_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"updated_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"created_at": "2026-10-19T09:10:03Z",
"updated_at": "2026-10-19T09:22:03Z",
"options": {
"packing_mode": "auto",
"group_routing": "none",
"allow_overweight": false
},
"vehicles": [
{
"id": "pv_5121",
"vehicle_id": "veh_118",
"name": "Mega trailer 13.6 m",
"type": "trailer",
"quantity": 2,
"length": 1360,
"width": 248,
"height": 300,
"max_weight": 24000
}
],
"items": [
{
"id": "item_88410",
"label": "Euro pallet",
"shape": "box",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false,
"rotation": "all",
"color": "#3b82f6"
},
{
"id": "item_88411",
"label": "Carton A",
"shape": "box",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"stackable": true,
"rotation": "upright",
"color": "#f59e0b"
}
],
"groups": [],
"plan": null
}Ответы
200OKПроект после изменения.
ИмяТипОбязательноОписаниеidstringstringНетID проекта (prj_…).
objectstringstringНетprojectnamestringstringНетstatusstringstringНетdraft= ещё не рассчитывался или входные данные заменены;calculated= есть текущий план;stale= после расчёта плана изменились настройки.draftcalculatedstaleerroritem_countintegerintegerНетЕдиниц груза (сумма количеств).
vehicle_countintegerintegerНетТранспортных средств (сумма количеств).
app_urlstringstringНетОткрывает проект в 3D-редакторе приложения.
created_byUserRef | nullUserRef | nullНетУчастник, создавший проект (для вызовов API — участник, создавший ключ).
null, если неизвестно.idstringstringНетID участника (usr_…). Фильтруйте списки через ?created_by=.
namestringstringНетupdated_byUserRef | nullUserRef | nullНетУчастник, последним изменивший проект.
idstringstringНетID участника (usr_…). Фильтруйте списки через ?created_by=.
namestringstringНетcreated_atstringstringНетRFC 3339.
updated_atstringstringНетRFC 3339.
optionsProjectOptionsProjectOptionsНетПараметры расчёта, которые хранит проект.
packing_modestringstringНетauto= когда указанные транспортные средства заполнены, добавляются копии наиболее подходящего (в пределах лимита транспортных средств задания);fleet_only= используются только указанные транспортные средства, всё, что не поместилось, попадает в неразмещённые.autofleet_onlyПо умолчанию"auto"group_routingstringstringНетnone= группы только для информации;wall= каждая группа занимает свою секцию транспортного средства;routing= группы загружаются по порядку, и более поздняя группа может стоять на более ранней или рядом с ней, но не под ней (доставка по нескольким адресам);no_stack= группы загружаются по порядку рядом друг с другом, но не друг на друга.nonewallroutingno_stackПо умолчанию"none"allow_overweightbooleanbooleanНетИгнорировать ограничения грузоподъёмности транспортных средств.
По умолчаниюfalsevehiclesProjectVehicle[]ProjectVehicle[]НетidstringstringНетID слота (pv_…). В результатах заданий проекта — vehicle_id. Только для чтения.
vehicle_idstringобязательноstringДаID транспортного средства из GET /v1/vehicles (пресет или veh_…).
namestringstringНетНазвание сохранённого транспортного средства. Только для чтения.
typestringstringНетТип сохранённого транспортного средства. Только для чтения.
trucktrailerflatbedcontainerpalletaircraftshiplengthnumber · cmnumber · cmНетРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
widthnumber · cmnumber · cmНетРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
heightnumber · cmnumber · cmНетРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
max_weightnumber · kgnumber · kgНетРазмер, с которым рассчитывается слот; если передать, переопределяет значение сохранённого транспортного средства.
quantityintegerintegerНетСколько одинаковых транспортных средств с этим описанием доступно.
По умолчанию11–100aux_deckbooleanbooleanНетУ транспортного средства есть второй ярус (двухъярусная загрузка).
По умолчаниюfalseaux_deck_heightnumber · cmnumber · cmНетВысота второго яруса над полом. Обязательна, если
aux_deckравноtrue.aux_deck_max_weightnumber · kgnumber · kgНетДопустимая нагрузка на второй ярус. Обязательна, если
aux_deckравноtrue.blocked_areasRect[]Rect[]НетЗоны пола, где ничего нельзя ставить (колёсные арки, повреждения, зарезервированное место). Каждая должна лежать в пределах пола транспортного средства.
≤ 32 itemsxnumber · cmобязательноnumber · cmДаРасстояние от передней стенки до ближнего края прямоугольника.
znumber · cmобязательноnumber · cmДаРасстояние от правой стенки (z = 0; справа, если смотреть от дверей внутрь) до ближнего края прямоугольника.
lengthnumber · cmобязательноnumber · cmДаПротяжённость по x.
widthnumber · cmобязательноnumber · cmДаПротяжённость по z.
tractor_weightНужен доступnumber · kgnumber · kgНетМодель осей полуприцепа: масса тягача.
empty_trailer_weightНужен доступnumber · kgnumber · kgНетМодель осей полуприцепа: масса порожнего прицепа.
front_axle_to_middle_axleНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от передней оси тягача до ведущей (средней) оси.
front_axle_to_tractor_cogНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от передней оси до центра тяжести тягача.
front_axle_to_kingpinНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от передней оси до шкворня (седельно-сцепного устройства).
kingpin_to_rear_axleНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от шкворня до группы задних осей прицепа.
trailer_cog_to_rear_axleНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от центра тяжести прицепа до группы задних осей.
trailer_start_to_kingpinНужен доступnumber · cmnumber · cmНетМодель осей полуприцепа: от передней части прицепа до шкворня.
max_middle_axle_weightНужен доступnumber · kgnumber · kgНетМодель осей полуприцепа: допустимая по закону нагрузка на ведущую (среднюю) ось.
max_rear_axle_weightНужен доступnumber · kgnumber · kgНетМодель осей полуприцепа: допустимая по закону нагрузка на группу задних осей.
itemsItem[]Item[]НетГруз в формате Item из /v1/pack; ID вида item_….
idstringstringНетВаш идентификатор, уникальный в пределах запроса. В результатах — item_id. По умолчанию — template_id.
≤ 128 charstemplate_idstringstringНетID шаблона (tpl_…) из GET /v1/templates. Задаёт все поля позиции; поля, переданные рядом с ним, их переопределяют.
labelstringstringНетОтображаемая метка (по умолчанию — id).
≤ 255 charsshapestringstringНетФорма позиции. Для
cylinderиdrumиспользуютсяradius+heightвместоlength+width;palletиdrumвсегда стоят вертикально.boxcylinderpalletbagdrumПо умолчанию"box"lengthnumber · cmnumber · cmНетДлина. Обязательна, если
shapeнеcylinderи неdrum.widthnumber · cmnumber · cmНетШирина. Обязательна, если
shapeнеcylinderи неdrum.heightnumber · cmобязательноnumber · cmДаВысота (вертикальная сторона, когда груз стоит в исходной ориентации).
radiusnumber · cmnumber · cmНетРадиус. Обязателен, если
shape—cylinderилиdrum.weightnumber · kgобязательноnumber · kgДаВес ОДНОЙ единицы.
quantityintegerintegerНетКоличество одинаковых единиц.
По умолчанию11–10000stackablebooleanbooleanНетСверху можно ставить другие грузы.
По умолчаниюtruemax_stack_weightnumber · kgnumber · kgНетМаксимальный вес, который можно поставить на одну единицу. 0 = без ограничений.
По умолчанию0rotationstringstringНетall= любая из шести ориентаций;upright= только поворот вокруг вертикальной оси (этой стороной вверх);fixed= без поворотов.alluprightfixedПо умолчанию"all"hazardousbooleanbooleanНетОпасный груз: размещается внизу и отдельно от других опасных грузов.
По умолчаниюfalsepriorityintegerintegerНетПриоритет загрузки. Позиции с более высоким приоритетом загружаются раньше и при нехватке места остаются в плане. 0 = без приоритета.
По умолчанию0groupstringstringНетНазвание группы, к которой относится позиция (см.
groupsиoptions.group_routing).colorstringstringНетЦвет отображения в формате #rrggbb (только в просмотрщике и PDF).
nesting_heightnumber · cmnumber · cmНетПерекрытие при вкладывании одинаковых единиц друг в друга (вкладываемые ящики, вёдра).
По умолчанию0groupsGroup[]Group[]НетnamestringобязательноstringДаНазвание группы, на которое ссылается Item.group.
≤ 128 charsorderintegerintegerНетПорядок загрузки (меньше — раньше). По умолчанию — место в списке.
colorstringstringНетЦвет отображения в формате #rrggbb.
planProjectPlan | nullProjectPlan | nullНетТекущий план;
null, если у проекта его нет.items_placedintegerintegerНетРазмещено единиц.
items_unplacedintegerintegerНетЕдиницы, которые не удалось разместить.
vehicles_usedintegerintegerНетТранспортные средства, в которых есть хотя бы одна единица груза.
total_weightnumber · kgnumber · kgНетЗагруженный вес.
volume_utilizationnumbernumberНетСредняя заполненность по объёму задействованных транспортных средств, 0–1.
job_idstringstringНетЗадание API, создавшее этот план, — пока план не менялся. Пусто для плана, созданного или отредактированного в приложении.
pdf_urlstringstringНетСсылка на PDF этого задания (до его expires_at). Иначе пусто.
400Bad request
invalid_jsoninvalid_jsonТело запроса — невалидный JSON, или у поля неверный тип.
Все коды ошибокИмяТипОбязательноОписание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НетПояснение на английском.
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
plan_limit_reachedip_not_allowedsubscription_inactiveaccount_inactivescope_missingplan_limit_reachedТариф организации не позволяет создать больше проектов или позиций груза.ip_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НетПояснение на английском.
404Not found
project_not_foundproject_not_foundВ вашей организации нет проекта с таким ID.
Все коды ошибокИмяТипОбязательноОписание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НетПояснение на английском.
413Payload too large
payload_too_largepayload_too_largeТело запроса превышает 10 MB.
Все коды ошибокИмяТипОбязательноОписание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НетПояснение на английском.