Skip To Main Content
All modules

Flights

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Flightflight

A flight the user or someone they know is taking or took. The same operations reach airline loyalty memberships held by the user or a family member (type 'program': member number, status tier, miles balance).

flights_findFindthrough vritto_find

Read Flights: one flight by id, or flights filtered by view, departure dates, text or whose (no filter gives headline counts and the newest flights); type 'program' reads frequent flyer programs. Compact rows unless detail is 'full'. Use for any flight question.

Note: type 'program' reads frequent flyer programs.

FieldTypeDescription
typeone of flight, program'flight' (default) or 'program', a frequent flyer membership.
idstringReturn just this flight (or program).
viewone of upcoming, past, all'upcoming' flights not yet flown (soonest first), 'past' flown ones newest first, 'all' (default).
fromstringEarliest departure date, inclusive.
tostringLatest departure date, inclusive. ALWAYS pass from/to when the question concerns a period.
querystringText to match: airline, flight number ('UA 838'), airport code or city, confirmation code, traveler name.
isMinebooleantrue: only the user's own flights; false: only flights tracked for someone else.
tripIdstringOnly flights tagged to this trip.
limitintegerRows to return, default 20.
detailone of summary, full"summary" (default, headline counts + compact rows) or "full" (every field incl. UTC times, airport objects, terminals/gates, confirmation codes, distanceKm, costs).
Example input
{
  "view": "upcoming"
}
flights_addCreate or Updatethrough vritto_create or vritto_update

Add one flight (airlineIata, flightNumber and serviceDate, plus what the person said; local times, the server converts via airport zones), or with type 'program' a frequent flyer program (airlineIata or airlineName). A flight or program already on file is updated instead of duplicated.

Note: Local times at each airport; the server converts them. type 'program' saves a frequent flyer program.

FieldTypeDescription
typeone of flight, program'flight' (default) or 'program', a frequent flyer membership.
record*objectThe flight's fields (airlineIata + flightNumber + serviceDate), or a program's (type 'program').
record.idstringLeave out when adding; to change a flight use flights_change.
record.sourceone of manual, gmail, sahai, import, bankWhere this came from. Leave unset for a manual entry.
record.airlineIatastringAirline code, e.g. 'UA'. Required when creating.
record.airlineNamestringe.g. 'United Airlines'.
record.flightNumberstring1–4 digits plus an optional trailing letter, e.g. '838' or '1234A'. Required when creating.
record.serviceDatestringDeparture date, origin-local. Required when creating.
record.originobject
record.destinationobject
record.depLocalTimestringDeparture time in the ORIGIN airport's local clock: the server converts to UTC using the airport zone.
record.arrLocalTimestringArrival time, DESTINATION-local.
record.arrLocalDatestringArrival date when it differs (red-eyes, date line).
record.isMinebooleanfalse = tracking someone else's flight (excluded from lifetime stats).
record.travelerPersonIdslist of string
record.travelerNameslist of stringPassenger names exactly as the booking prints them. The server decides whose flight it is: the user's own name makes it theirs, a name in People links that person, any other name stays on the flight.
record.tripIdstringTrip link (resolve via trips_find).
record.confirmationCodestring
record.seatstring
record.cabinone of economy, premium, business, first
record.costAmountnumber
record.costCurrencystring
record.statusone of scheduled, delayed, canceled, landedOnly set on explicit user statement; live tracking owns the rest.
record.estimatedDepUtcstringEstimated departure as an ISO instant (offset allowed; stored as UTC), for user-reported delays, e.g. 'now leaving at 9:20' converted via the origin airport's zone.
record.estimatedArrUtcstringEstimated arrival as an ISO instant; convert stated local times via the destination's zone.
record.actualDepUtcstringActual departure ISO instant, only for flights that really left.
record.actualArrUtcstringActual arrival ISO instant, e.g. 'we landed at 11:40' converted via the destination's zone.
record.aircraftTypestringe.g. 'Boeing 787-9', only when the user states it.
record.notesstring
record.programNamestringProgram (type 'program'); filled from the airline when known.
record.memberNumberstringProgram member number (type 'program'). Never invented.
record.tierstringProgram status tier, e.g. "Gold" (type 'program').
record.tierExpiresstringWhen the program tier expires, YYYY-MM-DD.
record.milesBalanceintegerProgram miles or points balance.
record.balanceAsOfstringDate of the balance, YYYY-MM-DD.
record.holderPersonIdstringProgram holder: "" or omitted = the user; a People person id for a family member.
record.holderNamestringThe name on the program account as printed. The server matches it to the user or someone in People; send it when no holderPersonId is known.
Example input
{
  "record": {
    "airlineIata": "UA",
    "flightNumber": "1542",
    "serviceDate": "2026-10-09",
    "origin": {
      "iata": "SFO"
    },
    "destination": {
      "iata": "ORD"
    },
    "depLocalTime": "07:15",
    "confirmationCode": "K7Q2PX",
    "seat": "14C"
  }
}
flights_changeUpdatethrough vritto_update

