Wahoo Fitness logo

Wahoo Fitness

Wahoo Fitness is an Atlanta, Georgia endurance-training hardware and software company building cycling and run-training products: the ELEMNT family of GPS bike computers (ACE, ROAM, BOLT), the KICKR family of smart trainers and bikes (KICKR BIKE PRO/SHIFT, KICKR MOVE, KICKR CORE, KICKR ROLLR, KICKR RUN treadmill), TICKR and TRACKR heart-rate monitors and sensors (including TRACKR RADAR rear-facing radar), and SPEEDPLAY road and power pedals. Wahoo publishes a public Cloud API at api.wahooligan.com that allows third-party applications to authenticate Wahoo users via OAuth 2.0 and read/write user profiles, workouts, workout summaries, FIT-file uploads, structured workout plans, GPS routes, and cycling power zones. The Cloud API delivers workout_summary webhook events when the offline_data scope is granted. Companion AppleHealth / native iOS and Android APIs round out the developer surface; access is gated by the Wahoo API Agreement and an app-approval workflow that promotes integrations from sandbox to production.

3 APIs 7 Capabilities 0 Features
FitnessCyclingEndurance TrainingBike ComputersSmart TrainersIndoor CyclingHeart RatePower MetersGPSWearablesHardwareFIT FilesWebhooksOAuth

Wahoo Fitness publishes 1 API on the APIs.io network: Wahoo Cloud API. Tagged areas include Fitness, Cycling, Endurance Training, Bike Computers, and Smart Trainers.

The Wahoo Fitness catalog on APIs.io includes 7 machine-runnable capabilities, 1 event-driven AsyncAPI specification, and 1 JSON-LD context.

Wahoo Fitness’ developer surface includes API reference, GitHub presence, support, engineering blog, YouTube channel, and 8 more developer resources.

APIs

Wahoo Cloud API

OAuth 2.0 REST API that connects Wahoo users to third-party mobile and web applications. Manages user profiles, workouts, workout summaries, FIT-file uploads, structured workout...

Wahoo iOS API

Native iOS SDK for interacting with Wahoo devices directly over BLE/ANT+ and integrating with the Wahoo Cloud. Documented at the Wahoo developer portal under the iOS product. Ac...

Wahoo Android API

Native Android SDK for interacting with Wahoo devices over BLE/ANT+ and integrating with the Wahoo Cloud. Documented at the Wahoo developer portal under the Android product. Acc...

Capabilities

Wahoo Cloud API — Workout File Uploads

FIT-file upload capability for the Wahoo Cloud API. Posts a FIT file asynchronously and polls the returned token for processing state.

Run with Naftiko

Wahoo Cloud API — Permissions

Permission revocation capability for the Wahoo Cloud API. Removes the calling application's access for the authenticated user.

Run with Naftiko

Wahoo Cloud API — Plans

Workout plan capability for the Wahoo Cloud API. Manage structured JSON workout plans, including listing plans linked to a workout.

Run with Naftiko

Wahoo Cloud API — Power Zones

Cycling power zone capability for the Wahoo Cloud API. Manage FTP-based training zones used by KICKR trainers and ELEMNT computers.

Run with Naftiko

Wahoo Cloud API — Routes

GPS route capability for the Wahoo Cloud API. Manage FIT-backed route files used by ELEMNT bike computers and KICKR indoor courses.

Run with Naftiko

Wahoo Cloud API — Users

Authenticated user profile capability for the Wahoo Cloud API. Read and update the calling user's profile (name, birth, gender, height, weight).

Run with Naftiko

Wahoo Cloud API — Workouts

Workout CRUD capability for the Wahoo Cloud API. Create, list, read, update, and delete workout records and their summaries.

Run with Naftiko

Event Specifications

Wahoo Cloud Webhooks

Wahoo Cloud delivers `workout_summary` webhook events to a callback URL registered against a developer application. Webhooks require the `offline_data` OAuth scope. Failed deliv...

ASYNCAPI

Semantic Vocabularies

Wahoo Context

0 classes · 6 properties

JSON-LD

Resources

🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
APIReference
APIReference
🔗
APIAgreement
APIAgreement
👥
GitHub
GitHub
💬
Support
Support
🎓
TrainingApp
TrainingApp
🔗
WahooX
WahooX
📰
Blog
Blog
🔗
Twitter
Twitter
🔗
Instagram
Instagram
👥
YouTube
YouTube
🔗
LinkedIn
LinkedIn

