Skip to main content

Interests API

The Interests API provides access to interest categories that tourists can select to customize their profiles and improve tour matching. Interests represent tourist preferences such as adventure, culture, gastronomy, history, and more.

Base Endpoint

/api/interests

Interest Model

interestId
integer
required
Unique identifier for the interest category
name
string
required
Name of the interest category (e.g., “Adventure”, “Culture”, “Gastronomy”)

Create Interest

Create a new interest category.
POST /api/interests

Request Body

name
string
required
Name of the interest category

Example Request

curl -X POST "http://localhost:8080/api/interests" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Adventure"
  }'

Example Response

{
  "interestId": 1,
  "name": "Adventure"
}

Get All Interests

Retrieve all available interest categories.
GET /api/interests

Example Request

curl -X GET "http://localhost:8080/api/interests"

Example Response

[
  {
    "interestId": 1,
    "name": "Adventure"
  },
  {
    "interestId": 2,
    "name": "Culture"
  },
  {
    "interestId": 3,
    "name": "Gastronomy"
  },
  {
    "interestId": 4,
    "name": "History"
  },
  {
    "interestId": 5,
    "name": "Nature"
  }
]

Get Interest by ID

Retrieve a specific interest category by ID.
GET /api/interests/{id}

Path Parameters

id
integer
required
Interest category ID

Example Request

curl -X GET "http://localhost:8080/api/interests/1"

Example Response

{
  "interestId": 1,
  "name": "Adventure"
}

Update Interest

Update an existing interest category.
PUT /api/interests/{id}

Path Parameters

id
integer
required
Interest category ID

Request Body

name
string
required
Updated name of the interest category

Example Request

curl -X PUT "http://localhost:8080/api/interests/1" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Extreme Adventure"
  }'

Example Response

{
  "interestId": 1,
  "name": "Extreme Adventure"
}

Delete Interest

Delete an interest category by ID.
DELETE /api/interests/{id}

Path Parameters

id
integer
required
Interest category ID

Example Request

curl -X DELETE "http://localhost:8080/api/interests/1"

Example Response

204 No Content

Common Interest Categories

Here are typical interest categories used in the Kin Conecta platform:
InterestDescription
AdventureOutdoor activities, adrenaline sports, exploration
CultureMuseums, art galleries, cultural events
GastronomyFood tours, cooking classes, local cuisine
HistoryArchaeological sites, historical landmarks, heritage
NatureParks, wildlife, ecological tours
PhotographyScenic spots, photo tours, landscape photography
ArchaeologyAncient ruins, archaeological sites, Mayan/Aztec culture
BeachCoastal activities, water sports, beach relaxation
UrbanCity tours, street art, urban exploration
WellnessSpa, yoga, meditation, wellness retreats

Tourist Profiles

Manage tourist profiles that use interests

Tourist Profile Interests

Associate interests with tourist profiles

Build docs developers (and LLMs) love