Skip to main content
GET
Airframe

Path Parameters

hex
string
required

ICAO 24-bit address, 6 hex chars. Case-insensitive.

Response

OK

hex
string
required
legs
object[] | null
required

Observed legs, newest first, up to 200 (the most recent when an airframe has more). Empty array = not seen in the window; null = the log artifact is not loaded.

window_days
integer | null
required

Days of history the log covers. Null when the log artifact is not loaded.

coverage
string
required

Always "observed": evidence from our receivers and open trace archives, never a published schedule or registry.

Allowed value: "observed"
reg
string | null

Registration.

type
string | null

ICAO type designator.

type_name
string | null
category
string | null

Type category (narrow, wide, ...).

operator
string | null

Operator name.

operator_icao
string | null

Observed operator: majority callsign prefix.

year
integer | null

Build year.

country
string | null

State of registration, ISO 3166-1 alpha-2, from the ICAO address block the hex belongs to. Null for unallocated and ICAO blocks.

source
string | null

Registry row provenance.

airline
object | null

Operator airline when resolved.

history
object | null

The lifetime record behind this hex: airframe_id, msn, built_year, manufacturer, registry (what a registry states, newest per field: model, engine, certificate_date, airworthiness_date, registry_status, owner, registration, source; null without one), first_observed, last_observed, and dated spells (hexes, registrations, operators; each with from, to, legs, source) plus public events, newest first (kind, at, lat, lon, detail, source). Observed spells and events come from the network's own evidence and say what it saw: first_observed is when the network first heard the airframe, not a delivery; not_observed is our silence, not storage. Null when no record exists.