> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Search Flexible Fares

> <!-- aisa-pricing:start -->
按用量计费；默认请求预估费用：$0.0023 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001 USD。 最终费用以账户适用价格及实际结算为准。
<!-- aisa-pricing:end -->

## 请求规范

* **方法与路径:** POST /apis/v1/ignav-flights/search-flexible-fares
* **可用状态:** enabled
* **请求 URL 模板:** `https://api.aisa.one/apis/v1/ignav-flights/search-flexible-fares`
* **Runtime 事实版本:** 409a5cc699368723aa03cc1aa98096f9361fe3f453fa90923b5d89360b65123a

[完整 OpenAPI 定义](https://aisa.one/docs/reference-contracts/zh/ignav-flights.json)

有效请求与价格声明（包括认证和引用的 schema）：

```json theme={null}
{
  "operationId": "ignav-flights.search-flexible-fares",
  "method": "POST",
  "path": "/apis/v1/ignav-flights/search-flexible-fares",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "legs": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "origin",
                  "destination",
                  "departure_date"
                ],
                "properties": {
                  "origin": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$",
                    "examples": [
                      "SFO"
                    ],
                    "maxLength": 3,
                    "minLength": 3,
                    "description": "Supported 3-letter departure airport or metro IATA code, such as SFO or LON."
                  },
                  "max_stops": {
                    "type": "integer",
                    "maximum": 2,
                    "minimum": 0,
                    "description": "Maximum stops for this leg (0-2); omit to allow any number."
                  },
                  "destination": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$",
                    "examples": [
                      "JFK"
                    ],
                    "maxLength": 3,
                    "minLength": 3,
                    "description": "Supported 3-letter arrival airport or metro IATA code, different from origin."
                  },
                  "departure_date": {
                    "type": "string",
                    "format": "date",
                    "examples": [
                      "2026-11-09"
                    ],
                    "description": "Departure date in YYYY-MM-DD format; cannot be in the past."
                  },
                  "departure_time_range": {
                    "type": "object",
                    "properties": {
                      "latest_hour": {
                        "type": "integer",
                        "maximum": 23,
                        "minimum": 0,
                        "description": "Latest local departure hour, from 0 through 23."
                      },
                      "earliest_hour": {
                        "type": "integer",
                        "maximum": 23,
                        "minimum": 0,
                        "description": "Earliest local departure hour, from 0 through 23."
                      },
                      "arrival_latest_hour": {
                        "type": "integer",
                        "maximum": 23,
                        "minimum": 0,
                        "description": "Latest local arrival hour, from 0 through 23."
                      },
                      "arrival_earliest_hour": {
                        "type": "integer",
                        "maximum": 23,
                        "minimum": 0,
                        "description": "Earliest local arrival hour, from 0 through 23."
                      }
                    },
                    "description": "Optional local-hour bounds for this leg. Departure hours use the origin's local time and arrival hours use the destination's local time.",
                    "additionalProperties": false
                  }
                }
              },
              "maxItems": 2,
              "minItems": 1,
              "description": "One or two ordered trip legs in chronological date order. Use airport or supported metro IATA codes. Itinerary segments identify concrete airports."
            },
            "adults": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "description": "Number of adult passengers; total passengers across all categories cannot exceed 9."
            },
            "market": {
              "enum": [
                "US"
              ],
              "type": "string",
              "description": "Provider-supported ISO 3166-1 alpha-2 market controlling availability and currency."
            },
            "children": {
              "type": "integer",
              "default": 0,
              "minimum": 0,
              "description": "Number of child passengers."
            },
            "max_price": {
              "type": "integer",
              "minimum": 0,
              "description": "Strict maximum total price in the selected market's currency."
            },
            "cabin_class": {
              "enum": [
                "economy",
                "premium_economy",
                "business",
                "first"
              ],
              "type": "string",
              "default": "economy",
              "description": "Requested cabin class."
            },
            "infants_on_lap": {
              "type": "integer",
              "default": 0,
              "minimum": 0,
              "description": "Number of lap infants; cannot exceed the adult count."
            },
            "infants_in_seat": {
              "type": "integer",
              "default": 0,
              "minimum": 0,
              "description": "Number of infants occupying seats."
            },
            "airlines_exclude": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "examples": [
                [
                  "NK"
                ]
              ],
              "minItems": 1,
              "description": "Non-empty list of 2-character uppercase airline codes to exclude; cannot overlap airlines_include."
            },
            "airlines_include": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "examples": [
                [
                  "UA",
                  "F9"
                ]
              ],
              "minItems": 1,
              "description": "Non-empty list of 2-character uppercase airline codes to include exclusively; cannot overlap airlines_exclude."
            },
            "min_checked_bags": {
              "type": "integer",
              "minimum": 0,
              "description": "Minimum number of included checked bags."
            },
            "min_carry_on_bags": {
              "type": "integer",
              "minimum": 0,
              "description": "Minimum number of included carry-on bags."
            },
            "allow_self_transfer": {
              "type": "boolean",
              "default": true,
              "description": "Allow identifiable self-transfers. False is a best-effort filter, not a guarantee of a protected through-ticket."
            }
          },
          "required": [
            "legs",
            "market"
          ]
        }
      }
    }
  },
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "cost_contract": "response_units",
    "customer_multiplier": 1.0,
    "customer_pricing": "provider_cost_multiplier",
    "default_request_estimate_usd": 0.0023,
    "estimate_source": "profile_seed",
    "evidence_source": "response_body",
    "maximum_units": 10000000,
    "unit": "provider_credit",
    "unit_rate_usd": 1e-06
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## 费用与请求规则

按用量计费；默认请求预估费用：\$0.0023 USD（不是固定价格）。 声明的单位费率：每 provider\_credit \$0.000001 USD。 最终费用以账户适用价格及实际结算为准。

公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口，执行前请针对完整请求获取免费报价；执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。

* **默认请求参考估价（USD）:** 0.0023
* **声明的单位费率（USD）:** 1e-06
* **计费单位:** provider\_credit
* **计费依据:** response\_units
* **公开参考倍率:** 1.0
* **声明的最大计数或单位数:** 10000000
* **结算证据来源:** response\_body


## OpenAPI

````yaml reference-contracts/zh/ignav-flights.json POST /apis/v1/ignav-flights/search-flexible-fares
openapi: 3.1.0
info:
  description: ''
  title: Ignav Flights
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths:
    - /apis/v1/ignav-flights/get-booking-links
    - /apis/v1/ignav-flights/search-airports
    - /apis/v1/ignav-flights/search-flexible-fares
    - /apis/v1/ignav-flights/search-one-way-fares
    - /apis/v1/ignav-flights/search-round-trip-fares
  x-aisa-document:
    facts_hash: 409a5cc699368723aa03cc1aa98096f9361fe3f453fa90923b5d89360b65123a
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '28'
    response_pending: []
    document_hash: sha256:01df1215dbe002569ac327f346c14a287fee1897616c4becf56b148237f42bc1
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: ignav-flights
  x-aisa-catalogs:
    ignav-flights:
      title: Ignav Flights
      description: ''
      x-aisa-document:
        facts_hash: 409a5cc699368723aa03cc1aa98096f9361fe3f453fa90923b5d89360b65123a
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/ignav-flights/search-flexible-fares:
    post:
      tags:
        - Ignav Flights
      summary: Search Flexible Fares
      description: >-
        <!-- aisa-pricing:start -->

        按用量计费；默认请求预估费用：$0.0023 USD（不是固定价格）。 声明的单位费率：每 provider_credit $0.000001
        USD。 最终费用以账户适用价格及实际结算为准。

        <!-- aisa-pricing:end -->
      operationId: ignav-flights.search-flexible-fares
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                legs:
                  type: array
                  items:
                    type: object
                    required:
                      - origin
                      - destination
                      - departure_date
                    properties:
                      origin:
                        type: string
                        pattern: ^[A-Z]{3}$
                        examples:
                          - SFO
                        maxLength: 3
                        minLength: 3
                        description: >-
                          Supported 3-letter departure airport or metro IATA
                          code, such as SFO or LON.
                      max_stops:
                        type: integer
                        maximum: 2
                        minimum: 0
                        description: >-
                          Maximum stops for this leg (0-2); omit to allow any
                          number.
                      destination:
                        type: string
                        pattern: ^[A-Z]{3}$
                        examples:
                          - JFK
                        maxLength: 3
                        minLength: 3
                        description: >-
                          Supported 3-letter arrival airport or metro IATA code,
                          different from origin.
                      departure_date:
                        type: string
                        format: date
                        examples:
                          - '2026-11-09'
                        description: >-
                          Departure date in YYYY-MM-DD format; cannot be in the
                          past.
                      departure_time_range:
                        type: object
                        properties:
                          latest_hour:
                            type: integer
                            maximum: 23
                            minimum: 0
                            description: Latest local departure hour, from 0 through 23.
                          earliest_hour:
                            type: integer
                            maximum: 23
                            minimum: 0
                            description: Earliest local departure hour, from 0 through 23.
                          arrival_latest_hour:
                            type: integer
                            maximum: 23
                            minimum: 0
                            description: Latest local arrival hour, from 0 through 23.
                          arrival_earliest_hour:
                            type: integer
                            maximum: 23
                            minimum: 0
                            description: Earliest local arrival hour, from 0 through 23.
                        description: >-
                          Optional local-hour bounds for this leg. Departure
                          hours use the origin's local time and arrival hours
                          use the destination's local time.
                        additionalProperties: false
                  maxItems: 2
                  minItems: 1
                  description: >-
                    One or two ordered trip legs in chronological date order.
                    Use airport or supported metro IATA codes. Itinerary
                    segments identify concrete airports.
                adults:
                  type: integer
                  default: 1
                  minimum: 1
                  description: >-
                    Number of adult passengers; total passengers across all
                    categories cannot exceed 9.
                market:
                  enum:
                    - US
                  type: string
                  description: >-
                    Provider-supported ISO 3166-1 alpha-2 market controlling
                    availability and currency.
                children:
                  type: integer
                  default: 0
                  minimum: 0
                  description: Number of child passengers.
                max_price:
                  type: integer
                  minimum: 0
                  description: >-
                    Strict maximum total price in the selected market's
                    currency.
                cabin_class:
                  enum:
                    - economy
                    - premium_economy
                    - business
                    - first
                  type: string
                  default: economy
                  description: Requested cabin class.
                infants_on_lap:
                  type: integer
                  default: 0
                  minimum: 0
                  description: Number of lap infants; cannot exceed the adult count.
                infants_in_seat:
                  type: integer
                  default: 0
                  minimum: 0
                  description: Number of infants occupying seats.
                airlines_exclude:
                  type: array
                  items:
                    type: string
                  examples:
                    - - NK
                  minItems: 1
                  description: >-
                    Non-empty list of 2-character uppercase airline codes to
                    exclude; cannot overlap airlines_include.
                airlines_include:
                  type: array
                  items:
                    type: string
                  examples:
                    - - UA
                      - F9
                  minItems: 1
                  description: >-
                    Non-empty list of 2-character uppercase airline codes to
                    include exclusively; cannot overlap airlines_exclude.
                min_checked_bags:
                  type: integer
                  minimum: 0
                  description: Minimum number of included checked bags.
                min_carry_on_bags:
                  type: integer
                  minimum: 0
                  description: Minimum number of included carry-on bags.
                allow_self_transfer:
                  type: boolean
                  default: true
                  description: >-
                    Allow identifiable self-transfers. False is a best-effort
                    filter, not a guarantee of a protected through-ticket.
              required:
                - legs
                - market
      responses:
        '200':
          description: Tool result data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__public_data
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
components:
  schemas:
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__public_data:
      $ref: >-
        #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__1b87b3d57252fb63
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__1b87b3d57252fb63:
      type: object
      required:
        - legs
        - itineraries
      properties:
        legs:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__1b82052f387cc7a5
        cache_hit:
          anyOf:
            - type: boolean
            - type: 'null'
        itineraries:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__44b1fa37c81afec3
        observed_at:
          anyOf:
            - type: string
            - type: 'null'
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__1b82052f387cc7a5:
      type: object
      required:
        - origin
        - destination
        - departure_date
      properties:
        origin:
          type: string
        destination:
          type: string
        departure_date:
          type: string
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__44b1fa37c81afec3:
      type: object
      required:
        - price
        - legs
      properties:
        bags:
          anyOf:
            - $ref: >-
                #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__8e973d4fea3ffb64
            - type: 'null'
        legs:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__eae4c504c5e42240
        price:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__bb14e2e60ff3780a
        ignav_id:
          anyOf:
            - type: string
            - type: 'null'
        cabin_class:
          anyOf:
            - type: string
            - type: 'null'
        requires_self_transfer:
          anyOf:
            - type: boolean
            - type: 'null'
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__8e973d4fea3ffb64:
      type: object
      properties:
        checked:
          anyOf:
            - type: integer
            - type: 'null'
        carry_on:
          anyOf:
            - type: integer
            - type: 'null'
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__eae4c504c5e42240:
      type: object
      required:
        - segments
      properties:
        carrier:
          anyOf:
            - type: string
            - type: 'null'
        segments:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__7d4241faa0981921
        duration_minutes:
          anyOf:
            - type: integer
            - type: 'null'
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__bb14e2e60ff3780a:
      type: object
      required:
        - amount
        - currency
        - status
      properties:
        amount:
          anyOf:
            - type: integer
            - type: number
        status:
          enum:
            - verified
            - unverified
          type: string
        currency:
          type: string
    Response576A0Ea506F3_connect_IGNAV_FLIGHTS_SEARCH_FLEXIBLE_FARES__output__7d4241faa0981921:
      type: object
      required:
        - departure_airport
        - departure_time_local
        - arrival_airport
        - arrival_time_local
        - duration_minutes
      properties:
        aircraft:
          anyOf:
            - type: string
            - type: 'null'
        flight_number:
          anyOf:
            - type: string
            - type: 'null'
        arrival_airport:
          type: string
        arrival_time_utc:
          anyOf:
            - type: string
            - type: 'null'
        arrival_timezone:
          anyOf:
            - type: string
            - type: 'null'
        duration_minutes:
          type: integer
        departure_airport:
          type: string
        arrival_time_local:
          type: string
        departure_time_utc:
          anyOf:
            - type: string
            - type: 'null'
        departure_timezone:
          anyOf:
            - type: string
            - type: 'null'
        departure_time_local:
          type: string
        marketing_carrier_code:
          anyOf:
            - type: string
            - type: 'null'
        operating_carrier_name:
          anyOf:
            - type: string
            - type: 'null'
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.