flight-mcp-com · Schema

AnonymousFlightSearchResponse

TravelAPIFlightMCPSearch

Properties

Name Type Description
requestId string
message string Explains that a free account can fetch the latest data when cache is unavailable.
signUpUrl string
query object
offers array
meta object
View JSON Schema on GitHub

JSON Schema

flight-mcp-com-anonymous-flight-search-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flight-mcp-com/json-schema/flight-mcp-com-anonymous-flight-search-response-schema.json",
  "title": "AnonymousFlightSearchResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/flight-mcp-com-openapi.yml#/components/schemas/AnonymousFlightSearchResponse",
  "type": "object",
  "required": [
    "requestId",
    "message",
    "signUpUrl",
    "query",
    "offers",
    "meta"
  ],
  "properties": {
    "requestId": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "Explains that a free account can fetch the latest data when cache is unavailable."
    },
    "signUpUrl": {
      "type": "string",
      "format": "uri"
    },
    "query": {
      "$ref": "#/$defs/FlightSearchInput"
    },
    "offers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FlightOffer"
      }
    },
    "meta": {
      "type": "object",
      "required": [
        "cached",
        "billable",
        "cacheFetchedAt",
        "cacheExpiresAt",
        "cacheAgeSeconds",
        "cacheTtlSeconds",
        "durationMs"
      ],
      "properties": {
        "cached": {
          "const": true
        },
        "partial": {
          "type": "boolean",
          "description": "True when this snapshot was obtained with at least one upstream search unavailable. Omitted for older cached results without coverage metadata."
        },
        "billable": {
          "const": false
        },
        "cacheFetchedAt": {
          "type": "string",
          "format": "date-time"
        },
        "cacheExpiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "cacheAgeSeconds": {
          "type": "integer",
          "minimum": 0
        },
        "cacheTtlSeconds": {
          "type": "integer",
          "minimum": 1
        },
        "durationMs": {
          "type": "integer",
          "minimum": 0
        }
      }
    }
  },
  "$defs": {
    "FlightItinerary": {
      "type": "object",
      "required": [
        "durationMinutes",
        "stops",
        "segments"
      ],
      "properties": {
        "durationMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "stops": {
          "type": "integer",
          "minimum": 0
        },
        "segments": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/FlightSegment"
          }
        }
      }
    },
    "FlightOffer": {
      "type": "object",
      "required": [
        "id",
        "price",
        "cabinClass",
        "itineraries",
        "fetchedAt"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "price": {
          "type": "object",
          "required": [
            "amountMinor",
            "currency"
          ],
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "pattern": "^[A-Z]{3}$"
            }
          }
        },
        "cabinClass": {
          "type": "string",
          "enum": [
            "economy",
            "premium_economy",
            "business",
            "first"
          ]
        },
        "itineraries": {
          "type": "array",
          "minItems": 1,
          "maxItems": 2,
          "items": {
            "$ref": "#/$defs/FlightItinerary"
          }
        },
        "seatsRemaining": {
          "type": "integer",
          "minimum": 0
        },
        "fetchedAt": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "FlightSearchInput": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "origin",
        "destination",
        "departureDate"
      ],
      "properties": {
        "origin": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "description": "Airport IATA code, or TYO to search both Haneda (HND) and Narita (NRT)."
        },
        "destination": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "description": "Airport IATA code, or TYO to search both Haneda (HND) and Narita (NRT)."
        },
        "departureDate": {
          "type": "string",
          "format": "date"
        },
        "returnDate": {
          "type": "string",
          "format": "date"
        },
        "adults": {
          "type": "integer",
          "minimum": 1,
          "maximum": 9,
          "default": 1
        },
        "children": {
          "type": "integer",
          "minimum": 0,
          "maximum": 8,
          "default": 0
        },
        "infants": {
          "type": "integer",
          "minimum": 0,
          "maximum": 8,
          "default": 0
        },
        "cabinClass": {
          "type": "string",
          "enum": [
            "economy",
            "premium_economy",
            "business",
            "first"
          ],
          "default": "economy"
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "default": "JPY"
        },
        "locale": {
          "type": "string",
          "pattern": "^[a-z]{2,3}(-[A-Z]{2})?$",
          "default": "ja-JP"
        },
        "pointOfSaleCountry": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "default": "JP",
          "description": "Requested sales-country context. Booking results match the requested currency and are not filtered by sales country."
        },
        "maxResults": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        },
        "cacheTtlSeconds": {
          "type": "integer",
          "minimum": 60,
          "maximum": 259200,
          "default": 300
        }
      }
    },
    "FlightSegment": {
      "type": "object",
      "required": [
        "origin",
        "destination",
        "departureAt",
        "arrivalAt",
        "marketingCarrier",
        "flightNumber",
        "durationMinutes"
      ],
      "properties": {
        "origin": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        },
        "destination": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        },
        "departureAt": {
          "type": "string"
        },
        "arrivalAt": {
          "type": "string"
        },
        "marketingCarrier": {
          "type": "object",
          "required": [
            "code",
            "name"
          ],
          "properties": {
            "code": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "flightNumber": {
          "type": "string"
        },
        "durationMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "aircraft": {
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/flight-mcp-com-anonymous-flight-search-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.