List activities
Query parameters
Return activities for this user ID. Defaults to the authenticated user. Callers requesting another user’s activities must have coach access.
ISO 8601 start date. Only activities on or after this datetime are returned. Example:
2025-01-01T00:00:00Z.ISO 8601 end date. Only activities on or before this datetime are returned.
Filter by activity type. Must be one of:
run, bike, swim, walk, hike, workout.Filter by status. Accepts
completed, scheduled, or skipped. Can be specified multiple times or as a comma-separated list. Defaults to all three.Filter to activities belonging to a specific training plan instance.
Maximum number of activities to return.
Number of activities to skip for pagination.
Set to
raw to return the original Firestore document structure instead of the standardized format.Set to
true to include activity stream data (heart rate, pace, elevation). Adds latency; use only when displaying individual activity details.Set to
true to include image_urls in each activity.Example request
Response
Returns an array of activity objects.Unique identifier for the activity.
ID of the athlete who performed the activity.
Activity status:
completed, scheduled, or skipped.AI-generated coaching summary from Rex. Present for completed activities with distance ≥ 3 km.
Short headline for the AI summary.
Create an activity
user_id supplied in the body.
Request body
Email address of the athlete.
Display name of the athlete.
Object containing the core performance data for the activity.
Title of the activity.
Type of activity. Must be one of:
RUNNING, CYCLING, SWIMMING.Total duration of the activity in seconds. Maximum value:
86400 (24 hours).Total distance covered in meters.
Unix timestamp for when the activity started.
Activity status. One of:
completed, scheduled, cancelled. Defaults to completed.Origin of the activity data. One of:
garmin, strava, apple_watch, manual. Defaults to manual.Unix timestamp (milliseconds) for when the activity was completed.
ISO 8601 date string for the completion date.
Heart rate and pace zone distribution data.
Per-kilometre or per-mile split analysis data.
Encoded polyline and bounding box for the route map.
Example request
Response
Returns201 Created with the new activity object.
ok on success.The created activity in standardized format.
Unique identifier assigned to the new activity.
Get an activity
Path parameters
The unique identifier of the activity to retrieve.
Query parameters
Set to
raw to return the original Firestore document.Set to
true to include stream data (heart rate, pace, elevation charts).Set to
true alongside detail=true to include the full raw data stream.Example request
Response
ok on success.Full activity object including AI summary fields when applicable.
Unique identifier of the activity.
ID of the athlete who owns the activity.
Activity status:
completed, scheduled, or skipped.AI coaching summary. Present for completed activities ≥ 3 km.
Short headline for the AI coaching summary.
Name of the AI coach who generated the summary (e.g.
Rex).Update an activity
Path parameters
The unique identifier of the activity to update.
Request body
Send the same fields as the create endpoint. All fields are optional for updates.Example request
Response
ok on success.The updated activity object.
Delete an activity
Path parameters
The unique identifier of the activity to delete.
Example request
Response
ok on success.Human-readable confirmation, e.g.
Activity deleted successfully.