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.
- 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: $.