parks

List Park Sites

Every site in a park, in one call.

The same rows /campgrounds/{id}/sites returns, unioned across the park — for a caller that wants the whole park rather than one campground. The wizard's activity step is the case that motivated it: it counts the sites matching an activity + the refine filters, which meant one request per campground, 78 of them on Deschutes NF, ~15s before Next could enable.

Why that collapses so well: a request costs ~0.18s fixed (warm connection) plus ~1.2ms per site, and the fixed part is the park lookup, the platform resolve and the hot-site batch — work that is IDENTICAL for every campground in the park. Doing it once turns 78 x 0.18s into 1 x 0.18s and leaves only the per-site cost, which the data volume forces either way.

Deliberately NOT frozen by activity or container kind: callers intersect these sites with the campground list from their own versioned campgrounds route (zone_campgrounds maps each zone to its campground), so a campground that route hides stays hidden without this one having to know which freeze applies to which caller.

get/api/v1/parks/{park_id}/sites

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}/sites
  • Auth: none declared

Path parameters

park_idstring required

Query parameters

active_onlyboolean

Only return active sites (and active zones/campgrounds)

Response

Successful Response

totalinteger required
park_idstring required
zone_campgroundsobject

zone_id -> campground_id, for every zone represented

Changes

No recorded changes to this operation across all 1 revision of this API.