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_findRead 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.
| Field | Type | Description |
|---|---|---|
| type | one of flight, program | 'flight' (default) or 'program', a frequent flyer membership. |
| id | string | Return just this flight (or program). |
| view | one of upcoming, past, all | 'upcoming' flights not yet flown (soonest first), 'past' flown ones newest first, 'all' (default). |
| from | string | Earliest departure date, inclusive. |
| to | string | Latest departure date, inclusive. ALWAYS pass from/to when the question concerns a period. |
| query | string | Text to match: airline, flight number ('UA 838'), airport code or city, confirmation code, traveler name. |
| isMine | boolean | true: only the user's own flights; false: only flights tracked for someone else. |
| tripId | string | Only flights tagged to this trip. |
| limit | integer | Rows to return, default 20. |
| detail | one 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_updateAdd 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.
| Field | Type | Description |
|---|---|---|
| type | one of flight, program | 'flight' (default) or 'program', a frequent flyer membership. |
| record* | object | The flight's fields (airlineIata + flightNumber + serviceDate), or a program's (type 'program'). |
| record.id | string | Leave out when adding; to change a flight use flights_change. |
| record.source | one of manual, gmail, sahai, import, bank | Where this came from. Leave unset for a manual entry. |
| record.airlineIata | string | Airline code, e.g. 'UA'. Required when creating. |
| record.airlineName | string | e.g. 'United Airlines'. |
| record.flightNumber | string | 1–4 digits plus an optional trailing letter, e.g. '838' or '1234A'. Required when creating. |
| record.serviceDate | string | Departure date, origin-local. Required when creating. |
| record.origin | object | |
| record.destination | object | |
| record.depLocalTime | string | Departure time in the ORIGIN airport's local clock: the server converts to UTC using the airport zone. |
| record.arrLocalTime | string | Arrival time, DESTINATION-local. |
| record.arrLocalDate | string | Arrival date when it differs (red-eyes, date line). |
| record.isMine | boolean | false = tracking someone else's flight (excluded from lifetime stats). |
| record.travelerPersonIds | list of string | |
| record.travelerNames | list of string | Passenger 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.tripId | string | Trip link (resolve via trips_find). |
| record.confirmationCode | string | |
| record.seat | string | |
| record.cabin | one of economy, premium, business, first | |
| record.costAmount | number | |
| record.costCurrency | string | |
| record.status | one of scheduled, delayed, canceled, landed | Only set on explicit user statement; live tracking owns the rest. |
| record.estimatedDepUtc | string | Estimated 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.estimatedArrUtc | string | Estimated arrival as an ISO instant; convert stated local times via the destination's zone. |
| record.actualDepUtc | string | Actual departure ISO instant, only for flights that really left. |
| record.actualArrUtc | string | Actual arrival ISO instant, e.g. 'we landed at 11:40' converted via the destination's zone. |
| record.aircraftType | string | e.g. 'Boeing 787-9', only when the user states it. |
| record.notes | string | |
| record.programName | string | Program (type 'program'); filled from the airline when known. |
| record.memberNumber | string | Program member number (type 'program'). Never invented. |
| record.tier | string | Program status tier, e.g. "Gold" (type 'program'). |
| record.tierExpires | string | When the program tier expires, YYYY-MM-DD. |
| record.milesBalance | integer | Program miles or points balance. |
| record.balanceAsOf | string | Date of the balance, YYYY-MM-DD. |
| record.holderPersonId | string | Program holder: "" or omitted = the user; a People person id for a family member. |
| record.holderName | string | The 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_updateChange 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.
| Field | Type | Description |
|---|---|---|
| type | one of flight, program | 'flight' (default) or 'program', a frequent flyer membership. |
| record | object | The record's id plus the fields to change. |
| record.id* | string | Flight (or program) ID from a prior flights_find result, never invented. |
| record.airlineIata | string | Airline code, e.g. 'UA'. Required when creating. |
| record.airlineName | string | e.g. 'United Airlines'. |
| record.flightNumber | string | 1–4 digits plus an optional trailing letter, e.g. '838' or '1234A'. Required when creating. |
| record.serviceDate | string | Departure date, origin-local. Required when creating. |
| record.origin | object | |
| record.destination | object | |
| record.depLocalTime | string | Departure time in the ORIGIN airport's local clock: the server converts to UTC using the airport zone. |
| record.arrLocalTime | string | Arrival time, DESTINATION-local. |
| record.arrLocalDate | string | Arrival date when it differs (red-eyes, date line). |
| record.isMine | boolean | false = tracking someone else's flight (excluded from lifetime stats). |
| record.travelerPersonIds | list of string | |
| record.travelerNames | list of string | Passenger 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.tripId | string | Trip link (resolve via trips_find). |
| record.confirmationCode | string | |
| record.seat | string | |
| record.cabin | one of economy, premium, business, first | |
| record.costAmount | number | |
| record.costCurrency | string | |
| record.status | one of scheduled, delayed, canceled, landed | Only set on explicit user statement; live tracking owns the rest. |
| record.estimatedDepUtc | string | Estimated 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.estimatedArrUtc | string | Estimated arrival as an ISO instant; convert stated local times via the destination's zone. |
| record.actualDepUtc | string | Actual departure ISO instant, only for flights that really left. |
| record.actualArrUtc | string | Actual arrival ISO instant, e.g. 'we landed at 11:40' converted via the destination's zone. |
| record.aircraftType | string | e.g. 'Boeing 787-9', only when the user states it. |
| record.notes | string | |
| record.programName | string | Program (type 'program'); filled from the airline when known. |
| record.memberNumber | string | Program member number (type 'program'). Never invented. |
| record.tier | string | Program status tier, e.g. "Gold" (type 'program'). |
| record.tierExpires | string | When the program tier expires, YYYY-MM-DD. |
| record.milesBalance | integer | Program miles or points balance. |
| record.balanceAsOf | string | Date of the balance, YYYY-MM-DD. |
| record.holderPersonId | string | Program holder: "" or omitted = the user; a People person id for a family member. |
| record.holderName | string | The 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.trackingState | one of off, watching | Live status tracking for a flight: 'watching' turns it on, 'off' turns it off. |
| flightId | string | Older form of tracking: the flight, with trackingState. |
| trackingState | one of off, watching | Older form, with flightId. |
Example input
{
"record": {
"id": "flight_ua1542",
"status": "canceled"
}
}flights_removeDeletethrough vritto_deleteRemove (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.
| Field | Type | Description |
|---|---|---|
| type | one of flight, program | 'flight' (default) or 'program', a frequent flyer membership. |
| id | string | The flight (or program) to remove. |
| flightId | string | Older name for a flight's id. |
| programId | string | Older name for a program's id. |
Airport Catalogairport_catalog
Airport reference data by name, city, or code.
flights_searchAirportsLook Upthrough vritto_lookupResolve 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.
| Field | Type | Description |
|---|---|---|
| query* | string |