---
title: "Get Park Trails"
method: GET
path: "/api/v1/parks/{park_id}/trails"
tags: ["parks"]
---

# Get Park Trails

`GET /api/v1/parks/{park_id}/trails`

## 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/parks/{park_id}/trails`
- Auth: none declared

The park's simplified trail network, as GeoJSON.

Drawn UNDER a route's night pins so the trip can be read against the
trails it walks. The basemap renders OSM trails, which thin out in exactly
the backcountry these routes cross, leaving pins on blank green.

Returns 404 rather than an empty collection when a park has no trails —
that is the normal state for most parks, and the client should draw
nothing rather than an empty layer. Harvested and simplified offline (see
``backfill_park_trails``), so this hands over stored bytes without
touching the geometry.

Unauthenticated and heavily cacheable: it is static public-domain
geography, identical for every user, and the client caches it per park
rather than refetching per route.

## Path parameters

- `park_id` string, required

## Response `200`

Successful Response

- unknown

## 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)
