Expedia Group · Capability

Expedia Group Rapid API — Geography

Expedia Group Rapid API — Geography. 3 operations. Lead operation: Expedia Group Properties within Polygon. Self-contained Naftiko capability covering one Expedia Group business surface.

Run with Naftiko Expedia GroupGeography

What You Can Do

POST
Postgeography — Expedia Group Properties within Polygon
/v1/properties/geography
GET
Getregions — Expedia Group Regions
/v1/regions
GET
Getregion — Expedia Group Region
/v1/regions/{region-id}

MCP Tools

expedia-group-properties-within-polygon

Expedia Group Properties within Polygon

expedia-group-regions

Expedia Group Regions

read-only idempotent
expedia-group-region

Expedia Group Region

read-only idempotent

Capability Spec

expedia-rapid-geography.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Expedia Group Rapid API — Geography
  description: 'Expedia Group Rapid API — Geography. 3 operations. Lead operation: Expedia Group Properties within Polygon.
    Self-contained Naftiko capability covering one Expedia Group business surface.'
  tags:
  - Expedia Group
  - Geography
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EXPEDIA_GROUP_API_KEY: EXPEDIA_GROUP_API_KEY
capability:
  consumes:
  - type: http
    namespace: expedia-rapid-geography
    baseUri: https://test.ean.com/v3
    description: Expedia Group Rapid API — Geography business capability. Self-contained, no shared references.
    resources:
    - name: properties-geography
      path: /properties/geography
      operations:
      - name: postgeography
        method: POST
        description: Expedia Group Properties within Polygon
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept-Encoding
          in: header
          type: string
          description: Specifies the response encoding that the client would like to receive back. This must be `gzip`.
          required: true
        - name: Customer-Session-Id
          in: header
          type: string
          description: Insert your own unique value for each user session, beginning with the first API call.
        - name: User-Agent
          in: header
          type: string
          description: The `User-Agent` header string from the customer's request, as captured by your integration. If you
            are building an application then the `User-Agent` value shou
          required: true
        - name: include
          in: query
          type: string
          description: Options for which content to return in the response. The value must be lower case.
          required: true
        - name: billing_terms
          in: query
          type: string
          description: This parameter is to specify the terms of how a resulting booking should be billed. If this field is
            needed, the value for this will be provided to you separate
        - name: partner_point_of_sale
          in: query
          type: string
          description: This parameter is to specify what point of sale is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
        - name: payment_terms
          in: query
          type: string
          description: 'This parameter is to specify what terms should be used when being paid for a resulting booking. If
            this field is needed, the value for this will be provided to '
        - name: platform_name
          in: query
          type: string
          description: This parameter is to specify what platform is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
        - name: supply_source
          in: query
          type: string
          description: 'Options for which supply source you would like returned in the geography response. This parameter
            may only be supplied once and will return all properties that '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: regions
      path: /regions
      operations:
      - name: getregions
        method: GET
        description: Expedia Group Regions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: Specifies the response format that the client would like to receive back. This must be `application/json`.
          required: true
        - name: Accept-Encoding
          in: header
          type: string
          description: Specifies the response encoding that the client would like to receive back. This must be `gzip`.
          required: true
        - name: User-Agent
          in: header
          type: string
          description: The `User-Agent` header string from the customer's request, as captured by your integration. If you
            are building an application then the `User-Agent` value shou
          required: true
        - name: Customer-Session-Id
          in: header
          type: string
          description: Insert your own unique value for each user session, beginning with the first API call.
        - name: include
          in: query
          type: array
          description: Options for which content to return in the response. This parameter can be supplied multiple times
            with different values. The standard and details options canno
          required: true
        - name: language
          in: query
          type: string
          description: Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit
            language and country codes. Use only ISO 639-1 alpha-
          required: true
        - name: ancestor_id
          in: query
          type: string
          description: Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top
            level regions](https://developers.expediagroup.com/docs/r
        - name: area
          in: query
          type: string
          description: Filter the results to regions that intersect with a specified area.<br><br>
        - name: country_code
          in: query
          type: array
          description: Filter the results to a specified ISO 3166-1 alpha-2 country code.
        - name: country_subdivision_code
          in: query
          type: array
          description: Filter the results down to only the ISO 3166-2 country subdivision.
        - name: iata_location_code
          in: query
          type: string
          description: Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code
            and iata_airport_metro_code. The code must be upp
        - name: limit
          in: query
          type: number
          description: Limit the number of results returned.
        - name: supply_source
          in: query
          type: string
          description: 'Options for which supply source you would like returned in the geography response. This parameter
            may only be supplied once and will return all properties that '
        - name: type
          in: query
          type: array
          description: Filter the results to a specified region type.
        - name: billing_terms
          in: query
          type: string
          description: This parameter is to specify the terms of how a resulting booking should be billed. If this field is
            needed, the value for this will be provided to you separate
        - name: partner_point_of_sale
          in: query
          type: string
          description: This parameter is to specify what point of sale is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
        - name: payment_terms
          in: query
          type: string
          description: 'This parameter is to specify what terms should be used when being paid for a resulting booking. If
            this field is needed, the value for this will be provided to '
        - name: platform_name
          in: query
          type: string
          description: This parameter is to specify what platform is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
    - name: regions-region_id
      path: /regions/{region_id}
      operations:
      - name: getregion
        method: GET
        description: Expedia Group Region
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: Specifies the response format that the client would like to receive back. This must be `application/json`.
          required: true
        - name: Accept-Encoding
          in: header
          type: string
          description: Specifies the response encoding that the client would like to receive back. This must be `gzip`.
          required: true
        - name: Customer-Session-Id
          in: header
          type: string
          description: Insert your own unique value for each user session, beginning with the first API call.
        - name: User-Agent
          in: header
          type: string
          description: The `User-Agent` header string from the customer's request, as captured by your integration. If you
            are building an application then the `User-Agent` value shou
          required: true
        - name: region_id
          in: path
          type: string
          description: ID of the region to retrieve.
          required: true
        - name: language
          in: query
          type: string
          description: Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit
            language and country codes. Use only ISO 639-1 alpha-
          required: true
        - name: include
          in: query
          type: array
          description: Options for which content to return in the response. This parameter can be supplied multiple times
            with different values. The value must be lower case.
          required: true
        - name: billing_terms
          in: query
          type: string
          description: This parameter is to specify the terms of how a resulting booking should be billed. If this field is
            needed, the value for this will be provided to you separate
        - name: partner_point_of_sale
          in: query
          type: string
          description: This parameter is to specify what point of sale is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
        - name: payment_terms
          in: query
          type: string
          description: 'This parameter is to specify what terms should be used when being paid for a resulting booking. If
            this field is needed, the value for this will be provided to '
        - name: platform_name
          in: query
          type: string
          description: This parameter is to specify what platform is being used to shop and book. If this field is needed,
            the value for this will be provided to you separately.
        - name: supply_source
          in: query
          type: string
          description: 'Options for which supply source you would like returned in the geography response. This parameter
            may only be supplied once and will return all properties that '
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.EXPEDIA_GROUP_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: expedia-rapid-geography-rest
    port: 8080
    description: REST adapter for Expedia Group Rapid API — Geography. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/properties/geography
      name: properties-geography
      description: REST surface for properties-geography.
      operations:
      - method: POST
        name: postgeography
        description: Expedia Group Properties within Polygon
        call: expedia-rapid-geography.postgeography
        with:
          Accept-Encoding: rest.Accept-Encoding
          Customer-Session-Id: rest.Customer-Session-Id
          User-Agent: rest.User-Agent
          include: rest.include
          billing_terms: rest.billing_terms
          partner_point_of_sale: rest.partner_point_of_sale
          payment_terms: rest.payment_terms
          platform_name: rest.platform_name
          supply_source: rest.supply_source
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/regions
      name: regions
      description: REST surface for regions.
      operations:
      - method: GET
        name: getregions
        description: Expedia Group Regions
        call: expedia-rapid-geography.getregions
        with:
          Accept: rest.Accept
          Accept-Encoding: rest.Accept-Encoding
          User-Agent: rest.User-Agent
          Customer-Session-Id: rest.Customer-Session-Id
          include: rest.include
          language: rest.language
          ancestor_id: rest.ancestor_id
          area: rest.area
          country_code: rest.country_code
          country_subdivision_code: rest.country_subdivision_code
          iata_location_code: rest.iata_location_code
          limit: rest.limit
          supply_source: rest.supply_source
          type: rest.type
          billing_terms: rest.billing_terms
          partner_point_of_sale: rest.partner_point_of_sale
          payment_terms: rest.payment_terms
          platform_name: rest.platform_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/regions/{region-id}
      name: regions-region-id
      description: REST surface for regions-region_id.
      operations:
      - method: GET
        name: getregion
        description: Expedia Group Region
        call: expedia-rapid-geography.getregion
        with:
          Accept: rest.Accept
          Accept-Encoding: rest.Accept-Encoding
          Customer-Session-Id: rest.Customer-Session-Id
          User-Agent: rest.User-Agent
          region_id: rest.region_id
          language: rest.language
          include: rest.include
          billing_terms: rest.billing_terms
          partner_point_of_sale: rest.partner_point_of_sale
          payment_terms: rest.payment_terms
          platform_name: rest.platform_name
          supply_source: rest.supply_source
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: expedia-rapid-geography-mcp
    port: 9090
    transport: http
    description: MCP adapter for Expedia Group Rapid API — Geography. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: expedia-group-properties-within-polygon
      description: Expedia Group Properties within Polygon
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: expedia-rapid-geography.postgeography
      with:
        Accept-Encoding: tools.Accept-Encoding
        Customer-Session-Id: tools.Customer-Session-Id
        User-Agent: tools.User-Agent
        include: tools.include
        billing_terms: tools.billing_terms
        partner_point_of_sale: tools.partner_point_of_sale
        payment_terms: tools.payment_terms
        platform_name: tools.platform_name
        supply_source: tools.supply_source
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-regions
      description: Expedia Group Regions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: expedia-rapid-geography.getregions
      with:
        Accept: tools.Accept
        Accept-Encoding: tools.Accept-Encoding
        User-Agent: tools.User-Agent
        Customer-Session-Id: tools.Customer-Session-Id
        include: tools.include
        language: tools.language
        ancestor_id: tools.ancestor_id
        area: tools.area
        country_code: tools.country_code
        country_subdivision_code: tools.country_subdivision_code
        iata_location_code: tools.iata_location_code
        limit: tools.limit
        supply_source: tools.supply_source
        type: tools.type
        billing_terms: tools.billing_terms
        partner_point_of_sale: tools.partner_point_of_sale
        payment_terms: tools.payment_terms
        platform_name: tools.platform_name
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-region
      description: Expedia Group Region
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: expedia-rapid-geography.getregion
      with:
        Accept: tools.Accept
        Accept-Encoding: tools.Accept-Encoding
        Customer-Session-Id: tools.Customer-Session-Id
        User-Agent: tools.User-Agent
        region_id: tools.region_id
        language: tools.language
        include: tools.include
        billing_terms: tools.billing_terms
        partner_point_of_sale: tools.partner_point_of_sale
        payment_terms: tools.payment_terms
        platform_name: tools.platform_name
        supply_source: tools.supply_source
      outputParameters:
      - type: object
        mapping: $.