Carbonara CO2 · Schema

Result

CompanySustainabilityOpen SourceClimate TechSoftware

Properties

Name Type Description
shipment_id string
biogenic_co2_kg number Biogenic CO2, reported separately and not included in the totals (GLEC v3.3 p. 64)
weight_kg number Cargo weight used
weight_basis string
container_load string Container load profile that set the tonnes per TEU
legs array
hubs array
tonne_km number
ttw_kg number
wtw_kg number Transport plus hubs
intensity_g_per_tkm number Transport WTW only
wtt_kg number Transport well-to-tank (hubs are WTW only)
primary_data_share number Share of WTW emissions from primary data (0-1)
ghg_protocol object WTW in GHG Protocol scopes. A company buying the transport reports all of it in scope 3 (category 4 or 9); the operator of the vehicles splits it into scope 1 (fuel burnt), scope 2 (electricity, inclu
dataset string
warnings array Things left as given that may make the result too low, e.g. a gap between legs not counted
View JSON Schema on GitHub

JSON Schema

carbonara-co2-org-result-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/carbonara-co2-org/json-schema/carbonara-co2-org-result-schema.json",
  "title": "Result",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/carbonara-co2-org-openapi.yaml#/components/schemas/Result",
  "type": "object",
  "properties": {
    "shipment_id": {
      "type": "string"
    },
    "biogenic_co2_kg": {
      "type": "number",
      "description": "Biogenic CO2, reported separately and not included in the totals (GLEC v3.3 p. 64)"
    },
    "weight_kg": {
      "type": "number",
      "description": "Cargo weight used"
    },
    "weight_basis": {
      "type": "string",
      "enum": [
        "weight",
        "teu"
      ]
    },
    "container_load": {
      "type": "string",
      "description": "Container load profile that set the tonnes per TEU"
    },
    "legs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/LegResult"
      }
    },
    "hubs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "hub_id": {
            "type": "string"
          },
          "hub_type": {
            "type": "string"
          },
          "wtw_kg": {
            "type": "number"
          },
          "data_type": {
            "$ref": "#/$defs/DataType"
          },
          "source": {
            "type": "string"
          }
        }
      }
    },
    "tonne_km": {
      "type": "number"
    },
    "ttw_kg": {
      "type": "number"
    },
    "wtw_kg": {
      "type": "number",
      "description": "Transport plus hubs"
    },
    "intensity_g_per_tkm": {
      "type": "number",
      "description": "Transport WTW only"
    },
    "wtt_kg": {
      "type": "number",
      "description": "Transport well-to-tank (hubs are WTW only)"
    },
    "primary_data_share": {
      "type": "number",
      "description": "Share of WTW emissions from primary data (0-1)"
    },
    "ghg_protocol": {
      "type": "object",
      "description": "WTW in GHG Protocol scopes. A company buying the transport reports all of it in scope 3 (category 4 or 9); the operator of the vehicles splits it into scope 1 (fuel burnt), scope 2 (electricity, including the upstream share its factor contains) and scope 3 category 3 (fuel production and delivery); hubs are WTW only.\n",
      "properties": {
        "scope3_shipper_kg": {
          "type": "number"
        },
        "operator_scope1_kg": {
          "type": "number"
        },
        "operator_scope2_kg": {
          "type": "number"
        },
        "operator_scope3_cat3_kg": {
          "type": "number"
        },
        "hubs_kg": {
          "type": "number"
        }
      }
    },
    "dataset": {
      "type": "string"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Things left as given that may make the result too low, e.g. a gap between legs not counted"
    }
  },
  "$defs": {
    "DataType": {
      "type": "string",
      "enum": [
        "primary",
        "modelled",
        "default"
      ],
      "description": "primary: measured fuel; modelled: load or energy model from shipment inputs; default: published factor"
    },
    "DistanceType": {
      "type": "string",
      "enum": [
        "sfd",
        "gcd",
        "actual"
      ],
      "description": "Shortest feasible, great-circle, or actually travelled distance (GLEC / ISO 14083)"
    },
    "Factor": {
      "type": "object",
      "properties": {
        "mode": {
          "$ref": "#/$defs/Mode"
        },
        "vehicle_type": {
          "type": "string"
        },
        "ttw_g_per_tkm": {
          "type": "number"
        },
        "wtt_g_per_tkm": {
          "type": "number"
        },
        "source": {
          "type": "string"
        },
        "year": {
          "type": "integer"
        },
        "distance_basis": {
          "$ref": "#/$defs/DistanceType"
        },
        "data_type": {
          "type": "string",
          "description": "primary for factors built from the operator's own measurements (transport operation categories); else left out"
        }
      }
    },
    "FuelFactor": {
      "type": "object",
      "properties": {
        "fuel": {
          "type": "string"
        },
        "biogenic_co2_kg_per_unit": {
          "type": "number",
          "description": "Biogenic CO2 per unit, outside the TTW/WTT factors"
        },
        "unit": {
          "type": "string"
        },
        "ttw_kg_per_unit": {
          "type": "number"
        },
        "wtt_kg_per_unit": {
          "type": "number"
        },
        "source": {
          "type": "string"
        },
        "year": {
          "type": "integer"
        }
      }
    },
    "LegPart": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "ferry",
            "electrified"
          ]
        },
        "mode": {
          "$ref": "#/$defs/Mode"
        },
        "distance_km": {
          "type": "number"
        },
        "tonne_km": {
          "type": "number"
        },
        "ttw_kg": {
          "type": "number"
        },
        "wtt_kg": {
          "type": "number"
        },
        "wtw_kg": {
          "type": "number"
        },
        "method": {
          "type": "string"
        },
        "data_type": {
          "$ref": "#/$defs/DataType"
        },
        "factor": {
          "$ref": "#/$defs/Factor"
        },
        "daf": {
          "type": "number"
        },
        "daf_source": {
          "type": "string"
        },
        "energy_kwh_per_tkm": {
          "type": "number"
        },
        "country": {
          "type": "string"
        }
      }
    },
    "LegResult": {
      "type": "object",
      "properties": {
        "leg_id": {
          "type": "string",
          "description": "The leg's id, or added-N for an added road leg"
        },
        "biogenic_co2_kg": {
          "type": "number",
          "description": "Biogenic CO2, reported separately and not included in the totals (GLEC v3.3 p. 64)"
        },
        "added": {
          "type": "string",
          "enum": [
            "gap",
            "access"
          ],
          "description": "Set on road legs the calculator added: gap (the legs didn't join up) or access (to or from the port or terminal a leg was moved to)"
        },
        "note": {
          "type": "string",
          "description": "Why the leg was added",
          "or where its end was moved to": null
        },
        "factor_note": {
          "type": "string",
          "description": "Which factor the vehicle type meant at this leg's distance (e.g. container_ship short-sea or deep-sea)"
        },
        "from": {
          "$ref": "#/$defs/Location",
          "description": "Where the leg was calculated from (moved for a leg moved to a port or terminal), when known"
        },
        "to": {
          "$ref": "#/$defs/Location",
          "description": "Where the leg was calculated to",
          "when known": null
        },
        "mode": {
          "$ref": "#/$defs/Mode"
        },
        "vehicle_type": {
          "type": "string"
        },
        "distance_km": {
          "type": "number"
        },
        "distance_method": {
          "type": "string",
          "description": "Where the distance came from",
          "enum": [
            "given",
            "great_circle",
            "great_circle_adjusted",
            "osrm",
            "osrm_rail",
            "osrm_waterway",
            "sea_network"
          ]
        },
        "distance_type": {
          "$ref": "#/$defs/DistanceType"
        },
        "daf": {
          "type": "number",
          "description": "Distance adjustment factor applied to emissions, when the leg's distance type differed from the factor's basis"
        },
        "daf_source": {
          "type": "string"
        },
        "tonne_km": {
          "type": "number"
        },
        "ttw_kg": {
          "type": "number"
        },
        "wtt_kg": {
          "type": "number"
        },
        "wtw_kg": {
          "type": "number"
        },
        "intensity_g_per_tkm": {
          "type": "number",
          "description": "WTW g CO2e per tonne-km for this leg"
        },
        "method": {
          "type": "string",
          "enum": [
            "intensity",
            "fuel",
            "load_model",
            "energy"
          ]
        },
        "data_type": {
          "$ref": "#/$defs/DataType"
        },
        "energy_kwh_per_tkm": {
          "type": "number"
        },
        "country": {
          "type": "string"
        },
        "load_factor": {
          "type": "number",
          "description": "Load as a share of payload_t (from load_tonnes when that was given)"
        },
        "load_tonnes": {
          "type": "number"
        },
        "empty_trip_factor": {
          "type": "number"
        },
        "payload_t": {
          "type": "number"
        },
        "factor": {
          "$ref": "#/$defs/Factor"
        },
        "fuel_factor": {
          "$ref": "#/$defs/FuelFactor"
        },
        "allocation_share": {
          "type": "number"
        },
        "route_parts_km": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          },
          "description": "Routed km by kind: ferry (road), electrified, not_electrified, electrification_unknown (rail)"
        },
        "path": {
          "type": "array",
          "description": "With ?path=true only. The leg's route as GeoJSON [lon, lat] points; two points mean a straight line.",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 2,
            "maxItems": 2
          }
        },
        "parts": {
          "type": "array",
          "description": "Parts calculated separately and included in the leg's totals",
          "items": {
            "$ref": "#/$defs/LegPart"
          }
        },
        "repositioning_km": {
          "type": "number",
          "description": "Empty km given for the leg (included in the empty trip factor)"
        }
      }
    },
    "Location": {
      "type": "object",
      "description": "Coordinates, or a code instead of them.",
      "properties": {
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string",
          "description": "UN/LOCODE (NLRTM) or IATA airport code (CPH), used when lat and lon are not given. Find codes with GET /v1/places."
        },
        "lat": {
          "type": "number"
        },
        "lon": {
          "type": "number"
        }
      }
    },
    "Mode": {
      "type": "string",
      "enum": [
        "road",
        "rail",
        "sea",
        "air",
        "inland_waterway"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/carbonara-co2-org-result"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.