Aircraft API

Retrieve available aircraft profiles and detailed aircraft data for performance calculations.

Overview

The Aircraft API provides access to aircraft profiles configured in Virtual Performance Tool. Aircraft data must be retrieved in two stages:

1
Get Allowed Aircraft
Retrieve the list of aircraft profiles the user has access to. This includes available aircraft, user fleet, and virtual airline fleet.
2
Get Aircraft Data
Load the full aircraft profile data using the profile identifiers from step 1. This provides form elements, limits, and allowed airports.
Single Aircraft Integration

If your application is designed for a single aircraft type only, you may bypass step 1 and hardcode the aircraft profile identifiers. However, this is not recommended as it limits flexibility and requires code changes when switching aircraft.

Understanding Profile Selection

Virtual Performance Tool supports extensive aircraft configuration. Each aircraft profile is uniquely identified by a combination of three values:

Field Type Description
file string The aircraft profile filename (e.g., "320-212-CFM56-5A3.json")
userRegistration string|null Custom user registration for personalized fleet aircraft. null for standard profiles.
virtualAirline string|null Virtual airline identifier for VA fleet aircraft. null for non-VA profiles.

Profile Categories

The API returns aircraft organized into three categories based on ownership and configuration:

availableAircraft
All standard aircraft profiles registered in the system database. Both userRegistration and virtualAirline are null. Whether the user has an active subscription for a given aircraft is not reflected here — airport availability controls access during calculation.
userFleet
User's personal fleet with custom configurations. Has a userRegistration value, virtualAirline is null.
virtualAirlineFleet
Aircraft from the user's virtual airline. Both userRegistration and virtualAirline have values.

Get Allowed Aircraft

Retrieve the full list of aircraft profiles registered in the system, along with the user's personal fleet and virtual airline fleet. All aircraft whose variantId exists in the database are returned — subscription status does not filter this list. Access restrictions are applied at the airport level when performing calculations, not here.

POST /api

Request Body

Parameter Type Required Description
query string Required Must be "allowedAircrafts"

Request Body

JSON
{
  "query": "allowedAircrafts"
}

cURL Example

cURL
curl -X POST "https://api.virtualperformancetool.com/api" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-API-Version: 1.3.6" \
  -d '{
    "query": "allowedAircrafts"
  }'

Response

JSON Response
{
  "apiVersion": "1.2.9",
  "availableAircraft": [
    {
      "profile": {
        "title": "A320-212",
        "description": "CEO",
        "userRegistration": null,
        "virtualAirline": null,
        "isBeta": false,
        "file": "320-212-CFM56-5A3.json"
      },
      "model": {
        "manufacturer": "Airbus",
        "category": "320",
        "variant": "A320-212",
        "brakes": "Carbon (SEPCARB III)",
        "enginesThrustLimitTime": 10,
        "maxCertifiedTakeoffAndLandingAltitude": 8400,
        "folderGroup": "320",
        "engines": "CFM56-5A3",
        "certification": "JAR",
        "type": "A320-212"
      }
    },
    {
      "profile": {
        "title": "A320-232",
        "description": "CEO",
        "userRegistration": null,
        "virtualAirline": null,
        "file": "320-232-IAE-V2527-A5.json"
      },
      "model": {
        "manufacturer": "Airbus",
        "category": "320",
        "variant": "A320-232",
        "brakes": "Carbon (SEPCARB III)",
        "enginesThrustLimitTime": 10,
        "maxCertifiedTakeoffAndLandingAltitude": 8400,
        "folderGroup": "320",
        "engines": "IAE V2527-A5",
        "certification": "JAR",
        "type": "A320-232"
      }
    }
  ],
  "userFleet": [
    {
      "profile": {
        "title": "My A320neo",
        "description": "Personal Configuration",
        "userRegistration": "N320AB",
        "virtualAirline": null,
        "file": "320-251N-PW1127G-JM.json"
      },
      "model": {
        "manufacturer": "Airbus",
        "category": "320",
        "variant": "A320-251N",
        "brakes": "Carbon",
        "enginesThrustLimitTime": 10,
        "maxCertifiedTakeoffAndLandingAltitude": 9200,
        "folderGroup": "320",
        "engines": "PW1127G-JM",
        "certification": "EASA",
        "type": "A320-251N"
      }
    }
  ],
  "virtualAirlineFleet": [
    {
      "profile": {
        "title": "Company A320",
        "description": "Standard Config",
        "userRegistration": "VPT-001",
        "virtualAirline": "VPT Airways",
        "file": "320-214-CFM56-5B4.json"
      },
      "model": {
        "manufacturer": "Airbus",
        "category": "320",
        "variant": "A320-214",
        "brakes": "Carbon (SEPCARB III)",
        "enginesThrustLimitTime": 10,
        "maxCertifiedTakeoffAndLandingAltitude": 8400,
        "folderGroup": "320",
        "engines": "CFM56-5B4",
        "certification": "JAR",
        "type": "A320-214"
      }
    }
  ]
}

