@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api LH Partner API
@base https://api.lufthansa.com/v1
@version 1.0
@auth OAuth2
@endpoints 16
@toc promotions(1), references(1), orders(1), preflight(1), baggage(1), offers(11)

@group promotions
@endpoint GET /promotions/priceoffers/flights/ond/{origin}/{destination}
@required {origin: any, destination: any, departureDate: any, returnDate: any}
@optional {service: any}
@returns(200)

@endgroup

@group references
@endpoint GET /references/seatdetails/{aircraftCode}/{cabinCode}
@required {aircraftCode: any, Accept: any, cabinCode: any}
@optional {lang: any}
@returns(200)

@endgroup

@group orders
@endpoint GET /orders/orders/{orderID}/{name}
@required {orderID: any, Accept: any, name: any}
@returns(200)

@endgroup

@group preflight
@endpoint PUT /preflight/autocheckin/{ticketnumber}
@required {ticketnumber: any, emailAddress: any, Accept: any}
@returns(200)

@endgroup

@group baggage
@endpoint GET /baggage/baggagetripandcontact/{searchID}
@required {searchID: any, Accept: any}
@returns(200)

@endgroup

@group offers
@endpoint GET /offers/fares/fares
@required {catalogues: any, segments: any, carriers: any, Accept: any}
@optional {travelers: any, fare-types: any}
@returns(200)

@endpoint GET /offers/fares/allfares
@required {catalogues: any, origin: any, destination: any, travel-date: any}
@optional {return-date: any, cabin-class: any, travelers: any, fare-family: any, trackingid: any, Accept: any}
@returns(200)

@endpoint GET /offers/fares/lowestfares
@required {catalogues: any, origin: any, destination: any, travel-date: any, Accept: any}
@optional {return-date: any, cabin-class: any, travelers: any, fare-family: any, country: any}
@returns(200)

@endpoint GET /offers/fares/bestfares
@required {catalogues: any, origin: any, destination: any, travel-date: any, trip-duration: any, range: any, Accept: any}
@optional {cabin-class: any, country: any, trackingid: any, fare-family: any}
@returns(200)

@endpoint GET /offers/fares/subscriptions
@required {origin: any, destination: any, cabin-class: any, trip-duration: any, email: any, lang: any, Accept: any}
@optional {country: any, trackingid: any}
@returns(200)

@endpoint GET /offers/fares/deeplink/ffp
@required {catalogues: any, origin: any, destination: any, travel-date: any, trackingid: any, country: any, lang: any, Accept: any}
@optional {return-date: any, cabin-class: any, travelers: any, partnerid: any, encryption-key: any}
@returns(200)

@endpoint GET /offers/fares/deeplink/itco
@required {catalogues: any, origin: any, destination: any, travel-date: any, outbound-segments: any, fare: any, fare-currency: any, trackingid: any, country: any, lang: any, Accept: any}
@optional {return-date: any, cabin-class: any, return-segments: any, travelers: any, net-fare: any, partnerid: any, encryption-key: any}
@returns(200)

@endpoint GET /offers/fares/deeplink
@required {catalogues: any, trackingid: any, country: any, lang: any, Accept: any}
@optional {origin: any, origin-name: any, destination: any, destination-name: any, travel-date: any, return-date: any, cabin-class: any, outbound-segments: any, return-segments: any, travelers: any, fare: any, net-fare: any, fare-currency: any, partnerid: any, encryption-key: any}
@returns(200)

@endpoint GET /offers/ond/route/{origin}/{destination}
@required {origin: any, destination: any, Accept: any}
@optional {catalogues: any, limit: any, offset: any}
@returns(200)

@endpoint GET /offers/ond/top
@required {Accept: any}
@optional {catalogues: any, origin: any}
@returns(200)

@endpoint GET /offers/ond/status
@required {Accept: any}
@optional {catalogues: any, new-routes: any, old-routes: any}
@returns(200)

@endgroup

@end
