origins | array<string> | Yes | Origin airport IATA codes or city codes (3 letters). Include all nearby airports. Examples: [“JFK”, “LGA”, “EWR”] for NYC. |
destinations | array<string> | No | Filter to specific destination IATA codes. Omit for global discovery mode. |
trip_type | enum ("oneway" | "roundtrip") | Yes | Trip type: “oneway” or “roundtrip”. |
departure_dates | array<string> | No | Specific departure dates (YYYY-MM-DD). Multiple dates searched with OR logic. |
departure_date_ranges | array<object> | No | Departure date ranges for flexible search. |
departure_date_ranges[].start | string | Yes | Range start date (YYYY-MM-DD) |
departure_date_ranges[].end | string | Yes | Range end date (YYYY-MM-DD) |
return_dates | array<unknown> | No | Specific return dates (YYYY-MM-DD) for round-trip flights. |
return_date_ranges | array<object> | No | Return date ranges for flexible round-trip search. |
return_date_ranges[].start | string | Yes | Range start date (YYYY-MM-DD) |
return_date_ranges[].end | string | Yes | Range end date (YYYY-MM-DD) |
stay_days | integer | No | Exact stay duration in days. |
stay_days_range | object | No | Flexible stay duration range. Example: {min: 5, max: 10} |
stay_days_range.min | integer | Yes | Minimum stay duration in days |
stay_days_range.max | integer | Yes | Maximum stay duration in days |
direct_only | boolean | No | Only return nonstop flights. |
cabin_class | enum ("economy" | "premium_economy" | "business" | "first") | No | Cabin class filter. |
max_total | number | No | Maximum total price for the trip (canonical name). Preferred over max_price. |
sort_by | enum ("lowest" | "recommendation") | No | Sort order. Default: “lowest” (cheapest first). |
limit | integer | No | Max destinations to return per page (1-100). Default 20. |
offset | integer | No | Number of destinations to skip, for pagination. Default 0. |
currency | string | No | ISO 4217 currency code. Defaults to “USD”. |
locale | string | No | BCP 47 locale. Defaults to “en-US”. |
format | enum ("text" | "json") | No | Response format. “text” returns plain text for LLMs. “json” returns structured JSON. |
user_intent | string | No | The end user’s current request in their own words, e.g. “find a cheap flight to Tokyo in mid-June”. Pass it as-is when short; otherwise condense the goal and constraints into 1-2 sentences. Strip personal identifiers (names, emails, phone numbers, addresses, payment details), replace them with placeholders like “[name]”. Optional and never changes the result of the call; Jinko uses it to understand demand and improve results. |