EcoTransIT World REST-Api (2025stable2.2.2)

Rate limit

Please Note: this Api uses rate limits: max. 100 requests/second and max 7 simultaneous connections are allowed!
Exceeding the rate limit will result in a http 429 error ("too many requests")

Authorization

EcoTransIT Rest Api uses the "Authorization Code Flow" for Authentication.
In the Header of your Api request set the authorization to Bearer followed by an access_token (see below how to get the token) like in the following curl request:

curl -X POST https://customer-name.ecotransit.org/etw-rest/calculateTransport \
     -H 'Content-Type: application/json' \
     -H 'Authorization: Bearer xxx-some-example-access-token-yyy' \
     -d '{"key": "value"}'

Authentication Server to get the access token from: https://customer-name.ecotransit.org/auth/realms/ETW/protocol/openid-connect/token

Get Access Token

Please visit get Access Token and provide username and password as given to you by the EcoTransIT staff.
After successful login you will r./eceive an access token and a refresh token. Use this access token as bearer token in your calculateTransport request (see first code snippet in Authorization section)
Please note that the access token expires after a while. You can use the refresh token to get a new access token, like in the following curl request.

curl -X POST https://customer-name.ecotransit.org/auth/realms/ETW/protocol/openid-connect/token \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "client_id=webservice-rest" \
     -d "client_secret=<my-client-secret>" \
     -d "grant_type=refresh_token" \
     -d "refresh_token=<my-refresh-token>"

⚠️ Warning: Store the refresh token at a safe place as it contains sensitive information!!

OpenId Endpoint Overview

An overview of the OpenId Endpoint Overview of the authorization server can be found here

Download OpenAPI description
Languages
Servers
Mock server
https://rest-api.ecotransit.world/_mock/apis/openapi/
https://customer-name.ecotransit.org/

calculateTransport

calculate Emissions for specified Transport

Operations

calculate Transport from json input

Request

request for emission calculations

Bodyapplication/jsonrequired
transportIDstring

Only Informational. Will also occur in Response. Use this to identify/tag/descripe your Requests

transportDateobject(transportDate)

Input: Only relevant for sea with routing "ais-based" (default) and air routing
For longer trips the transportDate shall specify the arrival date Output: Same as provided in the request or otherwise set to default

cargoobject(cargoParent)required
Example: {"unit":"TONS","amount":42}
cargo.​unitstring^TONS$required

metric tons (equal to 1000 kg)

Example: "TONS"
Discriminator
cargo.​amountnumber(double)>= 0required
Example: 40
cargo.​containerInformationobject(containerInformationTons)non-empty

In case the cargo is transported via container (e.g. default on sea-ships) you can specify container parameters.
Used to calculate the freight weight within the containers.

accountingobject(accounting)non-empty

Only available for air, sea and cooled transport (trucks, container trains and Clean Cargo container ships)

transportChainElementsArray of any(transportChainElement)non-emptyrequired
Example: [{"elementType":"TRANSPORT","route":{"origin":[{"locationType":"ZIP_CODE","country":"DE","code":"20539"}],"destination":[{"locationType":"ZIP_CODE","country":"DE","code":"30167"}]},"mainCarriage":{"transportMode":"ROAD"}}]
transportChainElements[].​elementTypestring^TRANSPORT$
Example: "TRANSPORT"
Discriminator
transportChainElements[].​customDescriptionstring

Only Informational. Can be used to tag/describe transport chain elements
The given information is simply passed through to the response as it is.

transportChainElements[].​routeobject(route)required
transportChainElements[].​route.​originArray of objects(location)non-emptyrequired

List of candidates for origin. The first match in the list will be set as origin All other items will be omitted

transportChainElements[].​route.​origin[].​locationTypestring^WGS84_COORDINATE$required
Example: "WGS84_COORDINATE"
Discriminator
transportChainElements[].​route.​origin[].​latitudenumber(double)[ -90 .. 90 ]required
Example: 52.38723
transportChainElements[].​route.​origin[].​longitudenumber(double)[ -180 .. 180 ]required
Example: 9.74021
transportChainElements[].​route.​origin[].​directConnectionboolean(directConnection)
KeyValue
trueDisables the transfer point determination and the transport starts directly from the selected location.
falseDepending on the transport mode the location will be validated and perhaps changed via the EcoTransIT World internal transfer point determination (default).
Example: false
transportChainElements[].​route.​origin[].​maxRoadFeederServiceDistanceobject(maxRoadFeederServiceDistance)

