Safe Place icon

Safe Place

Before using this API, we recommend you read our Authorization Guide(https://developers

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "test.api.amadeus.com",
  "basePath": "/v1",
  "info": {
    "description": "\nBefore 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. \n  \nPlease also be aware that our test environment is based on a subset of the production, this API in test only returns a few selected cities. You can find the list in our **[data collection](https://github.com/amadeus4dev/data-collection)**.",
    "title": "Safe Place",
    "version": "1.0.0",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_amadeus.com_images_en_technology_mobile-tablet_mobile-woman-office-city.jpg.transform_medium_img.jpg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/amadeus4dev/amadeus-open-api-specification/main/spec/json/SafePlaceAPI_v1_swagger_specification.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "amadeus.com",
    "x-release-note": {
      "1.0": [
        "Initial Version"
      ]
    },
    "x-serviceName": "amadeus-safe-place-",
    "x-status": "validated",
    "x-tags": [
      "#ama-for-dev"
    ]
  },
  "consumes": [
    "application/vnd.amadeus+json"
  ],
  "produces": [
    "application/vnd.amadeus+json"
  ],
  "parameters": {
    "pageLimit": {
      "default": 10,
      "description": "maximum items in one page",
      "in": "query",
      "name": "page[limit]",
      "required": false,
      "type": "integer"
    },
    "pageOffset": {
      "default": 0,
      "description": "start index of the requested page",
      "in": "query",
      "name": "page[offset]",
      "required": false,
      "type": "integer"
    },
    "safety-rated-locationId": {
      "description": "identifier of the location",
      "in": "path",
      "name": "safety-rated-locationId",
      "required": true,
      "type": "string",
      "x-example": "Q930402719"
    }
  },
  "responses": {
    "400": {
      "description": "code    | title                                 \n------- | ------------------------------------- \n477     | INVALID FORMAT\n572     | INVALID OPTION\n4926    | INVALID DATA RECEIVED               \n32171   | MANDATORY DATA MISSING \t     \n",
      "schema": {
        "$ref": "#/definitions/Error_400"
      }
    },
    "404": {
      "description": "Not Found",
      "schema": {
        "$ref": "#/definitions/Error_404"
      }
    },
    "500": {
      "description": "Unexpected Error",
      "schema": {
        "$ref": "#/definitions/Error_500"
      }
    },
    "safety-rated-location": {
      "description": "Successful Operation",
      "schema": {
        "example": {
          "data": [
            {
              "geoCode": {
                "latitude": 41.385064,
                "longitude": 2.173404
              },
              "id": "Q930402719",
              "name": "Barcelona",
              "safetyScores": {
                "lgbtq": 39,
                "medical": 0,
                "overall": 45,
                "physicalHarm": 36,
                "politicalFreedom": 50,
                "theft": 44,
                "women": 34
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402719"
              },
              "subType": "CITY",
              "type": "safety-rated-location"
            }
          ],
          "meta": {
            "links": {
              "self": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402719"
            }
          }
        },
        "properties": {
          "data": {
            "$ref": "#/definitions/SafetyRatedLocation"
          },
          "meta": {
            "$ref": "#/definitions/Collection_Meta"
          },
          "warnings": {
            "items": {
              "$ref": "#/definitions/Issue"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "title": "Success"
      }
    },
    "safety-rated-locations": {
      "description": "Successful Operation",
      "schema": {
        "example": {
          "data": [
            {
              "geoCode": {
                "latitude": 41.385064,
                "longitude": 2.173404
              },
              "id": "Q930402719",
              "name": "Barcelona",
              "safetyScores": {
                "lgbtq": 39,
                "medical": 0,
                "overall": 45,
                "physicalHarm": 36,
                "politicalFreedom": 50,
                "theft": 44,
                "women": 34
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402719"
              },
              "subType": "CITY",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.3885573,
                "longitude": 2.1573033
              },
              "id": "Q930402720",
              "name": "Antiga Esquerra de l'Eixample (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 44,
                "physicalHarm": 34,
                "politicalFreedom": 50,
                "theft": 42,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402720"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.412131,
                "longitude": 2.1683571
              },
              "id": "Q930402721",
              "name": "Baix Guinardó (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 44,
                "physicalHarm": 34,
                "politicalFreedom": 50,
                "theft": 42,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402721"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.380894,
                "longitude": 2.189385
              },
              "id": "Q930402722",
              "name": "Barceloneta (Barcelona)",
              "safetyScores": {
                "lgbtq": 42,
                "medical": 0,
                "overall": 47,
                "physicalHarm": 39,
                "politicalFreedom": 50,
                "theft": 49,
                "women": 34
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402722"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.4172284,
                "longitude": 2.163444
              },
              "id": "Q930402724",
              "name": "Can Baró (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 44,
                "physicalHarm": 34,
                "politicalFreedom": 50,
                "theft": 42,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402724"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.384728,
                "longitude": 2.18286
              },
              "id": "Q930402731",
              "name": "El Born (Barcelona)",
              "safetyScores": {
                "lgbtq": 42,
                "medical": 0,
                "overall": 47,
                "physicalHarm": 39,
                "politicalFreedom": 50,
                "theft": 49,
                "women": 34
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402731"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.4118532,
                "longitude": 2.1830997
              },
              "id": "Q930402732",
              "name": "El Camp de l'Arpa del Clot (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 45,
                "physicalHarm": 35,
                "politicalFreedom": 50,
                "theft": 43,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402732"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.4046685,
                "longitude": 2.1659005
              },
              "id": "Q930402733",
              "name": "El Camp d'en Grassot i Gràcia Nova (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 44,
                "physicalHarm": 34,
                "politicalFreedom": 50,
                "theft": 42,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402733"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.422371,
                "longitude": 2.1560753
              },
              "id": "Q930402734",
              "name": "El Carmel (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 44,
                "physicalHarm": 34,
                "politicalFreedom": 50,
                "theft": 42,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402734"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            },
            {
              "geoCode": {
                "latitude": 41.4097037,
                "longitude": 2.1892366
              },
              "id": "Q930402735",
              "name": "El Clot (Barcelona)",
              "safetyScores": {
                "lgbtq": 37,
                "medical": 0,
                "overall": 45,
                "physicalHarm": 35,
                "politicalFreedom": 50,
                "theft": 43,
                "women": 33
              },
              "self": {
                "methods": [
                  "GET"
                ],
                "type": "https://test.api.amadeus.com/v1/safety/safety-rated-locations/Q930402735"
              },
              "subType": "DISTRICT",
              "type": "safety-rated-location"
            }
          ],
          "meta": {
            "count": 43,
            "links": {
              "first": "https://test.api.amadeus.com/v1/safety/safety-rated-locations?latitude=41.397158&longitude=2.160873&page%5Boffset%5D=0&radius=2",
              "last": "https://test.api.amadeus.com/v1/safety/safety-rated-locations?latitude=41.397158&longitude=2.160873&page%5Boffset%5D=4&radius=2",
              "next": "https://test.api.amadeus.com/v1/safety/safety-rated-locations?latitude=41.397158&longitude=2.160873&page%5Boffset%5D=1&radius=2",
              "self": "https://test.api.amadeus.com/v1/safety/safety-rated-locations?latitude=41.397158&longitude=2.160873&radius=2"
            }
          }
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/definitions/SafetyRatedLocation"
            },
            "type": "array"
          },
          "meta": {
            "$ref": "#/definitions/Collection_Meta"
          },
          "warnings": {
            "items": {
              "$ref": "#/definitions/Issue"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "title": "Success"
      }
    }
  },
  "paths": {
    "/safety/safety-rated-locations": {
      "get": {
        "description": "",
        "operationId": "getSafetyRanking",
        "parameters": [
          {
            "description": "Latitude (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "latitude",
            "required": true,
            "type": "number",
            "x-example": 41.397158
          },
          {
            "description": "Longitude (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "longitude",
            "required": true,
            "type": "number",
            "x-example": 2.160873
          },
          {
            "default": 1,
            "description": "radius of the search in Kilometer. Can be from 0 to 20, default value is 1 Km.",
            "in": "query",
            "maximum": 20,
            "minimum": 0,
            "name": "radius",
            "required": false,
            "type": "integer"
          },
          {
            "$ref": "#/parameters/pageLimit"
          },
          {
            "$ref": "#/parameters/pageOffset"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/safety-rated-locations"
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "default": {
            "$ref": "#/responses/500"
          }
        },
        "summary": "Returns safety rating for a given location and radius.",
        "tags": [
          "Search"
        ]
      }
    },
    "/safety/safety-rated-locations/by-square": {
      "get": {
        "description": "",
        "operationId": "getSafetyRankBySquare",
        "parameters": [
          {
            "description": "Latitude north of bounding box (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "north",
            "required": true,
            "type": "number",
            "x-example": 41.397158
          },
          {
            "description": "Longitude west of bounding box (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "west",
            "required": true,
            "type": "number",
            "x-example": 2.160873
          },
          {
            "description": "Latitude south of bounding box (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "south",
            "required": true,
            "type": "number",
            "x-example": 41.394582
          },
          {
            "description": "Longitude east of bounding box (decimal coordinates)",
            "format": "double",
            "in": "query",
            "name": "east",
            "required": true,
            "type": "number",
            "x-example": 2.177181
          },
          {
            "$ref": "#/parameters/pageLimit"
          },
          {
            "$ref": "#/parameters/pageOffset"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/safety-rated-locations"
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "default": {
            "$ref": "#/responses/500"
          }
        },
        "summary": "Returns the safety rating of a given area",
        "tags": [
          "Search"
        ]
      }
    },
    "/safety/safety-rated-locations/{safety-rated-locationId}": {
      "get": {
        "description": "",
        "operationId": "getLocationSafetyRanking",
        "responses": {
          "200": {
            "$ref": "#/responses/safety-rated-location"
          },
          "400": {
            "$ref": "#/responses/400"
          },
          "404": {
            "$ref": "#/responses/404"
          },
          "default": {
            "$ref": "#/responses/500"
          }
        },
        "summary": "Retieve safety information of a location by its Id.",
        "tags": [
          "Retrieve"
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/safety-rated-locationId"
        }
      ]
    }
  },
  "definitions": {
    "Collection_Meta": {
      "properties": {
        "count": {
          "example": 1,
          "type": "integer"
        },
        "links": {
          "example": {
            "self": "https://test.api.amadeus.com/v1/area/resources?param=value"
          },
          "properties": {
            "first": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            },
            "last": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            },
            "next": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            },
            "previous": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            },
            "self": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            },
            "up": {
              "example": "https://test.api.amadeus.com/v1/area/resources?...",
              "format": "uri",
              "type": "string"
            }
          },
          "title": "CollectionLinks"
        }
      },
      "title": "Collection_Meta"
    },
    "Error_400": {
      "example": {
        "errors": [
          {
            "code": 477,
            "detail": "invalid query parameter format",
            "source": {
              "example": "CDG",
              "parameter": "airport"
            },
            "status": 400,
            "title": "INVALID FORMAT"
          }
        ]
      },
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/Issue"
          },
          "type": "array"
        }
      },
      "required": [
        "errors"
      ]
    },
    "Error_404": {
      "example": {
        "errors": [
          {
            "code": 1797,
            "detail": "no response found for this query parameter",
            "source": {
              "parameter": "airport"
            },
            "status": 404,
            "title": "NOT FOUND"
          }
        ]
      },
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/Issue"
          },
          "type": "array"
        }
      },
      "required": [
        "errors"
      ]
    },
    "Error_500": {
      "example": {
        "errors": [
          {
            "code": 141,
            "status": 500,
            "title": "SYSTEM ERROR HAS OCCURRED"
          }
        ]
      },
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/Issue"
          },
          "type": "array"
        }
      },
      "required": [
        "errors"
      ]
    },
    "GeoCode": {
      "properties": {
        "latitude": {
          "description": "latitude of the location",
          "example": 43.580418,
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "description": "longitude of the location",
          "example": 7.125102,
          "format": "double",
          "type": "number"
        }
      }
    },
    "Issue": {
      "properties": {
        "code": {
          "description": "an application-specific error code",
          "format": "int64",
          "type": "integer"
        },
        "detail": {
          "description": "explanation of the error",
          "type": "string"
        },
        "source": {
          "description": "an object containing references to the source of the error",
          "maxProperties": 1,
          "properties": {
            "example": {
              "description": "a string indicating an example of the right value",
              "type": "string"
            },
            "parameter": {
              "description": "a string indicating which URI query parameter caused the issue",
              "type": "string"
            },
            "pointer": {
              "description": "a JSON Pointer [RFC6901] to the associated entity in the request document",
              "type": "string"
            }
          },
          "title": "Issue_Source",
          "type": "object"
        },
        "status": {
          "description": "the HTTP status code applicable to this error",
          "type": "integer"
        },
        "title": {
          "description": "a short summary of the error",
          "type": "string"
        }
      }
    },
    "Links": {
      "example": {
        "href": "string"
      },
      "properties": {
        "count": {
          "type": "integer"
        },
        "href": {
          "format": "uri",
          "type": "string"
        },
        "methods": {
          "items": {
            "enum": [
              "GET",
              "PUT",
              "DELETE",
              "POST",
              "PATCH"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "href"
      ]
    },
    "Location": {
      "properties": {
        "geoCode": {
          "$ref": "#/definitions/GeoCode"
        },
        "id": {
          "description": "id of the ressource",
          "type": "string"
        },
        "name": {
          "description": "short name of the location",
          "example": "Paris CDG",
          "type": "string"
        },
        "self": {
          "$ref": "#/definitions/Links"
        },
        "subType": {
          "description": "location sub type",
          "enum": [
            "AIRPORT",
            "CITY",
            "POINT_OF_INTEREST",
            "DISTRICT"
          ],
          "example": "AIRPORT",
          "type": "string"
        },
        "type": {
          "description": "the resource name",
          "example": "location",
          "type": "string"
        }
      }
    },
    "SafetyRatedLocation": {
      "allOf": [
        {
          "properties": {
            "safetyScore": {
              "$ref": "#/definitions/SafetyScore"
            }
          },
          "type": "object"
        },
        {
          "$ref": "#/definitions/Location"
        }
      ],
      "title": "SafetyRatedLocation",
      "type": "object"
    },
    "SafetyScore": {
      "properties": {
        "lgbtq": {
          "description": "Likelihood of harm or discrimination against LGBTQ persons or groups and level of caution required at location. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        },
        "medical": {
          "description": "Likelihood of illness or disease, assessment of water and air quality, and access to reliable medical care. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        },
        "overall": {
          "description": "An average of the 6 “sub”-categories. Score go from 1 (very safe) to 100 (very dangerous).",
          "type": "integer"
        },
        "physicalHarm": {
          "description": "Likelihood of injury due to harmful intent. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        },
        "politicalFreedom": {
          "description": "Potential for infringement of political rights or political unrest. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        },
        "theft": {
          "description": "Likelihood of theft. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        },
        "women": {
          "description": "Likelihood of inappropriate behavior against females. Score go from 1 (not likely) to 100 (very likely).",
          "type": "integer"
        }
      }
    }
  },
  "x-generatedAt": "2020-07-20T14:39:03.265Z"
}