Lufthansa · Capability
Lufthansa LH Public API — Operations
Lufthansa LH Public API — Operations. 5 operations. Lead operation: Lufthansa Flight Status at Arrival Airport. Self-contained Naftiko capability covering one Lufthansa business surface.
What You Can Do
GET
Operationsflightstatusarrivalsbyairportcodeandfromdatetimeget
— Lufthansa Flight Status at Arrival Airport
/v1/operations/flightstatus/arrivals/{airportcode}/{fromdatetime}
GET
Operationsflightstatusdeparturesbyairportcodeandfromdatetimeget
— Lufthansa Flight Status at Departure Airport
/v1/operations/flightstatus/departures/{airportcode}/{fromdatetime}
GET
Operationsflightstatusroutedatebyoriginanddestinationget
— Lufthansa Flight Status by Route
/v1/operations/flightstatus/route/{origin}/{destination}/{date}
GET
Operationsflightstatusbyflightnumberanddateget
— Lufthansa Flight Status
/v1/operations/flightstatus/{flightnumber}/{date}
GET
Operationsschedulesfromdatetimebyoriginanddestinationget
— Lufthansa Flight Schedules
/v1/operations/schedules/{origin}/{destination}/{fromdatetime}
MCP Tools
lufthansa-flight-status-arrival-airport
Lufthansa Flight Status at Arrival Airport
read-only
idempotent
lufthansa-flight-status-departure-airport
Lufthansa Flight Status at Departure Airport
read-only
idempotent
lufthansa-flight-status-route
Lufthansa Flight Status by Route
read-only
idempotent
lufthansa-flight-status
Lufthansa Flight Status
read-only
idempotent
lufthansa-flight-schedules
Lufthansa Flight Schedules
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Lufthansa LH Public API — Operations
description: 'Lufthansa LH Public API — Operations. 5 operations. Lead operation: Lufthansa Flight Status at Arrival Airport.
Self-contained Naftiko capability covering one Lufthansa business surface.'
tags:
- Lufthansa
- Operations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
LUFTHANSA_API_KEY: LUFTHANSA_API_KEY
capability:
consumes:
- type: http
namespace: lufthansa-operations
baseUri: https://api.lufthansa.com/v1
description: Lufthansa LH Public API — Operations business capability. Self-contained, no shared references.
resources:
- name: operations-flightstatus-arrivals-airportCode-fromDateTime
path: /operations/flightstatus/arrivals/{airportCode}/{fromDateTime}
operations:
- name: operationsflightstatusarrivalsbyairportcodeandfromdatetimeget
method: GET
description: Lufthansa Flight Status at Arrival Airport
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: airportCode
in: path
type: string
description: 3-letter IATA aiport code (e.g. 'ZRH')
required: true
- name: fromDateTime
in: path
type: string
description: Start of time range in local time of arrival airport (YYYY-MM-DDTHH:mm)
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: limit
in: query
type: string
description: Number of records returned per request. Defaults to 20, maximum is 100 (if a value bigger than 100
is given, 100 will be taken)
- name: offset
in: query
type: string
description: Number of records skipped. Defaults to 0
- name: operations-flightstatus-departures-airportCode-fromDateTime
path: /operations/flightstatus/departures/{airportCode}/{fromDateTime}
operations:
- name: operationsflightstatusdeparturesbyairportcodeandfromdatetimeget
method: GET
description: Lufthansa Flight Status at Departure Airport
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: airportCode
in: path
type: string
description: Departure airport. 3-letter IATA airport code (e.g. 'HAM')
required: true
- name: fromDateTime
in: path
type: string
description: Start of time range in local time of departure airport (YYYY-MM-DDTHH:mm)
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: limit
in: query
type: string
description: Number of records returned per request. Defaults to 20, maximum is 100 (if a value bigger than 100
is given, 100 will be taken)
- name: offset
in: query
type: string
description: Number of records skipped. Defaults to 0
- name: operations-flightstatus-route-origin-destination-date
path: /operations/flightstatus/route/{origin}/{destination}/{date}
operations:
- name: operationsflightstatusroutedatebyoriginanddestinationget
method: GET
description: Lufthansa Flight Status by Route
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: origin
in: path
type: string
description: 3-letter IATA airport (e.g. 'FRA')
required: true
- name: destination
in: path
type: string
description: 3-letter IATA airport code (e.g. 'JFK')
required: true
- name: date
in: path
type: string
description: Departure date (YYYY-MM-DD) in local time of departure airport
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: limit
in: query
type: string
description: Number of records returned per request. Defaults to 20, maximum is 100 (if a value bigger than 100
is given, 100 will be taken)
- name: offset
in: query
type: string
description: Number of records skipped. Defaults to 0
- name: operations-flightstatus-flightNumber-date
path: /operations/flightstatus/{flightNumber}/{date}
operations:
- name: operationsflightstatusbyflightnumberanddateget
method: GET
description: Lufthansa Flight Status
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: flightNumber
in: path
type: string
description: Flight number including carrier code and any suffix (e.g. 'LH400')
required: true
- name: date
in: path
type: string
description: The departure date (YYYY-MM-DD) in the local time of the departure airport
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: limit
in: query
type: string
description: Number of records returned per request. Defaults to 20, maximum is 100 (if a value bigger than 100
is given, 100 will be taken)
- name: offset
in: query
type: string
description: Number of records skipped. Defaults to 0
- name: operations-schedules-origin-destination-fromDateTime
path: /operations/schedules/{origin}/{destination}/{fromDateTime}
operations:
- name: operationsschedulesfromdatetimebyoriginanddestinationget
method: GET
description: Lufthansa Flight Schedules
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. 'ZRH')
required: true
- name: destination
in: path
type: string
description: Destination airport. 3-letter IATA airport code (e.g. 'FRA')
required: true
- name: fromDateTime
in: path
type: string
description: Local departure date and optionally departure time (YYYY-MM-DD or YYYY-MM-DDTHH:mm). When not provided,
time is assumed to be 00:01
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: directFlights
in: query
type: boolean
description: Show only direct flights (false=0, true=1). Default is false
- name: limit
in: query
type: string
description: Number of records returned per request. Defaults to 20, maximum is 100 (if a value bigger than 100
is given, 100 will be taken)
- name: offset
in: query
type: string
description: Number of records skipped. Defaults to 0
authentication:
type: bearer
token: '{{env.LUFTHANSA_API_KEY}}'
exposes:
- type: rest
namespace: lufthansa-operations-rest
port: 8080
description: REST adapter for Lufthansa LH Public API — Operations. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/operations/flightstatus/arrivals/{airportcode}/{fromdatetime}
name: operations-flightstatus-arrivals-airportcode-fromdatetime
description: REST surface for operations-flightstatus-arrivals-airportCode-fromDateTime.
operations:
- method: GET
name: operationsflightstatusarrivalsbyairportcodeandfromdatetimeget
description: Lufthansa Flight Status at Arrival Airport
call: lufthansa-operations.operationsflightstatusarrivalsbyairportcodeandfromdatetimeget
with:
airportCode: rest.airportCode
fromDateTime: rest.fromDateTime
Accept: rest.Accept
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/operations/flightstatus/departures/{airportcode}/{fromdatetime}
name: operations-flightstatus-departures-airportcode-fromdatetime
description: REST surface for operations-flightstatus-departures-airportCode-fromDateTime.
operations:
- method: GET
name: operationsflightstatusdeparturesbyairportcodeandfromdatetimeget
description: Lufthansa Flight Status at Departure Airport
call: lufthansa-operations.operationsflightstatusdeparturesbyairportcodeandfromdatetimeget
with:
airportCode: rest.airportCode
fromDateTime: rest.fromDateTime
Accept: rest.Accept
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/operations/flightstatus/route/{origin}/{destination}/{date}
name: operations-flightstatus-route-origin-destination-date
description: REST surface for operations-flightstatus-route-origin-destination-date.
operations:
- method: GET
name: operationsflightstatusroutedatebyoriginanddestinationget
description: Lufthansa Flight Status by Route
call: lufthansa-operations.operationsflightstatusroutedatebyoriginanddestinationget
with:
origin: rest.origin
destination: rest.destination
date: rest.date
Accept: rest.Accept
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/operations/flightstatus/{flightnumber}/{date}
name: operations-flightstatus-flightnumber-date
description: REST surface for operations-flightstatus-flightNumber-date.
operations:
- method: GET
name: operationsflightstatusbyflightnumberanddateget
description: Lufthansa Flight Status
call: lufthansa-operations.operationsflightstatusbyflightnumberanddateget
with:
flightNumber: rest.flightNumber
date: rest.date
Accept: rest.Accept
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/operations/schedules/{origin}/{destination}/{fromdatetime}
name: operations-schedules-origin-destination-fromdatetime
description: REST surface for operations-schedules-origin-destination-fromDateTime.
operations:
- method: GET
name: operationsschedulesfromdatetimebyoriginanddestinationget
description: Lufthansa Flight Schedules
call: lufthansa-operations.operationsschedulesfromdatetimebyoriginanddestinationget
with:
origin: rest.origin
destination: rest.destination
fromDateTime: rest.fromDateTime
Accept: rest.Accept
directFlights: rest.directFlights
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: lufthansa-operations-mcp
port: 9090
transport: http
description: MCP adapter for Lufthansa LH Public API — Operations. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: lufthansa-flight-status-arrival-airport
description: Lufthansa Flight Status at Arrival Airport
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-operations.operationsflightstatusarrivalsbyairportcodeandfromdatetimeget
with:
airportCode: tools.airportCode
fromDateTime: tools.fromDateTime
Accept: tools.Accept
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: lufthansa-flight-status-departure-airport
description: Lufthansa Flight Status at Departure Airport
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-operations.operationsflightstatusdeparturesbyairportcodeandfromdatetimeget
with:
airportCode: tools.airportCode
fromDateTime: tools.fromDateTime
Accept: tools.Accept
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: lufthansa-flight-status-route
description: Lufthansa Flight Status by Route
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-operations.operationsflightstatusroutedatebyoriginanddestinationget
with:
origin: tools.origin
destination: tools.destination
date: tools.date
Accept: tools.Accept
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: lufthansa-flight-status
description: Lufthansa Flight Status
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-operations.operationsflightstatusbyflightnumberanddateget
with:
flightNumber: tools.flightNumber
date: tools.date
Accept: tools.Accept
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: lufthansa-flight-schedules
description: Lufthansa Flight Schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: lufthansa-operations.operationsschedulesfromdatetimebyoriginanddestinationget
with:
origin: tools.origin
destination: tools.destination
fromDateTime: tools.fromDateTime
Accept: tools.Accept
directFlights: tools.directFlights
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.