Flight Briefing

Now that you have created a flight plan, you can get a flight briefing customized to the context provided. Let's call the briefing endpoint with your flight plan id:

## Get Flight Brief
curl "https://api.airmap.com/flight/v2/plan/flight_plan%7CDv5oxg8FXL7PQCylRO0piJn0LMq/briefing" \
     -H "Content-Type: application/json; charset=utf-8" \
     -H "Authorization: Bearer <AUTH_TOKEN>" \
     -H "X-API-Key: <API_KEY>" \
     -d $'{}'
     
## The requested flight briefing:
{
    "status": "success",
    "data": {
        "rulesets": [{
            "id": "usa_part_107",
            "rules": [{
                "short_text": "Must have authorization to fly in Class B controlled airspace",
                "description": "",
                "status": "not_conflicting"
            }, {
                "short_text": "Do Not fly in Class B controlled airspace without ATC authorization",
                "description": "",
                "status": "not_conflicting"
            }, {
                "short_text": "Do not fly drones that weigh over 55 lbs",
                "description": "Unmanned aircraft must weigh less than 55 lbs. (25 kg). ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "uav_weight",
                    "status": "missing_info",
                    "description": "What is the weight of the drone?",
                    "input_type": "float",
                    "measurement_type": null,
                    "measurement_unit": "kilograms",
                    "is_calculated": false
                }]
            }, {
                "short_text": "The flight must be operated within visual line of sight (VLOS)",
                "description": "Visual line-of-sight (VLOS) only; the unmanned aircraft must remain within VLOS of the remote pilot in command and the person manipulating the flight controls of the small UAS. Alternatively, the unmanned aircraft must remain within VLOS of the visual observer. ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "flight_vlos",
                    "status": "missing_info",
                    "description": "Is the flight occurring within visual line of sight (VLOS)?",
                    "input_type": "bool",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly at night",
                "description": "Daylight-only operations, or civil twilight (30 minutes before official sunrise to 30 minutes after official sunset, local time) with appropriate anti-collision lighting. ",
                "status": "conflicting",
                "flight_features": [{
                    "flight_feature": "flight_time",
                    "status": "conflicting",
                    "description": "your flight is occurring at night",
                    "input_type": "",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly in twilight without anti-collision lighting",
                "description": "Daylight-only operations, or civil twilight (30 minutes before official sunrise to 30 minutes after official sunset, local time) with appropriate anti-collision lighting. ",
                "status": "not_conflicting",
                "flight_features": [{
                    "flight_feature": "flight_time",
                    "status": "conflicting",
                    "description": "your flight is occurring at night",
                    "input_type": "",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly faster than 100 mph",
                "description": "Maximum groundspeed of 100 mph (87 knots). ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "flight_max_speed",
                    "status": "missing_info",
                    "description": "What is the maximum speed of the flight?",
                    "input_type": "float",
                    "measurement_type": null,
                    "measurement_unit": "meters_per_sec",
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly over 400 ft AGL",
                "description": "Maximum altitude of 400 feet above ground level (AGL) or, if higher than 400 feet AGL, remain within 400 feet of a structure. ",
                "status": "not_conflicting",
                "flight_features": [{
                    "flight_feature": "flight_max_altitude_agl",
                    "status": "not_conflicting",
                    "description": "",
                    "input_type": "float",
                    "measurement_type": null,
                    "measurement_unit": "meters",
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly if visibility is less than that 3 miles",
                "description": "Minimum weather visibility of 3 miles from control station. ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "environment_visibility",
                    "status": "missing_info",
                    "description": "What is the expected visibility at takeoff?",
                    "input_type": "float",
                    "measurement_type": null,
                    "measurement_unit": "meters",
                    "is_calculated": false
                }]
            }, {
                "short_text": "Do not fly in Class E controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
                "status": "not_conflicting"
            }, {
                "short_text": "Do not fly in Class C controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
                "status": "not_conflicting"
            }, {
                "short_text": "Do not fly in Class D controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
                "status": "not_conflicting"
            }, {
                "short_text": "Do not fly in Class B controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
                "status": "not_conflicting"
            }, {
                "short_text": "Must have authorization to fly in Class D controlled airspace",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "not_conflicting"
            }, {
                "short_text": "Do Not fly in Class E controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "not_conflicting"
            }, {
                "short_text": "Must have authorization to fly in Class C controlled airspace",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "not_conflicting"
            }, {
                "short_text": "Do Not fly in Class C controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "not_conflicting"
            }, {
                "short_text": "Do Not fly in Class D controlled airspace without ATC authorization",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "conflicting"
            }, {
                "short_text": "Must have authorization to fly in Class E controlled airspace",
                "description": "Operations in Class B, C, D and E airspace require FAA authorization.",
                "status": "not_conflicting"
            }, {
                "short_text": "Do not fly property across state lines for hire",
                "description": "Transportation of property for compensation or hire allowed provided that: -The aircraft, including its attached systems, payload and cargo weigh less than 55 pounds total; -The flight is conducted within visual line of sight and not from a moving vehicle or aircraft; and -The flight occurs wholly within the bounds of a State and does not involve transport between (1) Hawaii and another place in Hawaii through airspace outside Hawaii; (2) the District of Columbia and another place in the District of Columbia; or (3) a territory or possession of the United States and another place in the same territory or possession. ",
                "status": "not_conflicting",
                "flight_features": [{
                    "flight_feature": "flight_geometry",
                    "status": "not_conflicting",
                    "description": "",
                    "input_type": "",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "The pilot in command must have a remote pilot airman certificate with a small UAS rating",
                "description": "To qualify for a remote pilot certificate, a person must: - Demonstrate aeronautical knowledge by either: - Passing an initial aeronautical knowledge test at an FAA-approved knowledge testing center; or - Hold a part 61 pilot certificate other than student pilot, complete a flight review within the previous 24 months, and complete a small UAS online training course provided by the FAA. - Be vetted by the Transportation Security Administration. - Be at least 16 years old. ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "pilot_in_command_part107_cert",
                    "status": "missing_info",
                    "description": "Has the pilot in command obtained a US Part 107 certification?",
                    "input_type": "bool",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Register your drone with the FAA",
                "description": "To qualify for a remote pilot certificate, a person must: - Demonstrate aeronautical knowledge by either: - Passing an initial aeronautical knowledge test at an FAA-approved knowledge testing center; or - Hold a part 61 pilot certificate other than student pilot, complete a flight review within the previous 24 months, and complete a small UAS online training course provided by the FAA. - Be vetted by the Transportation Security Administration. - Be at least 16 years old. ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "uav_registered",
                    "status": "missing_info",
                    "description": "Is the drone registered?",
                    "input_type": "bool",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Perform a pre-flight check for airworthiness and communication connectivity",
                "description": "Conduct a preflight inspection, to include specific aircraft and control station systems checks, to ensure the small UAS is in a condition for safe operation. ",
                "status": "missing_info",
                "flight_features": [{
                    "flight_feature": "uav_preflight_check",
                    "status": "missing_info",
                    "description": "Have you completed your preflight check for airworthiness and communications connectivity?",
                    "input_type": "bool",
                    "measurement_type": null,
                    "measurement_unit": null,
                    "is_calculated": false
                }]
            }, {
                "short_text": "Part 61 pilot certificate holders may obtain a temporary remote pilot certificate immediately upon submission of their application for a permanent certificate. Other applicants will obtain a temporary remote pilot certificate upon successful completion of TSA security vetting. The FAA anticipates that it will be able to issue a temporary remote pilot certificate within 10 business days after receiving a completed remote pilot certificate application. ",
                "description": "Part 61 pilot certificate holders may obtain a temporary remote pilot certificate immediately upon submission of their application for a permanent certificate. Other applicants will obtain a temporary remote pilot certificate upon successful completion of TSA security vetting. The FAA anticipates that it will be able to issue a temporary remote pilot certificate within 10 business days after receiving a completed remote pilot certificate application. ",
                "status": "informational"
            }, {
                "short_text": "May use visual observer (VO) but not required. ",
                "description": "May use visual observer (VO) but not required. ",
                "status": "informational"
            }, {
                "short_text": "Operations in Class G airspace are allowed without ATC permission. ",
                "description": "Operations in Class G airspace are allowed without ATC permission. ",
                "status": "informational"
            }, {
                "short_text": "A person operating a small UAS must either hold a remote pilot airman certificate with a small UAS rating or be under the direct supervision of a person who does hold a remote pilot certificate (remote pilot in command). ",
                "description": "A person operating a small UAS must either hold a remote pilot airman certificate with a small UAS rating or be under the direct supervision of a person who does hold a remote pilot certificate (remote pilot in command). ",
                "status": "informational"
            }, {
                "short_text": "External load operations are allowed if the object being carried by the unmanned aircraft is securely attached and does not adversely affect the flight characteristics or controllability of the aircraft. ",
                "description": "External load operations are allowed if the object being carried by the unmanned aircraft is securely attached and does not adversely affect the flight characteristics or controllability of the aircraft. ",
                "status": "informational"
            }, {
                "short_text": "No careless or reckless operations. ",
                "description": "No careless or reckless operations. ",
                "status": "informational"
            }, {
                "short_text": "No carriage of hazardous materials. ",
                "description": "No carriage of hazardous materials. ",
                "status": "informational"
            }, {
                "short_text": "A person may not operate a small unmanned aircraft if he or she knows or has reason to know of any physical or mental condition that would interfere with the safe operation of a small UAS. ",
                "description": "A person may not operate a small unmanned aircraft if he or she knows or has reason to know of any physical or mental condition that would interfere with the safe operation of a small UAS. ",
                "status": "informational"
            }, {
                "short_text": "Foreign-registered small unmanned aircraft are allowed to operate under part 107 if they satisfy the requirements of part 375. ",
                "description": "Foreign-registered small unmanned aircraft are allowed to operate under part 107 if they satisfy the requirements of part 375. ",
                "status": "informational"
            }, {
                "short_text": "No person may act as a remote pilot in command or VO for more than one unmanned aircraft operation at one time. ",
                "description": "No person may act as a remote pilot in command or VO for more than one unmanned aircraft operation at one time. ",
                "status": "informational"
            }, {
                "short_text": "Most of the restrictions discussed above are waivable if the applicant demonstrates that his or her operation can safely be conducted under the terms of a certificate of waiver. ",
                "description": "Most of the restrictions discussed above are waivable if the applicant demonstrates that his or her operation can safely be conducted under the terms of a certificate of waiver. ",
                "status": "informational"
            }, {
                "short_text": "First-person view camera cannot satisfy \u201csee-and-avoid\u201d requirement but can be used as long as requirement is satisfied in other ways. ",
                "description": "First-person view camera cannot satisfy \u201csee-and-avoid\u201d requirement but can be used as long as requirement is satisfied in other ways. ",
                "status": "informational"
            }, {
                "short_text": "Report to the FAA within 10 days of any operation that results in at least serious injury, loss of consciousness, or property damage of at least $500. ",
                "description": "Report to the FAA within 10 days of any operation that results in at least serious injury, loss of consciousness, or property damage of at least $500. ",
                "status": "informational"
            }, {
                "short_text": "FAA airworthiness certification is not required. However, the remote pilot in command must conduct a preflight check of the small UAS to ensure that it is in a condition for safe operation. ",
                "description": "FAA airworthiness certification is not required. However, the remote pilot in command must conduct a preflight check of the small UAS to ensure that it is in a condition for safe operation. ",
                "status": "informational"
            }, {
                "short_text": "Authorization granted by the FAA for operations under 14 CFR Part 107 applies only to that airspace which is managed through the Low Altitude Authorization and Notification Capability (LAANC) program, which includes certain areas in Class B, C, D, and E airspace. Operations in Class G airspace are allowed without air traffic control permission.",
                "description": "Authorization granted by the FAA for operations under 14 CFR Part 107 applies only to that airspace which is managed through the Low Altitude Authorization and Notification Capability (LAANC) program, which includes certain areas in Class B, C, D, and E airspace. Operations in Class G airspace are allowed without air traffic control permission.",
                "status": "informational"
            }, {
                "short_text": "A remote pilot in command must: - Make available to the FAA, upon request, the small UAS for inspection or testing, and any associated documents/records required to be kept under the rule. ",
                "description": "A remote pilot in command must: - Make available to the FAA, upon request, the small UAS for inspection or testing, and any associated documents/records required to be kept under the rule. ",
                "status": "informational"
            }, {
                "short_text": "No operations from a moving aircraft. ",
                "description": "No operations from a moving aircraft. ",
                "status": "informational"
            }, {
                "short_text": "At all times the small unmanned aircraft must remain close enough to the remote pilot in command and the person manipulating the flight controls of the small UAS for those people to be capable of seeing the aircraft with vision unaided by any device other than corrective lenses. ",
                "description": "At all times the small unmanned aircraft must remain close enough to the remote pilot in command and the person manipulating the flight controls of the small UAS for those people to be capable of seeing the aircraft with vision unaided by any device other than corrective lenses. ",
                "status": "informational"
            }, {
                "short_text": "Requires preflight inspection by the remote pilot in command. ",
                "description": "Requires preflight inspection by the remote pilot in command. ",
                "status": "informational"
            }, {
                "short_text": "A remote pilot in command may deviate from the requirements of this rule in response to an in-flight emergency. ",
                "description": "A remote pilot in command may deviate from the requirements of this rule in response to an in-flight emergency. ",
                "status": "informational"
            }, {
                "short_text": "No operations from a moving vehicle unless the operation is over a sparsely populated area. ",
                "description": "No operations from a moving vehicle unless the operation is over a sparsely populated area. ",
                "status": "informational"
            }, {
                "short_text": "Must yield right of way to other aircraft. ",
                "description": "Must yield right of way to other aircraft. ",
                "status": "informational"
            }, {
                "short_text": "Until international standards are developed, foreign-certificated  UAS pilots will be required to obtain an FAA issued remote pilot certificate with a small UAS rating. ",
                "description": "Until international standards are developed, foreign-certificated  UAS pilots will be required to obtain an FAA issued remote pilot certificate with a small UAS rating. ",
                "status": "informational"
            }, {
                "short_text": "Small unmanned aircraft may not operate over any persons not directly participating in the operation, not under a covered structure, and not inside a covered stationary vehicle. ",
                "description": "Small unmanned aircraft may not operate over any persons not directly participating in the operation, not under a covered structure, and not inside a covered stationary vehicle. ",
                "status": "informational"
            }, {
                "short_text": "\u201cIn accordance with Title 14 CFR Part 107.41, your operation is authorized within the designated airspace and timeframe constraints. This Authorization is subject to cancellation at any time upon notice by the FAA Administrator or his/her authorized representative. This Authorization does not constitute a waiver of any State law or local ordinance. The designated pilot is responsible for the overall safety of UAS operations under this Authorization. During UAS operations for on-site communication/recall, the designated pilot shall be continuously available for direct contact at the provided phone number by ATC or designated representative. Remote pilots are responsible to check the airspace they are operating in and comply with all restrictions that may be present in accordance with 14 CFR 107.45 and 107.49 (a)(2), such as restricted and Prohibited Airspace, Temporary Flight Restrictions, etc. Operations are not authorized in Class E airspace when there is a weather ceiling less than 1,000 feet AGL. If the UAS loses communications or loses its GPS signal, it must return to a predetermined location within the operating area and land. The pilot in command must abort the flight in the event of unpredicted obstacles or emergencies. Pilots are not to contact ATC directly in order to amend or expedite authorizations.\u201d",
                "description": "\u201cIn accordance with Title 14 CFR Part 107.41, your operation is authorized within the designated airspace and timeframe constraints. This Authorization is subject to cancellation at any time upon notice by the FAA Administrator or his/her authorized representative. This Authorization does not constitute a waiver of any State law or local ordinance. The designated pilot is responsible for the overall safety of UAS operations under this Authorization. During UAS operations for on-site communication/recall, the designated pilot shall be continuously available for direct contact at the provided phone number by ATC or designated representative. Remote pilots are responsible to check the airspace they are operating in and comply with all restrictions that may be present in accordance with 14 CFR 107.45 and 107.49 (a)(2), such as restricted and Prohibited Airspace, Temporary Flight Restrictions, etc. Operations are not authorized in Class E airspace when there is a weather ceiling less than 1,000 feet AGL. If the UAS loses communications or loses its GPS signal, it must return to a predetermined location within the operating area and land. The pilot in command must abort the flight in the event of unpredicted obstacles or emergencies. Pilots are not to contact ATC directly in order to amend or expedite authorizations.\u201d",
                "status": "informational"
            }, {
                "short_text": "Ensure that the small unmanned aircraft complies with the existing registration requirements specified in \u00a7 91.203(a)(2). ",
                "description": "Ensure that the small unmanned aircraft complies with the existing registration requirements specified in \u00a7 91.203(a)(2). ",
                "status": "informational"
            }, {
                "short_text": "Establishes a remote pilot in command position. ",
                "description": "Establishes a remote pilot in command position. ",
                "status": "informational"
            }, {
                "short_text": "AirMap does not support swarm operations. Please ensure there is one aircraft per flight plan.",
                "description": "AirMap does not support swarm operations. Please ensure there is one aircraft per flight plan.",
                "status": "informational"
            }, {
                "short_text": "\"Due to relatively lower minimums for VFR traffic in Class E airspace, additional situational risks limit the validity of automatically approved authorizations provided via LAANC. Specifically,automatic approvals obtained via LAANC are not valid in Class E Surface Area when the weather ceiling is less than 1,000 feet.\"",
                "description": "\"Due to relatively lower minimums for VFR traffic in Class E airspace, additional situational risks limit the validity of automatically approved authorizations provided via LAANC. Specifically,automatic approvals obtained via LAANC are not valid in Class E Surface Area when the weather ceiling is less than 1,000 feet.\"",
                "status": "informational"
            }]
        }],
        "airspace": {
            "color": "red",
            "advisories": [{
                "id": "f4f23acf-6a9b-4c20-af80-adbdef007da0",
                "name": "RAMONA CLASS D Airspace requires FAA Authorization. Automated authorization coming soon at or below 400 ft",
                "type": "controlled_airspace",
                "properties": {
                    "airport_id": "RNM",
                    "airport_name": "Ramona",
                    "airspace_classification": "D",
                    "authorization": false,
                    "ceiling": 400,
                    "ceiling_ref": "AGL",
                    "ceiling_unit": "ft",
                    "effective_date": "3/26/2020",
                    "facility_id": "412805bc-39b1-4fee-aa15-9ec337a03a13",
                    "floor": 400,
                    "floor_ref": "AGL",
                    "floor_unit": "ft",
                    "icao": "KRNM",
                    "laanc": true,
                    "last_edit_date": "10/11/2017",
                    "lowest_limit": 400,
                    "url": "https://www.faa.gov/uas/request_waiver/"
                },
                "color": "orange",
                "requirements": {
                    "notice": {
                        "phone": null,
                        "digital": false
                    }
                },
                "rule_id": 5585,
                "ruleset_id": "usa_part_107",
                "latitude": 33.0750064,
                "longitude": -116.97501,
                "city": "Escondido",
                "state": "California",
                "country": "USA"
            }]
        },
        "authorizations": [],
        "created_at": "2020-03-21T02:40:29.051Z",
        "validations": []
    }
}
AirMap.getFlightBriefing(myFlightPlan.id!) { result in
    
    switch result {

    case .error(let error):
        print(error)
    
    case .value(let flightBriefing):
        for ruleset in flightBriefing.rulesets {

            for rule in ruleset.rules {
                print(rule.shortText)
                print(rule.status)
            }
        }
    }
}
AirMap.getFlightBrief(flightPlanId, new AirMapCallback<AirMapFlightBriefing>() {
    @Override
    protected void onSuccess(AirMapFlightBriefing briefing) {
        // Show user advisory status, authorizations and validations
    }

    @Override
    protected void onError(AirMapException e) {
        // Handle error
    }
});

The flight briefing has two sections--the advisories and the rulesets. The advisories are those that are relevant to the rulesets provided in the request (US Part 107 in this case). The rulesets, also from the list in the request, each contain a list of rules, and for each rule, whether the pilot's status is in violation (conflicting), is compliant (not_conflicting), in need of further information (missing_info), or merely informed (informational).

The compliance determinations are based on the flight feature values provided to the flight plan, if any. For those rules that are missing information, the flight_features objects within the rule can be utilized to prompt the pilot for further input, and the values used in a subsequent PATCH to the flight plan to receive an updated briefing:

## Update Flight Plan (Flight Features)
curl -X "PATCH" "https://api.airmap.com/flight/v2/plan/flight_plan%7CDv5oxg8FXL7PQCylRO0piJn0LMq" \
     -H "Content-Type: application/json; charset=utf-8" \
     -H "Authorization: Bearer <AUTH_TOKEN>" \
     -H "X-API-Key: <API_KEY>" \
     -d $'{
  "flight_features": {
    "environment_visibility": 5000
  }
}'


## When you request the flight briefing again, the portion of the response for the visibility rule is updated from `missing_info`:

...
{
  "short_text": "Do not fly if visibility is less than that 3 miles",
  "description": "Minimum weather visibility of 3 miles from control station. ",
  "status": "missing_info",
  "flight_features": [
    {
      "flight_feature": "environment_visibility",
      "status": "missing_info",
      "description": "What is the expected visibility at takeoff?",
      "input_type": "float",
      "measurement_type": "distance",
      "measurement_unit": "meters",
      "code": "environment_visibility_non_geo_non_geo_lt_4828_03",
      "airspace_ids": [],
      "is_calculated": false
    }
  ]
}
...

## to `not_conflicting`:

...
{
  "short_text": "Do not fly if visibility is less than that 3 miles",
  "description": "Minimum weather visibility of 3 miles from control station. ",
  "status": "not_conflicting",
  "flight_features": [
    {
      "flight_feature": "environment_visibility",
      "status": "not_conflicting",
      "description": "",
      "input_type": "float",
      "measurement_type": "distance",
      "measurement_unit": "meters",
      "code": "environment_visibility_non_geo_non_geo_lt_4828_03",
      "airspace_ids": [],
      "is_calculated": false
    }
  ]
}
...
AirMap.updateFlightPlan(myFlightPlan) { result in
    switch result {
    case .error(let error):
    print(error)
    case .value(let flightPlan):
        print(flightPlan.id!)
    }
}
AirMap.patchFlightPlan(flightPlan, new AirMapCallback<AirMapFlightPlan>() {
    @Override
    protected void onSuccess(AirMapFlightPlan response) {
        AirMapLog.d(TAG, "Flight plan patched: " + response.getPlanId());
        // Handle success
    }

    @Override
    protected void onError(AirMapException e) {
        AirMapLog.e(TAG, "Failed to updated flight plan", e);
        // Handle error
    }
});

Updated 2 years ago


What's Next

You have planned a flight, now learn how to submit it to the AirMap Platform and take flight

Creating and Viewing Flights

Flight Briefing


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.