---
updatedAt: 2026-02-10T11:10:09.000Z
agentTools:
  projectIndex: https://developer.searoutes.com/llms.txt
---

# Get CO₂e for given shipment

> ❗️ Important
> As part of our transition to ISO-14083 certification, we've made some adjustments that don't require any action on your part. You can find detailed information about the changes in our [changelog](https://developer.searoutes.com/changelog/searoutes-cycle-21-pre-release-notice-preparing-for-shipment-api-v20-changes). You can also explore the new ISO-compliant version [here](/reference/getco2forshipment).

This endpoint computes CO₂e emissions (i.e CO2 equivalent emissions) for a given shipment. Shipment API allows you to define multiple route legs with multiple containers or parcels. The response contains CO2e per route leg as well as per order and total CO₂e of the shipment.

Shipment request is a nested json on the root level, it consists of required properties - `orders`, `legs` and optional properties - `metadata` and `details`.

You can specify `details` of shipment that will be displayed on the certificate (pdf). The following `details` are allowed: `id`, `referenceNumber`, `status`, `carrier.id`, `carrier.scac`, `carrier.name` and `client.name`. Where `status` can be `BOOKED` or `ARRIVED` and `client.name` is the name of your client. Provided carrier id, name or scac are the only parameters taken into account when computing CO₂e. However, `legs[0].details.carrier` id, scac or name will take precedence if has been provided. To be more specific, `/search/v2/carriers` endpoint can be used to retrieve a carrier object by its name or scac and can be used in `details.carrier` or `legs[0].details.carrier`.

You can define list of `orders` that belong to your shipment with maximum number of 5. All orders must include the `type` value. You can differentiate between container and parcel shipments using different `type` values.

The different types are `FCL` (or `CONTAINER`), `LCL` and `PARCEL` (with `PALLET` and `UNIT_LOAD` as aliases). 

Each order must have at least one of the following properties: `weight` (weight of orders in kg) or `quantity` (number of containers for containerized shipping). You can optionally define `sizeTypeCode` (size and type of your container). 
The supported values and their meanings are:
20GP, 22G1, 2200, 22G0, 2202, 2210 (20ft, General purpose (Standard)) [Default]
40GP, 42G1, 42G0, 40G1 (40ft, General purpose (Standard)), 
40HC, 45G1, 45G0, 4500, 4510 (40ft High cube, General Purpose),
22R1, 2231 (20ft, Reefer),
40NOR, 42R1, 4531 (40ft, Reefer),
40REHC, 45R1, 45R8 (40ft High cube, Reefer),
53GP (53ft High cube).
You can also optionally provide `id` of your order.

Field `legs` is a list of routes that are part of the shipment. Request must contain at leas one transport `leg` and maximum number of legs is 10.

Each _leg_ requires `from` and `to` (origin and destination). The value could be coordinates `"59.11;6.14"` or a string that could be geolocated `"hamburg"`.
Each _leg_ requires a `mode`. The following modes are supported: `sea`, `road`, `rail`, `inland-water` and `air`.
Each _leg_ can have an optional `details`. For all _modes_ you can specify `dateTime` with `arrival` and `departure` properties in ISO_8601 format, preferrably with timezone `YYYY-MM-DDTHH-mm-ssTZD` (`2022-02-22T15:00:00+01:00`). if you want to use different distance than the one we calculate you can specify optional `distance` property.
- For **mode sea** you can specify `details.voyageNumber` and `details.vessel`. Object `vessel` has two properties `name` and `imo`. Specifying `imo` of the `vessel` increases accuracy of CO2e values. Different way of improving accuracy of CO2e values is defining a carrier or `details.fuelType`. You can define `details.carrier.id`, `details.carrier.name` or `details.carrier.scac` per leg. In this case, you receive CO2e values that are calculated as average values of all the itineraries for given carrier on given route. If you define `details.carrier.scac` you are required to use UNLOCODES for origin (`from`) and destination (`to`) of your leg. Passing coordinates or location string will not pass our validation. If you provide both a vessel imo and a carrier id, scac or name the imo will take the precedence over the carrier.

- For **modes road and rail** you can specify `details.fuelType` to get a more accurate CO2e. Furthermore, you can specify `details.truckSize` (integer) for mode `road`. If you don't pass the trucksize we will choose appropriate truckSize for you. To improve accuracy of CO2e values for mode `road` you can define `details.carrier.id`, `details.carrier.name` or `details.carrier.scac`. This works only for North America region and the computation uses SmartWay carrier data (Dray (CONTAINER) and Mix (AVERAGE_MIXED)). If the SCAC passed is not valid or we don't have enough data to compute CO2e, the computation will be based on GLEC defaults.

- For **mode inland-water** you can specify `vesselType` with one of the following values: `MOTOR_VESSEL`, `COUPLED_CONVOY`, `PUSHED_CONVOY`, `CONTAINER_VESSEL_110`, `CONTAINER_VESSEL_135` or `CONTAINER_COUPLED`. Default value is `MOTOR_VESSEL.`

- For **mode air**, you can specify `details.flight` to get the emissions based on the aircraft operated for this specific flight number. In case the flight number is not found but the carrier is, emissions will be modeled based on the mot representative aircraft for this carrier. If you don't know the flight number, you can choose to specify `details.aircraft` with two optional properties: `iata` (IATA designator of the aircraft type) and `type` (either `PASSENGER` or `CARGO`). While air mode still accepts **LCL** shipments, note that the parameter will automatically default to **PARCEL** as air shipments cannot be containerized.
To avoid an inaccurate increase in CO₂e when your shipment includes `road` and `air` legs, specify the `truckSize` parameter.

Each _leg_ can have optional `metadata`. You can add any information you want to `metadata` object and it will be returned to you in the response. Contents of `metadata` do not influence CO2e calculation.

You can generate a certificate document (pdf) by setting the optional query parameter `generateCertificate` to `true`.

### Hubs

Logistics hubs are locations where freight is stored and processed, and handled from one vehicle or transport mode to another.

Hubs are an integral part of a shipment transport flows, and their impact is not to be overlooked. With our Shipment API, you can define hubs for your shipment as leg with mode `hub`. This type of leg does not include the standard properties of common legs but instead use a `detail` object with a `hubType` property. The `hubType` must be one of the following value: 
- `WAREHOUSE`
- `TRANSHIPMENT_SITE`
- `STORAGE_TRANSHIPMENT`
- `LIQUID_BULK_TERMINAL`
- `MARITIME_CONTAINER_TERMINAL`

As we are finalizing ISO-14083 compliance, we now automatically detect and include `TRANSHIPMENT_SITE`, and `MARITIME_CONTAINER_TERMINAL` in our calculations. Please be aware that these are not reflected in the response of this current version, so you may see a small increase in the total CO₂e as a result.                                                                                                                                                                                                                                                                                                                                                                                                                                                              


This is an example of such a leg:
```JSON 
... 
{ 
  "mode": "hub", 
  "details": { 
    "hubType": "WAREHOUSE"
    }
} 
... 
```

### Container shipment

For a container shipment the `type` of `orders` is required. The type can be `CONTAINER`, `FCL` or `LCL`. Result depends on `sizeTypeCode` and `quantity` of `orders` (1 by default), and if you provide the `weight` of the goods, this value will take priority over the `quantity` for the CO2 calculation in road and rail but also in sea and inland waters mode for LCL only.
See list of available `sizeTypeCodes` above. Container shipment cannot be used in combination with `air` transport. 

Example of defined orders for container shipment:

```JSON
"orders": [{
  "type": "CONTAINER",
  "quantity": 2,
}, {
  "type": "CONTAINER",
  "quantity": 1,
  "sizeTypeCode": "40GP"
}]
```

### Parcel shipment

For a parcel shipment the `weight` of `orders` and `type` are required. See list of available parcel aliases above. Defining `quantity` of `orders` makes the request a container shipment.

Example of defined order for parcel shipment:

```JSON
orders: [{
  type: "PALLET",
  weight: 7000, // in kilograms
}]
```

## Response

The response contains `parameters` object which consist of `orders` and `type` specified in the request. The `co2e` object represents the CO2e of the entire shipment. You can also find a `co2e` object within each `leg` with the following properties: 
- `co2e.total` (value in grams)
- `co2e.ttw` (Tank to Wheel - value in grams)
- `co2e.wtt` (Well to Tank - value in grams)
- `co2e.intensity` (value in Kg CO2e / t.km). 

While we use actual distances for emissions modeling, please note that intensity and transport activity calculations now adhere to ISO-14083 rules. These rules rely on the shortest feasible distance (SFD), making it easier to evaluate and compare itinerary efficiency.

Legs also have `properties` field with data that were used to compute CO₂e. You can find common properties for all leg - order CO2e requests in the root of the properties and order specific data in particular order object for instance `properties.orders[0]`. Each order contains CO₂e object and has a common structure accross the whole shipment which is located in `legs[0].properties.orders[0].co2e`. `Parameters` property inside a leg holds `details` that were used in the request. `from` and `to` are objects containing `coordinates`, `locode` (if exists), `country` and `city`.

The `certificateUrl` is where you can download certificate for your shipment in pdf format. We recommend saving this pdf right after receiving the response.


# OpenAPI definition

````json
{
  "openapi": "3.1.0",
  "info": {
    "version": "2.10.0",
    "title": "Old",
    "description": "# Introduction\nThe Searoutes web services APIs allow you to programmatically access tools and services from the Searoutes ecosystem. You can use these APIs to retrieve informations about vessel positions, vessel routes, GHG emissions, weather and other core data points. Searoutes services are divided in five categories:\n\n- Our [CO2 service](#tag/co2) calculates the CO2e emissions of a container on several modes of transport `SEA`, `AIR`, `RAIL` and `ROAD`.\n\n- Our [Vessel service](#tag/vessel) gives you up to date positions of vessels and estimated travel times to their next destination.\n\n- Our [Weather service](#tag/weather) lets you explore weather data points in the past or the future, at a location or on a route.\n\nNote that this is the documentation page for most recent stable version of Searoutes API. For the previous stable versions, [visit this documentation page](http://developer.searoutes.com/api/v1). \n\nIf you have a `valid API key`, you may try the API by copying the code samples in your shell, your favorite editor, or API development platform. Please be aware that some endpoints may not work with your API key depending on your service plan. If you would like a trial key or you want to add additional endpoints to your plan, please [get in touch with us](https://searoutes.typeform.com/to/ZRAoy5).\n",
    "termsOfService": "https://searoutes.com/terms-of-service/",
    "contact": {
      "email": "support@searoutes.com",
      "url": "https://searoutes.com"
    },
    "x-logo": {
      "url": "/img/searoutes-logo-vertical-blue.svg",
      "altText": "Searoutes logo"
    }
  },
  "servers": [
    {
      "url": "https://api.searoutes.com"
    }
  ],
  "paths": {
    "/shipment/v2/report/co2": {
      "post": {
        "operationId": "getCO2ForShipment",
        "tags": [
          "For a shipment"
        ],
        "summary": "Get CO₂e for given shipment",
        "parameters": [
          {
            "name": "generateCertificate",
            "description": "Boolean which controls if certificate is generated for requested shipment.",
            "in": "query",
            "required": false,
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "description": "> ❗️ Important\n> As part of our transition to ISO-14083 certification, we've made some adjustments that don't require any action on your part. You can find detailed information about the changes in our [changelog](https://developer.searoutes.com/changelog/searoutes-cycle-21-pre-release-notice-preparing-for-shipment-api-v20-changes). You can also explore the new ISO-compliant version [here](/reference/getco2forshipment).\n\nThis endpoint computes CO₂e emissions (i.e CO2 equivalent emissions) for a given shipment. Shipment API allows you to define multiple route legs with multiple containers or parcels. The response contains CO2e per route leg as well as per order and total CO₂e of the shipment.\n\nShipment request is a nested json on the root level, it consists of required properties - `orders`, `legs` and optional properties - `metadata` and `details`.\n\nYou can specify `details` of shipment that will be displayed on the certificate (pdf). The following `details` are allowed: `id`, `referenceNumber`, `status`, `carrier.id`, `carrier.scac`, `carrier.name` and `client.name`. Where `status` can be `BOOKED` or `ARRIVED` and `client.name` is the name of your client. Provided carrier id, name or scac are the only parameters taken into account when computing CO₂e. However, `legs[0].details.carrier` id, scac or name will take precedence if has been provided. To be more specific, `/search/v2/carriers` endpoint can be used to retrieve a carrier object by its name or scac and can be used in `details.carrier` or `legs[0].details.carrier`.\n\nYou can define list of `orders` that belong to your shipment with maximum number of 5. All orders must include the `type` value. You can differentiate between container and parcel shipments using different `type` values.\n\nThe different types are `FCL` (or `CONTAINER`), `LCL` and `PARCEL` (with `PALLET` and `UNIT_LOAD` as aliases). \n\nEach order must have at least one of the following properties: `weight` (weight of orders in kg) or `quantity` (number of containers for containerized shipping). You can optionally define `sizeTypeCode` (size and type of your container). \nThe supported values and their meanings are:\n20GP, 22G1, 2200, 22G0, 2202, 2210 (20ft, General purpose (Standard)) [Default]\n40GP, 42G1, 42G0, 40G1 (40ft, General purpose (Standard)), \n40HC, 45G1, 45G0, 4500, 4510 (40ft High cube, General Purpose),\n22R1, 2231 (20ft, Reefer),\n40NOR, 42R1, 4531 (40ft, Reefer),\n40REHC, 45R1, 45R8 (40ft High cube, Reefer),\n53GP (53ft High cube).\nYou can also optionally provide `id` of your order.\n\nField `legs` is a list of routes that are part of the shipment. Request must contain at leas one transport `leg` and maximum number of legs is 10.\n\nEach _leg_ requires `from` and `to` (origin and destination). The value could be coordinates `\"59.11;6.14\"` or a string that could be geolocated `\"hamburg\"`.\nEach _leg_ requires a `mode`. The following modes are supported: `sea`, `road`, `rail`, `inland-water` and `air`.\nEach _leg_ can have an optional `details`. For all _modes_ you can specify `dateTime` with `arrival` and `departure` properties in ISO_8601 format, preferrably with timezone `YYYY-MM-DDTHH-mm-ssTZD` (`2022-02-22T15:00:00+01:00`). if you want to use different distance than the one we calculate you can specify optional `distance` property.\n- For **mode sea** you can specify `details.voyageNumber` and `details.vessel`. Object `vessel` has two properties `name` and `imo`. Specifying `imo` of the `vessel` increases accuracy of CO2e values. Different way of improving accuracy of CO2e values is defining a carrier or `details.fuelType`. You can define `details.carrier.id`, `details.carrier.name` or `details.carrier.scac` per leg. In this case, you receive CO2e values that are calculated as average values of all the itineraries for given carrier on given route. If you define `details.carrier.scac` you are required to use UNLOCODES for origin (`from`) and destination (`to`) of your leg. Passing coordinates or location string will not pass our validation. If you provide both a vessel imo and a carrier id, scac or name the imo will take the precedence over the carrier.\n\n- For **modes road and rail** you can specify `details.fuelType` to get a more accurate CO2e. Furthermore, you can specify `details.truckSize` (integer) for mode `road`. If you don't pass the trucksize we will choose appropriate truckSize for you. To improve accuracy of CO2e values for mode `road` you can define `details.carrier.id`, `details.carrier.name` or `details.carrier.scac`. This works only for North America region and the computation uses SmartWay carrier data (Dray (CONTAINER) and Mix (AVERAGE_MIXED)). If the SCAC passed is not valid or we don't have enough data to compute CO2e, the computation will be based on GLEC defaults.\n\n- For **mode inland-water** you can specify `vesselType` with one of the following values: `MOTOR_VESSEL`, `COUPLED_CONVOY`, `PUSHED_CONVOY`, `CONTAINER_VESSEL_110`, `CONTAINER_VESSEL_135` or `CONTAINER_COUPLED`. Default value is `MOTOR_VESSEL.`\n\n- For **mode air**, you can specify `details.flight` to get the emissions based on the aircraft operated for this specific flight number. In case the flight number is not found but the carrier is, emissions will be modeled based on the mot representative aircraft for this carrier. If you don't know the flight number, you can choose to specify `details.aircraft` with two optional properties: `iata` (IATA designator of the aircraft type) and `type` (either `PASSENGER` or `CARGO`). While air mode still accepts **LCL** shipments, note that the parameter will automatically default to **PARCEL** as air shipments cannot be containerized.\nTo avoid an inaccurate increase in CO₂e when your shipment includes `road` and `air` legs, specify the `truckSize` parameter.\n\nEach _leg_ can have optional `metadata`. You can add any information you want to `metadata` object and it will be returned to you in the response. Contents of `metadata` do not influence CO2e calculation.\n\nYou can generate a certificate document (pdf) by setting the optional query parameter `generateCertificate` to `true`.\n\n### Hubs\n\nLogistics hubs are locations where freight is stored and processed, and handled from one vehicle or transport mode to another.\n\nHubs are an integral part of a shipment transport flows, and their impact is not to be overlooked. With our Shipment API, you can define hubs for your shipment as leg with mode `hub`. This type of leg does not include the standard properties of common legs but instead use a `detail` object with a `hubType` property. The `hubType` must be one of the following value: \n- `WAREHOUSE`\n- `TRANSHIPMENT_SITE`\n- `STORAGE_TRANSHIPMENT`\n- `LIQUID_BULK_TERMINAL`\n- `MARITIME_CONTAINER_TERMINAL`\n\nAs we are finalizing ISO-14083 compliance, we now automatically detect and include `TRANSHIPMENT_SITE`, and `MARITIME_CONTAINER_TERMINAL` in our calculations. Please be aware that these are not reflected in the response of this current version, so you may see a small increase in the total CO₂e as a result.                                                                                                                                                                                                                                                                                                                                                                                                                                                              \n\n\nThis is an example of such a leg:\n```JSON \n... \n{ \n  \"mode\": \"hub\", \n  \"details\": { \n    \"hubType\": \"WAREHOUSE\"\n    }\n} \n... \n```\n\n### Container shipment\n\nFor a container shipment the `type` of `orders` is required. The type can be `CONTAINER`, `FCL` or `LCL`. Result depends on `sizeTypeCode` and `quantity` of `orders` (1 by default), and if you provide the `weight` of the goods, this value will take priority over the `quantity` for the CO2 calculation in road and rail but also in sea and inland waters mode for LCL only.\nSee list of available `sizeTypeCodes` above. Container shipment cannot be used in combination with `air` transport. \n\nExample of defined orders for container shipment:\n\n```JSON\n\"orders\": [{\n  \"type\": \"CONTAINER\",\n  \"quantity\": 2,\n}, {\n  \"type\": \"CONTAINER\",\n  \"quantity\": 1,\n  \"sizeTypeCode\": \"40GP\"\n}]\n```\n\n### Parcel shipment\n\nFor a parcel shipment the `weight` of `orders` and `type` are required. See list of available parcel aliases above. Defining `quantity` of `orders` makes the request a container shipment.\n\nExample of defined order for parcel shipment:\n\n```JSON\norders: [{\n  type: \"PALLET\",\n  weight: 7000, // in kilograms\n}]\n```\n\n## Response\n\nThe response contains `parameters` object which consist of `orders` and `type` specified in the request. The `co2e` object represents the CO2e of the entire shipment. You can also find a `co2e` object within each `leg` with the following properties: \n- `co2e.total` (value in grams)\n- `co2e.ttw` (Tank to Wheel - value in grams)\n- `co2e.wtt` (Well to Tank - value in grams)\n- `co2e.intensity` (value in Kg CO2e / t.km). \n\nWhile we use actual distances for emissions modeling, please note that intensity and transport activity calculations now adhere to ISO-14083 rules. These rules rely on the shortest feasible distance (SFD), making it easier to evaluate and compare itinerary efficiency.\n\nLegs also have `properties` field with data that were used to compute CO₂e. You can find common properties for all leg - order CO2e requests in the root of the properties and order specific data in particular order object for instance `properties.orders[0]`. Each order contains CO₂e object and has a common structure accross the whole shipment which is located in `legs[0].properties.orders[0].co2e`. `Parameters` property inside a leg holds `details` that were used in the request. `from` and `to` are objects containing `coordinates`, `locode` (if exists), `country` and `city`.\n\nThe `certificateUrl` is where you can download certificate for your shipment in pdf format. We recommend saving this pdf right after receiving the response.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/shipment"
              }
            }
          },
          "description": "Request Object with shipment and legs"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "example": {
                  "parameters": {
                    "orders": [
                      {
                        "weight": 10000,
                        "quantity": 1,
                        "sizeTypeCode": "20GP",
                        "type": "CONTAINER",
                        "id": "OD34532"
                      }
                    ],
                    "details": {
                      "shipmentId": "AB212",
                      "referenceNumber": "3532313",
                      "status": "BOOKED",
                      "client": {
                        "name": "Client name."
                      },
                      "carrier": {
                        "name": "Carrier name",
                        "scac": "scac"
                      }
                    }
                  },
                  "co2e": {
                    "total": 3296455,
                    "wtt": 419244,
                    "ttw": 2877211,
                    "intensity": 0.03
                  },
                  "legs": [
                    {
                      "from": {
                        "locode": "CLSAI",
                        "coordinates": [
                          -71.6186943054199,
                          -33.5886058807373
                        ],
                        "city": "San Antonio",
                        "country": "Chile"
                      },
                      "to": {
                        "locode": "PAMIT",
                        "coordinates": [
                          -79.8831903934479,
                          9.36146351865689
                        ],
                        "city": "Manzanillo",
                        "country": "Panama"
                      },
                      "mode": "sea",
                      "parameters": {
                        "details": {
                          "dateTime": {
                            "departure": "2022-02-22T15:00:00Z"
                          }
                        }
                      },
                      "properties": {
                        "orders": [
                          {
                            "type": "CONTAINER",
                            "quantity": 1,
                            "weight": 10000,
                            "sizeTypeCode": "20GP",
                            "id": "OD34532",
                            "nTEU": 1,
                            "co2e": {
                              "total": 597609,
                              "wtt": 45197,
                              "ttw": 552412,
                              "intensity": 0.0119
                            }
                          }
                        ],
                        "dataType": "DEFAULT",
                        "distance": 5021925,
                        "secaIntersection": 0,
                        "vessel": {
                          "imo": null,
                          "name": "Intra South America GLEC Representative Vessel",
                          "minTEU": null,
                          "maxTEU": null
                        },
                        "tradeLane": "Intra South America"
                      },
                      "co2e": {
                        "total": 597609,
                        "wtt": 45197,
                        "ttw": 552412,
                        "intensity": 0.0119
                      }
                    },
                    {
                      "from": {
                        "locode": "USNYC",
                        "coordinates": [
                          -74.0896444102304,
                          40.6637868432737
                        ],
                        "city": "New York",
                        "country": "United States"
                      },
                      "to": {
                        "locode": "USCHI",
                        "coordinates": [
                          -87.6101792055955,
                          41.7542807805185
                        ],
                        "city": "Chicago",
                        "country": "United States"
                      },
                      "mode": "road",
                      "parameters": {
                        "details": {
                          "dateTime": {
                            "arrival": "2022-02-28T15:00:00+01:00",
                            "departure": "2022-02-22T15:00:00+01:00"
                          }
                        }
                      },
                      "properties": {
                        "orders": [
                          {
                            "type": "CONTAINER",
                            "weight": 10000,
                            "quantity": 1,
                            "sizeTypeCode": "20GP",
                            "id": "OD34532",
                            "co2e": {
                              "total": 597609,
                              "wtt": 45197,
                              "ttw": 552412,
                              "intensity": 0.0119
                            }
                          }
                        ],
                        "dataType": "DEFAULT",
                        "distance": 1255910,
                        "carrierScac": null,
                        "region": "North America",
                        "truck": {
                          "minSize": null,
                          "maxSize": null,
                          "loadFactor": null,
                          "emptyRunning": null,
                          "combinedEmptyRunningLoadFactor": null
                        }
                      },
                      "co2e": {
                        "total": 1044917,
                        "wtt": 178339,
                        "ttw": 866578,
                        "intensity": 0.0832
                      }
                    },
                    {
                      "from": {
                        "locode": "USCHI",
                        "coordinates": [
                          -87.6101792055955,
                          41.7542807805185
                        ],
                        "city": "Chicago",
                        "country": "United States"
                      },
                      "to": {
                        "locode": "FRMRS",
                        "coordinates": [
                          5.34005236625671,
                          43.3317317962646
                        ],
                        "city": "Marseille",
                        "country": "France"
                      },
                      "mode": "sea",
                      "parameters": {
                        "details": {
                          "dateTime": {
                            "arrival": "2022-02-25T15:00:00+04:00"
                          }
                        }
                      },
                      "properties": {
                        "orders": [
                          {
                            "type": "CONTAINER",
                            "weight": 10000,
                            "quantity": 1,
                            "sizeTypeCode": "20GP",
                            "nTEU": 1,
                            "id": "OD34532",
                            "co2e": {
                              "total": 597609,
                              "wtt": 45197,
                              "ttw": 552412,
                              "intensity": 0.0119
                            }
                          }
                        ],
                        "dataType": "DEFAULT",
                        "distance": 9357621,
                        "secaIntersection": 4182380,
                        "vessel": {
                          "imo": null,
                          "name": "Mediterranean to-from North America EC GLEC Representative Vessel",
                          "minTEU": null,
                          "maxTEU": null
                        },
                        "tradeLane": "Mediterranean to-from North America EC"
                      },
                      "co2e": {
                        "total": 832828,
                        "wtt": 65503,
                        "ttw": 767325,
                        "intensity": 0.0089
                      }
                    },
                    {
                      "from": {
                        "locode": "DEHAM",
                        "coordinates": [
                          9.93855,
                          53.519272
                        ],
                        "city": "Hamburg",
                        "country": "Germany"
                      },
                      "to": {
                        "locode": "FRMRS",
                        "coordinates": [
                          5.34005236625671,
                          43.3317317962646
                        ],
                        "city": "Marseille",
                        "country": "France"
                      },
                      "mode": "rail",
                      "parameters": {
                        "details": {
                          "dateTime": {
                            "arrival": "2022-02-25T15:00:00+04:00"
                          }
                        }
                      },
                      "properties": {
                        "orders": [
                          {
                            "type": "CONTAINER",
                            "weight": 10000,
                            "quantity": 1,
                            "containerSizeTypeCode": "20GP",
                            "id": "OD34532",
                            "co2e": {
                              "total": 597609,
                              "wtt": 45197,
                              "ttw": 552412,
                              "intensity": 0.0119
                            }
                          }
                        ],
                        "dataType": "DEFAULT",
                        "distance": 1559137,
                        "region": "Europe"
                      },
                      "co2e": {
                        "total": 265054,
                        "wtt": 31183,
                        "ttw": 233871,
                        "intensity": 0.017
                      }
                    },
                    {
                      "from": {
                        "locode": "DEHAM",
                        "coordinates": [
                          9.93855,
                          53.519272
                        ],
                        "city": "Hamburg",
                        "country": "Germany"
                      },
                      "to": {
                        "locode": "SKBTS",
                        "coordinates": [
                          17.1304991306235,
                          48.1354281817465
                        ],
                        "city": "Bratislava",
                        "country": "Slovakia"
                      },
                      "mode": "inland-water",
                      "parameters": {},
                      "properties": {
                        "orders": [
                          {
                            "type": "CONTAINER",
                            "weight": 10000,
                            "quantity": 1,
                            "sizeTypeCode": "20GP",
                            "id": "OD34532",
                            "co2e": {
                              "total": 597609,
                              "wtt": 45197,
                              "ttw": 552412,
                              "intensity": 0.0119
                            }
                          }
                        ],
                        "dataType": "DEFAULT",
                        "distance": 1904270,
                        "vessel": {
                          "vesselType": "MOTOR_VESSEL",
                          "minTonnage": 0,
                          "maxTonnage": 1000,
                          "combinedEmptyRunningLoadFactor": 0.55,
                          "fuel": "DIESEL",
                          "nBarges": null
                        }
                      },
                      "co2e": {
                        "total": 556047,
                        "wtt": 99022,
                        "ttw": 457025,
                        "intensity": 0.0292
                      }
                    }
                  ],
                  "certificateUrl": "http://api.searoutes.com/shipment/v2/report/co2/431fef86-e080-445f-b731-bf483f2f2bdb/certificate.pdf"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "example": {
                  "timestamp": 1654787251207,
                  "status": 400,
                  "error": "Bad Request",
                  "errorCodes": [
                    "3000"
                  ],
                  "messages": [
                    "type must be one of the following values: CONTAINER"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "example": {
                  "timestamp": 1654787322153,
                  "status": 404,
                  "error": "Not Found",
                  "errorCodes": [
                    "3000"
                  ],
                  "messages": [
                    "We couldn't find location: {location}"
                  ]
                }
              }
            }
          },
          "418": {
            "description": "Multiple errors",
            "content": {
              "application/json": {
                "example": {
                  "timestamp": 1654787894508,
                  "status": 418,
                  "error": "Multiple errors",
                  "errorCodes": [
                    "3140",
                    "1090"
                  ],
                  "messages": [
                    "IMO number must be a 7-digits number",
                    "Origin and destination should be in the same region. Supported regions for Road are : Europe, North America, South America, Africa and Asia "
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl --location --request POST 'http://api.searoutes.com/shipment/v2/report/co2' \\\n--header 'x-api-key: <your-api-key-here>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"type\":\"CONTAINER\",\n    \"orders\":[\n        {\n          \"type\": \"CONTAINER\",\n          \"containerSizeType\":\"20GP\",\n          \"weight\":300\n        }\n    ],\n   \"legs\":[\n      {\n         \"from\":\"-73.768741607666,45.4261722564697\",\n         \"to\":\"FRMRS\",\n         \"mode\":\"sea\"\n      },\n      {\n         \"from\":\"FRMRS\",\n         \"to\":\"DEHAM\",\n         \"mode\":\"road\"\n      }\n   ]\n}'\n"
          }
        ],
        "security": [
          {
            "api_key": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header",
        "description": "Use your `x-api-key` to authenticate with our APIs. Note that your key is tied with a usage plan. You are therefore rate limited depending on your subscription. If you wish you increase your request calls, please [get in touch with us](/contact/)."
      }
    },
    "schemas": {
      "SeaLegDetails": {
        "type": "object",
        "properties": {
          "voyageNumber": {
            "type": "string"
          },
          "carrier": {
            "type": "object",
            "properties": {
              "scac": {
                "type": "string"
              }
            }
          },
          "vessel": {
            "type": "object",
            "properties": {
              "imo": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          },
          "fuelType": {
            "type": "string",
            "enum": [
              "HFO",
              "VLSFO",
              "ULSFO",
              "MDO",
              "MGO",
              "LNG",
              "BIOLNG",
              "LSMGO",
              "METHANOL",
              "BIOMETHANOL",
              "IFO380",
              "LNG_CMACGM_VAS",
              "UCO",
              "METHANOL_COAL",
              "METHANOL_GAS",
              "METHANOL_RENEWABLES"
            ]
          },
          "distance": {
            "type": "number"
          },
          "dateTime": {
            "type": "object",
            "properties": {
              "departure": {
                "format": "date-time"
              },
              "arrival": {
                "format": "date-time"
              }
            }
          }
        }
      },
      "RailLegDetails": {
        "type": "object",
        "properties": {
          "fuelType": {
            "type": "string",
            "enum": [
              "ELEC",
              "DIESEL",
              "DEFAULT"
            ]
          },
          "fuel": {
            "type": "string",
            "example": "DIESEL",
            "deprecated": true,
            "description": "We recommend to use the parameter `fuelType` instead"
          },
          "distance": {
            "type": "number"
          },
          "dateTime": {
            "type": "object",
            "properties": {
              "departure": {
                "format": "date-time"
              },
              "arrival": {
                "format": "date-time"
              }
            }
          }
        }
      },
      "InlandWaterLegDetails": {
        "type": "object",
        "properties": {
          "vesselType": {
            "type": "string",
            "enum": [
              "MOTOR_VESSEL",
              "COUPLED_CONVOY",
              "PUSHED_CONVOY",
              "CONTAINER_VESSEL_110",
              "CONTAINER_VESSEL_135",
              "CONTAINER_COUPLED"
            ],
            "default": "MOTOR_VESSEL",
            "example": "MOTOR_VESSEL"
          },
          "distance": {
            "type": "number"
          },
          "dateTime": {
            "type": "object",
            "properties": {
              "departure": {
                "format": "date-time"
              },
              "arrival": {
                "format": "date-time"
              }
            }
          }
        }
      },
      "AirLegDetails": {
        "type": "object",
        "properties": {
          "aircraft": {
            "type": "object",
            "properties": {
              "iata": {
                "type": "string",
                "default": "74Y",
                "example": "74Y"
              },
              "type": {
                "type": "string",
                "enum": [
                  "CARGO",
                  "PASSENGER"
                ],
                "default": "CARGO",
                "example": "CARGO"
              }
            }
          },
          "distance": {
            "type": "number"
          },
          "dateTime": {
            "type": "object",
            "properties": {
              "departure": {
                "format": "date-time"
              },
              "arrival": {
                "format": "date-time"
              }
            }
          },
          "flight": {
            "type": "string",
            "description": "Flight is the combination of carrier iata code and flight number (`AF8448`)",
            "example": "AF8448"
          }
        }
      },
      "HubDetails": {
        "type": "object",
        "required": [
          "hubType"
        ],
        "properties": {
          "hubType": {
            "type": "string",
            "enum": [
              "WAREHOUSE",
              "TRANSHIPMENT_SITE",
              "STORAGE_TRANSHIPMENT",
              "LIQUID_BULK_TERMINAL",
              "MARITIME_CONTAINER_TERMINAL"
            ]
          }
        }
      },
      "RoadLegDetails": {
        "type": "object",
        "properties": {
          "truckSize": {
            "type": "integer"
          },
          "fuelType": {
            "type": "string",
            "enum": [
              "DIESEL",
              "CNG",
              "LNG",
              "PETROL",
              "HVO",
              "ELEC",
              "LPG",
              "BIOLNG",
              "BIOCNG",
              "HYDROGEN_GASEOUS_FCV",
              "BIODIESEL",
              "B1",
              "B2",
              "B5",
              "B7",
              "B10",
              "B20",
              "B30",
              "B50"
            ]
          },
          "fuel": {
            "type": "string",
            "example": "DIESEL",
            "deprecated": true,
            "description": "We recommend to use the parameter `fuelType` instead"
          },
          "distance": {
            "type": "number"
          },
          "carrier": {
            "type": "object",
            "properties": {
              "scac": {
                "type": "string"
              }
            }
          },
          "dateTime": {
            "type": "object",
            "properties": {
              "departure": {
                "format": "date-time",
                "example": "2022-02-24T18:00:00+01:00"
              },
              "arrival": {
                "format": "date-time",
                "example": "2022-02-22T15:00:00+01:00"
              }
            }
          }
        }
      },
      "Road_Leg": {
        "type": "object",
        "required": [
          "from",
          "to",
          "mode"
        ],
        "properties": {
          "from": {
            "type": "string",
            "example": "FRMRS",
            "default": "FRMRS"
          },
          "to": {
            "type": "string",
            "example": "DEHAM",
            "default": "DEHAM"
          },
          "mode": {
            "type": "string",
            "enum": [
              "road"
            ],
            "example": "road"
          },
          "details": {
            "$ref": "#/components/schemas/RoadLegDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "Sea_Leg": {
        "type": "object",
        "required": [
          "from",
          "to",
          "mode"
        ],
        "properties": {
          "from": {
            "type": "string",
            "example": "-73.768741607666,45.4261722564697",
            "default": "-73.768741607666,45.4261722564697"
          },
          "to": {
            "type": "string",
            "example": "DEHAM",
            "default": "DEHAM"
          },
          "mode": {
            "type": "string",
            "enum": [
              "sea"
            ],
            "example": "sea"
          },
          "details": {
            "$ref": "#/components/schemas/SeaLegDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "Rail_Leg": {
        "type": "object",
        "required": [
          "from",
          "to",
          "mode"
        ],
        "properties": {
          "from": {
            "type": "string",
            "example": "-73.768741607666,45.4261722564697",
            "default": "-73.768741607666,45.4261722564697"
          },
          "to": {
            "type": "string",
            "example": "DEHAM",
            "default": "DEHAM"
          },
          "mode": {
            "type": "string",
            "enum": [
              "rail"
            ],
            "example": "rail"
          },
          "details": {
            "$ref": "#/components/schemas/RailLegDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "Inland_water_Leg": {
        "type": "object",
        "required": [
          "from",
          "to",
          "mode"
        ],
        "properties": {
          "from": {
            "type": "string",
            "example": "SKBTS",
            "default": "SKBTS"
          },
          "to": {
            "type": "string",
            "example": "DEHAM",
            "default": "DEHAM"
          },
          "mode": {
            "type": "string",
            "enum": [
              "inland-water"
            ],
            "example": "inland-water"
          },
          "details": {
            "$ref": "#/components/schemas/InlandWaterLegDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "Air_Leg": {
        "type": "object",
        "required": [
          "from",
          "to",
          "mode"
        ],
        "properties": {
          "from": {
            "type": "string",
            "example": "PVG"
          },
          "to": {
            "type": "string",
            "example": "AMS"
          },
          "mode": {
            "type": "string",
            "enum": [
              "air"
            ],
            "example": "air"
          },
          "details": {
            "$ref": "#/components/schemas/AirLegDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "Hub": {
        "type": "object",
        "required": [
          "mode",
          "details"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "hub"
            ],
            "example": "hub"
          },
          "details": {
            "$ref": "#/components/schemas/HubDetails"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "shipment": {
        "type": "object",
        "required": [
          "orders",
          "legs"
        ],
        "properties": {
          "metadata": {
            "type": "object"
          },
          "details": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "We recommend to use this parameter instead of `shipmentId` (deprecated)",
                "example": "AD35736"
              },
              "referenceNumber": {
                "type": "string",
                "description": "We recommend to use this parameter instead of `bookingNumber` (deprecated)",
                "example": "304i93424"
              },
              "status": {
                "type": "string",
                "enum": [
                  "BOOKED",
                  "ARRIVED"
                ],
                "example": "BOOKED"
              },
              "carrier": {
                "type": "object",
                "properties": {
                  "scac": {
                    "type": "string",
                    "example": "SCAC"
                  },
                  "name": {
                    "type": "string",
                    "example": "My carrier"
                  }
                }
              },
              "client": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Client"
                  }
                }
              },
              "shipmentId": {
                "type": "string",
                "deprecated": true,
                "description": "We recommend to use the parameter `id` instead.",
                "example": "AD35736"
              },
              "bookingNumber": {
                "type": "string",
                "deprecated": true,
                "description": "We recommend to use the parameter `referenceNumber` instead.",
                "example": "304i93424"
              }
            }
          },
          "orders": {
            "type": "array",
            "description": "We recommend to use this parameter instead of `containers` (deprecated). Maximum amount of orders is 5.",
            "minItems": 1,
            "items": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "CONTAINER",
                    "PARCEL",
                    "FCL",
                    "LCL",
                    "PALLET",
                    "UNIT_LOAD"
                  ],
                  "example": "CONTAINER"
                },
                "sizeTypeCode": {
                  "type": "string",
                  "enum": [
                    "20GP",
                    "22G1",
                    "2200",
                    "22G0",
                    "2202",
                    "2210",
                    "40GP",
                    "42G1",
                    "42G0",
                    "40G1",
                    "40HC",
                    "45G1",
                    "4500",
                    "45G0",
                    "22R1",
                    "2231",
                    "42R1",
                    "4531",
                    "40NOR",
                    "45R1",
                    "45R8",
                    "40REHC",
                    "53GP"
                  ]
                },
                "quantity": {
                  "type": "number",
                  "default": 1
                },
                "weight": {
                  "type": "number",
                  "example": 300
                },
                "id": {
                  "type": "string",
                  "example": "OD45782"
                }
              }
            }
          },
          "legs": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Road_Leg"
                },
                {
                  "$ref": "#/components/schemas/Sea_Leg"
                },
                {
                  "$ref": "#/components/schemas/Rail_Leg"
                },
                {
                  "$ref": "#/components/schemas/Inland_water_Leg"
                },
                {
                  "$ref": "#/components/schemas/Air_Leg"
                },
                {
                  "$ref": "#/components/schemas/Hub"
                }
              ]
            }
          },
          "containers": {
            "type": "array",
            "deprecated": true,
            "description": "We recommend to use the parameter `bookings` instead.",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "sizeTypeCode": {
                  "type": "string",
                  "enum": [
                    "20GP",
                    "22G1",
                    "2200",
                    "22G0",
                    "2202",
                    "2210",
                    "40GP",
                    "42G1",
                    "42G0",
                    "40G1",
                    "40HC",
                    "45G1",
                    "4500",
                    "45G0",
                    "22R1",
                    "2231",
                    "42R1",
                    "4531",
                    "40NOR",
                    "45R1",
                    "45R8",
                    "40REHC",
                    "53GP"
                  ]
                },
                "quantity": {
                  "type": "number"
                },
                "weight": {
                  "type": "number"
                }
              }
            }
          },
          "type": {
            "type": "string",
            "deprecated": true,
            "enum": [
              "CONTAINER"
            ],
            "default": "CONTAINER"
          }
        }
      }
    }
  }
}
````