The maximum road feeder distance defines a circle distance around the respective location. Within this circle all airports will be included as possible transfer points. If no airport is found, the closest suitable airport will be selected by EcoTransIT World.

transportChainElements[].​route.​destinationArray of objects(location)non-emptyrequired

List of candidates for destination. The first match in the list will be set as destination All other items will be omitted

transportChainElements[].​route.​destination[].​locationTypestring^WGS84_COORDINATE$required
Example: "WGS84_COORDINATE"
Discriminator
transportChainElements[].​route.​destination[].​latitudenumber(double)[ -90 .. 90 ]required
Example: 52.38723
transportChainElements[].​route.​destination[].​longitudenumber(double)[ -180 .. 180 ]required
Example: 9.74021
transportChainElements[].​route.​destination[].​directConnectionboolean(directConnection)
KeyValue
trueDisables the transfer point determination and the transport starts directly from the selected location.
falseDepending on the transport mode the location will be validated and perhaps changed via the EcoTransIT World internal transfer point determination (default).
Example: false
transportChainElements[].​route.​destination[].​maxRoadFeederServiceDistanceobject(maxRoadFeederServiceDistance)

The maximum road feeder distance defines a circle distance around the respective location. Within this circle all airports will be included as possible transfer points. If no airport is found, the closest suitable airport will be selected by EcoTransIT World.

transportChainElements[].​preCarriageany(carriage)
transportChainElements[].​mainCarriageany(carriage)required
transportChainElements[].​mainCarriage.​transportModestring^ROAD$required
Example: "ROAD"
Discriminator
transportChainElements[].​mainCarriage.​loadFactorobject(loadFactor)

transported weight [t] / Maximum Payload of transport unit [t], expressed as percentage

transportChainElements[].​mainCarriage.​virtualDistanceobject(virtualDistance)

disables the routing and overrides the distance used for calculation. For truck transports the emission calculation for a motorway is assumed

transportChainElements[].​mainCarriage.​distanceAdjustmentFactorobject(distanceAdjustmentFactor)

Factor for operational derivations in percentage. Increases the overall distance.
E.g.: distanceAdjustmentFactor of 5 increases the calculated distance from 100km to 105km
For sea transports with clean cargo activated the distanceAdjustmentFactor is set to 15 by default as suggested by clean cargo.
Providing a custom distanceAdjustmentFactor for clean cargo transports will override the default value and is not recommended!

transportChainElements[].​mainCarriage.​emissionClassstring(emissionClassRoad)

The emissionClass of the transport vehicle

Enum"EU_EURO_1""EU_EURO_2""EU_EURO_3""EU_EURO_4""EU_EURO_5""EU_EURO_6""EU_EURO_6AC""EU_EURO_6DE""US_EPA_1994""US_EPA_1998"
Example: "EU_EURO_5"
transportChainElements[].​mainCarriage.​truckTypestring(truckType)

The truckType used for transportation (e.g. Class40 for truck with max. vehicle weight of 40 tons)

Enum"CLASS_CAR""CLASS_N1_I""CLASS_N1_II""CLASS_N1_III""CLASS_3_5""CLASS_7_5""CLASS_12""CLASS_20""CLASS_26""CLASS_40"
Example: "CLASS_40"
transportChainElements[].​mainCarriage.​emptyTripFactorobject(emptyTripFactor)
transportChainElements[].​mainCarriage.​coolingTypeobject(coolingTypeTruck)
transportChainElements[].​mainCarriage.​ferryRoutingstring(ferryRouting)
OptionDescription
PREFERREDFerry lines will be preferred
NORMALNormal ferry consideration (default)
OBSTRUCTFerry lines will be avoided
Enum"PREFERRED""NORMAL""OBSTRUCT"
Example: "NORMAL"
transportChainElements[].​mainCarriage.​truckLoadobject(truckLoad)

