TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/samgutentag/bcycle-map/llms.txt
Use this file to discover all available pages before exploring further.
/trips endpoint re-derives inferred bike trips from the R2 parquet station-status archive for any [since, until] window up to 7 days. It mirrors the logic the live poller runs on every tick — reading the station_status partitions, detecting per-station deltas, then applying both conservative (high-confidence) and greedy travel-time–based (low-confidence) trip pairing.
Use this endpoint when the rolling /activity log doesn’t cover the full window you need. For ≤ 24-hour windows where the activity log is sufficient, /activity is significantly cheaper (single R2 JSON read vs. parquet parsing).
Endpoint
Path parameters
The unique system identifier matching a registered network.Example:
bcycle_santabarbaraQuery parameters
Start of the query window as a Unix timestamp in seconds (inclusive).Example:
1747058100End of the query window as a Unix timestamp in seconds (inclusive). Must be greater than
since. The window until - since must not exceed 604 800 seconds (7 days).Example: 1747144500Response
Returns{ trips, since, until } with Cache-Control: max-age=60.
Inferred trips whose
departure_ts falls within [since, until]. Sorted by departure_ts ascending.Echo of the
since query parameter as parsed by the worker.Echo of the
until query parameter as parsed by the worker.Error responses
| Status | Body | Meaning |
|---|---|---|
400 | { "error": "since and until must be unix-second integers" } | One or both params are missing or non-numeric. |
400 | { "error": "until must be greater than since" } | until ≤ since. |
400 | { "error": "window must be <= 604800 seconds (7 days)" } | Window exceeds the 7-day maximum. |
502 | { "error": "failed to read trip archive" } | R2 parquet read or parse failure. |
Example request
Example response
The worker pads the parquet read by 1 hour on each side of the requested window so that trips straddling a partition boundary are still paired correctly. The response is clipped back to exactly
[since, until] before returning, so you will never receive trips outside your requested range.