Overview
Get complete details about a cycling event. This endpoint supports lookup by either:- Event ID (integer):
/events/123/ - Event Alias (string):
/events/culver-city-parks-tour/
Authentication
This endpoint is public and does not require authentication.Path Parameters
Either the numeric event ID (e.g.,
123) or the URL-friendly alias (e.g., "culver-city-parks-tour")Response
Returns a single event object with complete details:Unique event identifier
Event name
URL-friendly alias for the event
Event description
Event emoji icon
Event cover image URL
ISO 8601 datetime (null for leisure routes)
ISO 8601 datetime (null for leisure routes)
Auth0 user ID of the event creator
ISO 8601 datetime when the event was created
ISO 8601 datetime when the event was last updated
Whether the event is currently active
True if the event is currently happening
True if the event hasn’t started yet
True if the event hasn’t ended yet
True if this is a permanent leisure route (no start/end times)
Total number of unique users who completed this event
City name (automatically determined from route start point using PostGIS).NEW: This field is computed from the event’s route geometry by finding the closest city border. Returns
null if the event has no route geometry.Performance: Uses spatial index (GIST) for efficient O(log n) lookups.DEPRECATED: Use the top-level
city field instead. This field will be removed in a future version.Destination information (if event is destination-based)Route information (if event has a route)
Array of category objects with
id, name, and emojiArray of event images with
image_url and created_atWhether the event has an associated discount
Discount information (if available)
Request Examples
By Alias (Recommended)
cURL
JavaScript
Python
By ID
cURL
JavaScript
Python
Response Example
Error Responses
Event Not Found (404)
When looking up by alias:Notes
- Aliases are recommended for creating clean, shareable URLs
- Aliases are unique across all events
- Aliases are auto-generated from event names (URL-friendly format)
- Lookup by ID is supported for backward compatibility
- Both methods return identical response structures
- Works for all events regardless of their status (past, current, or future)