Response Fields

Profile Object
Field Type Description
title string Display name for the aircraft profile
description string Additional description (e.g., "CEO", "NEO")
userRegistration string|null User's custom registration, or null
virtualAirline string|null Virtual airline name, or null
file string Profile filename - required for loading aircraft data
isBeta boolean When true, the profile is in a trial/beta period and may contain errors or incomplete data. Defaults to false. Implementors should display a visual indicator to inform users accordingly.
Model Object
Field Type Description
manufacturer string Aircraft manufacturer (e.g., "Airbus", "Boeing")
category string Aircraft family category (e.g., "320", "737")
variant string Specific aircraft variant
type string Aircraft type designator
engines string Engine type designation
brakes string Brake system type
certification string Certification authority (e.g., "JAR", "EASA", "FAA")
enginesThrustLimitTime number Engine thrust limit time in minutes
maxCertifiedTakeoffAndLandingAltitude number Maximum certified airport elevation in feet
folderGroup string Suggested group for filtering profiles. All profiles sharing the same folderGroup can be organized together.
Important

To load aircraft data in the next step, you must provide all three profile identifiers: file, userRegistration, and virtualAirline (even if they are null). These three values together uniquely identify the aircraft profile configuration.

Building Your Selection Interface

Use the response data to build an aircraft selection interface for your users. The model object provides display information, while the profile object contains the identifiers needed for the next step.

A typical implementation might:

  • Group aircraft by manufacturer or category
  • Display title and description as the primary label
  • Show engines and variant as details
  • Separate the three categories (Available, User Fleet, VA Fleet) into tabs or sections
  • Store the full profile object when the user makes a selection

Get Aircraft Data

Once the user has selected an aircraft profile, use the aircraft query to retrieve the full aircraft data including form elements, limits, and allowed airports.

POST /api

Request Body

Parameter Type Required Description
query string Required Must be "aircraft"
data.aircraft string Required The profile filename from allowedAircrafts
data.userRegistration string|null Required User registration value (or null)
data.virtualAirline string|null Required Virtual airline value (or null)

Request Body

JSON
{
  "query": "aircraft",
  "data": {
    "aircraft": "320-212-CFM56-5A3.json",
    "userRegistration": null,
    "virtualAirline": null
  }
}

cURL Example

cURL
curl -X POST "https://api.virtualperformancetool.com/api" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-API-Version: 1.3.6" \
  -d '{
    "query": "aircraft",
    "data": {
      "aircraft": "320-212-CFM56-5A3.json",
      "userRegistration": null,
      "virtualAirline": null
    }
  }'

Response