Change one flight (or with type 'program' a program) by record.id; sent fields merge. A canceled flight is status 'canceled' (kept, never removed); a delay is estimatedDepUtc; trackingState 'watching' turns on live status. Resolve the id with flights_find first.

Note: A canceled flight is status 'canceled', never a removal. trackingState 'watching' turns on live status.

FieldTypeDescription
typeone of flight, program'flight' (default) or 'program', a frequent flyer membership.
recordobjectThe record's id plus the fields to change.
record.id*stringFlight (or program) ID from a prior flights_find result, never invented.
record.airlineIatastringAirline code, e.g. 'UA'. Required when creating.
record.airlineNamestringe.g. 'United Airlines'.
record.flightNumberstring1–4 digits plus an optional trailing letter, e.g. '838' or '1234A'. Required when creating.
record.serviceDatestringDeparture date, origin-local. Required when creating.
record.originobject
record.destinationobject
record.depLocalTimestringDeparture time in the ORIGIN airport's local clock: the server converts to UTC using the airport zone.
record.arrLocalTimestringArrival time, DESTINATION-local.
record.arrLocalDatestringArrival date when it differs (red-eyes, date line).
record.isMinebooleanfalse = tracking someone else's flight (excluded from lifetime stats).
record.travelerPersonIdslist of string
record.travelerNameslist of stringPassenger names exactly as the booking prints them. The server decides whose flight it is: the user's own name makes it theirs, a name in People links that person, any other name stays on the flight.
record.tripIdstringTrip link (resolve via trips_find).
record.confirmationCodestring
record.seatstring
record.cabinone of economy, premium, business, first
record.costAmountnumber
record.costCurrencystring
record.statusone of scheduled, delayed, canceled, landedOnly set on explicit user statement; live tracking owns the rest.
record.estimatedDepUtcstringEstimated departure as an ISO instant (offset allowed; stored as UTC), for user-reported delays, e.g. 'now leaving at 9:20' converted via the origin airport's zone.
record.estimatedArrUtcstringEstimated arrival as an ISO instant; convert stated local times via the destination's zone.
record.actualDepUtcstringActual departure ISO instant, only for flights that really left.
record.actualArrUtcstringActual arrival ISO instant, e.g. 'we landed at 11:40' converted via the destination's zone.
record.aircraftTypestringe.g. 'Boeing 787-9', only when the user states it.
record.notesstring
record.programNamestringProgram (type 'program'); filled from the airline when known.
record.memberNumberstringProgram member number (type 'program'). Never invented.
record.tierstringProgram status tier, e.g. "Gold" (type 'program').
record.tierExpiresstringWhen the program tier expires, YYYY-MM-DD.
record.milesBalanceintegerProgram miles or points balance.
record.balanceAsOfstringDate of the balance, YYYY-MM-DD.
record.holderPersonIdstringProgram holder: "" or omitted = the user; a People person id for a family member.
record.holderNamestringThe name on the program account as printed. The server matches it to the user or someone in People; send it when no holderPersonId is known.
record.trackingStateone of off, watchingLive status tracking for a flight: 'watching' turns it on, 'off' turns it off.
flightIdstringOlder form of tracking: the flight, with trackingState.
trackingStateone of off, watchingOlder form, with flightId.
Example input
{
  "record": {
    "id": "flight_ua1542",
    "status": "canceled"
  }
}
flights_removeDeletethrough vritto_delete

Remove (archive) one flight, or with type 'program' a frequent flyer program. Only for explicit removals; a canceled flight is a flights_change with status 'canceled'. Resolve the id first.

Note: A canceled flight should be changed to status 'canceled' instead. type 'program' removes a program.

FieldTypeDescription
typeone of flight, program'flight' (default) or 'program', a frequent flyer membership.
idstringThe flight (or program) to remove.
flightIdstringOlder name for a flight's id.
programIdstringOlder name for a program's id.

Airport Catalogairport_catalog

Airport reference data by name, city, or code.

flights_searchAirportsLook Upthrough vritto_lookup

Resolve an airport by name, city, or IATA fragment (returns up to 8 with codes and timezones). Use when the user names a city instead of a code.

FieldTypeDescription
query*string