Lufthansa · Capability
Lufthansa LH Public API — Cargo
Lufthansa LH Public API — Cargo. 2 operations. Lead operation: Lufthansa Retrieve all flights. Self-contained Naftiko capability covering one Lufthansa business surface.
What You Can Do
GET
Cargogetroutefromdateproductcodebyoriginanddestinationget
— Lufthansa Retrieve all flights
/v1/cargo/getroute/{origin-destination}/{fromdate}/{productcode}
GET
Cargoshipmenttrackingbyawbprefixandawbnumberget
— Lufthansa Shipment Tracking
/v1/cargo/shipmenttracking/{awbprefix-awbnumber}
MCP Tools
lufthansa-retrieve-all-flights
Lufthansa Retrieve all flights
read-only
idempotent
lufthansa-shipment-tracking
Lufthansa Shipment Tracking
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Lufthansa LH Public API — Cargo
description: 'Lufthansa LH Public API — Cargo. 2 operations. Lead operation: Lufthansa Retrieve all flights. Self-contained
Naftiko capability covering one Lufthansa business surface.'
tags:
- Lufthansa
- Cargo
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
LUFTHANSA_API_KEY: LUFTHANSA_API_KEY
capability:
consumes:
- type: http
namespace: lufthansa-cargo
baseUri: https://api.lufthansa.com/v1
description: Lufthansa LH Public API — Cargo business capability. Self-contained, no shared references.
resources:
- name: cargo-getRoute-origin}-{destination-fromDate-productCode
path: /cargo/getRoute/{origin}-{destination}/{fromDate}/{productCode}
operations:
- name: cargogetroutefromdateproductcodebyoriginanddestinationget
method: GET
description: Lufthansa Retrieve all flights
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: origin
in: path
type: string
description: 'Departure Airport : 3-letter IATA airport code, e.g. FRA.'
required: true
- name: destination
in: path
type: string
description: 'Arrival airport : 3-letter IATA airport code, e.g. HKG.'
required: true
- name: fromDate
in: path
type: string
description: 'Departure date in the local time of the departure airport. Based on LAT (Latest Acceptance Time).
format : yyyy-MM-dd eg : 2017-07-15'
required: true
- name: productCode
in: path
type: string
description: 'Product code for requested service and specials : 3-letter eg: YNZ'
required: true
- name: Accept
in: header
type: string
description: 'http header: application/json or application/xml (Acceptable values are: "application/json", "application/xml")'
required: true
- name: cargo-shipmentTracking-aWBPrefix}-{aWBNumber
path: /cargo/shipmentTracking/{aWBPrefix}-{aWBNumber}
operations:
- name: cargoshipmenttrackingbyawbprefixandawbnumberget
method: GET
description: Lufthansa Shipment Tracking
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: aWBPrefix
in: path
type: string
description: 'aWBPrefix : Represents the airline that is the owner of this AWB, i.e. "020" = Lufthansa Cargo, format
: [0-9]{3} e.g. 020'
required: true
- name: aWBNumber
in: path
type: string
description: 'aWBNumber : The Air Waybill Number , format : [0-9]{8} e.g. 08002050'
required: true
- name: Accept
in: header
type: string
description: 'http header: application/json or application/xml (Acceptable values are: "application/json", "application/xml")'
required: true
authentication:
type: bearer
token: '{{env.LUFTHANSA_API_KEY}}'
exposes:
- type: rest
namespace: lufthansa-cargo-rest
port: 8080
description: REST adapter for Lufthansa LH Public API — Cargo. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/cargo/getroute/{origin-destination}/{fromdate}/{productcode}
name: cargo-getroute-origin-destination-fromdate-productcode
description: REST surface for cargo-getRoute-origin}-{destination-fromDate-productCode.
operations:
- method: GET
name: cargogetroutefromdateproductcodebyoriginanddestinationget
description: Lufthansa Retrieve all flights
call: lufthansa-cargo.cargogetroutefromdateproductcodebyoriginanddestinationget
with:
origin: rest.origin
destination: rest.destination
fromDate: rest.fromDate
productCode: rest.productCode
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/cargo/shipmenttracking/{awbprefix-awbnumber}
name: cargo-shipmenttracking-awbprefix-awbnumber
description: REST surface for cargo-shipmentTracking-aWBPrefix}-{aWBNumber.
operations:
- method: GET
name: cargoshipmenttrackingbyawbprefixandawbnumberget
description: Lufthansa Shipment Tracking
call: lufthansa-cargo.cargoshipmenttrackingbyawbprefixandawbnumberget
with:
aWBPrefix: rest.aWBPrefix
aWBNumber: rest.aWBNumber
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: lufthansa-cargo-mcp
port: 9090
transport: http
description: MCP adapter for Lufthansa LH Public API — Cargo. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: lufthansa-retrieve-all-flights
description: Lufthansa Retrieve all flights
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-cargo.cargogetroutefromdateproductcodebyoriginanddestinationget
with:
origin: tools.origin
destination: tools.destination
fromDate: tools.fromDate
productCode: tools.productCode
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: lufthansa-shipment-tracking
description: Lufthansa Shipment Tracking
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-cargo.cargoshipmenttrackingbyawbprefixandawbnumberget
with:
aWBPrefix: tools.aWBPrefix
aWBNumber: tools.aWBNumber
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.