JSON Response
{
  "apiVersion": "1.2.9",
  "aircraft": {
    "profile": {
      "title": "A320-212",
      "description": "CEO",
      "userRegistration": null,
      "virtualAirline": null,
      "file": "320-212-CFM56-5A3.json"
    },
    "model": {
      "manufacturer": "Airbus",
      "category": "320",
      "variant": "A320-212",
      "brakes": "Carbon (SEPCARB III)",
      "enginesThrustLimitTime": 10,
      "maxCertifiedTakeoffAndLandingAltitude": 8400,
      "folderGroup": "320",
      "engines": "CFM56-5A3",
      "certification": "JAR",
      "type": "A320-212"
    },
    "weight": {
      "oew": 43866,
      "mstow": 78000,
      "mslw": 64500,
      "mzfw": 60500,
      "msrw": 78400,
      "isFlexibleTOW": false,
      "flexibleTOW": null,
      "performanceLimitedWeight": 85456
    },
    "calculationLimit": {
      "maxTemperatureC": 55,
      "minTemperatureC": -58,
      "maxQNHhPa": 1100,
      "minQNHhPa": 900
    },
    "takeoff": {
      "n1label": "N1",
      "isCGAvailable": true,
      "useAlternateCG": true,
      "useAlternateN1": false,
      "isN1displayed": false,
      "windLimit": {
        "headwind": 40,
        "tailwind": 15,
        "windshearWarningFCTM": "PRECAUTIONS FOR SUSPECTED WINDSHEAR...",
        "windshearRecommendedFlaps": ["CONF 1+F"],
        "crosswindLimitsPerRunwayConditions": [
          {
            "runwayCondition": "DRY",
            "windLimit": 33,
            "increaseableWindLimit": false,
            "increaseableWindLimitValue": 0,
            "increaseableWindLimitText": null,
            "increaseableWindLimitFwdCG": 0,
            "increaseableWindLimitAftCG": 0,
            "increaseableWindLimitRunwayWidth": 147.6378,
            "increaseableWindLimitRunwayMinimumFlaps": null
          },
          {
            "runwayCondition": "WET",
            "windLimit": 25,
            "increaseableWindLimit": true,
            "increaseableWindLimitValue": 33,
            "increaseableWindLimitText": "TAKEOFF Wet (GOOD) 33 knot limit...",
            "increaseableWindLimitFwdCG": 0,
            "increaseableWindLimitAftCG": 25,
            "increaseableWindLimitRunwayWidth": 147.6378,
            "increaseableWindLimitRunwayMinimumFlaps": "5"
          }
          // ... additional runway conditions
        ]
      }
    },
    "landing": {
      "vrefFlapRef": null,
      "vrefAdditiveDefault": 5,
      "vrefAdditiveMax": 20,
      "assumedAirDistanceRef": 1500,
      "displayResultUnfactoredLandingDistances": true,
      "autolandFlapsOption": ["CONF 3", "CONF FULL"],
      "brakeCooling": {
        "isBrakeCoolingActive": false,
        "userTurnaroundTime": 30
      },
      "windLimit": {
        "headwind": 60,
        "tailwind": 15,
        "crosswindLimitsPerRunwayConditions": [
          // ... runway conditions similar to takeoff
        ]
      },
      "useAlternateCG": false,
      "vrefLabel": "Vref"
    },
    "formData": {
      "takeoff": {
        "acBleed": [
          {"description": "ON", "value": "ON", "order": 1, "isDefault": true, "paramName": "OPT_AC"},
          {"description": "OFF", "value": "OFF", "order": 2, "isDefault": false, "paramName": "OPT_AC"}
        ],
        "ai": [
          {"description": "Off", "value": "OFF", "order": 0, "isDefault": false, "paramName": "OPT_AI"},
          {"description": "Engine Only", "value": "# A/I ON", "order": 1, "isDefault": false, "paramName": "OPT_AI"}
          // ... additional options
        ],
        "cgPosition": [
          {"description": "BASIC", "value": "BASIC", "isDefault": false, "minValue": 0, "maxValue": 99, "order": 0, "paramName": "OPT_CG_POSITION"},
          {"description": "EXT FWD", "value": "EXT FWD", "isDefault": false, "minValue": 0, "maxValue": 99, "order": 1, "paramName": "OPT_CG_POSITION"}
        ],
        "condition": [
          {"description": "DRY", "value": "DRY", "order": 0, "shortDisplay": "DRY", "requiresDepth": 0, "isDefault": false, "paramName": "OPT_COND", "isSlippery": false},
          {"description": "WET", "value": "WET", "order": 1, "shortDisplay": "WET", "requiresDepth": 0, "isDefault": false, "paramName": "OPT_COND", "isSlippery": false}
          // ... additional conditions
        ],
        "flap": [
          {"description": "OPT CONF", "value": "OPTIMUM", "order": 3, "isDefault": true, "paramName": "OPT_FLAP"},
          {"description": "CONF 1+F", "value": "CONF 1+F", "order": 0, "isDefault": false, "paramName": "OPT_FLAP"}
          // ... additional flap settings
        ],
        "improved": [
          {"description": "YES", "value": "YES", "order": 0, "isDefault": true, "paramName": "OPT_IC"}
        ],
        "inopitem": {"mel": [], "cdl": []},
        "rating": [
          {"description": "FULL TO", "value": "FULL TO", "order": 0, "isDefault": true, "paramName": "OPT_RTG"},
          {"description": "WINDSHEAR", "value": "WINDSHEAR", "order": 99, "isDefault": false, "paramName": "OPT_RTG"}
        ]
      },
      "landing": {
        "acBleed": [
          {"description": "ON", "value": "ON", "order": 1, "isDefault": true, "paramName": "OPT_AC"},
          {"description": "OFF", "value": "OFF", "order": 2, "isDefault": false, "paramName": "OPT_AC"}
        ],
        "ai": [
          {"description": "Off", "value": "OFF", "order": 0, "isDefault": false, "paramName": "OPT_AI"},
          {"description": "Engine Only", "value": "# A/I ON", "order": 1, "isDefault": false, "paramName": "OPT_AI"}
          // ... additional options
        ],
        "autobrake": [
          {"description": "MAX PEDAL", "value": "OFF", "order": 0, "isDefault": false, "paramName": "OPT_BRKS"},
          {"description": "LOW", "value": "LOW", "order": 1, "isDefault": false, "paramName": "OPT_BRKS"}
          // ... additional options
        ],
        "catiiIii": [
          {"description": "MANUAL LDG", "value": "MANUAL LDG", "order": 0, "isDefault": false, "paramName": "OPT_CATII_III"},
          {"description": "AUTO LDG", "value": "AUTO LDG", "order": 1, "isDefault": false, "paramName": "OPT_CATII_III"}
          // ... additional options
        ],
        "flap": [
          {"description": "AUTO CONF", "value": "OPT CONF", "order": 0, "isDefault": false, "paramName": "OPT_FLAP"},
          {"description": "CONF 3", "value": "CONF 3", "order": 1, "isDefault": false, "paramName": "OPT_FLAP"}
          // ... additional flap settings
        ],
        "groundSpoilers": [
          {"description": "AUTO", "value": "0", "order": 0, "isDefault": true, "paramName": "OPT_SBRK"},
          {"description": "MANUALLY OPERATED", "value": "1", "order": 1, "isDefault": false, "paramName": "OPT_SBRK"}
        ],
        "reversers": [
          {"description": "YES", "value": "1", "order": 0, "isDefault": true, "paramName": "OPT_REV"},
          {"description": "NO", "value": "0", "order": 1, "isDefault": false, "paramName": "OPT_REV"}
        ],
        "nonNormalConf": [
          {"description": "NONE", "value": "NONE", "flap": null, "autobrakeInop": false, "autolandAvailable": true, "vrefAdd": 0, "order": -1, "isDefault": true, "paramName": "OPT_NNC"}
        ],
        "conditionDispatch": [
          {"description": "DRY", "value": "DRY", "order": 0, "requiresDepth": 0, "isDefault": false, "paramName": "OPT_COND"},
          {"description": "WET", "value": "WET", "order": 1, "requiresDepth": 0, "isDefault": false, "paramName": "OPT_COND"}
          // ... additional conditions
        ],
        "conditionEnroute": [
          {"description": "DRY", "value": "DRY", "order": 0, "isDefault": false, "paramName": "OPT_COND"},
          {"description": "GOOD", "value": "GOOD", "order": 1, "isDefault": false, "paramName": "OPT_COND", "isSlippery": true}
          // ... additional conditions
        ],
        "inopitem": {"mel": [], "cdl": []}
      }
    },
    "userEditedRawData": null
  },
  "subscription": {
    "id": 1001,
    "manufacturer": "Airbus",
    "category": "320",
    "modelGroup": "A32X",
    "model": "A320-212",
    "variantId": "A320-212_CFM56-5A3_JAA",
    "variant": "A320-212",
    "level": 2,
    "isAirportNotam": 1,
    "isNotam": 1,
    "isNnc": 1,
    "isMel": 1,
    "isCdl": 1,
    "isMostfav": 1,
    "isFleetDatabase": 1,
    "isCommercial": 0,
    "isDemo": 0
  },
  "remainingCalculations": 600,
  "extraCalculations": 50,
  "availableAirport": [
    {
      "icao": "EBBR",
      "iata": "BRU",
      "name": "BRUSSELS NATIONAL",
      "longuestRunwayLength": 11935
    }
    // ... additional airports
  ]
}

