← providers

Access athlete activities, routes, segments, and fitness data from Strava

Endpoints

Call these through the okoro proxy at https://okoro.ai/p/strava

ActionMethodPathMin scope
List activitiesGETread
List clubsGETread
Read athlete zonesGETread
Read athlete profileGETread
Read athlete statsGETread
List athlete routesGETread
Create activityPOSTwrite
Update activityPUTupdate
List activity commentsGETread
List activity kudosGETread
List activity lapsGETread
Get activity streamsGETread
Get activity zonesGETread
Read activityGETread
List club activitiesGETread
List club adminsGETread
List club membersGETread
Read clubGETread
Read gearGETread
Get route streamsGETread
Export routeGETread
Read routeGETread
Explore segmentsGETread
Star segmentPOSTwrite
List segment effortsGETread
List starred segmentsGETread
Get segment streamsGETread
Read segmentGETread
Get segment effort streamsGETread
Read segment effortGETread
Upload activity filePOSTwrite
Check upload statusGETread

Examples

Every request requires a short-lived operation token scoped to a single action.

1. Get an operation token

Exchange your service token for a short-lived operation token scoped to a single action.

TOKEN=$(curl -sX POST "https://okoro.ai/t/tokens" \
  -H "Authorization: Bearer $OKORO_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider": "strava", "scope": "read", "intent": "describe what you are doing"}' \
  | jq -r '.token')

2. Call the API

Use the operation token as a Bearer token. The proxy forwards the request to Strava and logs the action.

List activities
curl -X GET "https://okoro.ai/p/strava/athlete/activities" \
  -H "Authorization: Bearer $TOKEN"
List clubs
curl -X GET "https://okoro.ai/p/strava/athlete/clubs" \
  -H "Authorization: Bearer $TOKEN"
Read athlete zones
curl -X GET "https://okoro.ai/p/strava/athlete/zones" \
  -H "Authorization: Bearer $TOKEN"
Read athlete profile
curl -X GET "https://okoro.ai/p/strava/athlete" \
  -H "Authorization: Bearer $TOKEN"
Read athlete stats
curl -X GET "https://okoro.ai/p/strava/athletes/{id}/stats" \
  -H "Authorization: Bearer $TOKEN"
List athlete routes
curl -X GET "https://okoro.ai/p/strava/athletes/{id}/routes" \
  -H "Authorization: Bearer $TOKEN"
Create activity
curl -X POST "https://okoro.ai/p/strava/activities" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update activity
curl -X PUT "https://okoro.ai/p/strava/activities/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
List activity comments
curl -X GET "https://okoro.ai/p/strava/activities/{id}/comments" \
  -H "Authorization: Bearer $TOKEN"
List activity kudos
curl -X GET "https://okoro.ai/p/strava/activities/{id}/kudos" \
  -H "Authorization: Bearer $TOKEN"
List activity laps
curl -X GET "https://okoro.ai/p/strava/activities/{id}/laps" \
  -H "Authorization: Bearer $TOKEN"
Get activity streams
curl -X GET "https://okoro.ai/p/strava/activities/{id}/streams" \
  -H "Authorization: Bearer $TOKEN"
Get activity zones
curl -X GET "https://okoro.ai/p/strava/activities/{id}/zones" \
  -H "Authorization: Bearer $TOKEN"
Read activity
curl -X GET "https://okoro.ai/p/strava/activities/{id}" \
  -H "Authorization: Bearer $TOKEN"
List club activities
curl -X GET "https://okoro.ai/p/strava/clubs/{id}/activities" \
  -H "Authorization: Bearer $TOKEN"
List club admins
curl -X GET "https://okoro.ai/p/strava/clubs/{id}/admins" \
  -H "Authorization: Bearer $TOKEN"
List club members
curl -X GET "https://okoro.ai/p/strava/clubs/{id}/members" \
  -H "Authorization: Bearer $TOKEN"
Read club
curl -X GET "https://okoro.ai/p/strava/clubs/{id}" \
  -H "Authorization: Bearer $TOKEN"
Read gear
curl -X GET "https://okoro.ai/p/strava/gears/{id}" \
  -H "Authorization: Bearer $TOKEN"
Get route streams
curl -X GET "https://okoro.ai/p/strava/routes/{id}/streams" \
  -H "Authorization: Bearer $TOKEN"
Export route
curl -X GET "https://okoro.ai/p/strava/routes/{id}/{id}" \
  -H "Authorization: Bearer $TOKEN"
Read route
curl -X GET "https://okoro.ai/p/strava/routes/{id}" \
  -H "Authorization: Bearer $TOKEN"
Explore segments
curl -X GET "https://okoro.ai/p/strava/segments/explore" \
  -H "Authorization: Bearer $TOKEN"
Star segment
curl -X POST "https://okoro.ai/p/strava/segments/{id}/starred" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
List segment efforts
curl -X GET "https://okoro.ai/p/strava/segments/{id}/efforts" \
  -H "Authorization: Bearer $TOKEN"
List starred segments
curl -X GET "https://okoro.ai/p/strava/segments/{id}/starred" \
  -H "Authorization: Bearer $TOKEN"
Get segment streams
curl -X GET "https://okoro.ai/p/strava/segments/{id}/streams" \
  -H "Authorization: Bearer $TOKEN"
Read segment
curl -X GET "https://okoro.ai/p/strava/segments/{id}" \
  -H "Authorization: Bearer $TOKEN"
Get segment effort streams
curl -X GET "https://okoro.ai/p/strava/segment-efforts/{id}/streams" \
  -H "Authorization: Bearer $TOKEN"
Read segment effort
curl -X GET "https://okoro.ai/p/strava/segment-efforts/{id}" \
  -H "Authorization: Bearer $TOKEN"
Upload activity file
curl -X POST "https://okoro.ai/p/strava/uploads" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Check upload status
curl -X GET "https://okoro.ai/p/strava/uploads/{id}" \
  -H "Authorization: Bearer $TOKEN"

Scopes

Your service token must be configured with at least the required scope level.

read
GET
/athlete /athlete/* /athletes/*/* /activities/* /activities/*/* /clubs/* /clubs/*/* /gears/* /routes/* /routes/*/* /segments/explore /segments/* /segments/*/* /segment-efforts/* /segment-efforts/*/* /uploads/*
write
GET POST
/athlete /athlete/* /athletes/*/* /activities /activities/* /activities/*/* /clubs/* /clubs/*/* /gears/* /routes/* /routes/*/* /segments/explore /segments/* /segments/*/* /segment-efforts/* /segment-efforts/*/* /uploads /uploads/*
update
GET POST PUT
/athlete /athlete/* /athletes/*/* /activities /activities/* /activities/*/* /clubs/* /clubs/*/* /gears/* /routes/* /routes/*/* /segments/explore /segments/* /segments/*/* /segment-efforts/* /segment-efforts/*/* /uploads /uploads/*
delete
GET POST PUT PATCH DELETE
/athlete /athlete/* /athletes/*/* /activities /activities/* /activities/*/* /clubs/* /clubs/*/* /gears/* /routes/* /routes/*/* /segments/explore /segments/* /segments/*/* /segment-efforts/* /segment-efforts/*/* /uploads /uploads/*
all
GET POST PUT PATCH DELETE
/**