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.

Run with Naftiko LufthansaOperations

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

lufthansa-operations.yaml Raw ↑
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: $.