Response Sections

The aircraft data response contains several sections, each providing specific information about the aircraft profile and its capabilities.

Profile Section

Contains all essential data related to profile identification. This mirrors the profile data from allowedAircrafts.

Field Type Description
title string Display name for the aircraft profile
description string Additional description (e.g., "CEO", "NEO")
userRegistration string|null User's custom registration, or null
virtualAirline string|null Virtual airline name, or null
file string Profile filename identifier

Model Section

Contains all essential data that can be presented to the user, such as engine type, brakes, certification, and other aircraft specifications.

Field Type Description
manufacturer string Aircraft manufacturer (e.g., "Airbus", "Boeing")
category string Aircraft family category (e.g., "320", "737")
variant string Specific aircraft variant
type string Aircraft type designator
engines string Engine type designation
brakes string Brake system type
certification string Certification authority (e.g., "JAR", "EASA", "FAA")
enginesThrustLimitTime number Engine thrust limit time in minutes
maxCertifiedTakeoffAndLandingAltitude number Maximum certified airport elevation in feet
folderGroup string Suggested group for filtering profiles. Profiles sharing the same value can be organized together.

Weight Section

Contains all weight limitations for the profile. These values can be used to pre-filter user inputs before sending requests to the API.

Field Type Description
oew number Operating Empty Weight in kg
mstow number Maximum Structural Takeoff Weight in kg
mslw number Maximum Structural Landing Weight in kg
mzfw number Maximum Zero Fuel Weight in kg
msrw number Maximum Structural Ramp Weight in kg
isFlexibleTOW boolean Whether flexible takeoff weight is available
flexibleTOW array|null Array of available flexible takeoff weight values in kg, or null if not available
performanceLimitedWeight number Performance limited weight in kg
Weight Validation

