1. Flight Info FAQs
  2. Flight Info Alerts
  3. Flight Info Alerts frequently asked questions

What type of alerts can I create?

In Flight Info Alerts, you are able to create open-ended alerts as well as for specific flights or routes for both schedules and status changes.

There are 3 main types of alerts that you will be able to create in order to track flight changes. Events that match your alert parameters will be sent to the event hub for retrieval. The 3 types of alerts are:

  • Global alerts
  • Port alerts
  • Carrier alerts

In all 3 alerts there are also mandatory fields as well as optional ones. Between the alert types there are also common mandatory fields. On top of these alert types, you also have the option to enable additional content such as seat information, as well as choose to track flights changes for schedules, status, or both schedules and status changes.

Full Alert Request Sample

You may use the below JSON as a template for creating an alert. However, do note that not all fields are necessary in each of the alert types. They will be discussed further in the article.

{
    "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",
    "name": "John's Alert",
    "description": "Alert config for John",
    "iataCarrierCode": "AA",
    "icaoCarrierCode": "AAA",
    "flightNumber": 1231,
    "fromFlight": 1245,
    "toFlight": 6235,
    "departureAirport": "DUB",
    "arrivalAirport": "HTR",
    "departureDate": "2021-09-25",
    "arrivalDate": "2021-09-26",
    "alertType": "global",
    "content": "seats, changeindicator",
    "schedules": true,
    "status": true,
    "gaFlights": false,
    "unscheduledFlights": false,
    "statusChangeFilters": {
      "baggage": true,
      "aircraftRegistrationNumber": true,
      "gates": true,
      "terminal": true,
      "seats": true,
      "aircraftType": true
    }
}

The bolded key value pairs are mandatory for all alert types. It is always necessary to indicate the name, description, alert type as well as additional content (if required) when creating an alert. Even if no additional content is required, a blank value should be passed to the API. The use of other key value pairs depend on the type of alert created.

Additional content

The additional content field has two possible values, seats and changeindicator. Including "seats" allows you to indicate if you want premium content such as seats information to be included in flight change events for that specific alert. Please note that in order to set this type of alert, this needs to be enabled first at the profile level. When enabled, if you have two alerts, one with additional content and one without, the flights that fall under an alert created with additional content will have that data included while those that fall under an alert created without will not have it.

For "changeindicator", including this value will add change indicators to your flight status updates (schedules to follow in a separate release further down the line). These change indicators shows you which data fields have changed from the previous update and what the previous value was.

Schedules and Status Flags

The schedules and status flags at the bottom allow you, based on your susbcription, to choose if you would like to receive schedule updates, status updates, or both schedules and updates for the flights within the parameters you have chosen.

Global Alerts

Global alerts encompass all flight changes for the entirety of OAG's flight data globally for all available future departure dates. Only one global alert can be created per customer and additional alerts (e.g. port or carrier) created would not add any value as the global alert would supercede all other alert types.

Full request for a global alert:

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "alertType": "global",

  "content": "seats",

"schedules": true,

"status": true

}

Although it is possible to fill in other keys and values for the global alerts, please note that these parameters will be ignored as it is not possible to filter down from a global alert type.

Port Alerts

Port alerts are used to track all flights departing, arriving, or departing and arriving at specific routes for either all departure dates, or a specific departure date.

Full request for a port alert:

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "departureAirport": "DUB",

"arrivalAirport": "HTR",

  "departureDate": "2021-09-25",

"arrivalDate": "2021-09-25",

  "alertType": "port",

  "content": "seats",

"schedules": true,

"status": true

}

Besides the common mandatory fields, it is required to have at least one of the port fields (departureAirport or arrivalAirport) to be populated in your request. Using all of the fields or a combination of the above is not necessary but possible if you require more specific flight changes.

Please note that only the above keys and values would be accepted. Additional key/values such as carrier and flight number, though accepted by the API, would simply be ignored.

All flights departing a specific port, all future days

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "departureAirport": "DUB",

  "alertType": "port",

  "content": "seats",

"schedules": true,

"status": true

}

