---
title: "Aircraft a pilot may switch to for a bid"
method: GET
path: "/flights/bookings/{bid}/aircraft"
tags: ["Flights"]
---

# Aircraft a pilot may switch to for a bid

`GET /flights/bookings/{bid}/aircraft`

## Request

- Base URL: `https://crew.example.com/api/stratos`
- URL: `https://crew.example.com/api/stratos/flights/bookings/{bid}/aircraft`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/skyvexsoftware/apis/stratos-core-api/docs/flights/bookings/:bid/aircraft/get.ts> (a function with typed inputs; its response is checked against the schema)

Aircraft eligible for this bid's flight, narrowed server-side by the VA's rank / typerating / location / booking rules (the reference module reuses `FlightService::filterSubfleets`). The Stratos client renders this as a dropdown on the booking card when the `allow_aircraft_changes` airline setting is on. `changeable` is false when the authenticated pilot has their own SimBrief OFP for this flight. The lock is per-pilot, so another pilot's OFP does not affect it.

## Path parameters

- `bid` integer, required

## Response `200`

Eligible aircraft for the bid.

- EligibleAircraftResponse
  - `changeable` boolean, required: False when the authenticated pilot has their own SimBrief OFP for this flight, in which case `aircraft` is empty and the client shows static text.
  - `aircraft` EligibleAircraft[], required
    - `id` integer, required: Aircraft ID to send to /flights/change-aircraft.
    - `name` string, required
    - `registration` string, required
    - `icao` string, required
    - `subfleet` string, required: Subfleet type, for grouping/labelling.

## Other responses

- `401`: Missing or invalid Bearer token.
- `403`: The bid does not belong to the authenticated pilot.
- `404`: Bid not found.

---

[API](https://skmtc.dev/skyvexsoftware/apis/stratos-core-api.md) - [All operations](https://skmtc.dev/skyvexsoftware/apis/stratos-core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/skyvexsoftware/apis/stratos-core-api/revisions/51e47958ed25?raw)