Sources

Raw ↑
aid: wahoo
name: Wahoo Fitness
description: >-
  Wahoo Fitness is an Atlanta, Georgia endurance-training hardware and software
  company building cycling and run-training products: the ELEMNT family of GPS
  bike computers (ACE, ROAM, BOLT), the KICKR family of smart trainers and bikes
  (KICKR BIKE PRO/SHIFT, KICKR MOVE, KICKR CORE, KICKR ROLLR, KICKR RUN
  treadmill), TICKR and TRACKR heart-rate monitors and sensors (including
  TRACKR RADAR rear-facing radar), and SPEEDPLAY road and power pedals. Wahoo
  publishes a public Cloud API at api.wahooligan.com that allows third-party
  applications to authenticate Wahoo users via OAuth 2.0 and read/write user
  profiles, workouts, workout summaries, FIT-file uploads, structured workout
  plans, GPS routes, and cycling power zones. The Cloud API delivers
  workout_summary webhook events when the offline_data scope is granted.
  Companion AppleHealth / native iOS and Android APIs round out the developer
  surface; access is gated by the Wahoo API Agreement and an app-approval
  workflow that promotes integrations from sandbox to production.
type: Index
position: Provider
access: 3rd-Party
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
  - Fitness
  - Cycling
  - Endurance Training
  - Bike Computers
  - Smart Trainers
  - Indoor Cycling
  - Heart Rate
  - Power Meters
  - GPS
  - Wearables
  - Hardware
  - FIT Files
  - Webhooks
  - OAuth
url: https://raw.githubusercontent.com/api-evangelist/wahoo/refs/heads/main/apis.yml
created: '2026-05-25'
modified: '2026-05-25'
specificationVersion: '0.20'
apis:
  - aid: wahoo:wahoo-cloud-api
    name: Wahoo Cloud API
    tags:
      - Fitness
      - Cycling
      - Workouts
      - OAuth
    humanURL: https://cloud-api.wahooligan.com/
    baseURL: https://api.wahooligan.com
    description: >-
      OAuth 2.0 REST API that connects Wahoo users to third-party mobile and
      web applications. Manages user profiles, workouts, workout summaries,
      FIT-file uploads, structured workout plans, GPS routes, and cycling
      power zones. Delivers workout_summary webhook events when offline_data
      scope is granted. Sandbox apps are promoted to production after Wahoo
      review.
    properties:
      - type: Documentation
        url: https://cloud-api.wahooligan.com/
      - type: Documentation
        url: https://developers.wahooligan.com/cloud
      - type: SignUp
        url: https://developers.wahooligan.com/
      - type: TermsOfService
        url: https://www.wahoofitness.com/wahoo-api-agreement
      - type: OpenAPI
        url: openapi/wahoo-cloud-api-openapi.yml
      - type: AsyncAPI
        url: asyncapi/wahoo-webhooks-asyncapi.yml
      - type: JSONSchema
        url: json-schema/wahoo-workout-schema.json
      - type: JSONSchema
        url: json-schema/wahoo-workout-summary-schema.json
      - type: JSONLD
        url: json-ld/wahoo-context.jsonld
      - type: NaftikoCapability
        url: capabilities/cloud-users.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-workouts.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-file-uploads.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-plans.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-routes.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-power-zones.yaml
      - type: NaftikoCapability
        url: capabilities/cloud-permissions.yaml
      - type: Plans
        url: plans/wahoo-plans-pricing.yml
      - type: RateLimits
        url: rate-limits/wahoo-rate-limits.yml
      - type: Vocabulary
        url: vocabulary/wahoo-vocabulary.yml
      - type: Example
        url: examples/wahoo-workout-summary-event-example.json
      - type: Example
        url: examples/wahoo-power-zones-example.json
      - type: Webhook
        url: https://cloud-api.wahooligan.com/#webhooks
      - type: Authentication
        url: https://cloud-api.wahooligan.com/#authentication
    contact:
      - FN: Wahoo Developer Support
        email: [email protected]
        url: https://developers.wahooligan.com
  - aid: wahoo:wahoo-ios-api
    name: Wahoo iOS API
    tags:
      - Fitness
      - Cycling
      - iOS
      - SDK
    humanURL: https://developers.wahooligan.com/
    description: >-
      Native iOS SDK for interacting with Wahoo devices directly over BLE/ANT+
      and integrating with the Wahoo Cloud. Documented at the Wahoo developer
      portal under the iOS product. Access is gated by the Wahoo API
      Agreement and an app-approval workflow.
    properties:
      - type: Documentation
        url: https://developers.wahooligan.com/
      - type: SignUp
        url: https://developers.wahooligan.com/
  - aid: wahoo:wahoo-android-api
    name: Wahoo Android API
    tags:
      - Fitness
      - Cycling
      - Android
      - SDK
    humanURL: https://developers.wahooligan.com/
    description: >-
      Native Android SDK for interacting with Wahoo devices over BLE/ANT+
      and integrating with the Wahoo Cloud. Documented at the Wahoo
      developer portal under the Android product. Access is gated by the
      Wahoo API Agreement and an app-approval workflow.
    properties:
      - type: Documentation
        url: https://developers.wahooligan.com/
      - type: SignUp
        url: https://developers.wahooligan.com/
