Trips API
Read-only access to trip metadata. Useful for embedding a trip card on your own site or building a custom dashboard.
All trip endpoints honor visibility:
- Public trips are world-readable.
- Unlisted trips need the share token in the URL path (which is part of the public trip URL anyway).
- Private trips need the password (
?key={password}query param or HTTP Basic auth).
List trips for an org
GET https://app.whereistereza.com/o/{org-slug}/api/t/trips
Returns only public trips by default.
{
"trips": [
{
"id": "abc123",
"slug": "camino-frances",
"name": "Camino Francés 2026",
"start_date": "2026-04-01",
"end_date": "2026-05-15",
"visibility": "public",
"active": true,
"share_url": "https://app.whereistereza.com/o/yourname/abc123/camino-frances"
}
]
}
Trip detail
GET https://app.whereistereza.com/o/{org-slug}/api/t/trips/{trip-id}
{
"id": "abc123",
"slug": "camino-frances",
"name": "Camino Francés 2026",
"description": "From Saint-Jean-Pied-de-Port to Santiago de Compostela.",
"start_date": "2026-04-01",
"end_date": "2026-05-15",
"visibility": "public",
"active": true,
"default_transport_mode": "walking",
"stats": {
"distance_km": 812.3,
"moving_time_seconds": 612000,
"stopped_time_seconds": 84000,
"elevation_gain_m": 14200,
"elevation_loss_m": 13980,
"naismith_equiv_km": 952.1,
"active_days": 32,
"rest_days": 4
},
"share_url": "https://app.whereistereza.com/o/yourname/abc123/camino-frances"
}
Trip daily stats
GET https://app.whereistereza.com/o/{org-slug}/api/t/trips/{trip-id}/daily
{
"days": [
{
"date": "2026-04-01",
"distance_km": 24.6,
"elevation_gain_m": 980,
"elevation_loss_m": 220,
"moving_time_seconds": 23400,
"max_speed_kmh": 5.2,
"transport_modes": ["walking"]
},
"..."
]
}
Errors
401— private trip without password.404— trip doesn't exist or visibility forbids access.
Caching
Trip endpoints serve Cache-Control: public, max-age=10,
stale-while-revalidate=20. Stats are computed on the fly with a 60-
second internal cache, so frequent polling is cheap.
Need help? Contact support · Where Is Tereza?