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