Download OpenAPI specification:Download
Lumo's API provides realtime and predictive flight status (Lumo's delay predictions) for flights worldwide.
The API has three modules:
An API key from lumo is required to authenticate. You can request an api key at https://www.thinklumo.com/api-key-request or ping us on the chat on the bottom right of your page to get a production key. You can get a free trial key at https://www.thinklumo.com/sign-up-for-a-free-sandbox-api-key. Place the key into the HTTP request header as Token: <key>
for the production API or x-api-key: <key>
for the sandbox API.
Security Scheme Type | API Key |
---|---|
Header parameter name: | Token |
Allows consumers to obtain flight data for specific flights or for flights based on search criteria. Also provides Lumo's curated suggestion of alternative flights in the case that a flight is predicted to be delayed.
Use the server https://api.thinklumo.com/flights/v1 for these endpoints.
This endpoint retrieves information for a single flight, specified by flight ID. In addition to prediction and realtime status data, which are retrieved by default, historical performance, weather, and inbound flight information is also available by specifying the appropriate query parameters.
To retrieve a single flight without constructing the flight id, use the /status endpoint below.
flight_id required | string (LumoFlightId) Example: UA576BOSSFO1606092145 The LumoFlightId for the flight, which can be constructed as: |
inbound | boolean Default: false include inbound inbound flight status |
weather | boolean Default: false include weather data |
history | boolean Default: false include historical delay data |
round | boolean Default: true round the delay distribution. We recommend using the rounded distribution to better communicate delay to end users. |
{- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
This endpoint retrieves information for a single flight without having to specify the flight ID. In addition to prediction and realtime status data, which are retrieved by default, historical performance, weather, and inbound flight information is also available by specifying the appropriate query parameters.
The flight is uniquely specified using the required query parameters airline
, flight_number
, and date
. In the case that these three do not uniquely specify a flight, origin
and/or destination
must also be used.
To retrieve all flights matching a set of criteria, use the /search endpoint instead, which filters on the same query parameters.
carrier | string (IataCarrierCode) Example: carrier=AA IATA carrier code |
flight_number | number Example: flight_number=12 flight number |
date | string <date> Example: date=2018-10-08 Departure date in local time |
origin | string (IataAirportCode) Example: origin=BOS origin airport code |
destination | string (IataAirportCode) Example: destination=BOS destination airport code |
inbound | string (IataAirportCode) Example: inbound=BOS include inbound flight status |
weather | boolean Default: false include weather data |
history | boolean Default: false include historical delay data |
round | boolean Default: true round the delay distribution. We recommend using the rounded distribution to better communicate delay to end users. |
[- {
- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
]
flight_id required | string (LumoFlightId) Example: WN55DALHOU1608300100 Retrieves alternates flights for the specified flight, sorted by increasing departure time. When the delay index is under 5, no alternates are available. |
{- "count": 6,
- "flights": [
- {
- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
]
}
This endpoint is intended for small result sets, such as finding the flight ID for a particular flight based on carrier code, flight number, and date; or finding all flights between an origin and destination on a particular date.
If your queries are larger than ~300 results, please get in touch with support@thinklumo.com so that we can work with you to support your load and use case.
origin | string (IataAirportCode) Example: origin=BOS filters by departure airport |
destination | string (IataAirportCode) Example: destination=DEN filters by arrival airport |
carrier | string (IataCarrierCode) Example: carrier=DL filters by carrier IATA code |
flight_number | number Example: flight_number=709 filters by flight number |
date | string <date> Example: date=2018-06-02 filter flights that depart on this date (departure airport local time) |
nearby | boolean Default: false includes nearby airports when |
codeshare | boolean Default: false include codeshare flights - default is false |
departing_after | string <date-time> Example: departing_after=2018-06-24T18:30:00Z filters flights that depart after the specified time (inclusive) |
departing_before | string <date-time> Example: departing_before=2018-06-24T18:30:00Z filters flights that depart before the specified time (exclusive) |
changed_after | string <date-time> Example: changed_after=2018-06-24T18:30:00Z filters flights whose delay predictions were changed after the specified time (inclusive) |
changed_before | string <date-time> Example: changed_before=2018-06-24T18:30:00Z filters flights whose delay predictions were changed before the specified time (exclusive) |
status | boolean Default: false include realtime status data |
history | boolean Default: false include historical performance data |
weather | boolean Default: false include weather data |
round | boolean Default: true round the delay distribution. We recommend using the rounded distribution to better communicate delay to end users. |
{- "count": 34,
- "previous": null,
- "results": [
- {
- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
]
}
This endpoint returns the predicted connection risk for a pair of connecting flights, as well as their Lumo prediction and flight status.
The flights
query parameter accepts flight ids in the form [airline code][flight number][departure airport][arrival airport][YYMMDD], for example flights=UA471LAXSFO181217,UA618SFOSEA181217.
flights required | string Example: flights=UA471LAXSFO181217,UA618SFOSEA181217 flight ids of two connecting flights separated by a comma. The format of each flight id is [iata airline code][flight number][departure airport][arrival airport][YYMMDD], for example UA471LAXSFO181217,UA618SFOSEA181217. |
{- "connection": {
- "airport": "SFO",
- "prob_miss": 0.06,
- "risk": "LOW",
- "connection_time": 136
}, - "flights": [
- {
- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
]
}
Webhooks API that allows clients to subscribe to specific itineraries and provide a callback URL. Whenever there are changes to any flights on that itinerary, they will receive an update at that callback URL.
Use the server https://api.thinklumo.com/flights/v1 for these endpoints.
Returns a list of all currently active itinerary subscriptions. An itinerary is active until a few days after the last flight departs.
booking_reference | string Example: booking_reference=ABCDEF Booking reference submitted when the subscription was created. |
{- "count": 1,
- "next": null,
- "previous": null,
- "results": [
- {
- "itinerary_id": "cabb3527-3c77-488e-8306-f8bf38a904ef",
- "flight_ids": [
- "UA576BOSSFO1606092145"
], - "pending_flights": [
- {
- "carrier": "UA",
- "flight_number": 576,
- "date": "2018-10-10",
- "origin": "BOS",
- "destination": "BOS"
}
], - "booking_reference": "AWXGDG",
- "created": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z"
}
]
}
Subscribe to a new itinerary and receive callbacks at a specified url. The url to which the webhooks are sent are specified in the manage/ section below. See www.thinklumo.com for how to manage your sinks. See the Callbacks
section below for information about the data format of callbacks.
In this method, specify a list of flight IDs in the itinerary. These are specified as flight_ids
in the request body.
Using the "short" flight ID method makes it possible to subscribe to flights further than 80 days; these flights do not normally exist in our schedule, so they do not yet have corresponding "long" flight IDs.
In the case that the date is within 80 days, the flight attributes will resolve to a subscription immediately and you will start seeing callbacks. Flights further out will not be active until they are within 80 days out, and will be specified as pending_flights
until then.
specify flights to track
flight_ids required | Array of strings list of flights in this itinerary. The flight ID can either be a "long" flight ID constructed as |
booking_reference | string additional information to be stored along with this itinerary, such as PNR. |
{- "flight_ids": [
- "UA123BOSLGA200213"
], - "booking_reference": "AWXGDG"
}
{- "count": 1,
- "next": null,
- "previous": null,
- "results": [
- {
- "itinerary_id": "cabb3527-3c77-488e-8306-f8bf38a904ef",
- "flight_ids": [
- "UA576BOSSFO1606092145"
], - "pending_flights": [
- {
- "carrier": "UA",
- "flight_number": 576,
- "date": "2018-10-10",
- "origin": "BOS",
- "destination": "BOS"
}
], - "booking_reference": "AWXGDG",
- "created": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z"
}
]
}
itinerary_id required | string <uuid> Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 uuid representing an itinerary |
{- "itinerary_id": "cabb3527-3c77-488e-8306-f8bf38a904ef",
- "flight_ids": [
- "UA576BOSSFO1606092145"
], - "pending_flights": [
- {
- "carrier": "UA",
- "flight_number": 576,
- "date": "2018-10-10",
- "origin": "BOS",
- "destination": "BOS"
}
], - "booking_reference": "AWXGDG",
- "created": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z"
}
This section describes the data returned by callbacks created by a subscription. The callbacks are sent to all of a customer's destinations, which are managed using the manage endpoints. (Help page on managing sinks is at www.thinklumo.com). Note that these are not endpoints defined by the server but an endpoint that the client needs to implement to receive callbacks.
Receive flight updates at the callback url specified after registering a subscription via the subscriptions endpoint. Note that the POST operation refers to Lumo posting data to your server, and not the other way around.
x-lumo-signature required | string This signature is used to verify that the callback was received from Lumo. Lumo generates the signature by combining the secret (API key) with the body of the request using a HMAC-SHA256 keyed hash. For example, in Python, the signature is calculated as follows: To verify the signature, you will need to compute a signature using the same process and verify that your signature matches the signature that was sent in the header. |
required | object (AlertInfo) identifying information for this notification, as well as information about why it was sent |
required | object (CallbackSummaries) human readable summary of the alert |
required | object (FlightInfo) detailed information for a flight, and uniquely identifies a single leg |
required | object (LumoPredictionAndConnectionRisk) Lumo's flight delay predictions |
required | object (RealtimeStatus) |
required | object (Weather) weather forecast for the origin airport at the time of departure and for the destination airport at the time of arrival |
required | object (FlightStatus) |
required | Array of objects (SpecialAlerts) an array of special alerts applicable to the flight |
required | object (TravelAdvisories) Travel advisories in place at the origin and destination |
required | object (CovidOriginDestination) COVID stats at the flight origin and destination |
required | object (CovidInfoOriginDestination) COVID information at the flight origin and destination |
required | object (Emissions) Nullable Estimates of CO2 emissions for the flight leg |
required | object (SecurityWaitTime) Nullable Estimated wait time at airport security at the departure airport |
required | object (ImmigrationWaitTime) Nullable Estimated wait time at immigration at the arrival airport |
{- "alert": {
- "itinerary_id": "2b68dfef-67c1-46db-8789-4d5d82f14838",
- "booking_reference": "78XNKDS",
- "change": "delay-index-update",
- "change_detail": {
- "subtype": "string",
- "info": {
- "schedule_old": "2020-01-13T23:22:32",
- "schedule_new": "2020-01-13T23:22:32",
- "delta_minutes": 123
}
}, - "timestamp": "2020-01-30T16:23:29Z"
}, - "summaries": {
- "short": {
- "title": "AA 8891 to HKG on Jan-31",
- "message": "Flight AA 8891 is now expected to arrive in BOS at 3:10pm (40 min late)",
- "timestamp": "2020-01-29T06:00:00"
}
}, - "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false,
- "connections": [
- {
- "airport": "BOS",
- "prob_miss": 0.8,
- "connection_time": 40
}
]
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": {
- "flight": {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}, - "prediction": {
- "delay_index": 6,
- "risk": "HIGH",
- "distribution": [
- 0.2,
- 0.35,
- 0.35,
- 0.1
], - "causes": [
- "flight-cancelled"
], - "is_override": false
}, - "status": {
- "text": "Scheduled",
- "departure": {
- "scheduled": "2017-04-20T12:00:00-06:00",
- "latest": "2017-04-20T12:00:00-06:00",
- "type": "estimated",
- "terminal": "A",
- "gate": "A39"
}, - "arrival": {
- "scheduled": "2017-04-20T13:40:00-07:00",
- "latest": "2017-04-20T13:36:00-07:00",
- "type": "estimated",
- "terminal": "2",
- "gate": "50B",
- "baggage_claim": "12"
}, - "diversion": {
- "airport": "ORD"
}, - "cancelled": false,
- "source": "flightview",
- "last_updated": "2017-04-20T16:15:00Z"
}, - "historical_performance": {
- "arrival_delay": [
- -19,
- 10002,
- 10002,
- 8,
- 4,
- 21,
- 21,
- -8,
- 2,
- 8,
- -15,
- -5,
- -16,
- -14,
- 3,
- 10,
- 29,
- 77,
- 57,
- -22,
- -3,
- -10,
- -23,
- -19,
- -27,
- -20,
- 17,
- -15,
- -13,
- -10,
- 46,
- 78,
- 16,
- 72,
- 10002,
- -4,
- 5,
- -8,
- -18,
- -27,
- 8,
- -8,
- -2,
- 48,
- -10,
- -14,
- 2,
- 37,
- 171,
- 31,
- 10000,
- 23,
- -4,
- 77,
- 45,
- -8,
- -14,
- -9,
- 22,
- 73
], - "last_updated": "2017-04-18T18:00:00Z"
}, - "weather": {
- "origin": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}, - "destination": {
- "icon": "partly-cloudy-day",
- "summary": "Partly Cloudy",
- "temperature": 67.36,
- "precipitation": 0,
- "hourly": true
}
}, - "inbound": { },
- "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}, - "special_alerts": [
- {
- "id": 123,
- "location": {
- "countries": [
- "US",
- "CA"
], - "airports": [
- "BOS",
- "LGA"
]
}, - "airline": {
- "carrier_codes": [
- "AA"
]
}, - "period": {
- "start": "2020-01-29T06:00:00",
- "end": "2020-01-30T06:00:00",
- "tz": "local"
}, - "operation": {
- "arrivals": true,
- "departures": false
}, - "override_probs": false,
- "alert": {
- "type": "waiver",
- "summary": "United has issued travel waivers for Dec 11.",
- "description": "United has issued travel waivers for flights on Dec 11 due to forecast weather conditions.",
}, - "send_alerts": "none",
- "date_restrictions": {
- "ticket_issued_on_before": "2020-01-29",
- "new_travel_begin": "2020-01-29",
- "new_travel_end": "2020-01-29"
}, - "dom_intl": "D",
- "remarks": "This waiver applies only to DL codeshares with AF but not KL",
- "waiver_codes": [
- {
- "waiver_code": "ABC12345",
- "description": "cabin_to_cabin"
}
]
}
], - "travel_advisories": {
- "origin": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
], - "destination": [
- {
- "issued_by": "Government of Canada",
- "advisory": "Chile - Avoid non-essential travel",
- "scope": "country",
- "last_updated": "2020-01-29T06:00:00Z"
}
]
}, - "covid_stats": {
- "origin": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}, - "destination": {
- "country": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "state_provice": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}, - "county_district": {
- "daily_data": {
- "report_date": [
- "2020-12-30"
], - "new_cases": [
- 123
], - "new_deaths": [
- 12
]
}, - "location_type": "country",
- "location_code": "US",
- "location_name": "United States",
- "population": 123456,
- "risk_rating": {
- "current_to_last_ratio": 0.9435,
- "current_to_peak_ratio": 0.2345,
- "risk_index": 8,
- "risk_level": "low",
- "amadeus_risk_rating": "Extreme"
}, - "vaccinations": {
- "source": "amadeus",
- "data": [
- {
- "vaccination_dose_status": "one_dose",
- "percentage": 87.2
}
]
}
}
}
}, - "covid_info": {
- "origin": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}, - "destination": {
- "entry_exit_info": [
- {
- "testing": "Some testing requirements...",
- "quarantine": "Some quarantine requirements...",
- "travel_restrictions": "Some travel restrictions...",
- "last_updated": "2020-01-13T14:15:16",
- "location_code": "IN",
- "location_name": "India",
- "location_type": "country"
}
]
}
}, - "emissions": {
- "departure_airport": "ORD",
- "arrival_airprort": "BOS",
- "aircraft_type": "EMJ / E75",
- "airline_code": "AA",
- "op_airline_code": "AA",
- "methodology": {
- "icao": {
- "economy": 123,
- "premium": 246
}, - "icao_with_rfi": {
- "economy": 123,
- "premium_economy": 456,
- "business_first": 789
}, - "defra": {
- "average": 123,
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}, - "lumo": {
- "economy": 123,
- "premium_economy": 123,
- "business": 123,
- "first": 123
}
}
}, - "security_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}, - "immigration_wait_time": {
- "airport_code": "ORD",
- "hour": "2019-01-13T21:00:00.000Z",
- "wait_time": [
- {
- "location": "Terminal 2",
- "traveler_type": "standard",
- "hourly": [
- {
- "offset_hours": -2,
- "exptd": 3,
- "90th_pctile": 6
}
]
}
]
}
}
Set of endpoints for managing Lumo Navigator travelers and itineraries. Get in touch with support@thinklumo.com
to setup a Navigator account and obtain access to these endpoints.
Use the server https://api.thinklumo.com/manage/v1 for these endpoints.
This endpoint lets you create/update itineraries and metadata in bulk. Traveler info is required as every itinerary must be associated with one. Customer org, event and tags are optional metadata. All the itineraries and associated metadata will be created/updated as applicable.
org_id required | string[\w\d\-\ ]{1,128} Example: 100 organization id of the org |
object Details about the customer org if the itinerary is for a customer | |
booking_reference required | string <= 64 characters A reference to your itinerary, unique for the traveler. For instance, the PNR. Combination of this, user_id and event_id, if exists, decides whether to create or update an itinerary |
trip_name | string A name for your itinerary |
required | object Details about the traveler |
object Details about the event if the itinerary should be associated with one | |
tags | Array of strings Labels that can be used to categorize the itinerary |
required | object The flights in the itinerary, described either by a unique flight id or a set of attributes together identifying a particular flight. You should specify either the flight id or the lookup attributes |
{- "customer": {
- "org_id": "tarams-tech",
- "name": "Tarams Technologies",
- "industry": "IT"
}, - "booking_reference": "PNR334455",
- "trip_name": "CNN-DXB",
- "traveler": {
- "user_id": "afzal-shahul",
- "firstname": "Afzal",
- "lastname": "Shahul",
- "email": "afzal@tms.com",
- "company": "Fcoos",
- "tags": [
- "VIP"
]
}, - "event": {
- "event_id": "react-foo",
- "name": "React Foo",
- "location": "Bengaluru, India",
- "start_date": "2019-11-04T09:00:00",
- "primary_contact_name": "Noufal Ibrahim",
- "primary_contact_email": "n.i@ham.in"
}, - "tags": [
- "Candidate travel"
], - "segments": {
- "flight_id": "UA576BOSSFO1606092145",
- "flight_lookup": {
- "carrier": "UA",
- "flight_number": 576,
- "origin": "CNN",
- "destination": "BLR",
- "local_departure": "2019-11-03 20:00:00",
- "local_arrival": "2019-11-03 21:00:00"
}
}
}
{- "importedItineraries": [
- {
- "index": 1
}
], - "rejectedItineraries": [
- {
- "index": 2,
- "failureReasons": [
- {
- "reason": "Invalid flight_lookup data",
- "lookup": {
- "carrier": "NZ",
- "destination": "LAX",
- "flight_number": "9540",
- "local_arrival": "2019-07-06 15:44:00",
- "origin": "EWR"
}
}
]
}
]
}
Creates a new customer org. Only an admin of the org can do this. He'll be assigned as an admin of the customer org too.
org_id required | string[\w\d\-\ ]{1,128} Example: 98 Id of the org |
name | string Name of the child org |
industry | string Industry of the child org |
{- "name": "Tarams Software",
- "industry": "Software Engineering"
}
{- "org_id": "98",
- "customer_id": "100",
- "name": "Tarams Software",
- "industry": "Software Engineering"
}
Updates the org against the id. Only an admin can do this.
org_id required | number Example: 98 organization id |
name | string Name of the org |
industry | string Industry of the org |
{- "name": "Tarams Software",
- "industry": "Software Development"
}
{- "name": "Tarams Software",
- "industry": "Software Development",
- "parent": "100"
}
Retrieve a list of users in an organization, which consists of Admins
(users who are able to update/manage the org) and Travelers
.
org_id required | number Example: 98 organization id |
{- "count": 1,
- "results": [
- {
- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc.",
- "user_id": 10
}
]
}
Create a new user, and associate it with the specified organization, by specifying the user type (most likely Traveler
) as well as either a first name, last name, or email.
org_id required | number Example: 98 organization id |
string <email> email address associated with the traveler | |
user_type required | string (UserType) Enum: "Traveler" "Admin" Specifies the type of Navigator account. Most likely the accounts will all be of type
|
first_name | string user first name |
last_name | string user last name |
company_name | string name of the company user works for |
{- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc."
}
{- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc.",
- "user_id": 10
}
Returns a list of users in an organization matching the search text
org_id required | number Example: 98 organization id |
search_text required | string Example: search_text=Allen The text to search users against |
{- "count": 1,
- "results": [
- {
- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc.",
- "user_id": 10
}
]
}
Retrieve the user of the specified user id associated with the specified organization
org_id required | number Example: 98 organization id |
user_id required | number Example: 10 user id |
{- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc.",
- "user_id": 10
}
Update the user of the specified user id associated with the specified organization
org_id required | number Example: 98 organization id |
user_id required | number Example: 10 user id |
string <email> email address associated with the traveler | |
user_type required | string (UserType) Enum: "Traveler" "Admin" Specifies the type of Navigator account. Most likely the accounts will all be of type
|
first_name | string user first name |
last_name | string user last name |
company_name | string name of the company user works for |
{- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc."
}
{- "email": "alice@thinklumo.com",
- "user_type": "Traveler",
- "first_name": "Alice",
- "last_name": "Allen",
- "company_name": "Tarams Software Inc.",
- "user_id": 10
}
Delete the user of the specified user id associated with the specified organization
org_id required | number Example: 98 organization id |
user_id required | number Example: 10 user id |
{- "status_code": 404,
- "error": "The resource was not found"
}
org_id required | number Example: 98 organization id |
{- "count": 1,
- "results": [
- {
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "user_id": 2187,
- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flights": [
- {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}
], - "created_timestamp": "2019-08-24T14:15:22Z",
- "updated_timestamp": "2019-08-24T14:15:22Z"
}
]
}
Returns a list of itineraries in an organization matching the search text
org_id required | number Example: 98 organization id |
search_text required | string Example: search_text=BOS-STL The text to search itineraries against |
{- "count": 1,
- "results": [
- {
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "user_id": 2187,
- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flights": [
- {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}
], - "created_timestamp": "2019-08-24T14:15:22Z",
- "updated_timestamp": "2019-08-24T14:15:22Z"
}
]
}
Create a new itinerary associated with the specified user_id in the specified organization.
org_id required | number Example: 98 organization id |
user_id required | number Example: 4100 user id |
trip_name | string name for the trip |
booking_reference | string Nullable additional information to be stored along with this itinerary, such as PNR. |
flight_ids required | Array of strings (LumoFlightId) list of flight IDs in the itinerary |
{- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flight_ids": [
- "UA576BOSSFO1606092145"
]
}
{- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "user_id": 2187,
- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flights": [
- {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}
], - "created_timestamp": "2019-08-24T14:15:22Z",
- "updated_timestamp": "2019-08-24T14:15:22Z"
}
org_id required | number Example: 98 organization id |
itinerary_id required | string <uuid> Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 uuid representing an itinerary |
{- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "user_id": 2187,
- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flights": [
- {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}
], - "created_timestamp": "2019-08-24T14:15:22Z",
- "updated_timestamp": "2019-08-24T14:15:22Z"
}
Add flights to an existing itinerary, making it possible to make changes to an itinerary.
org_id required | number Example: 98 organization id |
itinerary_id required | string <uuid> Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 uuid representing an itinerary |
{- "flight_ids": [
- "UA576BOSSFO1606092145"
]
}
This endpoint will delete the specified itinerary. Once deleted, it will no longer be accessible.
org_id required | number Example: 98 organization id |
itinerary_id required | string <uuid> Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 uuid representing an itinerary |
Use this endpoint to delete the specified flight from the specified itinerary. If this is the only flight in the itinerary, the itinerary itself gets deleted as well.
org_id required | number Example: 98 organization id |
itinerary_id required | string <uuid> Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 uuid representing an itinerary |
flight_id required | string (LumoFlightId) Example: WN55DALHOU1608300100 The flight ID in this itinerary |
Retrieve a list of all events associated with an organization
org_id required | number Example: 98 organization id |
{- "count": 1,
- "results": [
- {
- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com",
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "itineraries": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1,
- "delay_index": {
- "5": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1
}
}
}
}
]
}
Create a new event associated with the specified organization.
org_id required | number Example: 98 organization id |
name required | string <binary> Name of the event |
location required | string <binary> Location of the event |
start_date required | stringYYYY-MM-DD HH:mm:ss Date of the event |
primary_contact_name | string <binary> Name of the person who is the primary contact for the event |
primary_contact_email | string <binary> Email of the person who is the primary contact for the event |
{- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com"
}
{- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com",
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "itineraries": {
- "segments": 0,
- "flights": 0,
- "trips": 0,
- "travelers": 0,
- "delay_index": { }
}
}
Retrieve the event of the specified event uuid associated with the specified organization
org_id required | number Example: 98 organization id |
event_id required | string <uuid> Example: cabb3527-3c77-488e-8306-f8bf38a904gf event id |
{- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com",
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "itineraries": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1,
- "delay_index": {
- "5": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1
}
}
}
}
Update the event of the specified event uuid associated with the specified organization, partially or fully, as per the payload
org_id required | number Example: 98 organization id |
event_id required | string <uuid> Example: cabb3527-3c77-488e-8306-f8bf38a904gf event id |
name | string <binary> Name of the event |
location | string <binary> Location of the event |
start_date | stringYYYY-MM-DD HH:mm:ss Date of the event |
primary_contact_name | string <binary> Name of the person who is the primary contact for the event |
primary_contact_email | string <binary> Email of the person who is the primary contact for the event |
{- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com"
}
{- "name": "React Foo",
- "location": "Delhi, India",
- "start_date": "2019-10-10 09:00:00",
- "primary_contact_name": "Afzal S H",
- "primary_contact_email": "afzal@tarams.com",
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "itineraries": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1,
- "delay_index": {
- "5": {
- "segments": 2,
- "flights": 2,
- "trips": 1,
- "travelers": 1
}
}
}
}
Delete the event of the specified event uuid associated with the specified organization
org_id required | number Example: 98 organization id |
event_id required | string <uuid> Example: cabb3527-3c77-488e-8306-f8bf38a904gf event id |
{- "status_code": 404,
- "error": "The resource was not found"
}
Associates an itinerary under the organization to an event under the organization
org_id required | number Example: 98 organization id |
event_id required | uuid Example: cabb3527-3c77-488e-8306-f8bf38a904gf event id |
itin_uuid required | string <uuid> uuid of the itinerary |
{- "itin_uuid": "9bb348b3-d567-4392-818f-e19b7ad7fbf2"
}
{- "itin_uuid": "9bb348b3-d567-4392-818f-e19b7ad7fbf2"
}
De-associates an itinerary under the organization from an event under the organization
org_id required | number Example: 98 organization id |
event_id required | uuid Example: cabb3527-3c77-488e-8306-f8bf38a904gf event id |
itin_id required | uuid Example: 9bb348b3-d567-4392-818f-e19b7ad7fbf2 itinerary id |
{- "status_code": 404,
- "error": "The resource was not found"
}
Retrieve all itineraries associated with an event under an organization
org_id required | number Example: 98 organization id |
event_id required | string <uuid> Example: event_id=cabb3527-3c77-488e-8306-f8bf38a904gf event id |
{- "count": 1,
- "results": [
- {
- "uuid": "cabb3527-3c77-488e-8306-f8bf38a904gf",
- "user_id": 2187,
- "trip_name": "BOS-STL March 12",
- "booking_reference": "AWXGDG",
- "flights": [
- {
- "id": "UA576BOSSFO1606092145",
- "uuid": "97f584b3-4a4c-4ac4-9787-225912f9d9cb",
- "number": 576,
- "operating_carrier": {
- "iata": "UA"
}, - "carrier": {
- "iata": "UA",
- "name": "United Airlines",
- "friendly_name": "United"
}, - "aircraft_type": {
- "generic": "EMJ",
- "generic_description": "Embraer 170/195",
- "specific": "E75",
- "specific_description": "Embraer 175"
}, - "scheduled_departure": "2017-04-20T12:00:00-06:00",
- "scheduled_arrival": "2017-04-20T13:40:00-07:00",
- "origin": {
- "iata": "BOS",
- "city": "Boston",
- "name": "General Edward Lawrence Logan Intl"
}, - "destination": {
- "iata": "BOS",
- "city": "San Francisco",
- "name": "San Francisco Intl"
}
}
], - "created_timestamp": "2019-08-24T14:15:22Z",
- "updated_timestamp": "2019-08-24T14:15:22Z"
}
]
}
Retrieve an org's default sink settings, either for members or travelers. Every sink is configurable at the alert type level.
org_id required | number Example: 98 organization id |
org_user_type required | string Enum: "members" "travelers" The type of org user |
sink_type_id | integer Example: sink_type_id=1 To filter the results as per a sink type |
alert_type_id | integer Example: alert_type_id=3 To filter the results as per an alert type |
[- {
- "sink_type_id": 1,
- "alert_type_id": 3,
- "org_id": 98,
- "org_user_type": "member",
- "enabled_default": true,
- "threshold_default": 300,
- "alert_type": {
- "alert_type_id": 3,
- "display": null,
- "display_order": null,
- "display_text": "Send me alerts about additional ETA changes when a flight is delayed more than {threshold} minutes",
- "display_tooltip": null,
- "display_name": null,
- "has_threshold": true,
- "threshold_min": 0,
- "threshold_max": 600
}
}
]
Retrieve an org's defualt settings for a particular sink in case of a particular alert type. This is exposed only if the initial defaults set by Lumo are overridden by the org.
org_id required | number Example: 98 organization id |
org_user_type required | string Enum: "members" "travelers" The type of org user |
sink_type_id required | integer Example: 1 The sink type's id |
alert_type_id required | integer Example: 3 The alert type's id |
{- "sink_type_id": 1,
- "alert_type_id": 3,
- "org_id": 98,
- "org_user_type": "member",
- "enabled_default": true,
- "threshold_default": 300
}
Update an org's defualt settings for a particular sink in case of a particular alert type.
org_id required | number Example: 98 organization id |
org_user_type required | string Enum: "members" "travelers" The type of org user |
sink_type_id required | integer Example: 1 The sink type's id |
alert_type_id required | integer Example: 3 The alert type's id |
enabled_default required | boolean (DefaultEnabled) If the combination of the alert and sink type is enabled by default in the org |
threshold_default | integer (DefaultThreshold) The org's default threshold value for the particular combination of alert and sink types. What the threshold value mean is defined by the alert type. |
{- "enabled_default": true,
- "threshold_default": 300
}
{- "sink_type_id": 1,
- "alert_type_id": 3,
- "org_id": 98,
- "org_user_type": "member",
- "enabled_default": true,
- "threshold_default": 300
}
Retrieve an org member's settings for their sinks, configurable at alert type level
org_id required | number Example: 98 organization id |
user_id required | number Example: 100 user id |
sink_id | integer Example: sink_id=38752 To filter the results as per a sink |
alert_type_id | integer Example: alert_type_id=3 To filter the results as per an alert type |
[- {
- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200,
- "alert_type": {
- "alert_type_id": 3,
- "display": null,
- "display_order": null,
- "display_text": "Send me alerts about additional ETA changes when a flight is delayed more than {threshold} minutes",
- "display_tooltip": null,
- "display_name": null,
- "has_threshold": true,
- "threshold_min": 0,
- "threshold_max": 600
}
}
]
Retrieve an org member's settings for a sink-alert type combination. This is exposed only if the sink-alert type combination are once modified.
org_id required | number Example: 98 organization id |
user_id required | number Example: 100 user id |
sink_id required | integer Example: 38752 The sink id |
alert_type_id required | integer Example: 3 The alert type id |
[- {
- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200,
- "alert_type": {
- "alert_type_id": 3,
- "display": null,
- "display_order": null,
- "display_text": "Send me alerts about additional ETA changes when a flight is delayed more than {threshold} minutes",
- "display_tooltip": null,
- "display_name": null,
- "has_threshold": true,
- "threshold_min": 0,
- "threshold_max": 600
}
}
]
Update an org member's settings for a sink-alert type combination
org_id required | number Example: 98 organization id |
user_id required | number Example: 100 user id |
sink_id required | integer Example: 38752 The sink id |
alert_type_id required | integer Example: 3 The alert type id |
enabled required | boolean (SinkEnabled) If the sink is enabled by the user for the particular alert type |
threshold | integer (SinkThreshold) The threshold value the user has set for the particular sink-alert type combination. What the threshold value mean is defined by the alert type. |
{- "enabled": true,
- "threshold": 200
}
{- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200
}
Retrieve a user's personal settings for their sinks, configurable at alert type level
user_id required | number Example: 100 user id |
sink_id | integer Example: sink_id=38752 To filter the results as per a sink |
alert_type_id | integer Example: alert_type_id=3 To filter the results as per an alert type |
[- {
- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200,
- "alert_type": {
- "alert_type_id": 3,
- "display": null,
- "display_order": null,
- "display_text": "Send me alerts about additional ETA changes when a flight is delayed more than {threshold} minutes",
- "display_tooltip": null,
- "display_name": null,
- "has_threshold": true,
- "threshold_min": 0,
- "threshold_max": 600
}
}
]
Retrieve a user's personal settings for a sink-alert type combination. This is exposed only if the sink-alert type combination are once modified.
user_id required | number Example: 100 user id |
sink_id required | integer Example: 38752 The sink id |
alert_type_id required | integer Example: 3 The alert type id |
{- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200,
- "alert_type": {
- "alert_type_id": 3,
- "display": null,
- "display_order": null,
- "display_text": "Send me alerts about additional ETA changes when a flight is delayed more than {threshold} minutes",
- "display_tooltip": null,
- "display_name": null,
- "has_threshold": true,
- "threshold_min": 0,
- "threshold_max": 600
}
}
Update a user's personal settings for a sink-alert type combination
user_id required | number Example: 100 user id |
sink_id required | integer Example: 38752 The sink id |
alert_type_id required | integer Example: 3 The alert type id |
enabled required | boolean (SinkEnabled) If the sink is enabled by the user for the particular alert type |
threshold | integer (SinkThreshold) The threshold value the user has set for the particular sink-alert type combination. What the threshold value mean is defined by the alert type. |
{- "enabled": true,
- "threshold": 200
}
{- "sink_id": 38752,
- "alert_type_id": 3,
- "enabled": true,
- "threshold": 200
}
Retrieve the invites sent out by the org that hasn't been accepted nor expired yet
org_id required | number Example: 98 organization id |
[- {
- "org_id": 98,
- "org": "Tarams Ventures",
- "email": "afzal@mailinator.com",
- "token": "f2a127fc-ab10-4958-a24c-b627aa9b6f43",
- "expires": "2020-01-29T05:58:19.986Z",
- "user_id": 100
}
]
Invite a non-login user of your org to be a member via their email. Resending the invite with the same payload results in the invite's expiry being extended and the invite email resent.
org_id required | number Example: 98 organization id |
specify the user's id and their email
email required | string <email> email of the user to be invited |
user_id required | integer id of the user to be invited |
{- "email": "afzal@mailinator.com",
- "user_id": 100
}
{- "org_id": 98,
- "org": "Tarams Ventures",
- "email": "afzal@mailinator.com",
- "token": "f2a127fc-ab10-4958-a24c-b627aa9b6f43",
- "expires": "2020-01-29T05:58:19.986Z",
- "user_id": 100
}
{- "user_id": 1,
- "cust_uuid": "9bb348b3-d567-4392-818f-e19b7ad7fbf2",
- "email": "abc@xyz.com",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "trips_address": "trips+cus_1234567890abcdef@thinklumo.com",
- "plan": "professional",
- "picture": "string",
- "integrations": { },
- "orgs": [
- {
- "org_id": 1,
- "customer_id": 1,
- "name": "Skywalker Skywalker and Skywalker LLC",
- "user_id": 1,
- "user_type": "Traveler"
}
]
}
Create a new sink associated with the API key. If the specified destination already exists, then a new sink is not created and the current sink's information is returned.
Specify sink info
destination required | string <url> The sink URL where alerts will be sent |
type required | any Enum: "api" "email" Sink type |
{- "type": "api"
}
{- "id": 1,
- "type": "api",
- "enabled": false,
}
{- "id": 1,
- "type": "api",
- "enabled": false,
}
Update sink destination
Specify the destination
destination required | string <url> The sink URL where alerts will be sent |
{
}
{- "id": 1,
- "type": "api",
- "enabled": false,
}