Your first request
Ask for one day of Portland’s calendar. Put your key in the X-Api-Key header and a date in the
address.
curl https://biiikes.com/api/metros/pdx/days/2026-10-03 \ -H 'X-Api-Key: bkk_…'const response = await fetch('https://biiikes.com/api/metros/pdx/days/2026-10-03', { headers: { 'X-Api-Key': process.env.BIIIKES_KEY },})const day = await response.json()import os, requests
day = requests.get( "https://biiikes.com/api/metros/pdx/days/2026-10-03", headers={"X-Api-Key": os.environ["BIIIKES_KEY"]},).json()The answer lists each ride that meets that day:
{ "metro": "pdx", "day": "2026-10-03", "nights": [ { "ride": "zdh5pnp", "title": "Forest Park Gravel", "day": "2026-10-03", "meet_time": "09:00", "time_zone": "America/Los_Angeles", "status": "on", "cancellation_reason": null, "past": false, "going_count": 8, "meeting": { "withheld": false, "place_name": "Jamison Square", "neighbourhood": "Pearl District", "neighbourhood_slug": "portland-pearl-district" }, "url": "https://biiikes.com/pdx/forest-park-gravel-zdh5pnp/2026-10-03" } ]}A few things worth knowing:
- Times are local.
meet_timeis the wall-clock time in the metro’stime_zone. - Cancelled rides are listed, with
status: "cancelled"and the reason if the leader gave one. - Some meeting points are private. When
withheldis true, the leader has kept the spot to riders who are going; you get the neighborhood only if they chose to show it. - Nobody is named. Public answers carry how many are going, never who.
To read one ride and all its dates, use its ride id: GET /api/rides/{ride}.