common:
  - type: Website
    url: https://www.wahoofitness.com/
  - type: DeveloperPortal
    url: https://developers.wahooligan.com/
  - type: APIReference
    url: https://cloud-api.wahooligan.com/
  - type: APIAgreement
    url: https://www.wahoofitness.com/wahoo-api-agreement
  - type: GitHub
    url: https://github.com/wahoofitness
  - type: Support
    url: https://support.wahoofitness.com/
  - type: TrainingApp
    url: https://www.wahoofitness.com/devices/training-app
  - type: WahooX
    url: https://wahooxsystm.com/
  - type: Blog
    url: https://www.wahoofitness.com/blog
  - type: Twitter
    url: https://twitter.com/wahoofitness
  - type: Instagram
    url: https://www.instagram.com/wahoofitness/
  - type: YouTube
    url: https://www.youtube.com/user/WahooFitness
  - type: LinkedIn
    url: https://www.linkedin.com/company/wahoo-fitness/
properties:
  - type: PrimaryDomain
    value: Fitness
  - type: SecondaryDomain
    value: Cycling
  - type: AuthenticationStandard
    value: OAuth 2.0 (Authorization Code + PKCE)
  - type: WebhookStandard
    value: Custom JSON POST (workout_summary)
  - type: DataFormat
    value: JSON
  - type: DeviceDataFormat
    value: FIT
  - type: PrimaryAudience
    value: Endurance Athletes
  - type: SecondaryAudience
    value: Coaches And Training Platforms
solutions:
  - Sync Wahoo workouts into a third-party training platform.
  - Push structured workout plans from a coaching service into a user's ELEMNT bike computer.
  - Push GPS routes from a route-planning service into a user's ELEMNT bike computer for turn-by-turn navigation.
  - Maintain cycling power zones synced to FTP test results.
  - Stream workout_summary webhook events into an analytics, coaching, or social-fitness platform.
  - Upload raw FIT files captured by non-Wahoo devices into a user's Wahoo workout history.
useCases:
  - Coaching platforms (TrainingPeaks, intervals.icu-style, custom).
  - Social fitness platforms ingesting completed rides/runs.
  - Route-planning services pushing courses to ELEMNT computers.
  - Indoor-training applications synchronizing power zones and FTP.
  - Health platforms aggregating workouts across vendors.
integrations:
  - aid: garmin
    name: Garmin (FIT-file format interoperability)
  - aid: strava
    name: Strava (workout sync via third-party bridges)
  - aid: trainingpeaks
    name: TrainingPeaks (plan and workout interoperability)
  - aid: zwift
    name: Zwift (KICKR trainer control over BLE/ANT+ FE-C; outside the Cloud API)
  - aid: apple-health
    name: Apple Health (via iOS app)
features:
  - OAuth 2.0 with PKCE for public apps.
  - Sandbox-to-production app approval workflow.
  - Webhooks with exponential-backoff retry (30m / 4h / 24h / 72h).
  - Pagination via page and per_page query parameters.
  - Asynchronous FIT-file ingestion with polling token.
  - Per-user active-token cap (10 unrevoked tokens per user as of 2026-01-01).
maintainers:
  - FN: Kin Lane
    email: [email protected]