Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jparra-amell/api_solsql/llms.txt

Use this file to discover all available pages before exploring further.

Three read-only endpoints let you explore the places catalog beyond simple ID lookups. Use info_rapida for fast bulk listings, buscar for keyword-driven search, and {id}/detalle when you need the full profile of a single place — optionally enriched with a specific user’s favorites and reactions.

GET /api/Places/info_rapida

Returns a lightweight summary for every place in the database. This endpoint calls the pa_obtener_info_general_lugares stored procedure and returns an array of vw_general_lugar objects, which are optimized for listing views and map interfaces.
curl -X GET https://your-api-host/api/Places/info_rapida

Response

An array of objects with the following fields:
place_id
integer
Unique identifier for the place.
name
string
Display name of the place.
description
string
Short text description of the place.
address
string
Street or postal address.
opening_hours
string
Opening hours as a free-form string.
tipo_lugar
string
Human-readable label for the place type.
ciudad
string
Name of the city where the place is located.
url_foto
string
URL of the place’s primary photo, if available.
Example response
[
  {
    "place_id": 1,
    "name": "Museo del Oro",
    "description": "World-renowned gold museum in Bogotá.",
    "address": "Cra. 6 #15-88, Bogotá",
    "opening_hours": "Tue–Sat 9 am–6 pm, Sun 10 am–4 pm",
    "tipo_lugar": "Museo",
    "ciudad": "Bogotá",
    "url_foto": "https://cdn.example.com/photos/museo-del-oro.jpg"
  }
]

Error codes

CodeMeaning
500Internal server error while retrieving place summaries.

GET /api/Places/buscar

Searches places by a keyword term. The query calls the pa_buscar_lugares stored procedure and returns an array of vw_general_lugar objects that match the search term.

Query parameters

busqueda
string
required
The search keyword or phrase. The endpoint returns a 400 error if this parameter is missing or blank.
curl -X GET "https://your-api-host/api/Places/buscar?busqueda=museo"

Response

An array of vw_general_lugar objects matching the search term. The fields are identical to those described for GET /api/Places/info_rapida. Example response
[
  {
    "place_id": 1,
    "name": "Museo del Oro",
    "description": "World-renowned gold museum in Bogotá.",
    "address": "Cra. 6 #15-88, Bogotá",
    "opening_hours": "Tue–Sat 9 am–6 pm, Sun 10 am–4 pm",
    "tipo_lugar": "Museo",
    "ciudad": "Bogotá",
    "url_foto": "https://cdn.example.com/photos/museo-del-oro.jpg"
  }
]

Error codes

CodeMeaning
400The busqueda parameter is missing or empty.
500Internal server error while executing the search.

GET /api/Places/{id}/detalle

Returns the full detail profile for a single place. This endpoint calls the pa_detalle_lugar_interaccion_usuario stored procedure, which can optionally include data about whether a specific user has favorited the place or left a reaction.

Path parameters

id
integer
required
The numeric ID of the place whose detail you want to retrieve.

Query parameters

userId
integer
The numeric ID of the authenticated user. When provided, the response includes that user’s interaction state for the place — whether they have marked it as a favorite and which reaction type (if any) they have applied.
The userId parameter is optional. You can call this endpoint without it to retrieve the full place profile with no user-specific data. Pass userId only when you need to render personalized UI elements such as a filled heart icon or a displayed reaction.
# Without user context
curl -X GET https://your-api-host/api/Places/7/detalle

# With user context
curl -X GET "https://your-api-host/api/Places/7/detalle?userId=3"

Response

A single PlaceDetail object with the following fields:
place_id
integer
Unique identifier for the place.
name
string
Display name of the place.
description
string
Text description of the place.
address
string
Street or postal address.
opening_hours
string
Opening hours as a free-form string.
fees
string
Admission or usage fees.
coordinates
string
Geographic coordinates (e.g. "4.7110,-74.0721").
contact_phone
string
Contact phone number.
contact_email
string
Contact email address.
social_media
string
Social media handle or URL.
tipo_lugar
string
Human-readable label for the place type.
ciudad
string
Name of the city where the place is located.
es_favorito
integer
Whether the requesting user has favorited this place. 1 = yes, 0 = no. null when no userId was supplied.
tipo_reaccion
string
The reaction type the requesting user has applied to this place (e.g. "me gusta", "interesante"). null if the user has not reacted or no userId was supplied.
Example response
{
  "place_id": 7,
  "name": "Parque El Virrey",
  "description": "Urban park in Bogotá",
  "address": "Calle 88, Bogotá",
  "opening_hours": "Daily 6 am–8 pm",
  "fees": "Free",
  "coordinates": "4.6780,-74.0491",
  "contact_phone": "+57 1 123 4567",
  "contact_email": "[email protected]",
  "social_media": "@parqueelvirrey",
  "tipo_lugar": "Parque",
  "ciudad": "Bogotá",
  "es_favorito": 1,
  "tipo_reaccion": "me gusta"
}

Error codes

CodeMeaning
404No place found with the given ID.
500Internal server error while retrieving the place detail.

Build docs developers (and LLMs) love