Takeoff weight cannot exceed mstow - the API will reject the calculation request.

Overweight landings are permitted for emergency scenarios. The API will process the calculation but will include a caution message in the result. Other weight values are for information purposes.

Calculation Limit Section

Displays the accepted range of environmental parameters for performance calculations.

Field Type Description
maxTemperatureC number Maximum accepted OAT in °C
minTemperatureC number Minimum accepted OAT in °C
maxQNHhPa number Maximum accepted QNH in hPa
minQNHhPa number Minimum accepted QNH in hPa
Required Units

The API requires inputs in specific units: Temperature in °C, QNH in hPa. Ensure your application converts user inputs to these units before sending calculation requests.

Input Validation

Use these limits to validate user inputs before sending calculation requests. Requests with values outside these ranges will be rejected by the API.

FormData Section

The formData object defines all available input options for takeoff and landing calculations. Use this data to dynamically build your user interface with the correct options for each aircraft profile.

Dynamic Form Building

Instead of hardcoding form options, use the formData response to generate dropdown menus, checkboxes, and other inputs. This ensures your application always displays the correct options for each aircraft type.

FormData Structure

The formData object contains two main sections: takeoff and landing. Each section contains arrays of available options grouped by category.

Category Phase Description
acBleed Both Air conditioning bleed settings
ai Both Anti-ice configuration options
cgPosition Both Center of gravity position for performance calculation (not the CG value)
condition Takeoff Runway condition/contamination options
flap Both Available flap configurations
improved Takeoff Improved climb performance option
rating Takeoff Thrust rating options
inopitem Both MEL/CDL inoperative items (if available)
autobrake Landing Autobrake setting options
catiiIii Landing Approach category options
groundSpoilers Landing Ground spoiler deployment options
reversers Landing Thrust reverser availability
nonNormalConf Landing Non-normal configuration options
conditionDispatch Landing Runway condition for dispatch planning
conditionEnroute Landing Runway condition for in-flight updates
Option Object Fields