provide instead of loadFactor. Depending on value and parameters loadFactor will be calculated automatically
| Options| Description | | FTL |Full Truck Load | | LTL |Less than truck load| | FCL |Full container load| | AUTO | Automatic determination of FTL or LTL truck load | To calculate LCL please calculate a part container on the base of the t/TEU or t/FEU (e.g. 50% of the container are 0.5 TEU).

transportChainElements[].​mainCarriage.​truckWeightobject(truckWeight)non-empty

Input: Specify either vehicleEmptyWeight directly or truckBodyType which then calculates the EmptyWeight automatically.
If both values are provided the vehicleEmptyWeight will be taken into account and the truckBodyType will be ignored.

transportChainElements[].​mainCarriage.​containerCountobject(containerCount)
transportChainElements[].​mainCarriage.​userSpecificEmissionsobject(userSpecificEmissions)non-empty
transportChainElements[].​mainCarriage.​energyCompositionobject(energyCompositionRoad)
transportChainElements[].​postCarriageany(carriage)
settingsobject(settings)
customDescriptionobject

any desired information can be defined here (as a map / dictionary of string/string key-value pairs) and will also be shown in the response.
Can be specified as follows:
{
"someKey": "someValue",
"anotherKey": "anotherValue"
}

Example: {"information1":"Hello","information2":"World!"}
curl -i -X POST \
  https://rest-api.ecotransit.world/_mock/apis/openapi/etw-rest/calculateTransport \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cargo": {
      "unit": "TONS",
      "amount": "5.5"
    },
    "transportChainElements": [
      {
        "elementType": "TRANSPORT",
        "route": {
          "origin": [
            {
              "locationType": "ZIP_CODE",
              "country": "DE",
              "code": "20539"
            }
          ],
          "destination": [
            {
              "locationType": "ZIP_CODE",
              "country": "DE",
              "code": "30167"
            }
          ]
        },
        "mainCarriage": {
          "transportMode": "ROAD"
        }
      }
    ]
  }'

Responses

Successful operation

Bodyapplication/vnd.ecotransit.app.v2025r2+json
transportIDstring

Only Informational. Displays transportID as specified earlier in the request.

transportDateobject(transportDate)

Input: Only relevant for sea with routing "ais-based" (default) and air routing
For longer trips the transportDate shall specify the arrival date Output: Same as provided in the request or otherwise set to default

cargoobject(cargoParent)required
Example: {"unit":"TONS","amount":42}
cargo.​unitstring^TONS$required

metric tons (equal to 1000 kg)

Example: "TONS"
Discriminator
cargo.​amountnumber(double)>= 0required
Example: 40
cargo.​containerInformationobject(containerInformationTons)non-empty

In case the cargo is transported via container (e.g. default on sea-ships) you can specify container parameters.
Used to calculate the freight weight within the containers.

accountingobject(accounting)non-empty

Only available for air, sea and cooled transport (trucks, container trains and Clean Cargo container ships)

kmlFilestring(uri)

specifies the URL of the KML file that contains the route of the transport chain elements.

notificationsArray of objects(notification)
resultsPerTransportChainElementArray of objects(tceResult)non-emptyrequired
resultsPerTransportChainElement[].​numberOfTransportChainElementstring

indicating the number of the transport chain element (tce), if there is more than one

Example: "tce 1 of 3"
resultsPerTransportChainElement[].​customDescriptionstring

Informational data as provided in the request by the user.

resultsPerTransportChainElement[].​notificationsArray of objects(notification)
resultsPerTransportChainElement[].​preCarriageResultsArray of any(carriageResults)non-empty

one transportChainElement may have several pre/post/mainCarriageResults, e.g. when a flight requires stopovers

resultsPerTransportChainElement[].​mainCarriageResultsArray of any(carriageResults)non-emptyrequired

one transportChainElement may have several pre/post/mainCarriageResults, e.g. when a flight requires stopovers

