---
title: "List Curated Routes"
method: GET
path: "/api/v1/itinerary-routes"
tags: ["itineraries"]
---

# List Curated Routes

`GET /api/v1/itinerary-routes`

## Request

- Base URL: `https://api.alert.camp` (the document declares no server; this is the origin it was published from)
- URL: `https://api.alert.camp/api/v1/itinerary-routes`
- Auth: none declared

Curated routes for a park, ordered for display.

Returns an EMPTY list rather than 404 when a park has no curated routes —
that is the normal state for most parks, and the wizard should fall through
to "customize your own" instead of showing an error.

``pets_only`` filters here rather than client-side because a route is only
offerable when EVERY night passes: showing one whose night 3 forbids dogs
would create an alert that either fires on a zone the user excluded, or —
if the matcher honoured the filter — could never fire at all.

## Query parameters

- `park_id` string, required
- `pets_only` boolean: Hide routes containing a zone that is not pet-friendly. Applies the SAME rule as every other surface: unknown counts as no.

## Headers

- `authorization` string, nullable
- `x-dev-user-id` string, nullable
- `x-app-version` string, nullable

## Response `200`

Successful Response

- RouteCatalogResponse
  - `park_id` string, required
  - `trails` TrailSummary[]
    - `trail_key` string, required
    - `name` string, required
    - `distance_km` integer, nullable
    - `variants` RouteSummary[]
      - `id` string, required
      - `park_id` string, required
      - `name` string, required
      - `nights` integer, required
      - `trail_key` string, nullable
      - `variant_label` string, nullable
      - `distance_km` integer, nullable
      - `trip_type` string, nullable
      - `map_id` string, nullable
      - `night_rows` RouteNightSummary[]
        - `night_index` integer, required
        - `campground_id` string, required
        - `site_ids` string[], required
        - `site_names` string[]
        - `map_id` string, nullable
        - `site_map_x` integer[]
        - `site_map_y` integer[]
        - `site_lat` number[]
        - `site_lng` number[]
  - `total` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/alert/apis/alertcamp.md) · [All operations](https://skmtc.dev/alert/apis/alertcamp/llms.txt) · [OpenAPI document](https://skmtc.dev/alert/apis/alertcamp/revisions/864c8c9ef833?raw)