Each option within a category contains the following fields:

Field Type Description
description string Human-readable label to display to the user
value string Value to send to the API when this option is selected
paramName string API parameter name to use when sending the calculation request
order number Suggested display order (sort ascending)
isDefault boolean Whether this option should be pre-selected by default
Additional Fields (Context-Specific)

Some option categories include additional fields for specific use cases:

Field Type Context Description
minValue / maxValue number cgPosition Valid range for numeric CG input
shortDisplay string CONDITION Abbreviated label for compact displays
requiresDepth number CONDITION If 1, user must enter contamination depth in millimeters (mm)
isSlippery boolean CONDITION Indicates RCAM (slippery) condition reporting
contaminantCoefficient number|null CONDITION Braking coefficient for the condition
vrefAdd number nonNormalConf Required Vref additive for this configuration
autolandAvailable boolean nonNormalConf Whether autoland is available in this config

Takeoff Section

The takeoff object contains configuration options and wind limitations for takeoff performance calculations. Use this data to filter user inputs and customize your interface.

Display Options
Field Type Description
n1label string Engine power display label. Either "N1" or "EPR" depending on aircraft type.
isN1displayed boolean Whether to display N1/EPR values to the user. Airbus family typically does not display N1 values.
useAlternateN1 boolean If true, display "ALTN" next to N1 values to indicate an alternate calculation method was used (for addon compatibility instead of realism).
CG Options
Field Type Description
isCGAvailable boolean Whether Center of Gravity input is available for this profile. If true, allow users to enter CG values.
useAlternateCG boolean Whether alternate CG position selection is available. If true, the cgPosition options from formData can be used.
Wind Limits

The windLimit object defines maximum wind components for safe takeoff operations. Use these to validate user inputs and display warnings.

Field Type Description
headwind number Maximum certified headwind component in knots
tailwind number Maximum certified tailwind component in knots
windshearWarningFCTM string FCTM warning text to display when user selects RATING: WINDSHEAR
windshearRecommendedFlaps array Recommended flap settings when RATING: WINDSHEAR is selected
Crosswind Limits Per Runway Condition

The crosswindLimitsPerRunwayConditions array defines crosswind limits based on the runway condition selected by the user. Each condition may have different limits and some conditions allow increased limits under specific circumstances.

Field Type Description
runwayCondition string Runway condition identifier (matches condition values from formData)
windLimit number Maximum crosswind component in knots for this condition
increaseableWindLimit boolean Whether the wind limit can be increased under specific conditions (CG, runway width, flaps)
increaseableWindLimitValue number The increased wind limit value in knots (if increaseableWindLimit is true)
increaseableWindLimitText string|null Explanation text describing the conditions for the increased limit. Display this to users when applicable.
increaseableWindLimitFwdCG number Minimum forward CG limit for increased wind limit
increaseableWindLimitAftCG number Maximum aft CG limit for increased wind limit
increaseableWindLimitRunwayWidth number Minimum runway width in feet required to allow increased wind limit
increaseableWindLimitRunwayMinimumFlaps string|null Minimum flap setting required to allow increased wind limit

Landing Section

The landing object contains configuration options and limitations for landing performance calculations. Similar to the takeoff section, use this data to customize your interface and validate user inputs.

