Open ATMS (1.0.8)

Download OpenAPI specification:Download

Airlab Technical Support: support@airlab.aero URL: http://airlab.aero/contact

Introduction

This is a set of API for accessing services provided by the Open ATMS system.

Authentication

api-key

Security Scheme Type API Key
Header parameter name: api-key

Airports

Endpoints for retrieving airport records

Get list of all Airports

Responses

200

OK

401

Unauthorized

403

Forbidden

get/airac/airports
https://open-atms.airlab.aero/api/v1/airac/airports

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Details of an airport queried by ICAO or IATA

path Parameters
id
required
string

id

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/airac/airports/{id}
https://open-atms.airlab.aero/api/v1/airac/airports/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "uid": "string",
  • "name": "string",
  • "iata": "string",
  • "icao": "string",
  • "lat": 0,
  • "lng": 0,
  • "alt": 0
}

Airways

Endpoints for retrieving airway records

Get all Airways

Responses

200

OK

401

Unauthorized

403

Forbidden

get/airac/airways
https://open-atms.airlab.aero/api/v1/airac/airways

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get an Airway by the name.

path Parameters
name
required
string

name

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/airac/airways/{name}
https://open-atms.airlab.aero/api/v1/airac/airways/{name}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "points":
    [
    ]
}

SID

Endpoints for retrieving SID (Standard Instrumentation Departure) records

Get all SID by airport ICAO.

path Parameters
icao
required
string

icao

Responses

200

OK

401

Unauthorized

403

Forbidden

get/airac/sids/airport/{icao}
https://open-atms.airlab.aero/api/v1/airac/sids/airport/{icao}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a SID by its name and the airport ICAO.

path Parameters
icao
required
string

icao

name
required
string

name

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/airac/sids/airport/{icao}/{name}
https://open-atms.airlab.aero/api/v1/airac/sids/airport/{icao}/{name}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "airport":
    {
    },
  • "waypoints":
    [
    ]
}

STAR

Endpoints for retrieving STAR (Standard Terminal Arrival Routes) records

Get all STAR by airport ICAO code.

path Parameters
icao
required
string

icao

Responses

200

OK

401

Unauthorized

403

Forbidden

get/airac/stars/airport/{icao}
https://open-atms.airlab.aero/api/v1/airac/stars/airport/{icao}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a STAR by its name and the airport icao code.

path Parameters
icao
required
string

icao

name
required
string

name

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/airac/stars/airport/{icao}/{name}
https://open-atms.airlab.aero/api/v1/airac/stars/airport/{icao}/{name}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "airport":
    {
    },
  • "waypoints":
    [
    ]
}

Waypoints

Endpoints for retrieving waypoint records

Get all Waypoints

Responses

200

OK

401

Unauthorized

403

Forbidden

get/airac/waypoints
https://open-atms.airlab.aero/api/v1/airac/waypoints

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a Waypoint by name

path Parameters
name
required
string

name

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/airac/waypoints/{name}
https://open-atms.airlab.aero/api/v1/airac/waypoints/{name}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "uid": "string",
  • "name": "string",
  • "lat": 0,
  • "lng": 0
}

Flight Plan Clearance Request

Endpoints for flight plan clearance requests

Put a request for Flight Plan Clearance.

Request Body schema: application/json

JSON containing request information for flight plan clearance.

gufi
required
object

Global Unique Flight Identifier.

The value contains 32 digits with the final digits indicating the CDC record number.

Note : To be replaced by a value generated by a GUFI service in the future.

fplModifTime
required
string <date-time>