resultsPerTransportChainElement[].​mainCarriageResults[].​resultTypestring^TRANSPORT_RESULT$required
Example: "TRANSPORT_RESULT"
Discriminator
resultsPerTransportChainElement[].​mainCarriageResults[].​notificationsArray of objects(notification)
resultsPerTransportChainElement[].​mainCarriageResults[].​routeobject(routeResponse)required
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​originobject(locationResponse)required

in the Response location is always a wgs84Coordinate

resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​notificationsArray of objects(notification)
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​wgs84Coordinateobject(wgs84CoordinateResponse)required
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​namestring
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​codeTypestring
Enum"ZIP_CODE""UN_LOCODE""IATA_CODE""UIC_CODE""NAME"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​countryCodestring(countryCode)^[A-Z]{2}$

ISO 3166-1 ALPHA-2 code of the country

resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​codestring
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​transportModeChangestring
Enum"ROAD""RAIL""SEA""AIR""INLANDWATERS""LOGISTIC_HUB"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​carriageChangestring
Enum"PRE_CARRIAGE""MAIN_CARRIAGE""POST_CARRIAGE"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​origin.​railTractionTypeChangestring(tractionType)
Enum"DIESEL""ELECTRICAL""DIESEL_AS_ELECTRIC"
Example: "ELECTRICAL"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destinationobject(locationResponse)required

in the Response location is always a wgs84Coordinate

resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​notificationsArray of objects(notification)
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​wgs84Coordinateobject(wgs84CoordinateResponse)required
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​namestring
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​codeTypestring
Enum"ZIP_CODE""UN_LOCODE""IATA_CODE""UIC_CODE""NAME"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​countryCodestring(countryCode)^[A-Z]{2}$

ISO 3166-1 ALPHA-2 code of the country

resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​codestring
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​transportModeChangestring
Enum"ROAD""RAIL""SEA""AIR""INLANDWATERS""LOGISTIC_HUB"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​carriageChangestring
Enum"PRE_CARRIAGE""MAIN_CARRIAGE""POST_CARRIAGE"
resultsPerTransportChainElement[].​mainCarriageResults[].​route.​destination.​railTractionTypeChangestring(tractionType)
Enum"DIESEL""ELECTRICAL""DIESEL_AS_ELECTRIC"
Example: "ELECTRICAL"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissionsobject(emissions)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​primaryEnergyobject(emissionsInMJ)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​primaryEnergy.​unitstringrequired
Value"MEGAJOULE"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​primaryEnergy.​energyProvisionnumber(double)required

Upstream energy consumption and upstream emissions (= energy provision, production and distribution)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​primaryEnergy.​operationalnumber(double)required

