TravelAdvisory API (1.0.0)

Download OpenAPI specification:

The TravelAdvisory API provides a tailored platform for assessing travel safety in cities around the world, utilizing a central database to deliver accurate and up-to-date information, with a focus on marginalized travelers.

Destinations

List all destinations

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new destination

Authorizations:
OAuth2
Request Body schema: application/json
required
name
required
string <= 50 characters

The name of the destination.

description
string <= 150 characters

A brief description of the destination.

countryCode
required
string = 2 characters

Alpha-2 code as described in the ISO 3166 international standard.

latitude
required
number <float> [ -90 .. 90 ]

The geographical latitude of the destination.

longitude
required
number <float> [ -180 .. 180 ]

The geographical longitude of the destination.

Responses

Request samples

Content type
application/json
{
  • "name": "Seoul",
  • "description": "Vibrant capital of South Korea, known for its global pop culture and rich cultural heritage.",
  • "countryCode": "KR",
  • "latitude": 37.5665,
  • "longitude": 126.978
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Seoul",
  • "description": "Vibrant capital of South Korea, known for its global pop culture and rich cultural heritage.",
  • "countryCode": "KR",
  • "latitude": 37.5665,
  • "longitude": 126.978,
  • "travelRisks": [
    ],
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Get a single destination by UUID

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Seoul",
  • "description": "Vibrant capital of South Korea, known for its global pop culture and rich cultural heritage.",
  • "countryCode": "KR",
  • "latitude": 37.5665,
  • "longitude": 126.978,
  • "travelRisks": [
    ],
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Update a destination

Authorizations:
OAuth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
name
required
string <= 50 characters

The name of the destination.

description
string <= 150 characters

A brief description of the destination.

countryCode
required
string = 2 characters

Alpha-2 code as described in the ISO 3166 international standard.

latitude
required
number <float> [ -90 .. 90 ]

The geographical latitude of the destination.

longitude
required
number <float> [ -180 .. 180 ]

The geographical longitude of the destination.

Responses

Request samples

Content type
application/json
{
  • "name": "Seoul",
  • "description": "Vibrant capital of South Korea, known for its global pop culture and rich cultural heritage.",
  • "countryCode": "KR",
  • "latitude": 37.5665,
  • "longitude": 126.978
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Seoul",
  • "description": "Vibrant capital of South Korea, known for its global pop culture and rich cultural heritage.",
  • "countryCode": "KR",
  • "latitude": 37.5665,
  • "longitude": 126.978,
  • "travelRisks": [
    ],
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Delete a destination

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses

TravelRisks

List all travel risks

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new travel risk

Authorizations:
OAuth2
Request Body schema: application/json
required
description
required
string <= 150 characters

A brief description of the travel risk.

type
required
string
Enum: "UNSPECIFIED_TYPE" "CRIME" "HEALTH" "ENVIRONMENTAL" "TRANSPORTATION" "CULTURAL" "POLITICAL" "SOCIAL_SITUATION" "ACCOMMODATION" "CYBERSECURITY" "LEGAL" "PERSONAL_SAFETY" "MENTAL_HEALTH"

The type of travel risk.

object (Demographic)

Demographic information relevant to the travel risk.

severity
required
string
Enum: "UNKNOWN" "LOW" "MEDIUM" "HIGH"

The severity level of the travel risk.

likelihood
required
string
Enum: "UNLIKELY" "POSSIBLE" "LIKELY" "CERTAIN"

The likelihood of the travel risk occurring.

sources
Array of strings <uri> [ items <uri > ]

List of source URLs that report the travel risk.

Responses

Request samples

Content type
application/json
{
  • "description": "Limited legal protections and recognition.",
  • "type": "LEGAL",
  • "demographic": {
    },
  • "severity": "HIGH",
  • "likelihood": "POSSIBLE",
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "description": "Limited legal protections and recognition.",
  • "type": "LEGAL",
  • "demographic": {
    },
  • "severity": "HIGH",
  • "likelihood": "POSSIBLE",
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Get a single travel risk by UUID

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "description": "Limited legal protections and recognition.",
  • "type": "LEGAL",
  • "demographic": {
    },
  • "severity": "HIGH",
  • "likelihood": "POSSIBLE",
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Update a travel risk

Authorizations:
OAuth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
description
required
string <= 150 characters

A brief description of the travel risk.

type
required
string
Enum: "UNSPECIFIED_TYPE" "CRIME" "HEALTH" "ENVIRONMENTAL" "TRANSPORTATION" "CULTURAL" "POLITICAL" "SOCIAL_SITUATION" "ACCOMMODATION" "CYBERSECURITY" "LEGAL" "PERSONAL_SAFETY" "MENTAL_HEALTH"

The type of travel risk.

object (Demographic)

Demographic information relevant to the travel risk.

severity
required
string
Enum: "UNKNOWN" "LOW" "MEDIUM" "HIGH"

The severity level of the travel risk.

likelihood
required
string
Enum: "UNLIKELY" "POSSIBLE" "LIKELY" "CERTAIN"

The likelihood of the travel risk occurring.

sources
Array of strings <uri> [ items <uri > ]

List of source URLs that report the travel risk.

Responses

Request samples

Content type
application/json
{
  • "description": "Limited legal protections and recognition.",
  • "type": "LEGAL",
  • "demographic": {
    },
  • "severity": "HIGH",
  • "likelihood": "POSSIBLE",
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "description": "Limited legal protections and recognition.",
  • "type": "LEGAL",
  • "demographic": {
    },
  • "severity": "HIGH",
  • "likelihood": "POSSIBLE",
  • "createdAt": "2025-07-30T12:00:00Z",
  • "updatedAt": "2025-07-30T12:00:00Z"
}

Delete a travel risk

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses

Demographics

List all demographics

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new demographic

Authorizations:
OAuth2
Request Body schema: application/json
required
name
required
string <= 50 characters

Name of the demographic group (e.g., 'Black Women', 'Men of Transgender Experience', 'Openly Queer Couples').

description
string <= 150 characters

Description of the demographic's context and unique needs.

categories
required
Array of strings (DemographicCategory)
Items Enum: "UNSPECIFIED_CATEGORY" "AGE" "BODY_SIZE" "COMPLEXION" "CULTURAL_BACKGROUND" "DISABILITY" "ETHNICITY" "GENDER_IDENTITY" "LANGUAGE" "MARITAL_STATUS" "NATIONALITY" "ORIENTATION" "RELIGION" "SOCIOECONOMIC_STATUS"

List of categories that apply to the demographic.

Responses

Request samples

Content type
application/json
{
  • "name": "Openly Queer Couples",
  • "description": "Couples who openly express their queer identity through their relationship, facing unique societal challenges and discrimination.",
  • "categories": [
    ]
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Openly Queer Couples",
  • "description": "Couples who openly express their queer identity through their relationship, facing unique societal challenges and discrimination.",
  • "categories": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get a single demographic by UUID

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Openly Queer Couples",
  • "description": "Couples who openly express their queer identity through their relationship, facing unique societal challenges and discrimination.",
  • "categories": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a demographic

Authorizations:
OAuth2
path Parameters
uuid
required
string
Request Body schema: application/json
required
name
required
string <= 50 characters

Name of the demographic group (e.g., 'Black Women', 'Men of Transgender Experience', 'Openly Queer Couples').

description
string <= 150 characters

Description of the demographic's context and unique needs.

categories
required
Array of strings (DemographicCategory)
Items Enum: "UNSPECIFIED_CATEGORY" "AGE" "BODY_SIZE" "COMPLEXION" "CULTURAL_BACKGROUND" "DISABILITY" "ETHNICITY" "GENDER_IDENTITY" "LANGUAGE" "MARITAL_STATUS" "NATIONALITY" "ORIENTATION" "RELIGION" "SOCIOECONOMIC_STATUS"

List of categories that apply to the demographic.

Responses

Request samples

Content type
application/json
{
  • "name": "Openly Queer Couples",
  • "description": "Couples who openly express their queer identity through their relationship, facing unique societal challenges and discrimination.",
  • "categories": [
    ]
}

Response samples

Content type
application/json
{
  • "uuid": "b4678922-63de-4472-855c-79fb428ecae9",
  • "name": "Openly Queer Couples",
  • "description": "Couples who openly express their queer identity through their relationship, facing unique societal challenges and discrimination.",
  • "categories": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a demographic

Authorizations:
OAuth2
path Parameters
uuid
required
string

Responses