The current modified time of a Flight Plan. Can be obtained from the latest Flight Plan record in FIXM. Date Time format should follow iso-8601. (https://www.iso.org/iso-8601-date-and-time-format.html)

clientId
required
string

Client ID to identify the requestor that submits the flight clearance request

data
required
string

Flight Clearance Request String in an ICAO-like syntax. Additional sub-fields are added to cover needs not fulfilled with the ICAO syntax.

** Note : The example given is 1 of many valid switches.

Structure : 'CFL-${aircraftIdent}/${ssrMode}${ssrCode}-${departureAerodrome}${departureTime}-${arrivalAerodrome}-CFL/${flightOrAltitudeLevel} OPT/${impactOnComputation} DOF/${dofSwitch}'

aircraftIdent - Aircraft identification shown in Flight Plan (<= 10 characters).

ssrMode - A

ssrCode - 4 NUMERICS giving the SSR code assigned to the aircraft.

departureAerodrome - 4 LETTERS, being the ICAO four-letter location indicator allocated to the departure aerodrome or ZZZZ if no ICAO location indicator has been allocated.

departureTime - 4 Numerics

arrivalAerodrome - 4 LETTERS, being the ICAO four-letter location indicator allocated to the arrival aerodrome or ZZZZ if no ICAO location indicator has been allocated.

flightOrAltitudeLevel - F (for Flight) or A (for Altitude) followed by digits. (F300)

dofSwitch - A compulsory switch that contains the date of operation of the flight plan (in YYMMDD format).

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

put/fpl/clearance/
https://open-atms.airlab.aero/api/v1/fpl/clearance/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "gufi":
    {
    },
  • "fplModifTime": "2016-08-04T18:53:38.297Z",
  • "clientId": "1",
  • "data": "CFL-RAMTRK/A5002-0115WSSS-FAJS-CFL/F300 OPT/WITH IMPACT DOF/200603"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "OK",
  • "status": 200
}

Conflict Alerts Management

Endpoints for conflict alerts management service

Submit new or updated mtcd alert

path Parameters
id
required
integer

Alert Identifier

  • The item is the Alert Identification of the conflict in the system
  • This number shall be assigned, by the Conflict Probe Server, incrementally to every new alert and restart on zero after reaching the maximum value (65535) [Asterix I004/040]
Request Body schema: application/json

JSON containing request information for new MTCD alert or update MTCD alert

id
required
number <integer>

Alert Identifier

  • The item is the Alert Identification of the conflict in the system
  • This number shall be assigned, by the Conflict Probe Server, incrementally to every new alert and restart on zero after reaching the maximum value (65535) [Asterix I004/040]
timestamp
required
string <date-time>

Time of Message

  • Absolute time stamping of the message in the form of elapsed time since last midnight [Asterix I004/020]
status
string
Default: "ACTIVE"
Enum: "ACTIVE" "DELETED"

Alert Status

  • Information concerning status of the alert
  • The content of this item is implementation dependent [Asterix I004/045]
conflict
object

Responses

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

put/alerts/mtcd/{id}
https://open-atms.airlab.aero/api/v1/alerts/mtcd/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 1,
  • "timestamp": "2020-05-25T15:18:19.833Z",
  • "status": "ACTIVE",
  • "conflict":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "string",
  • "status": 0
}

Delete a MTCD alert

path Parameters
id
required
integer

Alert Identifier

  • The item is the Alert Identification of the conflict in the system
  • This number shall be assigned, by the Conflict Probe Server, incrementally to every new alert and restart on zero after reaching the maximum value (65535) [Asterix I004/040]
Request Body schema: application/json

JSON containing request information for new MTCD alert or update MTCD alert

id
required
number <integer>

Alert Identifier

  • The item is the Alert Identification of the conflict in the system
  • This number shall be assigned, by the Conflict Probe Server, incrementally to every new alert and restart on zero after reaching the maximum value (65535) [Asterix I004/040]
timestamp
required
string <date-time>

Time of Message

  • Absolute time stamping of the message in the form of elapsed time since last midnight [Asterix I004/020]
status
string
Default: "ACTIVE"
Enum: "ACTIVE" "DELETED"

Alert Status

  • Information concerning status of the alert
  • The content of this item is implementation dependent [Asterix I004/045]
conflict
object

Responses

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

delete/alerts/mtcd/{id}
https://open-atms.airlab.aero/api/v1/alerts/mtcd/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 1,
  • "timestamp": "2020-05-25T15:18:19.833Z",
  • "status": "ACTIVE",
  • "conflict":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "string",
  • "status": 0
}

Operational Configuration

Endpoints for Operational Configuration Plans

Put request for Operational Configuration Plan

Request Body schema: application/json

JSON containing request information for operational configuration plan.

planId
required
string
layouts
required
Array of objects
valid
required
boolean

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

put/op-config/current/
https://open-atms.airlab.aero/api/v1/op-config/current/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "planId": "string",
  • "layouts":
    [
    ],
  • "valid": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "OK",
  • "status": 200
}

