{"schema_version":"verify.report.v1","generated_at":"2026-08-16T06:07:54.368292+00:00","snapshot_id":"trustsnap_db040e966c39ca40","server":{"namespace":"ai.com.mcp","name":"strava","title":"HAPI Strava MCP Server","description":"Strava MCP tools for AI: athletes, activities, segments, clubs, routes. Powered by HAPI MCP server.","homepage_url":"https://run.mcp.com.ai","docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://strava.run.mcp.com.ai/mcp","server_card_url":null,"latest_version":"3.0.0+0.7.1","current_status":"healthy","current_score":70.83,"transport_type":"streamable-http","has_oauth":true,"has_dcr":true,"has_prompts":true,"tool_count":13,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-08-16T00:56:24.165698+00:00","registry_source":"official_registry","registry_identifier":"ai.com.mcp/strava","canonical_identifier":null,"current_score_components":{"auth_operability_score":4.0,"error_contract_score":0.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":2.0,"backward_compatibility_score":4.0,"slo_health_score":3.0,"security_hygiene_score":2.0,"task_success_score":4.0,"trust_confidence_score":4.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":3.0,"resource_contract_score":4.0,"discovery_metadata_score":2.0,"registry_consistency_score":2.0,"installability_score":4.0,"session_semantics_score":4.0,"tool_surface_design_score":3.0,"result_shape_stability_score":3.0,"oauth_interop_score":3.0,"recovery_semantics_score":0.0,"maintenance_signal_score":4.0,"adoption_signal_score":3.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":3.0,"session_resume_score":3.0,"step_up_auth_score":4.0,"transport_compliance_score":0.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":2.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":4.0,"action_safety_score":3.0,"official_registry_presence_score":4.0,"safety_transparency_score":2.0,"tool_capability_clarity_score":3.0,"destructive_operation_safety_score":3.0,"egress_ssrf_resilience_score":3.0,"execution_sandbox_safety_score":4.0,"data_exfiltration_resilience_score":3.0,"least_privilege_scope_score":4.0,"secret_handling_hygiene_score":3.0,"dependency_supply_chain_signal_score":1.0,"input_sanitization_safety_score":3.0,"tool_namespace_clarity_score":3.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use.","badge":"score-medium","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 21 captured checks, and validation age of 5.2 hours.","live_check_count":21,"validation_age_hours":5.19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":378.92,"details":{"url":"https://strava.run.mcp.com.ai/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"error","latency_ms":441.35,"details":{"url":"https://strava.run.mcp.com.ai/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://strava.run.mcp.com.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_protected_resource":{"status":"ok","latency_ms":591.74,"details":{"url":"https://strava.run.mcp.com.ai/.well-known/oauth-protected-resource","payload":{"resource":"https://strava.run.mcp.com.ai","authorization_servers":["https://strava.run.mcp.com.ai"],"scopes_supported":["read"],"bearer_methods_supported":["header"],"resource_documentation":"https://strava.run.mcp.com.ai/openapi.json"},"http_status":200,"headers":{"content-type":"application/json"}}},"oauth_authorization_server":{"status":"ok","latency_ms":31.33,"details":{"url":"https://strava.run.mcp.com.ai/.well-known/oauth-authorization-server","payload":{"issuer":"https://www.strava.com","authorization_endpoint":"https://www.strava.com/api/v3/oauth/authorize","token_endpoint":"https://www.strava.com/api/v3/oauth/token","introspection_endpoint":"https://www.strava.com/oauth/v2/introspect","revocation_endpoint":"https://www.strava.com/oauth/v2/revoke","jwks_uri":"https://www.strava.com/.well-known/jwks.json","registration_endpoint":"https://www.strava.com/api/v3/oauth/authorize","grant_types_supported":["authorization_code"],"token_endpoint_auth_methods_supported":["client_secret_basic","client_secret_post","private_key_jwt","none"],"scopes_supported":["read"],"response_modes_supported":["query","fragment","form_post"],"response_types_supported":["code","token","id_token"],"claims_supported":["sub","name","email","preferred_username","given_name","family_name","iat","exp","aud","iss"],"code_challenge_methods_supported":["plain"],"ui_locales_supported":["en-US","en"],"service_documentation":"https://www.strava.com/swagger","op_policy_uri":"https://www.strava.com/privacy","op_tos_uri":"https://www.strava.com/terms"},"http_status":200,"headers":{"content-type":"application/json"}}},"openid_configuration":{"status":"error","latency_ms":29.47,"details":{"url":"https://strava.run.mcp.com.ai/.well-known/openid-configuration","error":"Client error '404 Not Found' for url 'https://strava.run.mcp.com.ai/.well-known/openid-configuration'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"initialize":{"status":"ok","latency_ms":135.34,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true},"prompts":{"listChanged":true},"resources":{"subscribe":true,"listChanged":true},"resourcesTemplates":{"listChanged":true,"subscribe":true},"logging":{}},"serverInfo":{"name":"strava","version":"0.6.0"}}},"http_status":200,"headers":{"content-type":"application/json"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-06-18","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":1,"lag_days":160}},"tools_list":{"status":"ok","latency_ms":399.92,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"getStats","title":"Get Athlete Stats","description":"Get Athlete Stats - Returns the activity stats of an athlete. Only includes data from activities set to Everyone visibilty.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthlete","title":"Get Authenticated Athlete","description":"Get Authenticated Athlete - Returns the currently authenticated athlete. Tokens with profile:read_all scope will receive a detailed athlete representation; all others will receive a summary representation.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthleteStarredSegments","title":"List Starred Segments","description":"List Starred Segments - List of the authenticated athlete's starred segments. Private segments are filtered out unless requested by a token with read_all scope.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getEffortsBySegmentId","title":"List Segment Efforts","description":"List Segment Efforts - Returns a set of the authenticated athlete's segment efforts for a given segment.  Requires subscription.","inputSchema":{"type":"object","properties":{"segment_id":{"type":"integer"},"start_date_local":{"type":"string","format":"date-time"},"end_date_local":{"type":"string","format":"date-time"},"per_page":{"type":"integer"}},"required":["segment_id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"exploreSegments","title":"Explore segments","description":"Explore segments - Returns the top 10 segments matching a specified query.","inputSchema":{"type":"object","properties":{"bounds":{"type":"array","items":{"type":"number","format":"float"},"minItems":4,"maxItems":4},"activity_type":{"type":"string","enum":["running","riding"]},"min_cat":{"type":"integer","minimum":0,"maximum":5},"max_cat":{"type":"integer","minimum":0,"maximum":5}},"required":["bounds"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getSegmentEffortById","title":"Get Segment Effort","description":"Get Segment Effort - Returns a segment effort from an activity that is owned by the authenticated athlete. Requires subscription.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubById","title":"Get Club","description":"Get Club - Returns a given club using its identifier.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubMembersById","title":"List Club Members","description":"List Club Members - Returns a list of the athletes who are members of a given club.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubAdminsById","title":"List Club Administrators","description":"List Club Administrators - Returns a list of the administrators of a given club.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubActivitiesById","title":"List Club Activities","description":"List Club Activities - Retrieve recent activities from members of a specific club. The authenticated athlete must belong to the requested club in order to hit this endpoint. Pagination is supported. Athlete profile visibility is respected for all activities.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthleteClubs","title":"List Athlete Clubs","description":"List Athlete Clubs - Returns a list of the clubs whose membership includes the authenticated athlete.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getGearById","title":"Get Equipment","description":"Get Equipment - Returns an equipment using its identifier.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getRoutesByAthleteId","title":"List Athlete Routes","description":"List Athlete Routes - Returns a list of the routes created by the authenticated athlete. Private routes are filtered out unless requested by a token with read_all scope.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"prompts_list":{"status":"ok","latency_ms":15.76,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":3,"result":{"prompts":[{"name":"system","description":"System prompt for API interaction","arguments":[]}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"prompt_get":{"status":"ok","latency_ms":17.27,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":4,"result":{"description":"System prompt for API interaction","messages":[{"role":"system","content":{"type":"text","text":"You are an API assistant that helps users interact with the API endpoints."}}]}},"http_status":200,"headers":{"content-type":"application/json"},"prompt_name":"system"}},"resources_list":{"status":"ok","latency_ms":15.05,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":5,"result":{"resources":[{"uri":"http://localhost:3000/strava.json","name":"OpenAPI Specification","description":"The OpenAPI specification for this API","mimeType":"application/json"},{"uri":"http://localhost:3000/.well-known/oauth-protected-resource","name":"OAuth 2.0 Protected Resource Metadata","description":"OAuth 2.0 Protected Resource Metadata for authorization server discovery","mimeType":"application/json"},{"uri":"http://localhost:3000/.well-known/oauth-authorization-server","name":"OAuth 2.0 Authorization Server Metadata","description":"OAuth 2.0 Authorization Server Metadata for client configuration","mimeType":"application/json"},{"uri":"http://localhost:3000/.well-known/bearer-protected-resource","name":"Bearer Protected Resource Metadata","description":"Bearer Protected Resource Metadata for authorization server discovery","mimeType":"application/json"}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"resource_read":{"status":"ok","latency_ms":20.23,"details":{"url":"https://strava.run.mcp.com.ai/mcp","payload":{"jsonrpc":"2.0","id":6,"result":{"contents":[{"uri":"http://localhost:3000/strava.json","mimeType":"application/json","text":"{\n  \"openapi\": \"3.0.1\",\n  \"info\": {\n    \"title\": \"MCP Strava Connector\",\n    \"description\": \"The Strava API v3 OpenAPI specification for use with HAPI Model Context Protocol (MCP) servers. Enables AI integration with Strava's athlete activity tracking, segments, clubs, and performance data. For interactive testing, visit the [chatMCP Playground](https://chat.mcp.com.ai). To use the playground, configure your MCP Endpoint, connect your Strava account, and start making calls to retrieve athlete stats, segment information, and more.\",\n    \"version\": \"3.0.0+0.7.1\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"https://www.strava.com/api/v3\"\n    }\n  ],\n  \"security\": [\n    {\n      \"strava_oauth\": [\n        \"public\"\n      ]\n    },\n    {\n      \"bearer\": []\n    }\n  ],\n  \"paths\": {\n    \"/athletes/{id}/stats\": {\n      \"get\": {\n        \"tags\": [\n          \"Athletes\"\n        ],\n        \"summary\": \"Get Athlete Stats\",\n        \"description\": \"Returns the activity stats of an athlete. Only includes data from activities set to Everyone visibilty.\",\n        \"operationId\": \"getStats\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the athlete. Must match the authenticated athlete.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Activity stats of the athlete.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ActivityStats\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        },\n        \"security\": [\n          {\n            \"strava_oauth\": [\n              \"public\"\n            ]\n          },\n          {\n            \"bearer\": []\n          }\n        ]\n      }\n    },\n    \"/athlete\": {\n      \"get\": {\n        \"tags\": [\n          \"Athletes\"\n        ],\n        \"summary\": \"Get Authenticated Athlete\",\n        \"description\": \"Returns the currently authenticated athlete. Tokens with profile:read_all scope will receive a detailed athlete representation; all others will receive a summary representation.\",\n        \"operationId\": \"getLoggedInAthlete\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Profile information for the authenticated athlete.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DetailedAthlete\"\n                },\n                \"example\": {\n                  \"id\": \"1234567890987654400\",\n                  \"username\": \"marianne_t\",\n                  \"resource_state\": 3,\n                  \"firstname\": \"Marianne\",\n                  \"lastname\": \"Teutenberg\",\n                  \"city\": \"San Francisco\",\n                  \"state\": \"CA\",\n                  \"country\": \"US\",\n                  \"sex\": \"F\",\n                  \"premium\": true,\n                  \"created_at\": \"2017-11-14 02:30:05+00:00\",\n                  \"updated_at\": \"2018-02-06 19:32:20+00:00\",\n                  \"badge_type_id\": 4,\n                  \"profile_medium\": \"https://xxxxxx.cloudfront.net/pictures/athletes/123456789/123456789/2/medium.jpg\",\n                  \"profile\": \"https://xxxxx.cloudfront.net/pictures/athletes/123456789/123456789/2/large.jpg\",\n                  \"friend\": null,\n                  \"follower\": null,\n                  \"follower_count\": 5,\n                  \"friend_count\": 5,\n                  \"mutual_friend_count\": 0,\n                  \"athlete_type\": 1,\n                  \"date_preference\": \"%m/%d/%Y\",\n                  \"measurement_preference\": \"feet\",\n                  \"clubs\": [],\n                  \"ftp\": null,\n                  \"weight\": 0,\n                  \"bikes\": [\n                    {\n                      \"id\": \"b12345678987655\",\n                      \"primary\": true,\n                      \"name\": \"EMC\",\n                      \"resource_state\": 2,\n                      \"distance\": 0\n                    }\n                  ],\n                  \"shoes\": [\n                    {\n                      \"id\": \"g12345678987655\",\n                      \"primary\": true,\n                      \"name\": \"adidas\",\n                      \"resource_state\": 2,\n                      \"distance\": 4904\n                    }\n                  ]\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        },\n        \"parameters\": []\n      }\n    },\n    \"/segments/starred\": {\n      \"get\": {\n        \"tags\": [\n          \"Segments\"\n        ],\n        \"summary\": \"List Starred Segments\",\n        \"description\": \"List of the authenticated athlete's starred segments. Private segments are filtered out unless requested by a token with read_all scope.\",\n        \"operationId\": \"getLoggedInAthleteStarredSegments\",\n        \"parameters\": [\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"List of the authenticated athlete's starred segments.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/SummarySegment\"\n                  }\n                },\n                \"example\": {\n                  \"id\": 229781,\n                  \"resource_state\": 3,\n                  \"name\": \"Hawk Hill\",\n                  \"activity_type\": \"Ride\",\n                  \"distance\": 2684.82,\n                  \"average_grade\": 5.7,\n                  \"maximum_grade\": 14.2,\n                  \"elevation_high\": 245.3,\n                  \"elevation_low\": 92.4,\n                  \"start_latlng\": [\n                    37.8331119,\n                    -122.4834356\n                  ],\n                  \"end_latlng\": [\n                    37.8280722,\n                    -122.4981393\n                  ],\n                  \"climb_category\": 1,\n                  \"city\": \"San Francisco\",\n                  \"state\": \"CA\",\n                  \"country\": \"United States\",\n                  \"private\": false,\n                  \"hazardous\": false,\n                  \"starred\": false,\n                  \"created_at\": \"2009-09-21 20:29:41+00:00\",\n                  \"updated_at\": \"2018-02-15 09:04:18+00:00\",\n                  \"total_elevation_gain\": 155.733,\n                  \"map\": {\n                    \"id\": \"s229781\",\n                    \"polyline\": \"}g|eFnpqjVl@En@Md@HbAd@d@^h@Xx@VbARjBDh@OPQf@w@d@k@XKXDFPH\\\\EbGT`AV`@v@|@NTNb@?XOb@cAxAWLuE@eAFMBoAv@eBt@q@b@}@tAeAt@i@dAC`AFZj@dB?~@[h@MbAVn@b@b@\\\\d@Eh@Qb@_@d@eB|@c@h@WfBK|AMpA?VF\\\\\\\\t@f@t@h@j@|@b@hCb@b@XTd@Bl@GtA?jAL`ALp@Tr@RXd@Rx@Pn@^Zh@Tx@Zf@`@FTCzDy@f@Yx@m@n@Op@VJr@\",\n                    \"resource_state\": 3\n                  },\n                  \"effort_count\": 309974,\n                  \"athlete_count\": 30623,\n                  \"star_count\": 2428,\n                  \"athlete_segment_stats\": {\n                    \"pr_elapsed_time\": 553,\n                    \"pr_date\": \"1993-04-03\",\n                    \"effort_count\": 2\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/segment_efforts\": {\n      \"get\": {\n        \"tags\": [\n          \"SegmentEfforts\"\n        ],\n        \"summary\": \"List Segment Efforts\",\n        \"description\": \"Returns a set of the authenticated athlete's segment efforts for a given segment.  Requires subscription.\",\n        \"operationId\": \"getEffortsBySegmentId\",\n        \"parameters\": [\n          {\n            \"name\": \"segment_id\",\n            \"in\": \"query\",\n            \"description\": \"The identifier of the segment.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"start_date_local\",\n            \"in\": \"query\",\n            \"description\": \"ISO 8601 formatted date time.\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"end_date_local\",\n            \"in\": \"query\",\n            \"description\": \"ISO 8601 formatted date time.\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"format\": \"date-time\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"List of segment efforts.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/DetailedSegmentEffort\"\n                  }\n                },\n                \"example\": [\n                  {\n                    \"id\": 123456789,\n                    \"resource_state\": 2,\n                    \"name\": \"Alpe d'Huez\",\n                    \"activity\": {\n                      \"id\": 1234567890,\n                      \"resource_state\": 1\n                    },\n                    \"athlete\": {\n                      \"id\": 123445678689,\n                      \"resource_state\": 1\n                    },\n                    \"elapsed_time\": 1657,\n                    \"moving_time\": 1642,\n                    \"start_date\": \"2007-09-15 08:15:29+00:00\",\n                    \"start_date_local\": \"2007-09-15 09:15:29+00:00\",\n                    \"distance\": 6148.92,\n                    \"start_index\": 1102,\n                    \"end_index\": 1366,\n                    \"device_watts\": false,\n                    \"average_watts\": 220.2,\n                    \"segment\": {\n                      \"id\": 788127,\n                      \"resource_state\": 2,\n                      \"name\": \"Alpe d'Huez\",\n                      \"activity_type\": \"Ride\",\n                      \"distance\": 6297.46,\n                      \"average_grade\": 4.8,\n                      \"maximum_grade\": 16.3,\n                      \"elevation_high\": 416,\n                      \"elevation_low\": 104.6,\n                      \"start_latlng\": [\n                        52.98501000581467,\n                        -3.1869720001197366\n                      ],\n                      \"end_latlng\": [\n                        53.02204074375785,\n                        -3.2039630001245736\n                      ],\n                      \"climb_category\": 2,\n                      \"city\": \"Le Bourg D'Oisans\",\n                      \"state\": \"RA\",\n                      \"country\": \"France\",\n                      \"private\": false,\n                      \"hazardous\": false,\n                      \"starred\": false\n                    },\n                    \"kom_rank\": null,\n                    \"pr_rank\": null,\n                    \"achievements\": []\n                  }\n                ]\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/segments/explore\": {\n      \"get\": {\n        \"tags\": [\n          \"Segments\"\n        ],\n        \"summary\": \"Explore segments\",\n        \"description\": \"Returns the top 10 segments matching a specified query.\",\n        \"operationId\": \"exploreSegments\",\n        \"parameters\": [\n          {\n            \"name\": \"bounds\",\n            \"in\": \"query\",\n            \"description\": \"The latitude and longitude for two points describing a rectangular boundary for the search: [southwest corner latitutde, southwest corner longitude, northeast corner latitude, northeast corner longitude]\",\n            \"required\": true,\n            \"style\": \"form\",\n            \"explode\": false,\n            \"schema\": {\n              \"maxItems\": 4,\n              \"minItems\": 4,\n              \"type\": \"array\",\n              \"items\": {\n                \"type\": \"number\",\n                \"format\": \"float\"\n              }\n            }\n          },\n          {\n            \"name\": \"activity_type\",\n            \"in\": \"query\",\n            \"description\": \"Desired activity type.\",\n            \"schema\": {\n              \"type\": \"string\",\n              \"enum\": [\n                \"running\",\n                \"riding\"\n              ]\n            }\n          },\n          {\n            \"name\": \"min_cat\",\n            \"in\": \"query\",\n            \"description\": \"The minimum climbing category.\",\n            \"schema\": {\n              \"maximum\": 5,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"max_cat\",\n            \"in\": \"query\",\n            \"description\": \"The maximum climbing category.\",\n            \"schema\": {\n              \"maximum\": 5,\n              \"minimum\": 0,\n              \"type\": \"integer\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"List of matching segments.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/ExplorerResponse\"\n                },\n                \"example\": {\n                  \"segments\": [\n                    {\n                      \"id\": 229781,\n                      \"resource_state\": 2,\n                      \"name\": \"Hawk Hill\",\n                      \"climb_category\": 1,\n                      \"climb_category_desc\": \"4\",\n                      \"avg_grade\": 5.7,\n                      \"start_latlng\": [\n                        37.8331119,\n                        -122.4834356\n                      ],\n                      \"end_latlng\": [\n                        37.8280722,\n                        -122.4981393\n                      ],\n                      \"elev_difference\": 152.8,\n                      \"distance\": 2684.8,\n                      \"points\": \"}g|eFnpqjVl@En@Md@HbAd@d@^h@Xx@VbARjBDh@OPQf@w@d@k@XKXDFPH\\\\EbGT`AV`@v@|@NTNb@?XOb@cAxAWLuE@eAFMBoAv@eBt@q@b@}@tAeAt@i@dAC`AFZj@dB?~@[h@MbAVn@b@b@\\\\d@Eh@Qb@_@d@eB|@c@h@WfBK|AMpA?VF\\\\\\\\t@f@t@h@j@|@b@hCb@b@XTd@Bl@GtA?jAL`ALp@Tr@RXd@Rx@Pn@^Zh@Tx@Zf@`@FTCzDy@f@Yx@m@n@Op@VJr@\",\n                      \"starred\": false\n                    }\n                  ]\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/segment_efforts/{id}\": {\n      \"get\": {\n        \"tags\": [\n          \"SegmentEfforts\"\n        ],\n        \"summary\": \"Get Segment Effort\",\n        \"description\": \"Returns a segment effort from an activity that is owned by the authenticated athlete. Requires subscription.\",\n        \"operationId\": \"getSegmentEffortById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the segment effort.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Representation of a segment effort.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DetailedSegmentEffort\"\n                },\n                \"example\": {\n                  \"id\": 1234556789,\n                  \"resource_state\": 3,\n                  \"name\": \"Alpe d'Huez\",\n                  \"activity\": {\n                    \"id\": 3454504,\n                    \"resource_state\": 1\n                  },\n                  \"athlete\": {\n                    \"id\": 54321,\n                    \"resource_state\": 1\n                  },\n                  \"elapsed_time\": 381,\n                  \"moving_time\": 340,\n                  \"start_date\": \"2018-02-12 16:12:41+00:00\",\n                  \"start_date_local\": \"2018-02-12 08:12:41+00:00\",\n                  \"distance\": 83,\n                  \"start_index\": 65,\n                  \"end_index\": 83,\n                  \"segment\": {\n                    \"id\": 63450,\n                    \"resource_state\": 2,\n                    \"name\": \"Alpe d'Huez\",\n                    \"activity_type\": \"Run\",\n                    \"distance\": 780.35,\n                    \"average_grade\": -0.5,\n                    \"maximum_grade\": 0,\n                    \"elevation_high\": 21,\n                    \"elevation_low\": 17.2,\n                    \"start_latlng\": [\n                      37.808407654682,\n                      -122.426682919323\n                    ],\n                    \"end_latlng\": [\n                      37.808297909724,\n                      -122.421324329674\n                    ],\n                    \"climb_category\": 0,\n                    \"city\": \"San Francisco\",\n                    \"state\": \"CA\",\n                    \"country\": \"United States\",\n                    \"private\": false,\n                    \"hazardous\": false,\n                    \"starred\": false\n                  },\n                  \"kom_rank\": null,\n                  \"pr_rank\": null,\n                  \"achievements\": [],\n                  \"athlete_segment_stats\": {\n                    \"pr_elapsed_time\": 212,\n                    \"pr_date\": \"2015-02-12\",\n                    \"effort_count\": 149\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/clubs/{id}\": {\n      \"get\": {\n        \"tags\": [\n          \"Clubs\"\n        ],\n        \"summary\": \"Get Club\",\n        \"description\": \"Returns a given club using its identifier.\",\n        \"operationId\": \"getClubById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the club.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"The detailed representation of a club.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DetailedClub\"\n                },\n                \"example\": {\n                  \"id\": 1,\n                  \"resource_state\": 3,\n                  \"name\": \"Team Strava Cycling\",\n                  \"profile_medium\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/1/1582/4/medium.jpg\",\n                  \"profile\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/1/1582/4/large.jpg\",\n                  \"cover_photo\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/1/4328276/1/large.jpg\",\n                  \"cover_photo_small\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/1/4328276/1/small.jpg\",\n                  \"sport_type\": \"cycling\",\n                  \"activity_types\": [\n                    \"Ride\",\n                    \"VirtualRide\",\n                    \"EBikeRide\",\n                    \"Velomobile\",\n                    \"Handcycle\"\n                  ],\n                  \"city\": \"San Francisco\",\n                  \"state\": \"California\",\n                  \"country\": \"United States\",\n                  \"private\": true,\n                  \"member_count\": 116,\n                  \"featured\": false,\n                  \"verified\": false,\n                  \"url\": \"team-strava-bike\",\n                  \"membership\": \"member\",\n                  \"admin\": false,\n                  \"owner\": false,\n                  \"description\": \"Private club for Cyclists who work at Strava.\",\n                  \"club_type\": \"company\",\n                  \"post_count\": 29,\n                  \"owner_id\": 759,\n                  \"following_count\": 107\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/clubs/{id}/members\": {\n      \"get\": {\n        \"tags\": [\n          \"Clubs\"\n        ],\n        \"summary\": \"List Club Members\",\n        \"description\": \"Returns a list of the athletes who are members of a given club.\",\n        \"operationId\": \"getClubMembersById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the club.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          },\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A list of club athlete representations.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/ClubAthlete\"\n                  }\n                },\n                \"example\": [\n                  {\n                    \"resource_state\": 2,\n                    \"firstname\": \"Peter\",\n                    \"lastname\": \"S.\",\n                    \"membership\": \"member\",\n                    \"admin\": false,\n                    \"owner\": false\n                  }\n                ]\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/clubs/{id}/admins\": {\n      \"get\": {\n        \"tags\": [\n          \"Clubs\"\n        ],\n        \"summary\": \"List Club Administrators\",\n        \"description\": \"Returns a list of the administrators of a given club.\",\n        \"operationId\": \"getClubAdminsById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the club.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          },\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A list of summary athlete representations.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/SummaryAthlete\"\n                  }\n                },\n                \"example\": [\n                  {\n                    \"resource_state\": 2,\n                    \"firstname\": \"Peter\",\n                    \"lastname\": \"S.\"\n                  }\n                ]\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/clubs/{id}/activities\": {\n      \"get\": {\n        \"tags\": [\n          \"Clubs\"\n        ],\n        \"summary\": \"List Club Activities\",\n        \"description\": \"Retrieve recent activities from members of a specific club. The authenticated athlete must belong to the requested club in order to hit this endpoint. Pagination is supported. Athlete profile visibility is respected for all activities.\",\n        \"operationId\": \"getClubActivitiesById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the club.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"integer\",\n              \"format\": \"int64\"\n            }\n          },\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A list of activities.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/ClubActivity\"\n                  }\n                },\n                \"example\": [\n                  {\n                    \"resource_state\": 2,\n                    \"athlete\": {\n                      \"resource_state\": 2,\n                      \"firstname\": \"Peter\",\n                      \"lastname\": \"S.\"\n                    },\n                    \"name\": \"World Championship\",\n                    \"distance\": 2641.7,\n                    \"moving_time\": 577,\n                    \"elapsed_time\": 635,\n                    \"total_elevation_gain\": 8.8,\n                    \"type\": \"Ride\",\n                    \"sport_type\": \"MountainBikeRide\",\n                    \"workout_type\": null\n                  }\n                ]\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/athlete/clubs\": {\n      \"get\": {\n        \"tags\": [\n          \"Clubs\"\n        ],\n        \"summary\": \"List Athlete Clubs\",\n        \"description\": \"Returns a list of the clubs whose membership includes the authenticated athlete.\",\n        \"operationId\": \"getLoggedInAthleteClubs\",\n        \"parameters\": [\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A list of summary club representations.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/SummaryClub\"\n                  }\n                },\n                \"example\": [\n                  {\n                    \"id\": 231407,\n                    \"resource_state\": 2,\n                    \"name\": \"The Strava Club\",\n                    \"profile_medium\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/231407/5319085/1/medium.jpg\",\n                    \"profile\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/231407/5319085/1/large.jpg\",\n                    \"cover_photo\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/231407/5098428/4/large.jpg\",\n                    \"cover_photo_small\": \"https://dgalywyr863hv.cloudfront.net/pictures/clubs/231407/5098428/4/small.jpg\",\n                    \"sport_type\": \"other\",\n                    \"city\": \"San Francisco\",\n                    \"state\": \"California\",\n                    \"country\": \"United States\",\n                    \"private\": false,\n                    \"member_count\": 93151,\n                    \"featured\": false,\n                    \"verified\": true,\n                    \"url\": \"strava\"\n                  }\n                ]\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/gear/{id}\": {\n      \"get\": {\n        \"tags\": [\n          \"Gears\"\n        ],\n        \"summary\": \"Get Equipment\",\n        \"description\": \"Returns an equipment using its identifier.\",\n        \"operationId\": \"getGearById\",\n        \"parameters\": [\n          {\n            \"name\": \"id\",\n            \"in\": \"path\",\n            \"description\": \"The identifier of the gear.\",\n            \"required\": true,\n            \"schema\": {\n              \"type\": \"string\"\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A representation of the gear.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/DetailedGear\"\n                },\n                \"example\": {\n                  \"id\": \"b1231\",\n                  \"primary\": false,\n                  \"resource_state\": 3,\n                  \"distance\": 388206,\n                  \"brand_name\": \"BMC\",\n                  \"model_name\": \"Teammachine\",\n                  \"frame_type\": 3,\n                  \"description\": \"My Bike.\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/athletes/{id}/routes\": {\n      \"get\": {\n        \"tags\": [\n          \"Routes\"\n        ],\n        \"summary\": \"List Athlete Routes\",\n        \"description\": \"Returns a list of the routes created by the authenticated athlete. Private routes are filtered out unless requested by a token with read_all scope.\",\n        \"operationId\": \"getRoutesByAthleteId\",\n        \"parameters\": [\n          {\n            \"name\": \"page\",\n            \"in\": \"query\",\n            \"description\": \"Page number. Defaults to 1.\",\n            \"schema\": {\n              \"type\": \"integer\"\n            }\n          },\n          {\n            \"name\": \"per_page\",\n            \"in\": \"query\",\n            \"description\": \"Number of items per page. Defaults to 30.\",\n            \"schema\": {\n              \"type\": \"integer\",\n              \"default\": 30\n            }\n          }\n        ],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"A representation of the route.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/Route\"\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"Unexpected error.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Fault\"\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"ActivityStats\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"biggest_ride_distance\": {\n            \"type\": \"number\",\n            \"description\": \"The longest distance ridden by the athlete.\",\n            \"format\": \"double\"\n          },\n          \"biggest_climb_elevation_gain\": {\n            \"type\": \"number\",\n            \"description\": \"The highest climb ridden by the athlete.\",\n            \"format\": \"double\"\n          },\n          \"recent_ride_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"recent_run_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"recent_swim_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"ytd_ride_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"ytd_run_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"ytd_swim_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"all_ride_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"all_run_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          },\n          \"all_swim_totals\": {\n            \"$ref\": \"#/components/schemas/ActivityTotal\"\n          }\n        },\n        \"description\": \"A set of rolled-up statistics and totals for an athlete\"\n      },\n      \"ActivityTotal\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"integer\",\n            \"description\": \"The number of activities considered in this total.\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The total distance covered by the considered activities.\",\n            \"format\": \"float\"\n          },\n          \"moving_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The total moving time of the considered activities.\"\n          },\n          \"elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The total elapsed time of the considered activities.\"\n          },\n          \"elevation_gain\": {\n            \"type\": \"number\",\n            \"description\": \"The total elevation gain of the considered activities.\",\n            \"format\": \"float\"\n          },\n          \"achievement_count\": {\n            \"type\": \"integer\",\n            \"description\": \"The total number of achievements of the considered activities.\"\n          }\n        },\n        \"description\": \"A roll-up of metrics pertaining to a set of activities. Values are in seconds and meters.\"\n      },\n      \"Fault\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"errors\": {\n            \"type\": \"array\",\n            \"description\": \"The set of specific errors associated with this fault, if any.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Error\"\n            }\n          },\n          \"message\": {\n            \"type\": \"string\",\n            \"description\": \"The message of the fault.\"\n          }\n        },\n        \"description\": \"Encapsulates the errors that may be returned from the API.\"\n      },\n      \"Error\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"code\": {\n            \"type\": \"string\",\n            \"description\": \"The code associated with this error.\"\n          },\n          \"field\": {\n            \"type\": \"string\",\n            \"description\": \"The specific field or aspect of the resource associated with this error.\"\n          },\n          \"resource\": {\n            \"type\": \"string\",\n            \"description\": \"The type of resource associated with this error.\"\n          }\n        }\n      },\n      \"DetailedAthlete\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummaryAthlete\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"follower_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The athlete's follower count.\"\n              },\n              \"friend_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The athlete's friend count.\"\n              },\n              \"measurement_preference\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's preferred unit system.\",\n                \"enum\": [\n                  \"feet\",\n                  \"meters\"\n                ]\n              },\n              \"ftp\": {\n                \"type\": \"integer\",\n                \"description\": \"The athlete's FTP (Functional Threshold Power).\"\n              },\n              \"weight\": {\n                \"type\": \"number\",\n                \"description\": \"The athlete's weight.\",\n                \"format\": \"float\"\n              },\n              \"clubs\": {\n                \"type\": \"array\",\n                \"description\": \"The athlete's clubs.\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/SummaryClub\"\n                }\n              },\n              \"bikes\": {\n                \"type\": \"array\",\n                \"description\": \"The athlete's bikes.\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/SummaryGear\"\n                }\n              },\n              \"shoes\": {\n                \"type\": \"array\",\n                \"description\": \"The athlete's shoes.\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/SummaryGear\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"SummaryAthlete\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/MetaAthlete\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"resource_state\": {\n                \"type\": \"integer\",\n                \"description\": \"Resource state, indicates level of detail. Possible values: 1 -> \\\"meta\\\", 2 -> \\\"summary\\\", 3 -> \\\"detail\\\"\"\n              },\n              \"firstname\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's first name.\"\n              },\n              \"lastname\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's last name.\"\n              },\n              \"profile_medium\": {\n                \"type\": \"string\",\n                \"description\": \"URL to a 62x62 pixel profile picture.\"\n              },\n              \"profile\": {\n                \"type\": \"string\",\n                \"description\": \"URL to a 124x124 pixel profile picture.\"\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's city.\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's state or geographical region.\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's country.\"\n              },\n              \"sex\": {\n                \"type\": \"string\",\n                \"description\": \"The athlete's sex.\",\n                \"enum\": [\n                  \"M\",\n                  \"F\"\n                ]\n              },\n              \"premium\": {\n                \"type\": \"boolean\",\n                \"description\": \"Deprecated.  Use summit field instead. Whether the athlete has any Summit subscription.\"\n              },\n              \"summit\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the athlete has any Summit subscription.\"\n              },\n              \"created_at\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the athlete was created.\",\n                \"format\": \"date-time\"\n              },\n              \"updated_at\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the athlete was last updated.\",\n                \"format\": \"date-time\"\n              }\n            }\n          }\n        ]\n      },\n      \"MetaAthlete\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of the athlete\",\n            \"format\": \"int64\"\n          }\n        }\n      },\n      \"SummaryClub\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/MetaClub\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"profile_medium\": {\n                \"type\": \"string\",\n                \"description\": \"URL to a 60x60 pixel profile picture.\"\n              },\n              \"cover_photo\": {\n                \"type\": \"string\",\n                \"description\": \"URL to a ~1185x580 pixel cover photo.\"\n              },\n              \"cover_photo_small\": {\n                \"type\": \"string\",\n                \"description\": \"URL to a ~360x176  pixel cover photo.\"\n              },\n              \"sport_type\": {\n                \"type\": \"string\",\n                \"description\": \"Deprecated. Prefer to use activity_types.\",\n                \"enum\": [\n                  \"cycling\",\n                  \"running\",\n                  \"triathlon\",\n                  \"other\"\n                ]\n              },\n              \"activity_types\": {\n                \"type\": \"array\",\n                \"description\": \"The activity types that count for a club. This takes precedence over sport_type.\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/ActivityType\"\n                }\n              },\n              \"city\": {\n                \"type\": \"string\",\n                \"description\": \"The club's city.\"\n              },\n              \"state\": {\n                \"type\": \"string\",\n                \"description\": \"The club's state or geographical region.\"\n              },\n              \"country\": {\n                \"type\": \"string\",\n                \"description\": \"The club's country.\"\n              },\n              \"private\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the club is private.\"\n              },\n              \"member_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The club's member count.\"\n              },\n              \"featured\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the club is featured or not.\"\n              },\n              \"verified\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the club is verified or not.\"\n              },\n              \"url\": {\n                \"type\": \"string\",\n                \"description\": \"The club's vanity URL.\"\n              }\n            }\n          }\n        ]\n      },\n      \"MetaClub\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The club's unique identifier.\",\n            \"format\": \"int64\"\n          },\n          \"resource_state\": {\n            \"type\": \"integer\",\n            \"description\": \"Resource state, indicates level of detail. Possible values: 1 -> \\\"meta\\\", 2 -> \\\"summary\\\", 3 -> \\\"detail\\\"\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The club's name.\"\n          }\n        }\n      },\n      \"ActivityType\": {\n        \"type\": \"string\",\n        \"description\": \"An enumeration of the types an activity may have. Note that this enumeration does not include new sport types (e.g. MountainBikeRide, EMountainBikeRide), activities with these sport types will have the corresponding activity type (e.g. Ride for MountainBikeRide, EBikeRide for EMountainBikeRide)\",\n        \"enum\": [\n          \"AlpineSki\",\n          \"BackcountrySki\",\n          \"Canoeing\",\n          \"Crossfit\",\n          \"EBikeRide\",\n          \"Elliptical\",\n          \"Golf\",\n          \"Handcycle\",\n          \"Hike\",\n          \"IceSkate\",\n          \"InlineSkate\",\n          \"Kayaking\",\n          \"Kitesurf\",\n          \"NordicSki\",\n          \"Ride\",\n          \"RockClimbing\",\n          \"RollerSki\",\n          \"Rowing\",\n          \"Run\",\n          \"Sail\",\n          \"Skateboard\",\n          \"Snowboard\",\n          \"Snowshoe\",\n          \"Soccer\",\n          \"StairStepper\",\n          \"StandUpPaddling\",\n          \"Surfing\",\n          \"Swim\",\n          \"Velomobile\",\n          \"VirtualRide\",\n          \"VirtualRun\",\n          \"Walk\",\n          \"WeightTraining\",\n          \"Wheelchair\",\n          \"Windsurf\",\n          \"Workout\",\n          \"Yoga\"\n        ]\n      },\n      \"SummaryGear\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"The gear's unique identifier.\"\n          },\n          \"resource_state\": {\n            \"type\": \"integer\",\n            \"description\": \"Resource state, indicates level of detail. Possible values: 2 -> \\\"summary\\\", 3 -> \\\"detail\\\"\"\n          },\n          \"primary\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this gear's is the owner's default one.\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The gear's name.\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The distance logged with this gear.\",\n            \"format\": \"float\"\n          }\n        }\n      },\n      \"Zones\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"heart_rate\": {\n            \"$ref\": \"#/components/schemas/HeartRateZoneRanges\"\n          },\n          \"power\": {\n            \"$ref\": \"#/components/schemas/PowerZoneRanges\"\n          }\n        }\n      },\n      \"HeartRateZoneRanges\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"custom_zones\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether the athlete has set their own custom heart rate zones\"\n          },\n          \"zones\": {\n            \"$ref\": \"#/components/schemas/ZoneRanges\"\n          }\n        }\n      },\n      \"ZoneRanges\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"$ref\": \"#/components/schemas/ZoneRange\"\n        }\n      },\n      \"ZoneRange\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"min\": {\n            \"type\": \"integer\",\n            \"description\": \"The minimum value in the range.\"\n          },\n          \"max\": {\n            \"type\": \"integer\",\n            \"description\": \"The maximum value in the range.\"\n          }\n        }\n      },\n      \"PowerZoneRanges\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"zones\": {\n            \"$ref\": \"#/components/schemas/ZoneRanges\"\n          }\n        }\n      },\n      \"DetailedSegment\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummarySegment\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"created_at\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the segment was created.\",\n                \"format\": \"date-time\"\n              },\n              \"updated_at\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the segment was last updated.\",\n                \"format\": \"date-time\"\n              },\n              \"total_elevation_gain\": {\n                \"type\": \"number\",\n                \"description\": \"The segment's total elevation gain.\",\n                \"format\": \"float\"\n              },\n              \"map\": {\n                \"$ref\": \"#/components/schemas/PolylineMap\"\n              },\n              \"effort_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The total number of efforts for this segment\"\n              },\n              \"athlete_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of unique athletes who have an effort for this segment\"\n              },\n              \"hazardous\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this segment is considered hazardous\"\n              },\n              \"star_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of stars for this segment\"\n              }\n            }\n          }\n        ]\n      },\n      \"SummarySegment\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this segment\",\n            \"format\": \"int64\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of this segment\"\n          },\n          \"activity_type\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"Ride\",\n              \"Run\"\n            ]\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The segment's distance, in meters\",\n            \"format\": \"float\"\n          },\n          \"average_grade\": {\n            \"type\": \"number\",\n            \"description\": \"The segment's average grade, in percents\",\n            \"format\": \"float\"\n          },\n          \"maximum_grade\": {\n            \"type\": \"number\",\n            \"description\": \"The segments's maximum grade, in percents\",\n            \"format\": \"float\"\n          },\n          \"elevation_high\": {\n            \"type\": \"number\",\n            \"description\": \"The segments's highest elevation, in meters\",\n            \"format\": \"float\"\n          },\n          \"elevation_low\": {\n            \"type\": \"number\",\n            \"description\": \"The segments's lowest elevation, in meters\",\n            \"format\": \"float\"\n          },\n          \"start_latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"end_latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"climb_category\": {\n            \"type\": \"integer\",\n            \"description\": \"The category of the climb [0, 5]. Higher is harder ie. 5 is Hors catégorie, 0 is uncategorized in climb_category.\"\n          },\n          \"city\": {\n            \"type\": \"string\",\n            \"description\": \"The segments's city.\"\n          },\n          \"state\": {\n            \"type\": \"string\",\n            \"description\": \"The segments's state or geographical region.\"\n          },\n          \"country\": {\n            \"type\": \"string\",\n            \"description\": \"The segment's country.\"\n          },\n          \"private\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this segment is private.\"\n          },\n          \"athlete_pr_effort\": {\n            \"$ref\": \"#/components/schemas/SummaryPRSegmentEffort\"\n          },\n          \"athlete_segment_stats\": {\n            \"$ref\": \"#/components/schemas/SummarySegmentEffort\"\n          }\n        }\n      },\n      \"LatLng\": {\n        \"maxItems\": 2,\n        \"minItems\": 2,\n        \"type\": \"array\",\n        \"description\": \"A pair of latitude/longitude coordinates, represented as an array of 2 floating point numbers.\",\n        \"items\": {\n          \"type\": \"number\",\n          \"format\": \"float\"\n        }\n      },\n      \"SummaryPRSegmentEffort\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"pr_activity_id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of the activity related to the PR effort.\",\n            \"format\": \"int64\"\n          },\n          \"pr_elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The elapsed time ot the PR effort.\"\n          },\n          \"pr_date\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the PR effort was started.\",\n            \"format\": \"date-time\"\n          },\n          \"effort_count\": {\n            \"type\": \"integer\",\n            \"description\": \"Number of efforts by the authenticated athlete on this segment.\"\n          }\n        }\n      },\n      \"SummarySegmentEffort\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this effort\",\n            \"format\": \"int64\"\n          },\n          \"activity_id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of the activity related to this effort\",\n            \"format\": \"int64\"\n          },\n          \"elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The effort's elapsed time\"\n          },\n          \"start_date\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the effort was started.\",\n            \"format\": \"date-time\"\n          },\n          \"start_date_local\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the effort was started in the local timezone.\",\n            \"format\": \"date-time\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The effort's distance in meters\",\n            \"format\": \"float\"\n          },\n          \"is_kom\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this effort is the current best on the leaderboard\"\n          }\n        }\n      },\n      \"PolylineMap\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\",\n            \"description\": \"The identifier of the map\"\n          },\n          \"polyline\": {\n            \"type\": \"string\",\n            \"description\": \"The polyline of the map, only returned on detailed representation of an object\"\n          },\n          \"summary_polyline\": {\n            \"type\": \"string\",\n            \"description\": \"The summary polyline of the map\"\n          }\n        }\n      },\n      \"DetailedSegmentEffort\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummarySegmentEffort\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"The name of the segment on which this effort was performed\"\n              },\n              \"activity\": {\n                \"$ref\": \"#/components/schemas/MetaActivity\"\n              },\n              \"athlete\": {\n                \"$ref\": \"#/components/schemas/MetaAthlete\"\n              },\n              \"moving_time\": {\n                \"type\": \"integer\",\n                \"description\": \"The effort's moving time\"\n              },\n              \"start_index\": {\n                \"type\": \"integer\",\n                \"description\": \"The start index of this effort in its activity's stream\"\n              },\n              \"end_index\": {\n                \"type\": \"integer\",\n                \"description\": \"The end index of this effort in its activity's stream\"\n              },\n              \"average_cadence\": {\n                \"type\": \"number\",\n                \"description\": \"The effort's average cadence\",\n                \"format\": \"float\"\n              },\n              \"average_watts\": {\n                \"type\": \"number\",\n                \"description\": \"The average wattage of this effort\",\n                \"format\": \"float\"\n              },\n              \"device_watts\": {\n                \"type\": \"boolean\",\n                \"description\": \"For riding efforts, whether the wattage was reported by a dedicated recording device\"\n              },\n              \"average_heartrate\": {\n                \"type\": \"number\",\n                \"description\": \"The heart heart rate of the athlete during this effort\",\n                \"format\": \"float\"\n              },\n              \"max_heartrate\": {\n                \"type\": \"number\",\n                \"description\": \"The maximum heart rate of the athlete during this effort\",\n                \"format\": \"float\"\n              },\n              \"segment\": {\n                \"$ref\": \"#/components/schemas/SummarySegment\"\n              },\n              \"kom_rank\": {\n                \"maximum\": 10,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n                \"description\": \"The rank of the effort on the global leaderboard if it belongs in the top 10 at the time of upload\"\n              },\n              \"pr_rank\": {\n                \"maximum\": 3,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n                \"description\": \"The rank of the effort on the athlete's leaderboard if it belongs in the top 3 at the time of upload\"\n              },\n              \"hidden\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this effort should be hidden when viewed within an activity\"\n              }\n            }\n          }\n        ]\n      },\n      \"MetaActivity\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of the activity\",\n            \"format\": \"int64\"\n          }\n        }\n      },\n      \"ExplorerResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"segments\": {\n            \"type\": \"array\",\n            \"description\": \"The set of segments matching an explorer request\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/ExplorerSegment\"\n            }\n          }\n        }\n      },\n      \"ExplorerSegment\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this segment\",\n            \"format\": \"int64\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of this segment\"\n          },\n          \"climb_category\": {\n            \"maximum\": 5,\n            \"minimum\": 0,\n            \"type\": \"integer\",\n            \"description\": \"The category of the climb [0, 5]. Higher is harder ie. 5 is Hors catégorie, 0 is uncategorized in climb_category. If climb_category = 5, climb_category_desc = HC. If climb_category = 2, climb_category_desc = 3.\"\n          },\n          \"climb_category_desc\": {\n            \"type\": \"string\",\n            \"description\": \"The description for the category of the climb\",\n            \"enum\": [\n              \"NC\",\n              \"4\",\n              \"3\",\n              \"2\",\n              \"1\",\n              \"HC\"\n            ]\n          },\n          \"avg_grade\": {\n            \"type\": \"number\",\n            \"description\": \"The segment's average grade, in percents\",\n            \"format\": \"float\"\n          },\n          \"start_latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"end_latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"elev_difference\": {\n            \"type\": \"number\",\n            \"description\": \"The segments's evelation difference, in meters\",\n            \"format\": \"float\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The segment's distance, in meters\",\n            \"format\": \"float\"\n          },\n          \"points\": {\n            \"type\": \"string\",\n            \"description\": \"The polyline of the segment\"\n          }\n        }\n      },\n      \"DetailedActivity\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummaryActivity\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"description\": {\n                \"type\": \"string\",\n                \"description\": \"The description of the activity\"\n              },\n              \"photos\": {\n                \"$ref\": \"#/components/schemas/PhotosSummary\"\n              },\n              \"gear\": {\n                \"$ref\": \"#/components/schemas/SummaryGear\"\n              },\n              \"calories\": {\n                \"type\": \"number\",\n                \"description\": \"The number of kilocalories consumed during this activity\",\n                \"format\": \"float\"\n              },\n              \"segment_efforts\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/DetailedSegmentEffort\"\n                }\n              },\n              \"device_name\": {\n                \"type\": \"string\",\n                \"description\": \"The name of the device used to record the activity\"\n              },\n              \"embed_token\": {\n                \"type\": \"string\",\n                \"description\": \"The token used to embed a Strava activity\"\n              },\n              \"splits_metric\": {\n                \"type\": \"array\",\n                \"description\": \"The splits of this activity in metric units (for runs)\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/Split\"\n                }\n              },\n              \"splits_standard\": {\n                \"type\": \"array\",\n                \"description\": \"The splits of this activity in imperial units (for runs)\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/Split\"\n                }\n              },\n              \"laps\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/Lap\"\n                }\n              },\n              \"best_efforts\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/DetailedSegmentEffort\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"SummaryActivity\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/MetaActivity\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"external_id\": {\n                \"type\": \"string\",\n                \"description\": \"The identifier provided at upload time\"\n              },\n              \"upload_id\": {\n                \"type\": \"integer\",\n                \"description\": \"The identifier of the upload that resulted in this activity\",\n                \"format\": \"int64\"\n              },\n              \"athlete\": {\n                \"$ref\": \"#/components/schemas/MetaAthlete\"\n              },\n              \"name\": {\n                \"type\": \"string\",\n                \"description\": \"The name of the activity\"\n              },\n              \"distance\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's distance, in meters\",\n                \"format\": \"float\"\n              },\n              \"moving_time\": {\n                \"type\": \"integer\",\n                \"description\": \"The activity's moving time, in seconds\"\n              },\n              \"elapsed_time\": {\n                \"type\": \"integer\",\n                \"description\": \"The activity's elapsed time, in seconds\"\n              },\n              \"total_elevation_gain\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's total elevation gain.\",\n                \"format\": \"float\"\n              },\n              \"elev_high\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's highest elevation, in meters\",\n                \"format\": \"float\"\n              },\n              \"elev_low\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's lowest elevation, in meters\",\n                \"format\": \"float\"\n              },\n              \"type\": {\n                \"$ref\": \"#/components/schemas/ActivityType\"\n              },\n              \"sport_type\": {\n                \"$ref\": \"#/components/schemas/SportType\"\n              },\n              \"start_date\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the activity was started.\",\n                \"format\": \"date-time\"\n              },\n              \"start_date_local\": {\n                \"type\": \"string\",\n                \"description\": \"The time at which the activity was started in the local timezone.\",\n                \"format\": \"date-time\"\n              },\n              \"timezone\": {\n                \"type\": \"string\",\n                \"description\": \"The timezone of the activity\"\n              },\n              \"start_latlng\": {\n                \"$ref\": \"#/components/schemas/LatLng\"\n              },\n              \"end_latlng\": {\n                \"$ref\": \"#/components/schemas/LatLng\"\n              },\n              \"achievement_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of achievements gained during this activity\"\n              },\n              \"kudos_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of kudos given for this activity\"\n              },\n              \"comment_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of comments for this activity\"\n              },\n              \"athlete_count\": {\n                \"minimum\": 1,\n                \"type\": \"integer\",\n                \"description\": \"The number of athletes for taking part in a group activity\"\n              },\n              \"photo_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of Instagram photos for this activity\"\n              },\n              \"total_photo_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of Instagram and Strava photos for this activity\"\n              },\n              \"map\": {\n                \"$ref\": \"#/components/schemas/PolylineMap\"\n              },\n              \"trainer\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this activity was recorded on a training machine\"\n              },\n              \"commute\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this activity is a commute\"\n              },\n              \"manual\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this activity was created manually\"\n              },\n              \"private\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this activity is private\"\n              },\n              \"flagged\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether this activity is flagged\"\n              },\n              \"workout_type\": {\n                \"type\": \"integer\",\n                \"description\": \"The activity's workout type\"\n              },\n              \"upload_id_str\": {\n                \"type\": \"string\",\n                \"description\": \"The unique identifier of the upload in string format\"\n              },\n              \"average_speed\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's average speed, in meters per second\",\n                \"format\": \"float\"\n              },\n              \"max_speed\": {\n                \"type\": \"number\",\n                \"description\": \"The activity's max speed, in meters per second\",\n                \"format\": \"float\"\n              },\n              \"has_kudoed\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the logged-in athlete has kudoed this activity\"\n              },\n              \"hide_from_home\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the activity is muted\"\n              },\n              \"gear_id\": {\n                \"type\": \"string\",\n                \"description\": \"The id of the gear for the activity\"\n              },\n              \"kilojoules\": {\n                \"type\": \"number\",\n                \"description\": \"The total work done in kilojoules during this activity. Rides only\",\n                \"format\": \"float\"\n              },\n              \"average_watts\": {\n                \"type\": \"number\",\n                \"description\": \"Average power output in watts during this activity. Rides only\",\n                \"format\": \"float\"\n              },\n              \"device_watts\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the watts are from a power meter, false if estimated\"\n              },\n              \"max_watts\": {\n                \"type\": \"integer\",\n                \"description\": \"Rides with power meter data only\"\n              },\n              \"weighted_average_watts\": {\n                \"type\": \"integer\",\n                \"description\": \"Similar to Normalized Power. Rides with power meter data only\"\n              }\n            }\n          }\n        ]\n      },\n      \"SportType\": {\n        \"type\": \"string\",\n        \"description\": \"An enumeration of the sport types an activity may have. Distinct from ActivityType in that it has new types (e.g. MountainBikeRide)\",\n        \"enum\": [\n          \"AlpineSki\",\n          \"BackcountrySki\",\n          \"Badminton\",\n          \"Canoeing\",\n          \"Crossfit\",\n          \"EBikeRide\",\n          \"Elliptical\",\n          \"EMountainBikeRide\",\n          \"Golf\",\n          \"GravelRide\",\n          \"Handcycle\",\n          \"HighIntensityIntervalTraining\",\n          \"Hike\",\n          \"IceSkate\",\n          \"InlineSkate\",\n          \"Kayaking\",\n          \"Kitesurf\",\n          \"MountainBikeRide\",\n          \"NordicSki\",\n          \"Pickleball\",\n          \"Pilates\",\n          \"Racquetball\",\n          \"Ride\",\n          \"RockClimbing\",\n          \"RollerSki\",\n          \"Rowing\",\n          \"Run\",\n          \"Sail\",\n          \"Skateboard\",\n          \"Snowboard\",\n          \"Snowshoe\",\n          \"Soccer\",\n          \"Squash\",\n          \"StairStepper\",\n          \"StandUpPaddling\",\n          \"Surfing\",\n          \"Swim\",\n          \"TableTennis\",\n          \"Tennis\",\n          \"TrailRun\",\n          \"Velomobile\",\n          \"VirtualRide\",\n          \"VirtualRow\",\n          \"VirtualRun\",\n          \"Walk\",\n          \"WeightTraining\",\n          \"Wheelchair\",\n          \"Windsurf\",\n          \"Workout\",\n          \"Yoga\"\n        ]\n      },\n      \"PhotosSummary\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"count\": {\n            \"type\": \"integer\",\n            \"description\": \"The number of photos\"\n          },\n          \"primary\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"id\": {\n                \"type\": \"integer\",\n                \"format\": \"int64\"\n              },\n              \"source\": {\n                \"type\": \"integer\"\n              },\n              \"unique_id\": {\n                \"type\": \"string\"\n              },\n              \"urls\": {\n                \"type\": \"object\",\n                \"additionalProperties\": {\n                  \"type\": \"string\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"Split\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"average_speed\": {\n            \"type\": \"number\",\n            \"description\": \"The average speed of this split, in meters per second\",\n            \"format\": \"float\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The distance of this split, in meters\",\n            \"format\": \"float\"\n          },\n          \"elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The elapsed time of this split, in seconds\"\n          },\n          \"elevation_difference\": {\n            \"type\": \"number\",\n            \"description\": \"The elevation difference of this split, in meters\",\n            \"format\": \"float\"\n          },\n          \"pace_zone\": {\n            \"type\": \"integer\",\n            \"description\": \"The pacing zone of this split\"\n          },\n          \"moving_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The moving time of this split, in seconds\"\n          },\n          \"split\": {\n            \"type\": \"integer\",\n            \"description\": \"N/A\"\n          }\n        }\n      },\n      \"Lap\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this lap\",\n            \"format\": \"int64\"\n          },\n          \"activity\": {\n            \"$ref\": \"#/components/schemas/MetaActivity\"\n          },\n          \"athlete\": {\n            \"$ref\": \"#/components/schemas/MetaAthlete\"\n          },\n          \"average_cadence\": {\n            \"type\": \"number\",\n            \"description\": \"The lap's average cadence\",\n            \"format\": \"float\"\n          },\n          \"average_speed\": {\n            \"type\": \"number\",\n            \"description\": \"The lap's average speed\",\n            \"format\": \"float\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The lap's distance, in meters\",\n            \"format\": \"float\"\n          },\n          \"elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The lap's elapsed time, in seconds\"\n          },\n          \"start_index\": {\n            \"type\": \"integer\",\n            \"description\": \"The start index of this effort in its activity's stream\"\n          },\n          \"end_index\": {\n            \"type\": \"integer\",\n            \"description\": \"The end index of this effort in its activity's stream\"\n          },\n          \"lap_index\": {\n            \"type\": \"integer\",\n            \"description\": \"The index of this lap in the activity it belongs to\"\n          },\n          \"max_speed\": {\n            \"type\": \"number\",\n            \"description\": \"The maximum speed of this lat, in meters per second\",\n            \"format\": \"float\"\n          },\n          \"moving_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The lap's moving time, in seconds\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the lap\"\n          },\n          \"pace_zone\": {\n            \"type\": \"integer\",\n            \"description\": \"The athlete's pace zone during this lap\"\n          },\n          \"split\": {\n            \"type\": \"integer\"\n          },\n          \"start_date\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the lap was started.\",\n            \"format\": \"date-time\"\n          },\n          \"start_date_local\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the lap was started in the local timezone.\",\n            \"format\": \"date-time\"\n          },\n          \"total_elevation_gain\": {\n            \"type\": \"number\",\n            \"description\": \"The elevation gain of this lap, in meters\",\n            \"format\": \"float\"\n          }\n        }\n      },\n      \"UpdatableActivity\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"commute\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this activity is a commute\"\n          },\n          \"trainer\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this activity was recorded on a training machine\"\n          },\n          \"hide_from_home\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this activity is muted\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"description\": \"The description of the activity\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the activity\"\n          },\n          \"type\": {\n            \"$ref\": \"#/components/schemas/ActivityType\"\n          },\n          \"sport_type\": {\n            \"$ref\": \"#/components/schemas/SportType\"\n          },\n          \"gear_id\": {\n            \"type\": \"string\",\n            \"description\": \"Identifier for the gear associated with the activity. ‘none’ clears gear from activity\"\n          }\n        }\n      },\n      \"ActivityZone\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"score\": {\n            \"type\": \"integer\"\n          },\n          \"distribution_buckets\": {\n            \"$ref\": \"#/components/schemas/TimedZoneDistribution\"\n          },\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"heartrate\",\n              \"power\"\n            ]\n          },\n          \"sensor_based\": {\n            \"type\": \"boolean\"\n          },\n          \"points\": {\n            \"type\": \"integer\"\n          },\n          \"custom_zones\": {\n            \"type\": \"boolean\"\n          },\n          \"max\": {\n            \"type\": \"integer\"\n          }\n        }\n      },\n      \"TimedZoneDistribution\": {\n        \"type\": \"array\",\n        \"description\": \"Stores the exclusive ranges representing zones and the time spent in each.\",\n        \"items\": {\n          \"$ref\": \"#/components/schemas/TimedZoneRange\"\n        }\n      },\n      \"TimedZoneRange\": {\n        \"description\": \"A union type representing the time spent in a given zone.\",\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/ZoneRange\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"time\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of seconds spent in this zone\"\n              }\n            }\n          }\n        ]\n      },\n      \"Comment\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this comment\",\n            \"format\": \"int64\"\n          },\n          \"activity_id\": {\n            \"type\": \"integer\",\n            \"description\": \"The identifier of the activity this comment is related to\",\n            \"format\": \"int64\"\n          },\n          \"text\": {\n            \"type\": \"string\",\n            \"description\": \"The content of the comment\"\n          },\n          \"athlete\": {\n            \"$ref\": \"#/components/schemas/SummaryAthlete\"\n          },\n          \"created_at\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which this comment was created.\",\n            \"format\": \"date-time\"\n          }\n        }\n      },\n      \"DetailedClub\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummaryClub\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"membership\": {\n                \"type\": \"string\",\n                \"description\": \"The membership status of the logged-in athlete.\",\n                \"enum\": [\n                  \"member\",\n                  \"pending\"\n                ]\n              },\n              \"admin\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the currently logged-in athlete is an administrator of this club.\"\n              },\n              \"owner\": {\n                \"type\": \"boolean\",\n                \"description\": \"Whether the currently logged-in athlete is the owner of this club.\"\n              },\n              \"following_count\": {\n                \"type\": \"integer\",\n                \"description\": \"The number of athletes in the club that the logged-in athlete follows.\"\n              }\n            }\n          }\n        ]\n      },\n      \"ClubAthlete\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"resource_state\": {\n            \"type\": \"integer\",\n            \"description\": \"Resource state, indicates level of detail. Possible values: 1 -> \\\"meta\\\", 2 -> \\\"summary\\\", 3 -> \\\"detail\\\"\"\n          },\n          \"firstname\": {\n            \"type\": \"string\",\n            \"description\": \"The athlete's first name.\"\n          },\n          \"lastname\": {\n            \"type\": \"string\",\n            \"description\": \"The athlete's last initial.\"\n          },\n          \"member\": {\n            \"type\": \"string\",\n            \"description\": \"The athlete's member status.\"\n          },\n          \"admin\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether the athlete is a club admin.\"\n          },\n          \"owner\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether the athlete is club owner.\"\n          }\n        }\n      },\n      \"ClubActivity\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"athlete\": {\n            \"$ref\": \"#/components/schemas/MetaAthlete\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the activity\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The activity's distance, in meters\",\n            \"format\": \"float\"\n          },\n          \"moving_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The activity's moving time, in seconds\"\n          },\n          \"elapsed_time\": {\n            \"type\": \"integer\",\n            \"description\": \"The activity's elapsed time, in seconds\"\n          },\n          \"total_elevation_gain\": {\n            \"type\": \"number\",\n            \"description\": \"The activity's total elevation gain.\",\n            \"format\": \"float\"\n          },\n          \"type\": {\n            \"$ref\": \"#/components/schemas/ActivityType\"\n          },\n          \"sport_type\": {\n            \"$ref\": \"#/components/schemas/SportType\"\n          },\n          \"workout_type\": {\n            \"type\": \"integer\",\n            \"description\": \"The activity's workout type\"\n          }\n        }\n      },\n      \"DetailedGear\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/SummaryGear\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"brand_name\": {\n                \"type\": \"string\",\n                \"description\": \"The gear's brand name.\"\n              },\n              \"model_name\": {\n                \"type\": \"string\",\n                \"description\": \"The gear's model name.\"\n              },\n              \"frame_type\": {\n                \"type\": \"integer\",\n                \"description\": \"The gear's frame type (bike only).\"\n              },\n              \"description\": {\n                \"type\": \"string\",\n                \"description\": \"The gear's description.\"\n              }\n            }\n          }\n        ]\n      },\n      \"Route\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"athlete\": {\n            \"$ref\": \"#/components/schemas/SummaryAthlete\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"description\": \"The description of the route\"\n          },\n          \"distance\": {\n            \"type\": \"number\",\n            \"description\": \"The route's distance, in meters\",\n            \"format\": \"float\"\n          },\n          \"elevation_gain\": {\n            \"type\": \"number\",\n            \"description\": \"The route's elevation gain.\",\n            \"format\": \"float\"\n          },\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of this route\",\n            \"format\": \"int64\"\n          },\n          \"id_str\": {\n            \"type\": \"string\",\n            \"description\": \"The unique identifier of the route in string format\"\n          },\n          \"map\": {\n            \"$ref\": \"#/components/schemas/PolylineMap\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of this route\"\n          },\n          \"private\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this route is private\"\n          },\n          \"starred\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether this route is starred by the logged-in athlete\"\n          },\n          \"timestamp\": {\n            \"type\": \"integer\",\n            \"description\": \"An epoch timestamp of when the route was created\"\n          },\n          \"type\": {\n            \"type\": \"integer\",\n            \"description\": \"This route's type (1 for ride, 2 for runs)\"\n          },\n          \"sub_type\": {\n            \"type\": \"integer\",\n            \"description\": \"This route's sub-type (1 for road, 2 for mountain bike, 3 for cross, 4 for trail, 5 for mixed)\"\n          },\n          \"created_at\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the route was created\",\n            \"format\": \"date-time\"\n          },\n          \"updated_at\": {\n            \"type\": \"string\",\n            \"description\": \"The time at which the route was last updated\",\n            \"format\": \"date-time\"\n          },\n          \"estimated_moving_time\": {\n            \"type\": \"integer\",\n            \"description\": \"Estimated time in seconds for the authenticated athlete to complete route\"\n          },\n          \"segments\": {\n            \"type\": \"array\",\n            \"description\": \"The segments traversed by this route\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/SummarySegment\"\n            }\n          },\n          \"waypoints\": {\n            \"minItems\": 0,\n            \"type\": \"array\",\n            \"description\": \"The custom waypoints along this route\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Waypoint\"\n            }\n          }\n        }\n      },\n      \"Waypoint\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"target_latlng\": {\n            \"$ref\": \"#/components/schemas/LatLng\"\n          },\n          \"categories\": {\n            \"minItems\": 0,\n            \"type\": \"array\",\n            \"description\": \"Categories that the waypoint belongs to\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"title\": {\n            \"type\": \"string\",\n            \"description\": \"A title for the waypoint\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"description\": \"A description of the waypoint (optional)\"\n          },\n          \"distance_into_route\": {\n            \"type\": \"integer\",\n            \"description\": \"The number meters along the route that the waypoint is located\"\n          }\n        }\n      },\n      \"Upload\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"description\": \"The unique identifier of the upload\",\n            \"format\": \"int64\"\n          },\n          \"id_str\": {\n            \"type\": \"string\",\n            \"description\": \"The unique identifier of the upload in string format\"\n          },\n          \"external_id\": {\n            \"type\": \"string\",\n            \"description\": \"The external identifier of the upload\"\n          },\n          \"error\": {\n            \"type\": \"string\",\n            \"description\": \"The error associated with this upload\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"description\": \"The status of this upload\"\n          },\n          \"activity_id\": {\n            \"type\": \"integer\",\n            \"description\": \"The identifier of the activity this upload resulted into\",\n            \"format\": \"int64\"\n          }\n        }\n      },\n      \"StreamSet\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"time\": {\n            \"$ref\": \"#/components/schemas/TimeStream\"\n          },\n          \"distance\": {\n            \"$ref\": \"#/components/schemas/DistanceStream\"\n          },\n          \"latlng\": {\n            \"$ref\": \"#/components/schemas/LatLngStream\"\n          },\n          \"altitude\": {\n            \"$ref\": \"#/components/schemas/AltitudeStream\"\n          },\n          \"velocity_smooth\": {\n            \"$ref\": \"#/components/schemas/SmoothVelocityStream\"\n          },\n          \"heartrate\": {\n            \"$ref\": \"#/components/schemas/HeartrateStream\"\n          },\n          \"cadence\": {\n            \"$ref\": \"#/components/schemas/CadenceStream\"\n          },\n          \"watts\": {\n            \"$ref\": \"#/components/schemas/PowerStream\"\n          },\n          \"temp\": {\n            \"$ref\": \"#/components/schemas/TemperatureStream\"\n          },\n          \"moving\": {\n            \"$ref\": \"#/components/schemas/MovingStream\"\n          },\n          \"grade_smooth\": {\n            \"$ref\": \"#/components/schemas/SmoothGradeStream\"\n          }\n        }\n      },\n      \"TimeStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of time values for this stream, in seconds\",\n                \"items\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"BaseStream\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"original_size\": {\n            \"type\": \"integer\",\n            \"description\": \"The number of data points in this stream\"\n          },\n          \"resolution\": {\n            \"type\": \"string\",\n            \"description\": \"The level of detail (sampling) in which this stream was returned\",\n            \"enum\": [\n              \"low\",\n              \"medium\",\n              \"high\"\n            ]\n          },\n          \"series_type\": {\n            \"type\": \"string\",\n            \"description\": \"The base series used in the case the stream was downsampled\",\n            \"enum\": [\n              \"distance\",\n              \"time\"\n            ]\n          }\n        }\n      },\n      \"DistanceStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of distance values for this stream, in meters\",\n                \"items\": {\n                  \"type\": \"number\",\n                  \"format\": \"float\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"LatLngStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of lat/long values for this stream\",\n                \"items\": {\n                  \"$ref\": \"#/components/schemas/LatLng\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"AltitudeStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of altitude values for this stream, in meters\",\n                \"items\": {\n                  \"type\": \"number\",\n                  \"format\": \"float\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"SmoothVelocityStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of velocity values for this stream, in meters per second\",\n                \"items\": {\n                  \"type\": \"number\",\n                  \"format\": \"float\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"HeartrateStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of heart rate values for this stream, in beats per minute\",\n                \"items\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"CadenceStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of cadence values for this stream, in rotations per minute\",\n                \"items\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"PowerStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of power values for this stream, in watts\",\n                \"items\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"TemperatureStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of temperature values for this stream, in celsius degrees\",\n                \"items\": {\n                  \"type\": \"integer\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"MovingStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of moving values for this stream, as boolean values\",\n                \"items\": {\n                  \"type\": \"boolean\"\n                }\n              }\n            }\n          }\n        ]\n      },\n      \"SmoothGradeStream\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/BaseStream\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"data\": {\n                \"type\": \"array\",\n                \"description\": \"The sequence of grade values for this stream, as percents of a grade\",\n                \"items\": {\n                  \"type\": \"number\",\n                  \"format\": \"float\"\n                }\n              }\n            }\n          }\n        ]\n      }\n    },\n    \"parameters\": {\n      \"page\": {\n        \"name\": \"page\",\n        \"in\": \"query\",\n        \"description\": \"Page number. Defaults to 1.\",\n        \"schema\": {\n          \"type\": \"integer\"\n        }\n      },\n      \"perPage\": {\n        \"name\": \"per_page\",\n        \"in\": \"query\",\n        \"description\": \"Number of items per page. Defaults to 30.\",\n        \"schema\": {\n          \"type\": \"integer\",\n          \"default\": 30\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"strava_oauth\": {\n        \"type\": \"oauth2\",\n        \"flows\": {\n          \"authorizationCode\": {\n            \"authorizationUrl\": \"https://www.strava.com/api/v3/oauth/authorize\",\n            \"tokenUrl\": \"https://www.strava.com/api/v3/oauth/token\",\n            \"scopes\": {\n              \"read\": \"Read public segments, public routes, public profile data, public posts, public events, club feeds, and leaderboards\"\n            }\n          }\n        }\n      },\n      \"bearer\": {\n        \"scheme\": \"bearer\",\n        \"bearerFormat\": \"JWT\",\n        \"type\": \"http\",\n        \"description\": \"The short-lived access token generated by Strava OAuth 2.0. It is used to authenticate requests to the Strava API.\"\n      }\n    }\n  },\n  \"x-original-swagger-version\": \"2.0\"\n}"}]}},"http_status":200,"headers":{"content-type":"application/json"},"resource_uri":"http://localhost:3000/strava.json"}},"determinism_probe":{"status":"ok","latency_ms":14.79,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"8fb5e9cb6ff9173ed8de13f5839fc2e73268298c90a101e9ff346472bba9da0b","errors":[]}},"instruction_tool_reference_probe":{"status":"ok","latency_ms":null,"details":{"referenced_tools":[],"missing_tools":[],"observed_tool_count":13}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-06-18"}},"step_up_auth_probe":{"status":"ok","latency_ms":null,"details":{"oauth_present":true,"auth_required_checks":[],"supported_scopes":["read"],"scope_specificity_ratio":1.0,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":true}},"transport_compliance_probe":{"status":"error","latency_ms":15.6,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-06-18","bad_protocol_status_code":200,"bad_protocol_payload":{"jsonrpc":"2.0","id":410,"result":{"tools":[{"name":"getStats","title":"Get Athlete Stats","description":"Get Athlete Stats - Returns the activity stats of an athlete. Only includes data from activities set to Everyone visibilty.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthlete","title":"Get Authenticated Athlete","description":"Get Authenticated Athlete - Returns the currently authenticated athlete. Tokens with profile:read_all scope will receive a detailed athlete representation; all others will receive a summary representation.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthleteStarredSegments","title":"List Starred Segments","description":"List Starred Segments - List of the authenticated athlete's starred segments. Private segments are filtered out unless requested by a token with read_all scope.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getEffortsBySegmentId","title":"List Segment Efforts","description":"List Segment Efforts - Returns a set of the authenticated athlete's segment efforts for a given segment.  Requires subscription.","inputSchema":{"type":"object","properties":{"segment_id":{"type":"integer"},"start_date_local":{"type":"string","format":"date-time"},"end_date_local":{"type":"string","format":"date-time"},"per_page":{"type":"integer"}},"required":["segment_id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"exploreSegments","title":"Explore segments","description":"Explore segments - Returns the top 10 segments matching a specified query.","inputSchema":{"type":"object","properties":{"bounds":{"type":"array","items":{"type":"number","format":"float"},"minItems":4,"maxItems":4},"activity_type":{"type":"string","enum":["running","riding"]},"min_cat":{"type":"integer","minimum":0,"maximum":5},"max_cat":{"type":"integer","minimum":0,"maximum":5}},"required":["bounds"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getSegmentEffortById","title":"Get Segment Effort","description":"Get Segment Effort - Returns a segment effort from an activity that is owned by the authenticated athlete. Requires subscription.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubById","title":"Get Club","description":"Get Club - Returns a given club using its identifier.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubMembersById","title":"List Club Members","description":"List Club Members - Returns a list of the athletes who are members of a given club.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubAdminsById","title":"List Club Administrators","description":"List Club Administrators - Returns a list of the administrators of a given club.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getClubActivitiesById","title":"List Club Activities","description":"List Club Activities - Retrieve recent activities from members of a specific club. The authenticated athlete must belong to the requested club in order to hit this endpoint. Pagination is supported. Athlete profile visibility is respected for all activities.","inputSchema":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getLoggedInAthleteClubs","title":"List Athlete Clubs","description":"List Athlete Clubs - Returns a list of the clubs whose membership includes the authenticated athlete.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getGearById","title":"Get Equipment","description":"Get Equipment - Returns an equipment using its identifier.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"annotations":{"readOnlyHint":true,"destructiveHint":false}},{"name":"getRoutesByAthleteId","title":"List Athlete Routes","description":"List Athlete Routes - Returns a list of the routes created by the authenticated athlete. Private routes are filtered out unless requested by a token with read_all scope.","inputSchema":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"}}},"annotations":{"readOnlyHint":true,"destructiveHint":false}}]}},"bad_protocol_headers":{"content-type":"application/json"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_session_id","missing_protocol_header","bad_protocol_not_rejected"]}},"utility_coverage_probe":{"status":"missing","latency_ms":14.87,"details":{"completions":{"advertised":false,"sample_target":{"type":"resource","uri":"http://localhost:3000/strava.json"},"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"missing","http_status":200},"initialize_capability_keys":["logging","prompts","resources","resourcesTemplates","tools"]}},"advanced_capabilities_probe":{"status":"warning","latency_ms":null,"details":{"capabilities":{"prompts":true,"resources":true,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":false,"resource_links":true},"enabled_count":3,"enabled":["prompts","resource_links","resources"],"initialize_capability_keys":["logging","prompts","resources","resourcesTemplates","tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":13,"previous_tool_count":13,"similarity":1.0,"added":[],"removed":[],"changed_outputs":[]}},"connector_replay_probe":{"status":"ok","latency_ms":null,"details":{"backward_compatible":true,"would_break_after_refresh":false,"added_tools":[],"removed_tools":[],"required_arg_breaks":[],"output_breaks":[],"additive_output_changes":[]}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"ok","latency_ms":null,"details":{"risk_hits":[],"safe_hits":["oauth","sign in"],"oauth_supported":true,"prompt_available":true}},"action_safety_probe":{"status":"ok","latency_ms":null,"details":{"summary":{"tool_count":13,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":0,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":0,"annotation_conflict_tools":0,"risk_distribution":{"low":13,"medium":0,"high":0,"critical":0},"capability_distribution":{"read":13},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":true,"safeguard_count":1,"confirmation_signals":[],"reason":null}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.com.mcp/strava","direct_match":true,"official_peer_count":1}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":true,"registry_title":null,"server_card_title":null,"registry_version":null,"server_card_version":null,"registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":2,"compared_fields":["title","version","homepage","repository"],"readable_sources":["registry"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_server_card_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":null,"live_server_name":"strava","server_version_mismatch":false,"card_server_version":null,"live_server_version":"0.6.0","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":13,"high_risk_tools":0,"blockers":["protocol_version","session_resume","transport_compliance","request_association","server_card"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":true,"protocol_version":false,"session_resume":false,"step_up_auth":true,"transport_compliance":false,"connector_replay":true,"request_association":false,"action_safety":true,"server_card":false,"tool_surface":true,"auth_flow":true}}}}},"active_alerts":[],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_db040e966c39ca40","generated_at":"2026-08-16T06:07:54.394249+00:00","trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","source":"current_snapshot","server":"ai.com.mcp/strava","last_validated_at":"2026-08-16T00:56:24.165698+00:00","validation_age_hours":5.19,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T00:56:24.165698+00:00","age_hours":5.19,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":70.83,"raw_score":70.83,"confidence_score":100.0,"confidence_weighted_score":70.8,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":70.83,"display_score":70.83,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":5.19,"live_check_count":21,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_db040e966c39ca40","generated_at":"2026-08-16T06:07:54.394249+00:00","trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","source":"current_snapshot","server":"ai.com.mcp/strava","last_validated_at":"2026-08-16T00:56:24.165698+00:00","validation_age_hours":5.19,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T00:56:24.165698+00:00","age_hours":5.19,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":70.83,"raw_score":70.83,"confidence_score":100.0,"confidence_weighted_score":70.8,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":70.83,"display_score":70.83,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":5.19,"live_check_count":21,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"},"owner_opted_out":false},"latest_validation":null,"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_db040e966c39ca40","generated_at":"2026-08-16T06:07:54.394249+00:00","trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","source":"current_snapshot","server":"ai.com.mcp/strava","last_validated_at":"2026-08-16T00:56:24.165698+00:00","validation_age_hours":5.19,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T00:56:24.165698+00:00","age_hours":5.19,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":70.83,"raw_score":70.83,"confidence_score":100.0,"confidence_weighted_score":70.8,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":70.83,"display_score":70.83,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":5.19,"live_check_count":21,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_db040e966c39ca40","generated_at":"2026-08-16T06:07:54.394249+00:00","trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","source":"current_snapshot","server":"ai.com.mcp/strava","last_validated_at":"2026-08-16T00:56:24.165698+00:00","validation_age_hours":5.19,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T00:56:24.165698+00:00","age_hours":5.19,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":70.83,"raw_score":70.83,"confidence_score":100.0,"confidence_weighted_score":70.8,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":70.83,"display_score":70.83,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":5.19,"live_check_count":21,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"}},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"snapshot_invariant":{"schema_version":"verify.snapshot_invariant.v1","server":"ai.com.mcp/strava","ok":true,"surface_snapshot_ids":{"page":"trustsnap_db040e966c39ca40","badge":null,"report":"trustsnap_db040e966c39ca40","policy":null},"checked_surfaces":["page","report"],"unchecked_surfaces":["badge","policy"],"checked_count_surfaces":[],"count_mismatches":{},"checked_at":"2026-08-16T06:07:54.368872+00:00"},"history":{},"production_readiness":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use.","badge":"score-medium","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"agent_commerce_readiness":{},"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 21 captured checks, and validation age of 5.2 hours.","live_check_count":21,"validation_age_hours":5.19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":21,"validation_age_hours":5.19,"freshness_threshold_hours":24}},"recommended_for":[],"active_alerts":[],"remediations":[],"cache_note":"Fast fallback response; full report evidence is deferred to protect web capacity. Fields listed in fields_unavailable (including tool_security_inventory, and write_action_governance) are not yet computed on this response -- an empty value means unchecked, not confirmed clean. Treat partial responses as indeterminate.","publisher_claim":{"verified":false,"status":"unclaimed","claim_url":"https://verify.sentinelsignal.io/claim?server=ai.com.mcp%2Fstrava&source=report_json","reason_code":"claim_to_publish_metadata","reason":"Claim this profile to verify publisher identity, add evidence, and manage trust metadata.","score_neutral":true},"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"related_machine_surfaces":{"compare_index":"/compare.json","compare_api":"/v1/compare?server=ai.com.mcp%2Fstrava","trust_summary":"/v1/servers/ai.com.mcp/strava/trust-summary","ledger":"/v1/servers/ai.com.mcp/strava/ledger","policy":"/v1/servers/ai.com.mcp/strava/policy","report":"/v1/servers/ai.com.mcp/strava/report"},"intelligence_api":{"available":true,"signup_url":"https://verify.sentinelsignal.io/verify-intelligence-api","use_case":"Programmatic MCP server trust, comparison, policy, and evidence enrichment."},"trust_evaluated_at":"2026-08-16T06:07:54.394249+00:00","evidence_revision":"2aa4802e64d00ed5d2bb61b2","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T06:07:54.394249+00:00"}}