Vref Configuration
Field Type Description
vrefFlapRef string|null Flap reference used to calculate flap maneuvering speed (primarily for Boeing aircraft). Used to display the Vref and associated flap setting when showing Vref calculated during takeoff performance.
vrefLabel string Display label for reference speed (e.g., "Vref", "Vapp")
vrefAdditiveDefault number Default Vref additive speed in knots. This is the standard speed increment added to Vref for approach.
vrefAdditiveMax number Maximum allowed Vref additive speed in knots. Use this to validate user input for approach speed corrections.
Landing Distance Options
Field Type Description
assumedAirDistanceRef number Reference air distance in feet used for landing distance calculations. This is the assumed distance from threshold crossing height to touchdown.
displayResultUnfactoredLandingDistances boolean Whether to display unfactored landing distances in the user interface. If true, show both factored and unfactored distances.
Autoland Configuration
Field Type Description
autolandFlapsOption array Array of allowed flap settings for autoland operations. Only these configurations are certified for automatic landing.
Brake Cooling

The brakeCooling object provides brake temperature management information for quick turnaround operations.

Field Type Description
isBrakeCoolingActive boolean Whether brake cooling calculations are enabled for this profile
userTurnaroundTime number User's planned turnaround time in minutes. Compare with calculated cooling time to determine if brakes will be sufficiently cooled. Use color coding (green/amber/red) to indicate status.
displayResultBrakeCoolingSchedule boolean Whether to display brake cooling schedule in results
displayResultBrakeCoolingScheduleAir boolean Whether to display air brake cooling schedule in results
displayResultQuickTurnaround boolean Whether to display quick turnaround information in results
displayResultBrakeCoolingScheduleBTMS boolean Whether to display BTMS (Brake Temperature Monitoring System) schedule in results
CG Options
Field Type Description
useAlternateCG boolean Whether alternate CG position selection is available for landing. If true, the cgPosition options from formData.landing can be used.
Wind Limits

The windLimit object for landing follows the same structure as takeoff, defining maximum wind components and crosswind limits per runway condition. Refer to the Takeoff Section for detailed field descriptions.

Subscription Section

The subscription section provides information about the features available for this aircraft based on the user's subscription privileges. This section can generally be disregarded, but may be useful for implementations that need to enable or disable specific features (e.g., MEL/CDL options in third-party user interfaces).

Field Type Description
id number Internal subscription identifier
manufacturer string Aircraft manufacturer
category string Aircraft category
modelGroup string Model group identifier
model string Aircraft model
variantId string Unique variant identifier
variant string Aircraft variant name
level number Subscription level
isAirportNotam number Airport NOTAM feature enabled (1) or disabled (0)
isNotam number NOTAM feature enabled (1) or disabled (0)
isNnc number NNC feature enabled (1) or disabled (0)
isMel number MEL feature enabled (1) or disabled (0)
isCdl number CDL feature enabled (1) or disabled (0)
isMostfav number Most favorites feature enabled (1) or disabled (0)
isFleetDatabase number Fleet database feature enabled (1) or disabled (0)
isCommercial number Commercial use allowed (1) or not (0)
isDemo number Demo account (1) or regular account (0)

Calculation Balance

The response includes the user's calculation balance, which is automatically calculated and reset based on their subscription. This information can be displayed to users if desired.

Field Type Description
remainingCalculations number Number of calculations remaining in the current subscription period
extraCalculations number Number of extra calculations available (bonus or purchased)

Available Airports

The availableAirport array contains the list of airports allowed for this user. Third-party implementations can allow searching on any of these fields.

Best Practice

Sorting airports by longuestRunwayLength in descending order (DESC) or alphabetically by name (ASC) are recommended approaches for displaying airport lists.

Field Type Description
icao string ICAO airport code (e.g., "EBBR")
iata string IATA airport code (e.g., "BRU")
name string Airport name (e.g., "BRUSSELS NATIONAL")
longuestRunwayLength number Length of the longest runway in feet

Checklists Section

Present only in the long profile (aircraft detail endpoint). Contains the full checklist data when a checklist is both available and activated for the profile.

Field Type Description
isChecklistAvailable boolean Whether a checklist file exists for this aircraft profile.
isChecklistActive boolean Whether the checklist feature is enabled for this profile.
file string Filename (without .json) of the checklist file used.
data object|null Full parsed checklist object when both flags are true and the file exists; otherwise absent. See Checklist JSON Format for the complete schema. All item fields are returned with defaults applied: isLine defaults to false, selfDetected defaults to false, note defaults to null.

What's Next?