Get profile stats
curl -X GET "http://localhost:3000/v1/profile/@me" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Returns comprehensive statistics about tracked flights including passport data, aircraft stats, airlines, airports, and routes.
Response
Overall flight statistics
Show properties
Show properties
Detailed aircraft statistics
Show properties
Show properties
Name of the most flown aircraft model
Number of flights on the most flown aircraft
Image URL of the most flown aircraft
Array of flight summaries for the most flown aircraft
Most frequently encountered tail number
Number of times this tail number was flown
Median age of all aircraft flown (in years)
Details of the oldest aircraft flown (same structure as youngestAircraft)
The flight with the longest distance (same structure as shortestDistanceFlight)
The flight with the longest duration (same structure as shortestDurationFlight)
Response example
{
"passport": {
"totalFlights": 127,
"totalDistanceKm": 185420,
"totalDurationMinutes": 15840,
"totalAirports": 42,
"totalAirlines": 18
},
"mostFlownAircraft": {
"aircraftName": "Boeing 737-800",
"flightCount": 35
},
"aircraftStats": {
"mostFlownAircraftName": "Boeing 737-800",
"mostFlownAircraftFlightCount": 35,
"mostFlownAircraftImage": "https://cdn.aero.com/aircraft/737-800.jpg",
"mostFlownAircraftFlights": [
{
"id": "flight_123",
"flightNo": "UA456",
"callSign": "UAL456",
"airline": {
"name": "United Airlines",
"iata": "UA",
"icao": "UAL"
},
"departureAirportCode": "LAX",
"departureAirportName": "Los Angeles International Airport",
"arrivalAirportCode": "SFO",
"arrivalAirportName": "San Francisco International Airport",
"date": "2024-03-15T08:00:00Z"
}
],
"mostCommonTailNumber": "N12345",
"mostCommonTailNumberCount": 8,
"medianAge": 12.5,
"youngestAircraft": {
"aircraftName": "Airbus A321neo",
"tailNumber": "N98765",
"age": 2,
"image": "https://cdn.aero.com/aircraft/N98765.jpg"
},
"oldestAircraft": {
"aircraftName": "Boeing 757-200",
"tailNumber": "N54321",
"age": 28
}
},
"shortestDistanceFlight": {
"flight": {
"id": "flight_456",
"flightNo": "DL123",
"departureAirportCode": "LAX",
"arrivalAirportCode": "SFO",
"date": "2024-02-10T10:00:00Z"
},
"distanceKm": 543
},
"longestDistanceFlight": {
"flight": {
"id": "flight_789",
"flightNo": "SQ12",
"departureAirportCode": "SIN",
"arrivalAirportCode": "JFK",
"date": "2024-01-15T23:00:00Z"
},
"distanceKm": 15344
},
"shortestDurationFlight": {
"flight": {
"id": "flight_456",
"flightNo": "DL123"
},
"durationMinutes": 65
},
"longestDurationFlight": {
"flight": {
"id": "flight_789",
"flightNo": "SQ12"
},
"durationMinutes": 1140
},
"airlines": [
{
"airlineName": "United Airlines",
"airlineIata": "UA",
"airlineIcao": "UAL",
"image": "https://cdn.aero.com/airlines/UA.png",
"flightCount": 45
},
{
"airlineName": "Delta Air Lines",
"airlineIata": "DL",
"airlineIcao": "DAL",
"image": "https://cdn.aero.com/airlines/DL.png",
"flightCount": 32
}
],
"airports": [
{
"airportCode": "LAX",
"airportName": "Los Angeles International Airport",
"departureCount": 28
},
{
"airportCode": "SFO",
"airportName": "San Francisco International Airport",
"departureCount": 22
}
],
"topRoutes": [
{
"origin": "LAX",
"destination": "SFO",
"flightCount": 12
},
{
"origin": "JFK",
"destination": "LAX",
"flightCount": 8
}
]
}
Error responses
Unauthorized - Invalid or missing JWT token
{
"message": "Unauthorized"
}
Internal server error
{
"message": "Internal server error"
}
Use cases
Display travel statistics dashboard
Use this endpoint to show users their comprehensive flight history:const displayStats = async () => {
const response = await fetch('http://localhost:3000/v1/profile/@me', {
headers: { 'Authorization': 'Bearer YOUR_JWT_TOKEN' }
});
const stats = await response.json();
console.log(`You've flown ${stats.passport.totalFlights} flights`);
console.log(`Total distance: ${stats.passport.totalDistanceKm.toLocaleString()} km`);
console.log(`Visited ${stats.passport.totalAirports} airports`);
console.log(`Most flown aircraft: ${stats.mostFlownAircraft.aircraftName}`);
};
Show favorite airlines and airports
const showFavorites = async () => {
const response = await fetch('http://localhost:3000/v1/profile/@me', {
headers: { 'Authorization': 'Bearer YOUR_JWT_TOKEN' }
});
const stats = await response.json();
// Top 3 airlines
const topAirlines = stats.airlines.slice(0, 3);
console.log('Your top airlines:');
topAirlines.forEach(airline => {
console.log(`${airline.airlineName}: ${airline.flightCount} flights`);
});
// Top 3 airports
const topAirports = stats.airports.slice(0, 3);
console.log('Your most visited airports:');
topAirports.forEach(airport => {
console.log(`${airport.airportName}: ${airport.departureCount} departures`);
});
};
Generate travel report
const generateReport = async () => {
const response = await fetch('http://localhost:3000/v1/profile/@me', {
headers: { 'Authorization': 'Bearer YOUR_JWT_TOKEN' }
});
const stats = await response.json();
const report = {
summary: {
flights: stats.passport.totalFlights,
distance: `${Math.round(stats.passport.totalDistanceKm).toLocaleString()} km`,
timeInAir: `${Math.round(stats.passport.totalDurationMinutes / 60)} hours`,
airports: stats.passport.totalAirports,
airlines: stats.passport.totalAirlines
},
records: {
longestFlight: stats.longestDistanceFlight,
shortestFlight: stats.shortestDistanceFlight,
mostFlownRoute: stats.topRoutes[0]
},
aircraft: {
favorite: stats.mostFlownAircraft.aircraftName,
youngest: stats.aircraftStats.youngestAircraft,
oldest: stats.aircraftStats.oldestAircraft
}
};
return report;
};