generated: '2026-07-15' method: generated source: openapi/strava-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 22 by_action_class: connected: 19 acting: 3 by_consequence: read: 19 write: 3 human_in_the_loop_required: 0 operations: - path: /athlete method: get operationId: getLoggedInAthlete x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /athlete method: put operationId: updateLoggedInAthlete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /athlete/zones method: get operationId: getLoggedInAthleteZones x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /athletes/{id}/stats method: get operationId: getAthleteStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities method: post operationId: createActivity x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /activities/{id} method: get operationId: getActivityById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities/{id} method: put operationId: updateActivityById x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /athlete/activities method: get operationId: getLoggedInAthleteActivities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities/{id}/laps method: get operationId: getLapsByActivityId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities/{id}/comments method: get operationId: getCommentsByActivityId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities/{id}/kudos method: get operationId: getKudoersByActivityId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /activities/{id}/streams method: get operationId: getActivityStreams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /segments/{id} method: get operationId: getSegmentById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /segments/starred method: get operationId: getLoggedInAthleteStarredSegments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /segments/{id}/leaderboard method: get operationId: getLeaderboardBySegmentId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /segment_efforts/{id} method: get operationId: getSegmentEffortById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /athlete/routes method: get operationId: getRoutesByAthleteId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /routes/{id} method: get operationId: getRouteById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /clubs/{id} method: get operationId: getClubById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /clubs/{id}/activities method: get operationId: getClubActivitiesById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /athlete/clubs method: get operationId: getLoggedInAthleteClubs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gear/{id} method: get operationId: getGearById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none