Final energy consumption and vehicle emissions (tank to wheel ttw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​primaryEnergy.​totalnumber(double)required

Total energy consumption and total emissions - Sum of operation and upstream figures (well to wheel wtw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​carbonDioxideobject(emissionsInTons)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​carbonDioxide.​unitstringrequired
Value"TONS"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​carbonDioxide.​energyProvisionnumber(double)required

Upstream energy consumption and upstream emissions (= energy provision, production and distribution)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​carbonDioxide.​operationalnumber(double)required

Final energy consumption and vehicle emissions (tank to wheel ttw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​carbonDioxide.​totalnumber(double)required

Total energy consumption and total emissions - Sum of operation and upstream figures (well to wheel wtw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nitrogenOxidesobject(emissionsInKg)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nitrogenOxides.​unitstringrequired
Value"KILOGRAMS"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nitrogenOxides.​energyProvisionnumber(double)required

Upstream energy consumption and upstream emissions (= energy provision, production and distribution)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nitrogenOxides.​operationalnumber(double)required

Final energy consumption and vehicle emissions (tank to wheel ttw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nitrogenOxides.​totalnumber(double)required

Total energy consumption and total emissions - Sum of operation and upstream figures (well to wheel wtw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​sulfurDioxidesobject(emissionsInKg)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​sulfurDioxides.​unitstringrequired
Value"KILOGRAMS"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​sulfurDioxides.​energyProvisionnumber(double)required

Upstream energy consumption and upstream emissions (= energy provision, production and distribution)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​sulfurDioxides.​operationalnumber(double)required

Final energy consumption and vehicle emissions (tank to wheel ttw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​sulfurDioxides.​totalnumber(double)required

Total energy consumption and total emissions - Sum of operation and upstream figures (well to wheel wtw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​nonMethaneHydroCarbonsobject(emissionsInKg)
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​particlesobject(emissionsInKg)
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2Equivalentsobject(emissionsInTons)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2Equivalents.​unitstringrequired
Value"TONS"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2Equivalents.​energyProvisionnumber(double)required

Upstream energy consumption and upstream emissions (= energy provision, production and distribution)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2Equivalents.​operationalnumber(double)required

Final energy consumption and vehicle emissions (tank to wheel ttw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2Equivalents.​totalnumber(double)required

Total energy consumption and total emissions - Sum of operation and upstream figures (well to wheel wtw)

resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​distanceobject(emissionsInKilometer)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​distance.​unitstringrequired
Value"KILOMETER"
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​distance.​totalnumber(double)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​transportActivityobject(emissionsInTonneKilometers)
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​co2EquivalentsIntensityobject(emissionsInGramsPerTonneKilometers)
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​externalCostsobject(externalCosts)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​externalCosts.​emissionCostsobject(emissionCosts)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​externalCosts.​accidentCostsobject(costsInEuro)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​externalCosts.​noiseCostsobject(costsInEuro)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​externalCosts.​totalCostsobject(costsInEuro)required
resultsPerTransportChainElement[].​mainCarriageResults[].​emissions.​dieselFuelConsumptionobject(dieselFuelConsumption)Deprecated

displays consumption of vehicle in liter per 100 km. deprecated
will soon be fully replaced by energyCarrier output

resultsPerTransportChainElement[].​mainCarriageResults[].​userSpecificEmissionsobject(emissions)
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParametersany(carriageParametersResponse)required
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​transportModestring^ROAD$required
Example: "ROAD"
Discriminator
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​loadFactorobject(loadFactor)required

transported weight [t] / Maximum Payload of transport unit [t], expressed as percentage

resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​loadFactor.​unitstring
Value"PERCENTAGE"
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​loadFactor.​valuenumber(double)[ 0 .. 100 ]
Example: 75
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​distanceAdjustmentFactorobject(distanceAdjustmentFactor)

Factor for operational derivations in percentage. Increases the overall distance.
E.g.: distanceAdjustmentFactor of 5 increases the calculated distance from 100km to 105km
For sea transports with clean cargo activated the distanceAdjustmentFactor is set to 15 by default as suggested by clean cargo.
Providing a custom distanceAdjustmentFactor for clean cargo transports will override the default value and is not recommended!

resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​emissionClassstring(emissionClassRoad)required

The emissionClass of the transport vehicle

Enum"EU_EURO_1""EU_EURO_2""EU_EURO_3""EU_EURO_4""EU_EURO_5""EU_EURO_6""EU_EURO_6AC""EU_EURO_6DE""US_EPA_1994""US_EPA_1998"
Example: "EU_EURO_5"
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​truckTypestring(truckType)

The truckType used for transportation (e.g. Class40 for truck with max. vehicle weight of 40 tons)

Enum"CLASS_CAR""CLASS_N1_I""CLASS_N1_II""CLASS_N1_III""CLASS_3_5""CLASS_7_5""CLASS_12""CLASS_20""CLASS_26""CLASS_40"
Example: "CLASS_40"
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​emptyTripFactorobject(emptyTripFactor)required
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​emptyTripFactor.​unitstring
Value"PERCENTAGE"
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​emptyTripFactor.​valuenumber(double)[ 0 .. 100 ]

By default the empty run factor will be defined by the type of truck load (for road calculation) or the train type (for rail calculations).
For train calculations:
see schema for trainType
For road calculations:

Truck loadEmpty run factor
FTL20%
LTL15%
Example: 75
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​coolingTypeobject(coolingTypeTruck)
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​ferryRoutingstring(ferryRouting)required
OptionDescription
PREFERREDFerry lines will be preferred
NORMALNormal ferry consideration (default)
OBSTRUCTFerry lines will be avoided
Enum"PREFERRED""NORMAL""OBSTRUCT"
Example: "NORMAL"
resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​truckLoadobject(truckLoad)

provide instead of loadFactor. Depending on value and parameters loadFactor will be calculated automatically
| Options| Description | | FTL |Full Truck Load | | LTL |Less than truck load| | FCL |Full container load| | AUTO | Automatic determination of FTL or LTL truck load | To calculate LCL please calculate a part container on the base of the t/TEU or t/FEU (e.g. 50% of the container are 0.5 TEU).

resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​truckWeightobject(truckWeight)non-empty

Input: Specify either vehicleEmptyWeight directly or truckBodyType which then calculates the EmptyWeight automatically.
If both values are provided the vehicleEmptyWeight will be taken into account and the truckBodyType will be ignored.

resultsPerTransportChainElement[].​mainCarriageResults[].​carriageParameters.​containerCountobject(containerCount)
resultsPerTransportChainElement[].​mainCarriageResults[].​primaryDataParametersobject(primaryDataParameters)

currently not available

resultsPerTransportChainElement[].​mainCarriageResults[].​energyCompositionobject(energyCompositionResponse)
resultsPerTransportChainElement[].​mainCarriageResults[].​energyCarriersArray of objects(energyCarrier)non-emptyrequired
resultsPerTransportChainElement[].​mainCarriageResults[].​energyCarriers[].​energyTypestring
Enum"GASOLINE""BIO_ETHANOL""DIESEL""BIO_DIESEL""HVO""CNG""BIO_CNG""LNG""BIO_LNG""KEROSENE"
resultsPerTransportChainElement[].​mainCarriageResults[].​energyCarriers[].​productionTypestring
Enum"FOSSIL""COUNTRY_MIX""MIX""RAPESEED_OIL""SOY_OIL""UCO""MAIZE""MANURE""BIOWASTE""GREY_HYDROGEN"
resultsPerTransportChainElement[].​mainCarriageResults[].​energyCarriers[].​consumptionArray of objects(consumptionUnits)non-empty

displays consumption in multiple units

resultsPerTransportChainElement[].​mainCarriageResults[].​energyCarriers[].​emissionsArray of objects(energyCarrierEmission)non-empty
resultsPerTransportChainElement[].​postCarriageResultsArray of any(carriageResults)non-empty

one transportChainElement may have several pre/post/mainCarriageResults, e.g. when a flight requires stopovers

customDescriptionobject

customerDescription as provided in the original request

debugobject

debug output only visible to EcoTransIT-Staff members

Response
application/vnd.ecotransit.app.v2025r2+json
{ "transportID": "string", "transportDate": { "year": "2022", "month": "3", "day": "27" }, "cargo": { "unit": "TONS", "amount": 42 }, "accounting": { "air": {}, "sea": {}, "cooledTransport": {} }, "kmlFile": "http://example.com", "notifications": [ {} ], "resultsPerTransportChainElement": [ {} ], "customDescription": { "property1": "string", "property2": "string" }, "debug": { "property1": "string", "property2": "string" } }

get a google earth kml file

Request

generates a google earth kml file of the routing for the provided request uuid

Query
expiresstringrequired

expiry date and time in ISO_8601 Standard UTC. YYYY-MM-DDThh:mmZ

Example: expires=2007-04-05T14:30Z
uuidstringrequired

uuid of kml as stated in the original calculation response

Example: uuid=b2d738cb-2b54-4f49-8f03-db838a03d91b
signaturestringrequired

signature to validate link

Example: signature=ol3RA-NjoO2POfxEcko994JIip1EQHTM8n6uqxYS730
curl -i -X GET \
  'https://rest-api.ecotransit.world/_mock/apis/openapi/etw-rest/calculateTransport/kml?expires=2007-04-05T14%3A30Z&signature=ol3RA-NjoO2POfxEcko994JIip1EQHTM8n6uqxYS730&uuid=b2d738cb-2b54-4f49-8f03-db838a03d91b'

Responses

Successful operation

Bodyapplication/octet-stream
string(binary)
Response
No content

Info

get general Information about the api

Operations