{ "openapi": "3.0.0", "info": { "title": "Travel Recommendations API", "version": "1.0.4", "description": "Before using this API, we recommend you read our **[Authorization Guide](https://developers.amadeus.com/self-service/apis-docs/guides/authorization-262)** for more information on how to generate an access token." }, "servers": [ { "url": "https://test.api.amadeus.com/v1" } ], "paths": { "/reference-data/recommended-locations": { "get": { "summary": "GET recommended destinations", "tags": [ "recommended-locations" ], "responses": { "200": { "description": "Successful reply", "content": { "application/vnd.amadeus+json": { "schema": { "$ref": "#/components/schemas/response_recommendedLocation" }, "examples": { "Successful Reply": { "value": { "meta": { "links": { "self": "https://test.api.amadeus.com/v1/reference-data/recommended-locations?cityCodes=LON&travelerCountryCode=FR" }, "count": 2 }, "data": [ { "type": "recommended-location", "subtype": "CITY", "name": "PARIS", "iataCode": "PAR", "geoCode": { "longiture": 2.34276, "latitude": 48.85755 }, "relevance": 0.71 }, { "type": "recommended-location", "subtype": "CITY", "name": "MADRID", "iataCode": "MAD", "geoCode": { "longiture": 3.70348, "latitude": 40.41654 }, "relevance": 0.68 } ] } } } } } }, "400": { "description": "code | title \n------- | ------------------------------------- \n477 | INVALID FORMAT\n572 | INVALID OPTION \n32171 | MANDATORY DATA MISSING ", "content": { "application/vnd.amadeus+json": { "schema": { "$ref": "#/components/schemas/response_error" }, "examples": { "Error 400": { "value": { "errors": [ { "status": 400, "code": 477, "title": "INVALID FORMAT", "detail": "invalid query parameter format", "source": { "parameter": "cityCodes", "example": "PAR" } } ] } } } } } }, "500": { "description": "Internal Server Error", "content": { "application/vnd.amadeus+json": { "schema": { "$ref": "#/components/schemas/response_error" }, "examples": { "Error 500": { "value": { "errors": [ { "status": 500, "code": 141, "title": "SYSTEM ERROR HAS OCCURRED" } ] } } } } } } }, "operationId": "getRecommendedLocation", "parameters": [ { "schema": { "type": "string" }, "in": "query", "name": "cityCodes", "description": "City used by the algorythm to recommend new destination. Several cities can be specified using comma.\n\nCity codes follow [IATA standard](http://www.iata.org/publications/Pages/code-search.aspx)", "example": "PAR", "required": true }, { "schema": { "type": "string", "maxLength": 2, "minLength": 2, "default": "FR" }, "in": "query", "name": "travelerCountryCode", "description": "Origin country of the traveler following [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code format (e.g. US)", "example": "FR" }, { "schema": { "type": "string" }, "in": "query", "name": "destinationCountryCodes", "description": "List of country the traveler want to visit, separated with comma.\n\nCountry codes follow [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code format (e.g. US)" } ], "description": "" } } }, "components": { "schemas": { "RecommendedLocation": { "description": "Similar Location", "allOf": [ { "type": "object", "description": "Description of a particular point or place in physical space", "title": "Location", "properties": { "subtype": { "type": "string", "description": "Location sub-type (e.g. airport, port, rail-station, restaurant, atm...)" }, "name": { "type": "string", "description": "Label associated to the location (e.g. Eiffel Tower, Madison Square)", "example": "Eiffel Tower" }, "iataCode": { "type": "string", "description": "IATA location code", "example": "PAR" }, "geoCode": { "type": "object", "description": "Geographic coordinates describing the position of any location on the surface of Earth", "title": "GeoCode", "properties": { "latitude": { "type": "number", "format": "float", "description": "Latitude of the position expressed in decimal degrees (WSG 84), e.g. 6.244203. A positive value denotes northern hemisphere or the equator, and a negative value denotes southern hemisphere. The number of digits to represent the precision of the coordinate.", "minimum": -90, "exclusiveMinimum": false, "maximum": 90, "exclusiveMaximum": false, "example": 48.85837 }, "longitude": { "type": "number", "format": "float", "description": "Longitude of the position expressed in decimal degrees (WSG 84), e.g. -75.581211. A positive value denotes east longitude or the prime meridian, and a negative value denotes west longitude. The number of digits to represent the precision of the coordinate.", "minimum": -180, "exclusiveMinimum": false, "maximum": 180, "exclusiveMaximum": false, "example": 2.294481 } } } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Ressource type" }, "relevance": { "type": "number", "description": "percentage of similarity.\n\n0 for not similar to 1 for exactly the same" } } } ], "x-examples": { "Example": { "type": "recommended-location", "name": "PARIS", "subtype": "CITY", "iataCode": "PAR", "geoCode": { "longiture": 2.34276, "latitude": 48.85755 }, "relevance": 0.71 } }, "title": "" }, "response_recommendedLocation": { "type": "object", "title": "Recommended Location Reply", "properties": { "warnings": { "type": "array", "items": { "$ref": "#/components/schemas/Warning" } }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/RecommendedLocation" } }, "meta": { "$ref": "#/components/schemas/Meta" } } }, "response_error": { "type": "object", "description": "A set of errors", "title": "Error Reply", "properties": { "errors": { "type": "array", "items": { "$ref": "#/components/schemas/Errors" } } } }, "Warning": { "type": "object", "description": "The Warning Definition", "title": "Warning", "properties": { "code": { "type": "integer", "description": "A machine-readable error code from the Canned Messages table, that will enable the API Consumers code to handle this type of error" }, "title": { "type": "string", "description": "An error title from the Canned Messages table with a 1:1 correspondence to the error code. This may be localized" }, "detail": { "type": "string", "description": "An easy-to-read explanation specific to this occurrence of the problem. It should give the API consumer an idea of what went wrong and how to recover from it. Like the title, this field’s value can be localized." }, "source": { "type": "object", "description": "The Warning Source Definition", "title": "Warning_Source", "properties": { "parameter": { "type": "string", "description": "The key of the URI path or query parameter that caused the error" }, "pointer": { "type": "string", "description": "A JSON Pointer [RFC6901] to the associated entity in the request body that caused this error" }, "example": { "type": "string", "description": "A sample input to guide the user when resolving this issu" } } } }, "required": [ "code", "title" ] }, "Meta": { "type": "object", "description": "Meta information about the returned object(s) in \"data\"", "title": "Meta", "properties": { "count": { "type": "integer", "format": "int64", "description": "Total number of object(s) retrieved", "minimum": 0, "exclusiveMinimum": false }, "links": { "type": "object", "title": "Links", "description": "Links related to the returned object(s)", "properties": { "self": { "type": "string", "format": "url", "description": "Link to the same page." } } } } }, "Errors": { "title": "Error", "properties": { "status": { "type": "integer", "description": "The [HTTP status code](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) of this response. This is present only in terminal errors which cause an unsuccessful response. In the case of multiple errors, they must all have the same status." }, "code": { "type": "integer", "description": "A machine-readable error code from the Amadeus Canned Messages table, that will enable the API Consumers code to handle this type of error" }, "title": { "type": "string", "description": "An error title from the Canned Messages table with a 1:1 correspondence to the error code. This may be localized" }, "detail": { "type": "string", "description": "An easy-to-read explanation specific to this occurrence of the problem. It should give the API consumer an idea of what went wrong and how to recover from it. Like the title, this field’s value can be localized." }, "source": { "type": "object", "title": "Error_Source", "properties": { "parameter": { "type": "string", "description": "The key of the URI path or query parameter that caused the error" }, "pointer": { "type": "string", "description": "A JSON Pointer [RFC6901] to the associated entity in the request body that caused this error" }, "example": { "type": "string", "description": "A sample input to guide the user when resolving this issue" } } } } } } } }