Skip to main content
GET
/
api
/
routes
/
:slug
Get Route
curl --request GET \
  --url https://api.example.com/api/routes/:slug
{
  "success": true,
  "data": {
    "id": "<string>",
    "name": "<string>",
    "slug": "<string>",
    "image": "<string>",
    "approximateDistance": "<string>",
    "description": "<string>",
    "gpxFileUrl": {},
    "mapEmbedUrl": {},
    "level": [
      {}
    ],
    "averageRating": 123,
    "createdAt": "<string>",
    "updatedAt": "<string>",
    "reviews": [
      {
        "id": "<string>",
        "routeId": "<string>",
        "userId": "<string>",
        "rating": 123,
        "comment": {},
        "createdAt": "<string>",
        "updatedAt": "<string>",
        "user": {
          "id": "<string>",
          "name": {},
          "imageUrl": {}
        }
      }
    ],
    "photos": [
      {
        "id": "<string>",
        "context": "<string>",
        "routeId": "<string>",
        "routeCallId": {},
        "userId": "<string>",
        "imageUrl": "<string>",
        "caption": {},
        "status": "<string>",
        "createdAt": "<string>",
        "updatedAt": "<string>"
      }
    ],
    "reviewsPagination": {
      "page": 123,
      "limit": 123,
      "totalCount": 123,
      "totalPages": 123,
      "hasNextPage": true,
      "hasPreviousPage": true
    },
    "_count": {
      "favorites": 123,
      "routeCalls": 123,
      "reviews": 123,
      "photos": 123
    }
  }
}

Overview

Retrieve comprehensive details about a specific route by its slug, including paginated reviews, photos, and related metadata. Authentication: Not required

Path Parameters

slug
string
required
The unique slug identifier for the route (e.g., “casa-de-campo-loop”)

Query Parameters

reviewsPage
number
default:"1"
Page number for reviews pagination
reviewsLimit
number
default:"20"
Number of reviews per page (max: 100)
photosLimit
number
default:"20"
Number of photos to return (max: 100)

Request

curl "https://api.losinmaduros.com/api/routes/casa-de-campo-loop?reviewsPage=1&reviewsLimit=10&photosLimit=5"

Response

success
boolean
required
Indicates if the request was successful
data
object
required
Detailed route object with nested reviews and photos

Example Response

{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Casa de Campo Loop",
    "slug": "casa-de-campo-loop",
    "image": "https://example.com/routes/casa-de-campo.jpg",
    "approximateDistance": "12 km",
    "description": "A beautiful loop through Casa de Campo park with scenic views and varied terrain. Perfect for beginners and intermediate skaters.",
    "gpxFileUrl": "https://example.com/gpx/casa-de-campo.gpx",
    "mapEmbedUrl": "https://maps.google.com/embed/casa-de-campo",
    "level": ["BEGINNER", "INTERMEDIATE"],
    "averageRating": 4.5,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-02-20T14:22:00.000Z",
    "reviews": [
      {
        "id": "rev-001",
        "routeId": "550e8400-e29b-41d4-a716-446655440000",
        "userId": "user-123",
        "rating": 5,
        "comment": "Amazing route! Great for a weekend morning skate.",
        "createdAt": "2024-02-15T09:30:00.000Z",
        "updatedAt": "2024-02-15T09:30:00.000Z",
        "user": {
          "id": "user-123",
          "name": "Maria Garcia",
          "imageUrl": "https://example.com/users/maria.jpg"
        }
      },
      {
        "id": "rev-002",
        "routeId": "550e8400-e29b-41d4-a716-446655440000",
        "userId": "user-456",
        "rating": 4,
        "comment": "Good route but can be crowded on weekends.",
        "createdAt": "2024-02-10T11:15:00.000Z",
        "updatedAt": "2024-02-10T11:15:00.000Z",
        "user": {
          "id": "user-456",
          "name": "Carlos Lopez",
          "imageUrl": "https://example.com/users/carlos.jpg"
        }
      }
    ],
    "photos": [
      {
        "id": "photo-001",
        "context": "ROUTE_GALLERY",
        "routeId": "550e8400-e29b-41d4-a716-446655440000",
        "routeCallId": null,
        "userId": "user-789",
        "imageUrl": "https://example.com/photos/route-photo-1.jpg",
        "caption": "Beautiful sunset view from the trail",
        "status": "ACTIVE",
        "createdAt": "2024-02-18T18:45:00.000Z",
        "updatedAt": "2024-02-18T18:45:00.000Z"
      }
    ],
    "reviewsPagination": {
      "page": 1,
      "limit": 10,
      "totalCount": 42,
      "totalPages": 5,
      "hasNextPage": true,
      "hasPreviousPage": false
    },
    "_count": {
      "favorites": 127,
      "routeCalls": 18,
      "reviews": 42,
      "photos": 89
    }
  }
}

Error Responses

404 Not Found
Returned when the route with the specified slug does not exist
{
  "success": false,
  "error": "Route not found"
}

Build docs developers (and LLMs) love