Mon-voyage-pas-cher.com Public API
Connect to Mon-voyage-pas-cher.com Public API with 1 MCP tools for AI-powered API automation.
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"swagger": "2.0",
"schemes": [
"https"
],
"host": "api.mon-voyage-pas-cher.com",
"info": {
"title": "Mon-voyage-pas-cher.com Public API",
"version": "0.0.1",
"x-apisguru-categories": [
"transport"
],
"x-origin": [
{
"format": "swagger",
"url": "https://www.mon-voyage-pas-cher.com/assets/documentation/swagger.yaml",
"version": "2.0"
}
],
"x-providerName": "mon-voyage-pas-cher.com",
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
}
},
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"securityDefinitions": {
"x-api-key": {
"in": "header",
"name": "x-api-key",
"type": "apiKey"
}
},
"paths": {
"/airports": {
"get": {
"description": "This webservice is providing you the ability to retrieve a list of airports matching your search criterias.<br />The 3 mains search criterias are<br />- by country code, this will list all airports for a given country.<br />- by latitude/longitude with a radius in km. You can actually combine those 2 criterias, and search for example the closest airport in the USA of Vancoucer, Canada.<br />- The last way to use the API is by searching directly with a IATA CODE in the location parameter, this will only return one result in the array of data results",
"operationId": "getAirport",
"parameters": [
{
"description": "the language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"description": "The location you want to search for. Either a latitude/longitude point or a letter airport IATA CODE ( ex. LHR ) if you want the detail for only one single airport.",
"in": "query",
"name": "location",
"pattern": "^[A-Za-z]{3}$|^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": false,
"type": "string"
},
{
"default": 100,
"description": "Radius in km for a lat/long search, will be ignore if a IATA is passed in location parameter code is passed",
"in": "query",
"maximum": 500,
"name": "radius",
"required": false,
"type": "integer"
},
{
"description": "Filter - The country ISO code 2 letters, provided by the GET /countries. If passed the results will be filtered to this country only, regardless if you passed a lat/long and a large radius",
"in": "query",
"name": "countrycode",
"pattern": "^[A-Za-z]{2}$",
"required": false,
"type": "string"
},
{
"description": "Filter the results to only the top and large airports airports.",
"in": "query",
"name": "top_airports",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/AirportsSearchResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search airports by country / Search nearby airports / Search an airport",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "airports"
},
"/cities/findcitiesfromlatlong": {
"get": {
"description": "Search cities according to given criterias. Either lat/long + radius or country code. A limit can be given but cannot exceed 50 results.<br /> A significant city will be defined according to the pourcent of population within a country.",
"operationId": "getCities",
"parameters": [
{
"description": "the language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"description": "if you want to limit the result to one country",
"in": "query",
"name": "countrycode",
"pattern": "^[A-Za-z]{2}$",
"required": false,
"type": "string"
},
{
"description": "The Lat/Long of the location your are seeking cities ( ex. 45.4478988,3.23456)",
"in": "query",
"name": "location",
"pattern": "^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": false,
"type": "string"
},
{
"default": 20,
"description": "Radius in km for a lat/long search. Default is 20km and there is no maximum, but need to be combined with limit. code is passed",
"in": "query",
"maximum": 200,
"name": "radius",
"required": false,
"type": "integer"
},
{
"default": 20,
"description": "Limit of the result. Default is 20 rows, and maximum is 50.",
"in": "query",
"maximum": 50,
"minimum": 1,
"name": "limit",
"required": false,
"type": "integer"
},
{
"default": 0,
"description": "offset of the result set",
"in": "query",
"minimum": 0,
"name": "offset",
"required": false,
"type": "integer"
},
{
"default": "distance,asc",
"description": "The order you want the result ordered. Default is population while when entering a lat/long, you can order the results by distance from requested lat/long point",
"enum": [
"distance,desc",
"distance,asc",
"population,desc",
"population,asc",
"elevation,desc",
"elevation,asc",
"name,desc",
"name,asc",
"timezone,asc",
"timezone,desc"
],
"in": "query",
"name": "sort",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CitiesResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search all cities from lat/long or countrycode",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "cities"
},
"/cities/findcitiesfromtext": {
"get": {
"description": "Search cities from a string parameters.",
"operationId": "getAutocomplete",
"parameters": [
{
"description": "the string you want to search",
"in": "query",
"minLength": 3,
"name": "q",
"required": true,
"type": "string"
},
{
"description": "the language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"description": "if you want to limit the result to one country",
"in": "query",
"name": "countrycode",
"pattern": "^[A-Za-z]{2}$",
"required": false,
"type": "string"
},
{
"default": "population,desc",
"description": "The order you want the result ordered. Default is population while when entering a lat/long, you can order the results by distance from requested lat/long point",
"enum": [
"population,desc",
"population,asc",
"elevation,desc",
"elevation,asc",
"name,desc",
"name,asc",
"timezone,asc",
"timezone,desc",
"match_score,desc",
"match_score,asc"
],
"in": "query",
"name": "sort",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CitiesResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Retrieve cities informations from a string / build an autocomplete",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "cities"
},
"/cities/significant": {
"get": {
"description": "Search cities according to given criterias. Either lat/long + radius or country code. A limit can be given but cannot exceed 50 results.<br /> A significant city will be defined according to the pourcent of population within a country.",
"operationId": "getSignificantCities",
"parameters": [
{
"description": "the language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"default": 0.5,
"description": "The pourcent of population the cities need to be in order to appear in results",
"in": "query",
"maximum": 5,
"minimum": 0.05,
"name": "pourcent",
"required": false,
"type": "number"
},
{
"description": "if you want to limit the result to one country",
"in": "query",
"name": "countrycode",
"pattern": "^[A-Za-z]{2}$",
"required": false,
"type": "string"
},
{
"description": "The Lat/Long of the location your are seeking cities ( ex. 45.4478988,3.23456)",
"in": "query",
"name": "location",
"pattern": "^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": false,
"type": "string"
},
{
"default": 20,
"description": "Radius in km for a lat/long search. Default is 20km and there is no maximum, but need to be combined with limit. code is passed",
"in": "query",
"maximum": 200,
"name": "radius",
"required": false,
"type": "integer"
},
{
"default": 20,
"description": "Limit of the result. Default is 20 rows, and maximum is 50.",
"in": "query",
"maximum": 50,
"minimum": 1,
"name": "limit",
"required": false,
"type": "integer"
},
{
"default": 0,
"description": "offset of the result set",
"in": "query",
"minimum": 0,
"name": "offset",
"required": false,
"type": "integer"
},
{
"default": "population,desc",
"description": "The order you want the result ordered. Default is population while when entering a lat/long, you can order the results by distance from requested lat/long point",
"enum": [
"distance,desc",
"distance,asc",
"population,desc",
"population,asc",
"elevation,desc",
"elevation,asc",
"name,desc",
"name,asc",
"timezone,asc",
"timezone,desc"
],
"in": "query",
"name": "sort",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CitiesResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search significant cities from lat/long or countrycode",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "cities"
},
"/continents": {
"get": {
"description": "This webservice is providing you the ability to retrieve all informations about continents",
"operationId": "getContinents",
"parameters": [
{
"description": "The language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"description": "The code of the continent you want to retrieve, this parameter is not required if you want ot retrieve all continents at once",
"in": "query",
"name": "continentcode",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ContinentsResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search all continents or one specific continent",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "continents"
},
"/countries": {
"get": {
"description": "This webservice is providing you the ability to retrieve a list of countries matching your search criterias.<br />The 2 mains ways to search use this API are<br />- by countrycode, it will only returns you one country<br />- without the countrycode parameter which will return the full list of countries",
"operationId": "getCountries",
"parameters": [
{
"description": "the language code of the language you want the content to be returned",
"enum": [
"en",
"fr",
"de",
"es"
],
"in": "query",
"name": "language",
"required": true,
"type": "string"
},
{
"description": "The code of the country you want to retrieve",
"in": "query",
"name": "countrycode",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CountriesResponse"
}
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search all countries or one specific country",
"tags": [
"Geography APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "countries"
},
"/distance": {
"get": {
"description": "This webservice is providing you the ability to calculate the distance between 2 lat/long points, it returns you the value in km or miles",
"operationId": "getDistance",
"parameters": [
{
"description": "The location as a latitude / longitude point ( ex. 67.85572,20.22513 ) of location point A",
"in": "query",
"name": "locationA",
"pattern": "^[A-Za-z]{3}$|^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": true,
"type": "string"
},
{
"description": "The location as a latitude / longitude point ( ex. 67.85572,20.22513 ) of location point B",
"in": "query",
"name": "locationB",
"pattern": "^[A-Za-z]{3}$|^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": true,
"type": "string"
},
{
"default": "kms",
"description": "The unit of length you want the elevation returned either meters or feet returned",
"enum": [
"kms",
"miles"
],
"in": "query",
"name": "unit",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/DistanceResponse"
}
},
"403": {
"description": "Forbidden"
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Calculate distance between lats/longs",
"tags": [
"Services APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "elevation"
},
"/elevation": {
"get": {
"description": "This webservice is providing you the ability to retrieve the elevation in meters or feet of ONE or MULTIPLE given latitude/longitude point(s). <br />If you use MULTIPLE lat/long point, the maximum number of point you can send in one request is 256. Be aware that if MULTIPLE mode, the results are de-deplicated if you are sending the same latitude/longitude point multiple times.<br />If your workload is a batch of millions of lat/long point, You will also get better throughput if you send around 100 lat/long points in one request than the maximum. This maximum is mostly allowed for people trying to graph altitudes.",
"operationId": "getElevation",
"parameters": [
{
"default": "67.85572,20.22513",
"description": "The location as a latitude / longitude point ( ex. 67.85572,20.22513 ) or a list of coordinates separated using the pipe ('|') character. The maximum number of coordinates you can send at one time is 20 ( ex. 67.85572,20.22513|27.85572,20.22513 )",
"in": "query",
"name": "locations",
"pattern": "^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)+((\\|\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)){0,256}$",
"required": true,
"type": "string"
},
{
"default": "meters",
"description": "The unit of length you want the elevation returned either meters or feet returned",
"enum": [
"meters",
"feet"
],
"in": "query",
"name": "unit",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ElevationResponse"
}
},
"403": {
"description": "Forbidden"
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search elevation informations from lat/long",
"tags": [
"Services APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "elevation"
},
"/pong": {
"get": {
"description": "Returns a ping. In case you need a health check in your system. Cannot be called /ping as AWS is using this route for their health check. This webservice doesn't have CORS enable, as it's supposed to be call server to server and not from a webpage ( it won't work over the tester)",
"operationId": "getPing",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PongResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"tags": [
"Utilities APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"x-swagger-router-controller": "ping"
},
"/sun_positions": {
"get": {
"description": "This webservice is providing you the ability to retrieve the time of each phases of the sunlight cycle. Sunset, sunrise, sunriseEnd, golden hour, solarNoon, dawn, dusk and more for a given location and date. If the date if not provided, the response provided return informations for today at UTC time.",
"operationId": "getSun",
"parameters": [
{
"description": "Here you can send either a latitude / longitude",
"in": "query",
"name": "location",
"pattern": "^[A-Za-z]{3}$|^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": true,
"type": "string"
},
{
"description": "The date for what you will get the data ( full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 ), if not provided as parameter, today is going to be used",
"format": "date",
"in": "query",
"name": "date",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/SunPositionResponse"
}
},
"403": {
"description": "Forbidden"
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search position of sun from lat/long and date",
"tags": [
"Services APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "sun_moon"
},
"/swagger": {
"x-swagger-pipe": "swagger_raw"
},
"/timezone": {
"get": {
"description": "This webservice is providing you the ability to retrieve the tz database time zones ( https://en.wikipedia.org/wiki/List_of_tz_database_time_zones ) from a given location ( )latitude and longitude or IATA code ). It also returns you the current time at the provided location.",
"operationId": "getTimezone",
"parameters": [
{
"default": "45.8326307,6.8650517",
"description": "Here you can send either a latitude / longitude ( ex. 67.85572,20.22513 ) or a IATA Code ( ex. LHR for London Heathrow)",
"in": "query",
"name": "location",
"pattern": "^[A-Za-z]{3}$|^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/TimezoneResponse"
}
},
"403": {
"description": "Forbidden"
},
"500": {
"description": "The error message object",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"security": [
{
"x-api-key": []
}
],
"summary": "Search timezone and time informations from lat/long",
"tags": [
"Services APIs"
],
"x-amazon-apigateway-integration": {
"httpMethod": "POST",
"type": "aws_proxy",
"uri": "${lambda_handler_invoke_arn}"
}
},
"options": {
"consumes": [
"application/json"
],
"description": "Enable CORS by returning correct headers\n",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Default response for CORS method",
"headers": {
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
}
}
}
},
"summary": "CORS support",
"x-amazon-apigateway-integration": {
"requestTemplates": {
"application/json": "{\n \"statusCode\" : 200\n}\n"
},
"responses": {
"default": {
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseTemplates": {
"application/json": "{}\n"
},
"statusCode": "200"
}
},
"type": "mock"
}
},
"x-swagger-router-controller": "timezone"
}
},
"definitions": {
"AirportsSearchResponse": {
"description": "This section provides response schema of Airport Search Response",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/DataAirportsSearch"
},
"type": "array"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"CitiesData": {
"description": "This is the data object for the response of a Cities APIs calls",
"properties": {
"alternatename": {
"items": {
"description": "Here is a list of alternate name for the city in the requested language",
"type": "string"
},
"type": "array"
},
"asciiname": {
"description": "The ASCII name of the city",
"type": "string"
},
"country": {
"description": "The 2 letter ISO code of the country the city belongs to",
"type": "string"
},
"elevation": {
"description": "The elevation of the city",
"type": "number"
},
"latitude": {
"description": "The latitude considered as central for the city",
"type": "number"
},
"longitude": {
"description": "The longitude considered as central for the city",
"type": "number"
},
"name": {
"description": "The name of the city",
"type": "string"
},
"population": {
"description": "The population of the city",
"type": "number"
},
"timezone": {
"description": "The longitude considered as central for the city",
"type": "string"
}
}
},
"CitiesResponse": {
"description": "This is the main object for the response of a Cities API call",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/CitiesData"
},
"type": "array"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"ContinentData": {
"description": "This is the data object for the response of a Continent API call",
"properties": {
"code": {
"description": "The ISO code of the continent.",
"type": "string"
},
"countries_in": {
"items": {
"description": "Here is a list of country code that belong to the continent",
"type": "string"
},
"type": "array"
},
"latitude": {
"description": "The latitude considered as central for the continent",
"type": "number"
},
"longitude": {
"description": "The longitude considered as central for the continent",
"type": "number"
},
"name": {
"description": "The name of the continent in english",
"type": "string"
},
"name_locale": {
"description": "The name of the continent in the requested languager",
"type": "string"
}
}
},
"ContinentsResponse": {
"description": "This is the main object for the response of a Continent API call",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/ContinentData"
},
"type": "array"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"CountriesData": {
"description": "This is the data object for the response of a Countries API call",
"properties": {
"airportscount": {
"description": "The name of the country in english language",
"type": "number"
},
"alternatename": {
"items": {
"description": "The other given name, nickname of the country, this is as well as in requested language but also foreign languages",
"type": "string"
},
"type": "array"
},
"areainsqkm": {
"description": "The superficy of the country in square km",
"type": "number"
},
"capital": {
"description": "The capital of this country in english language",
"type": "string"
},
"currencycode": {
"description": "The international currency code",
"type": "string"
},
"currencyname": {
"description": "The local name of the currency used in this country",
"type": "string"
},
"fr_article": {
"description": "The name of the country in english language",
"type": "string"
},
"fr_preposition": {
"description": "The name of the country in english language",
"type": "string"
},
"iso_alpha2": {
"description": "The 2 letter ISO code of the country",
"type": "string"
},
"languages": {
"description": "The name of the country in english language",
"type": "string"
},
"latitude": {
"description": "The latitude considered as central for this country",
"type": "number"
},
"longitude": {
"description": "The longitude considered as central for this country",
"type": "number"
},
"name": {
"description": "The name of the country in english language",
"type": "string"
},
"name_locale": {
"description": "The name of the country in the requested language",
"type": "string"
},
"neighbors": {
"items": {
"description": "Here is a list of country code that have territorial border with the this country",
"type": "string"
},
"type": "array"
},
"population": {
"description": "The total population in this country",
"type": "number"
},
"postalcode": {
"description": "The format of the postal codes if multiple format to be applied, then a pipe | is used as separator",
"type": "string"
},
"postalcoderegex": {
"description": "The regex to use to check a postal code for this country",
"type": "string"
},
"tld": {
"description": "The top level domain which is used by the local internet authority.",
"type": "string"
}
}
},
"CountriesResponse": {
"description": "This is the main object for the response of a Countries API call",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/CountriesData"
},
"type": "array"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"DataAirportsSearch": {
"properties": {
"airlineroutescount": {
"type": "integer"
},
"airport_website": {
"type": "string"
},
"altitude": {
"type": "integer"
},
"cityname": {
"type": "string"
},
"countrycode": {
"type": "string"
},
"destinationscount": {
"type": "integer"
},
"distance": {
"description": "only in response when operating a lat/long search",
"type": "string"
},
"iatacode": {
"type": "string"
},
"icao": {
"type": "string"
},
"istopdestination": {
"type": "boolean"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"name": {
"type": "string"
},
"timezone": {
"type": "string"
},
"wikipedia_page": {
"type": "string"
}
}
},
"DistanceResponse": {
"description": "This section provides response schema of pong response",
"properties": {
"count": {
"type": "integer"
},
"data": {
"description": "Here is the distance between latlong A and latlong B, in the requested unit",
"type": "number"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"ElevationData": {
"properties": {
"elevation": {
"type": "integer"
},
"location": {
"type": "string"
},
"unit": {
"type": "string"
}
}
},
"ElevationResponse": {
"description": "This is the main object for the response of a TimezoneRequest",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/ElevationData"
},
"type": "array"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"ErrorResponse": {
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"PongResponse": {
"description": "This section provides response schema of pong response",
"properties": {
"data": {
"description": "Will always return \"pong\"",
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"SunPositionData": {
"description": "This is the data object for the response of a SunPosition API call",
"properties": {
"dawn": {
"description": "Date and time of the dawn at local time of the given location",
"format": "date-time",
"type": "string"
},
"dusk": {
"description": "Date and time of the dusk at local time of the given location",
"format": "date-time",
"type": "string"
},
"goldenHour": {
"description": "Date and time of the golden hour at local time of the given location",
"format": "date-time",
"type": "string"
},
"goldenHourEnd": {
"description": "Date and time of the golden hour end at local time of the given location",
"format": "date-time",
"type": "string"
},
"nadir": {
"description": "Date and time of the nadir at local time of the given location",
"format": "date-time",
"type": "string"
},
"nauticalDawn": {
"description": "Date and time of the nautical dawn at local time of the given location",
"format": "date-time",
"type": "string"
},
"nauticalDusk": {
"description": "Date and time of the nautical dusk at local time of the given location",
"format": "date-time",
"type": "string"
},
"night": {
"description": "Date and time of the night at local time of the given location",
"format": "date-time",
"type": "string"
},
"nightEnd": {
"description": "Date and time of the night end at local time of the given location",
"format": "date-time",
"type": "string"
},
"solarNoon": {
"description": "Date and time of the solar moon at local time of the given location",
"format": "date-time",
"type": "string"
},
"sunrise": {
"description": "Date and time of the sunris at local time of the given location",
"format": "date-time",
"type": "string"
},
"sunriseEnd": {
"description": "Date and time of the sunrise end at local time of the given location",
"format": "date-time",
"type": "string"
},
"sunset": {
"description": "Date and time of the sunset at local time of the given location",
"format": "date-time",
"type": "string"
},
"sunsetStart": {
"description": "Date and time of the sunset start at local time of the given location",
"format": "date-time",
"type": "string"
}
}
},
"SunPositionResponse": {
"description": "This is the main object for the response of a SunPosition API call",
"properties": {
"count": {
"type": "integer"
},
"data": {
"$ref": "#/definitions/SunPositionData",
"type": "object"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
},
"TimezoneResponse": {
"description": "This is the main object for the response of a TimezoneRequest",
"properties": {
"count": {
"type": "integer"
},
"data": {
"properties": {
"time_now": {
"format": "date-time",
"type": "string"
},
"timezone_name": {
"type": "string"
}
},
"type": "object"
},
"message": {
"type": "string"
},
"status": {
"description": "Status of the response",
"type": "string"
}
},
"type": "object"
}
},
"x-amazon-apigateway-api-key-source": "HEADER"
}