---
title: "Experience GraphQL"
description: "This API enables client applications to request personalized user travel data. Using the me query, clients can access user profile, flight bookings, and associated travel details. Authentication is..."
url: "https://portal.kongair.dev/apis/experience-graphql-api/docs/experience-graphql"
image: "https://portal.kongair.dev/_og/d/c_Ocean.takumi,title_Experience+GraphQL,description_~VGhpcyBBUEkgZW5hYmxlcyBjbGllbnQgYXBwbGljYXRpb25zIHRvIHJlcXVlc3QgcGVyc29uYWxpemVkIHVzZXIgdHJhdmVsIGRhdGEuIFVzaW5nIHRoZSBtZSBxdWVyeSwgY2xpZW50cyBjYW4gYWNjZXNzIHVzZXIgcHJvZmlsZSwgZmxpZ2h0IGJvb2tpbmdzLCBhbmQgYXNzb2NpYXRlZCB0cmF2ZWwgZGV0YWlscy4gQXV0aGVudGljYXRpb24gaXMuLi4,props_eyJ0aGVtZSI6eyJjb2xvcnMiOnsicHJpbWFyeSI6IiMyQUJEQkIifX19,p_Ii9hcGlzL2V4cGVyaWVuY2UtZ3JhcGhxbC1hcGkvZG9jcy9leHBlcmllbmNlLWdyYXBocWwi,s_1r1XM5r1wfJgfoMG.png"
---

# ✈️ GraphQL API: User Travel Experience

This API enables client applications to request personalized user travel data. Using the `me` query, clients can access user profile, flight bookings, and associated travel details. Authentication is handled via Authorization headers and returns scoped data for the current user.

---

## [🔐 Authentication](#authentication)

All requests must include a valid authorization token in the `Authorization` header:

```text
Authorization: Bearer <token>
```

---

## [📘 Root Query](#root-query)

### [`me: Me!`](#me-me)

Retrieves information about the currently authenticated user, including profile data, bookings, and account settings.

---

## [👤 Type: `Me`](#type-me)

| Field       | Type        | Description                     |
| :---------- | :---------- | :------------------------------ |
| name        | String!     | Full name of the user           |
| username    | String!     | Unique username                 |
| bookings    | [Booking!]! | List of booked flights          |
| information | MyInfo!     | Contact and payment information |

---

## [📦 Type: `Booking`](#type-booking)

| Field         | Type    | Description                   |
| :------------ | :------ | :---------------------------- |
| ticket_number | String! | Unique ticket number          |
| flight        | Flight! | Associated flight details     |
| seat          | String! | Seat assignment on the flight |

---

## [✈️ Type: `Flight`](#️-type-flight)

| Field               | Type           | Description                   |
| :------------------ | :------------- | :---------------------------- |
| number              | String!        | Flight number                 |
| route_id            | String!        | ID of the associated route    |
| route               | Route!         | Details of the route          |
| scheduled_departure | String!        | ISO date-time for departure   |
| scheduled_arrival   | String!        | ISO date-time for arrival     |
| details             | FlightDetails! | Additional flight information |

---

## [🗺️ Type: `Route`](#️-type-route)

| Field        | Type    | Description                        |
| :----------- | :------ | :--------------------------------- |
| id           | String! | Unique identifier for the route    |
| origin       | String! | Airport of departure               |
| destination  | String! | Airport of arrival                 |
| avg_duration | Int!    | Average flight duration in minutes |

---

## [🛫 Type: `FlightDetails`](#type-flightdetails)

| Field                   | Type       | Description                        |
| :---------------------- | :--------- | :--------------------------------- |
| aircraft_type           | String!    | Aircraft model/type                |
| flight_number           | String!    | Flight number (repeated)           |
| in_flight_entertainment | Boolean!   | Whether entertainment is available |
| meal_options            | [String!]! | List of available meals            |

---

## [📇 Type: `MyInfo`](#type-myinfo)

| Field                 | Type              | Description            |
| :-------------------- | :---------------- | :--------------------- |
| address               | String!           | Mailing address        |
| phone_number          | String!           | User's phone number    |
| email                 | String!           | Email address          |
| frequent_flier_number | String            | Optional FF number     |
| payment_methods       | [PaymentMethod!]! | Stored payment methods |

---

## [💳 Type: `PaymentMethod`](#type-paymentmethod)

| Field                | Type    | Description                         |
| :------------------- | :------ | :---------------------------------- |
| id                   | ID!     | Unique ID of payment method         |
| redacted_card_number | String! | Masked card number (e.g., ****1234) |
| card_holder_name     | String! | Name on the card                    |
| expiration_date      | String! | Expiry date in MM/YY or ISO format  |