Freight CO2e by road, rail, sea, inland waterway and air (GLEC, ISO 14083), every step shown
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: Bearer <API key> from sootcase.org for more than 100 shipments a call or 2,000 a day
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculates one shipment's greenhouse gas emissions (kg CO2e: well-to-wheel, tank-to-wheel, well-to-tank) following the GLEC Framework v3.2 and ISO 14083. Routes each leg's distance from its coordinates or codes. Returns the result per leg (distance and how it was found, method, data type, emission factor and its source, distance adjustment, notes on legs Sootcase added) and a step-by-step calculation sheet with the arithmetic and the GLEC page and ISO 14083 clause behind each step.
The legs in order, from where the shipper hands the goods over to where the consignee receives them.
Your reference for the shipment
Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU
Hub stops (transhipment, storage); needs a dataset with hub factors.
Cargo weight in kg (or give teu instead)
Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.
With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework
With teu: net cargo tonnes per TEU (container tare is not added)
Calculates one shipment's greenhouse gas emissions (kg CO2e: well-to-wheel, tank-to-wheel, well-to-tank) following the GLEC Framework v3.2 and ISO 14083. Routes each leg's distance from its coordinates or codes. Returns the result per leg (distance and how it was found, method, data type, emission factor and its source, distance adjustment, notes on legs Sootcase added) and a step-by-step calculation sheet with the arithmetic and the GLEC page and ISO 14083 clause behind each step.
| Argument | Type | Description |
|---|---|---|
| id | string | Your reference for the shipment |
| teu | number | Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU |
| hubs | array | Hub stops (transhipment, storage); needs a dataset with hub factors. |
| legs* | array | The legs in order, from where the shipper hands the goods over to where the consignee receives them. |
| weight_kg | number | Cargo weight in kg (or give teu instead) |
| add_road_legs | boolean | Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result. |
| container_load | string | With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework |
| teu_net_tonnes | number | With teu: net cargo tonnes per TEU (container tare is not added) |
{
"type": "object",
"required": [
"legs"
],
"properties": {
"id": {
"type": "string",
"description": "Your reference for the shipment"
},
"teu": {
"type": "number",
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU"
},
"hubs": {
"type": "array",
"items": {
"type": "object",
"required": [
"hub_type"
],
"properties": {
"id": {
"type": "string",
"description": "Hub label"
},
"hub_type": {
"type": "string",
"description": "Hub type from the dataset"
}
},
"additionalProperties": false
},
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors."
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"mode",
"vehicle_type"
],
"properties": {
"id": {
"type": "string",
"description": "Your label for the leg"
},
"to": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"from": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"fuel": {
"type": "object",
"required": [
"fuel",
"amount"
],
"properties": {
"fuel": {
"type": "string",
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels"
},
"amount": {
"type": "number",
"description": "Amount in the fuel's unit (litres for the aliases)"
},
"vehicle_tonne_km": {
"type": "number",
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment."
}
},
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"additionalProperties": false
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"country": {
"type": "string",
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU"
},
"distance_km": {
"type": "number",
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred)."
},
"load_factor": {
"type": "number",
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both."
},
"load_tonnes": {
"type": "number",
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known."
},
"vehicle_type": {
"type": "string",
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge."
},
"distance_type": {
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string",
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied."
},
"empty_trip_factor": {
"type": "number",
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3)."
},
"energy_kwh_per_tkm": {
"type": "number",
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country."
}
},
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"additionalProperties": false
},
"minItems": 1,
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them."
},
"weight_kg": {
"type": "number",
"description": "Cargo weight in kg (or give teu instead)"
},
"add_road_legs": {
"type": "boolean",
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result."
},
"container_load": {
"type": "string",
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework"
},
"teu_net_tonnes": {
"type": "number",
"description": "With teu: net cargo tonnes per TEU (container tare is not added)"
}
},
"additionalProperties": false
}Calculates several shipments at once, each like calculate_shipment. A failing shipment doesn't stop the others; each failure says why and whether sending it again can help. Set explain to add calculation sheets (first 25 shipments).
| Argument | Type | Description |
|---|---|---|
| explain | boolean | Add the step-by-step calculation sheet of each shipment (up to 25) |
| shipments* | array | The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000. |
| add_road_legs | boolean | Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result. |
{
"type": "object",
"required": [
"shipments"
],
"properties": {
"explain": {
"type": "boolean",
"description": "Add the step-by-step calculation sheet of each shipment (up to 25)"
},
"shipments": {
"type": "array",
"items": {
"type": "object",
"required": [
"legs"
],
"properties": {
"id": {
"type": "string",
"description": "Your reference for the shipment"
},
"teu": {
"type": "number",
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU"
},
"hubs": {
"type": "array",
"items": {
"type": "object",
"required": [
"hub_type"
],
"properties": {
"id": {
"type": "string",
"description": "Hub label"
},
"hub_type": {
"type": "string",
"description": "Hub type from the dataset"
}
},
"additionalProperties": false
},
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors."
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"mode",
"vehicle_type"
],
"properties": {
"id": {
"type": "string",
"description": "Your label for the leg"
},
"to": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"from": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"fuel": {
"type": "object",
"required": [
"fuel",
"amount"
],
"properties": {
"fuel": {
"type": "string",
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels"
},
"amount": {
"type": "number",
"description": "Amount in the fuel's unit (litres for the aliases)"
},
"vehicle_tonne_km": {
"type": "number",
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment."
}
},
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"additionalProperties": false
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"country": {
"type": "string",
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU"
},
"distance_km": {
"type": "number",
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred)."
},
"load_factor": {
"type": "number",
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both."
},
"load_tonnes": {
"type": "number",
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known."
},
"vehicle_type": {
"type": "string",
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge."
},
"distance_type": {
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string",
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied."
},
"empty_trip_factor": {
"type": "number",
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3)."
},
"energy_kwh_per_tkm": {
"type": "number",
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country."
}
},
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"additionalProperties": false
},
"minItems": 1,
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them."
},
"weight_kg": {
"type": "number",
"description": "Cargo weight in kg (or give teu instead)"
},
"add_road_legs": {
"type": "boolean",
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result."
},
"container_load": {
"type": "string",
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework"
},
"teu_net_tonnes": {
"type": "number",
"description": "With teu: net cargo tonnes per TEU (container tare is not added)"
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000."
},
"add_road_legs": {
"type": "boolean",
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result."
}
},
"additionalProperties": false
}Calculates shipments and returns a report with the basic content ISO 14083 asks for at the level of transport services (GLEC v3.2 Section 2 Ch.1): coverage and failures, totals split into TTW and WTT, intensity, per mode and hub type, energy carriers, data quality (primary/modelled/default shares, sources, models), distance adjustments, and notes. Returned as Markdown and as structured data.
| Argument | Type | Description |
|---|---|---|
| title | string | Report title |
| period_to | string | End of the period covered, YYYY-MM-DD |
| reference | string | Where supporting information can be found |
| shipments* | array | The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000. |
| declare_iso | boolean | Add the ISO 14083:2023 conformity statement. Only when the user explicitly confirms that their data collection and boundaries conform. |
| period_from | string | Start of the period covered, YYYY-MM-DD |
| organisation | string | Organisation the report is for |
Finds cities, sea and inland ports, rail and road terminals, inland depots, border crossings and airports by name, UN/LOCODE or IATA code, with coordinates, from an embedded list (GeoNames, UN/LOCODE, OurAirports). Use it to fill a leg's from and to.
| Argument | Type | Description |
|---|---|---|
| kinds | array | Only places of these kinds: port (sea or inland port), rail and road (terminals), airport, inland (inland clearance depot), border (crossing), city. E.g. ["port"] for a sea or river leg, ["airport"] for an air leg |
| limit | integer | Most results (default 10) |
| query* | string | Place name, UN/LOCODE (NLRTM) or IATA code (CPH) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kinds": {
"type": "array",
"items": {
"enum": [
"city",
"port",
"rail",
"road",
"airport",
"inland",
"border"
],
"type": "string"
},
"description": "Only places of these kinds: port (sea or inland port), rail and road (terminals), airport, inland (inland clearance depot), border (crossing), city. E.g. [\"port\"] for a sea or river leg, [\"airport\"] for an air leg"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Most results (default 10)"
},
"query": {
"type": "string",
"description": "Place name, UN/LOCODE (NLRTM) or IATA code (CPH)"
}
},
"additionalProperties": false
}Explains the whole method: scope (WTW, TTW, WTT), inputs, the four calculation methods with formulas, how distances are routed, distance adjustment factors, added road legs, the emission factor datasets and their sources and limitations, data quality, what every result field means, errors, and how to present results.
No arguments.
{
"type": "object",
"additionalProperties": false
}Lists the vehicle types (and their short aliases) with their emission factors: g CO2e per tonne-km tank-to-wheel and well-to-tank, the distance type they are per, source and year, and for trucks the load model's payload (what load_factor 1 means). Optionally the fuels for the fuel method.
| Argument | Type | Description |
|---|---|---|
| mode | string | |
| search | string | Only vehicle types whose id, alias or source contains this, e.g. "container" or "refrigerated" |
| include_fuels | boolean | Also list fuels and their factors |
{
"type": "object",
"properties": {
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"search": {
"type": "string",
"description": "Only vehicle types whose id, alias or source contains this, e.g. \"container\" or \"refrigerated\""
},
"include_fuels": {
"type": "boolean",
"description": "Also list fuels and their factors"
}
},
"additionalProperties": false
}| add_road_legs |
| boolean |
| Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result. |
{
"type": "object",
"required": [
"shipments"
],
"properties": {
"title": {
"type": "string",
"description": "Report title"
},
"period_to": {
"type": "string",
"description": "End of the period covered, YYYY-MM-DD"
},
"reference": {
"type": "string",
"description": "Where supporting information can be found"
},
"shipments": {
"type": "array",
"items": {
"type": "object",
"required": [
"legs"
],
"properties": {
"id": {
"type": "string",
"description": "Your reference for the shipment"
},
"teu": {
"type": "number",
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU"
},
"hubs": {
"type": "array",
"items": {
"type": "object",
"required": [
"hub_type"
],
"properties": {
"id": {
"type": "string",
"description": "Hub label"
},
"hub_type": {
"type": "string",
"description": "Hub type from the dataset"
}
},
"additionalProperties": false
},
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors."
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"mode",
"vehicle_type"
],
"properties": {
"id": {
"type": "string",
"description": "Your label for the leg"
},
"to": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"from": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude, decimal degrees"
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude, decimal degrees"
},
"code": {
"type": "string",
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)"
},
"name": {
"type": "string",
"description": "Label for the place, shown in results"
}
},
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"additionalProperties": false
},
"fuel": {
"type": "object",
"required": [
"fuel",
"amount"
],
"properties": {
"fuel": {
"type": "string",
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels"
},
"amount": {
"type": "number",
"description": "Amount in the fuel's unit (litres for the aliases)"
},
"vehicle_tonne_km": {
"type": "number",
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment."
}
},
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"additionalProperties": false
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"country": {
"type": "string",
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU"
},
"distance_km": {
"type": "number",
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred)."
},
"load_factor": {
"type": "number",
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both."
},
"load_tonnes": {
"type": "number",
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known."
},
"vehicle_type": {
"type": "string",
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge."
},
"distance_type": {
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string",
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied."
},
"empty_trip_factor": {
"type": "number",
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3)."
},
"energy_kwh_per_tkm": {
"type": "number",
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country."
}
},
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"additionalProperties": false
},
"minItems": 1,
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them."
},
"weight_kg": {
"type": "number",
"description": "Cargo weight in kg (or give teu instead)"
},
"add_road_legs": {
"type": "boolean",
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result."
},
"container_load": {
"type": "string",
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework"
},
"teu_net_tonnes": {
"type": "number",
"description": "With teu: net cargo tonnes per TEU (container tare is not added)"
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000."
},
"declare_iso": {
"type": "boolean",
"description": "Add the ISO 14083:2023 conformity statement. Only when the user explicitly confirms that their data collection and boundaries conform."
},
"period_from": {
"type": "string",
"description": "Start of the period covered, YYYY-MM-DD"
},
"organisation": {
"type": "string",
"description": "Organisation the report is for"
},
"add_road_legs": {
"type": "boolean",
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result."
}
},
"additionalProperties": false
}