Get Operational Configuration Current Plan

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/op-config/current/
https://open-atms.airlab.aero/api/v1/op-config/current/

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "planId": "string",
  • "layouts":
    [
    ],
  • "valid": true
}

Get Operational Configuration Predefined Plan

Responses

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

get/op-config/predefined/
https://open-atms.airlab.aero/api/v1/op-config/predefined/

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

SUA

Endpoints for Special Use Airspace

Put a request to update Special Use Airspace.

Request Body schema: application/json

JSON containing request information for Special Use Airspace updates.

areaName
required
string

Name of an existing SUA.

version
required
string
  • Version ID that represents the last valid data.
  • String that contains 3 numerics delimited by '-'.
  • Invalid provided versions are considered bad requests.
description
required
string

Description of the activity/facility in the SUA.

activationStatus
required
string
Enum: "ON" "OFF" "AUTO"

Activation Statuses of a Special Use Airspace.

  • ON - Set Special Use Airspace as Active. ValidityInfo is not required.
  • OFF - Set Special Use Airspace as Inactive. ValidityInfo is not required.
  • AUTO - Special Use Airspace status will be updated to active based on the selected days of the week, validity, activity periods. ValidityInfo is required.
validityInfo
Array of objects

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

put/sua/update/
https://open-atms.airlab.aero/api/v1/sua/update/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "areaName": "string",
  • "version": "123456789-1234567-1",
  • "description": "string",
  • "activationStatus": "ON",
  • "validityInfo":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "OK",
  • "status": 200
}

Trial Clearance Probe Request

Endpoints for trial clearance prob request

Trial proposed changes to an aircrafts' clearance against other traffic

Request Body schema: application/json

JSON containing request information for new MTCD alert or update MTCD alert

uniqueMessageIdentifier
required
object

Unique Message Identifier.

gufi
required
object

Global Unique Flight Identifier.

The value contains 32 digits with the final digits indicating the CDC record number.

Note : To be replaced by a value generated by a GUFI service in the future.

callsign
string
estimatedOffBlockTime
string <date-time>

The estimated time at which the aircraft will commence movement associated with departure. [ICAO Doc 4444].

level
object
  • Altitude or Flight Level that is defined by a specific value.
cruisingLevel
object
  • Altitude or Flight Level that is defined by a specific value.
speed
object

The true airspeed choice indicates that indicated airspeed can either be expressed as specific with a speed condition or a speed range between lower and upper bounds

  • airspeedRange: The airspeed that can be expressed as a range between a lower and upper bound.
  • airspeedValue: The airspeed can be expressed as a specific speed
cruisingSpeed
object

The true airspeed choice indicates that indicated airspeed can either be expressed as specific with a speed condition or a speed range between lower and upper bounds

  • airspeedRange: The airspeed that can be expressed as a range between a lower and upper bound.
  • airspeedValue: The airspeed can be expressed as a specific speed
heading
object
routeText
string

A string of route elements complying with PANS-ATM Item 15c.

standardInstrumentArrival
object

A reference to a SID or a STAR. [FIXM]

standardInstrumentDeparture
object

A reference to a SID or a STAR. [FIXM]

Responses

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

post/trial/mtcds/
https://open-atms.airlab.aero/api/v1/trial/mtcds/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "uniqueMessageIdentifier":
    {
    },
  • "gufi":
    {
    },
  • "callsign": "string",
  • "estimatedOffBlockTime": "2020-06-28T15:18:19.833Z",
  • "level":
    {
    },
  • "cruisingLevel":
    {
    },
  • "speed":
    {
    },
  • "cruisingSpeed":
    {
    },
  • "heading":
    {
    },
  • "routeText": "string",
  • "standardInstrumentArrival":
    {
    },
  • "standardInstrumentDeparture":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

ASR Transcription

Endpoints for updating ASR transcriptions

Creates a new entry in the ASR transcription Kafka topic

Request Body schema: application/json

JSON containing the ASR-Transcription

flightId
required
object

Flight identification information

vhfCh
required
string

VHF channel the flight is using

asrScore
required
number <integer>

ASR translation confidence score

transcribedText
required
string

Text transcription of the ASR recording

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

post/asr/create/
https://open-atms.airlab.aero/api/v1/asr/create/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "flightId":
    {
    },
  • "vhfCh": "string",
  • "asrScore": 0,
  • "transcribedText": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "OK",
  • "status": 200
}