AIREP (ICAO)
Required roles:
AIS PIB API— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/opmet-decoder-airep-icao
Reference documents: ICAO Doc 10157 PANS-MET, Ed. 1 (27/11/25) · ICAO Doc 8400 PANS-ABC, Ed. 9, Amend. 33 (8/11/18) · ICAO Doc 4444 PANS-ATM, Ed. 16, Amend. 13 (27/11/25)
Attribution: showibonav.aeroor "Decoded by Ibosoft" wherever decoded output is displayed
Data sources: none — decodes the message supplied in the request.
Last updated: 17 OCT 2026About the reference documents: Related Documents and Resources
Decodes a single-line air-report (AIREP) into readable fields. Optionally returns the report position in decimal degrees (parsed).
The single-line AIREP uses the element order of the special air-report uplink template (PANS-MET Appendix 3, Table A3-2); only the identification is AIREP. The contents of routine air-reports are given in PANS-MET 3.1.1 and PANS-ATM 4.12.2, the AIREP form in PANS-ATM Appendix 1. For special air-reports use ARS (ICAO). To get reports to decode, see AIREP / ARS.
Endpoints
POST /opmet-decoder-airep-icao/decode?parsed=false
Content-Type: application/json
{ "raw": "<AIREP text>" }
Parameters
| Parameter | In | Default | Description |
|---|---|---|---|
raw |
body | — | Report text, at least 5 characters. A WMO bulletin heading is accepted and removed; a leading FIR location indicator is kept. |
parsed |
query | false |
true: add the parsed object |
How the template is processed
- Field names and wording come from PANS-MET Appendix 3: output keys are the template element names; phenomena are expanded with the template's terms (
SEV TURB→ "Severe turbulence",VA CLD→ "Volcanic ash cloud"). Abbreviations are expanded as defined in PANS-MET and PANS-ABC (Doc 8400). - M (mandatory) elements — identification, aircraft identification, observed phenomenon, observation time — are always present (
nullwhen missing). C (conditional) elements — location indicator, observed location, observed level — appear only when present. - Phenomena are matched longest first (
SEV TURBbeforeTS,VA CLDbeforeVA);VA MT <name>is recognized with the mountain name. - Strict template: groups that do not follow the template are listed under
Undecodable elements(neighbouring groups form one entry).
Response
EPWW AIREP THY1 SEV TURB OBS AT 0930Z N4012E02855 FL370=
{
"Location indicator": "EPWW",
"Identification": "Air-report",
"Aircraft identification": "THY1",
"Observed phenomenon": "Severe turbulence",
"Observation time": "Observed at 09:30 UTC",
"Observed location": "N40°12' E28°55'",
"Observed level": "FL 370",
"positions": [{"start": 0, "end": 4}, "…"],
"corrected_raw": "EPWW AIREP THY1 SEV TURB OBS AT 0930Z N4012E02855 FL370",
"raw": "EPWW AIREP THY1 SEV TURB OBS AT 0930Z N4012E02855 FL370=",
"parsed": {
"utc_day": null, "utc_time": "0930",
"position": {"lat": 40.2, "lon": 28.9167},
"location_indicator": "EPWW",
"aircraft_identification": "THY1"
}
}
| Key | Description |
|---|---|
| element keys | Decoded elements, in template order |
Undecodable elements |
Groups that do not follow the template (only when there are any) |
corrected_raw |
The message after normalization; positions refer to this text |
positions |
Character spans {start, end} in corrected_raw, one per decoded value in output order |
parsed |
With parsed=true: utc_time ("HHMM", from OBS AT), utc_day (always null — an air-report has no day), position (lat/lon in signed decimal degrees, N/E positive; null when the report has no coordinates), location_indicator, aircraft_identification |
Errors
| Code | Meaning |
|---|---|
400 |
The message could not be parsed at all; detail explains why |
422 |
raw is missing or shorter than 5 characters |