All flights departing a specific port on a specific day

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "departureAirport": "DUB",

 "departureDate": "2021-09-25",

  "alertType": "port",

  "content": "seats",

"schedules": true,

"status": true

}

All flights on a specific route on a specific day

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "departureAirport": "DUB",

"arrivalAirport": "HTR",

  "departureDate": "2021-09-25",

  "alertType": "port",

  "content": "seats",

"schedules": true,

"status": true

}

 

Carrier Alerts

Carrier alerts are the most specific type of alerts users can create in Flight Info Alerts. Using carrier alerts, users can target specific carriers, flight numbers, flight number ranges, as well as ports and departure dates.

Full request for a carrier alert:

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "iataCarrierCode": "AA",

  "icaoCarrierCode": "AAA",

"flightNumber": "1231",

  "fromFlight": "1245",

  "toFlight": "6235",

  "departureAirport": "DUB",

  "arrivalAirport": "HTR",

  "departureDate": "2021-09-25",

 "arrivalDate": "2021-09-25",

"alertType": "carrier",

  "content": "seats",

"schedules": true,

"status": true

}

Besides the common mandatory fields, it is required to have at least one of the carrier fields (iataCarrierCode or icaoCarrierCode) to be populated in your request. Using all of the fields or a combination of the above is not necessary but possible if you require more specific flight changes.

If indicating a flight range, it is not necessary to fill in the 'flightNumber' field as it will be covered under 'fromFlight' and 'toFlight'. The reverse also applies.

All flights for a specific carrier, all departure dates and ports

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "iataCarrierCode": "AA",

  "icaoCarrierCode": "AAA",

"alertType": "carrier",

  "content": "seats",

"schedules": true,

"status": true

}

You may substitute iataCarrierCode with icaoCarrierCode or vice versa; it is not necessary to include both.

Single flight number on a specific date*

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

"name": "Single flight alert",

"description": "AA1 alert departing on 1st Jan 2023",

  "iataCarrierCode": "AA",

"flightNumber": "1",

"departureDate": "2023-01-01",

"alertType": "carrier",

"schedules": true,

"status": true

}

You may substitute iataCarrierCode with icaoCarrierCode or vice versa; it is not necessary to include both.

It is also possible to substitute departureDate with arrivalDate, or both.

*Please note that this is the minimum level of filters you will need for an alert to be counted as a single flight registration instead of an open-ended alert.

Specific flight number for a specific carrier on a specific route

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "iataCarrierCode": "AA",

  "icaoCarrierCode": "AAA",

"flightNumber": "1231",

  "departureAirport": "DUB",

  "arrivalAirport": "HTR",

"alertType": "carrier",

  "content": "seats",

"schedules": true,

"status": true

}

You may substitute iataCarrierCode with icaoCarrierCode or vice versa; it is not necessary to include both. This only really applies if you would like to track a specific leg of a multi-segment flight e.g. SYD-SIN-LHR as single-leg flights will only have one departure and arrival airport.

Please note that status changes are only ever updated on a per-leg basis. This means that for a flight with a stop in between AAA-BBB-CCC we will not send out status updates for AAA-CCC, but only for AAA-BBB and BBB-CCC.

Flight number range for a specific carrier

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "iataCarrierCode": "AA",

  "icaoCarrierCode": "AAA",

  "fromFlight": "1245",

  "toFlight": "6235",

"alertType": "carrier",

  "content": "seats",

"schedules": true,

"status": true

}

You may substitute iataCarrierCode with icaoCarrierCode or vice versa; it is not necessary to include both.

All flights departing a station by a specific carrier

{ "accountId": "ce29194a-8218-486b-a3b7-ade791d57423",

  "name": "John's Alert",

  "description": "Alert config for John",

  "iataCarrierCode": "AA",

  "icaoCarrierCode": "AAA",
 
  "departureAirport": "DUB",

"alertType": "carrier",

  "content": "seats",

"schedules": true,

"status": true

}

You may substitute iataCarrierCode with icaoCarrierCode or vice versa; it is not necessary to include both.