Wahoo Fitness website screenshot

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.

Wahoo Fitness publishes 8 APIs on the APIs.io network, including Permissions API, Plans API, Power Zones API, and 5 more. Tagged areas include Fitness, Cycling, Endurance Training, Bike Computers, and Smart Trainers.

The Wahoo Fitness catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 2 Spectral governance rulesets.

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

46.9/100 developing ▬ flat Agent 36/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumSelf serve⚡ Free to try
10 APIs
FitnessCyclingEndurance TrainingBike ComputersSmart TrainersIndoor CyclingHeart RatePower MetersGPSWearablesHardwareFIT FilesWebhooksOAuth

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 46.9/100 · developing
Contract Quality 18.7 / 25
Developer Ergonomics 6.5 / 20
Commercial Clarity 4.2 / 20
Operational Transparency 4.8 / 13
Governance 6.3 / 12
Discoverability 6.5 / 10
Agent readiness — 36/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/wahoo: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 10

Individual APIs this provider publishes, each with its own machine-readable definition.

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...

Wahoo Fitness Permissions API

Revoke OAuth app access.

Wahoo Fitness Plans API

Structured workout plans.

Wahoo Fitness Power Zones API

Cycling power training zones.

Wahoo Fitness Routes API

Navigation / course data backed by FIT files.

Wahoo Fitness Users API

Authenticated user profile.

Wahoo Fitness Workout File Uploads API

Asynchronous FIT-file ingestion.

Wahoo Fitness Workout Summaries API

Aggregate results for a completed workout.

Wahoo Fitness Workouts API

Workout records (CRUD + listing).

Scroll for all 10

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Wahoo Cloud API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Wahoo Plans Pricing

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Wahoo Rate Limits

6 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

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 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Wahoo Context

0 classes · 6 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Wahoo Fitness API Rules

2 rules · 2 warnings

SPECTRAL

Wahoo Fitness API Rules

5 rules · 4 warnings 1 info

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions for this provider's data models.

Wahoo Workout

11 properties

JSON SCHEMA

Wahoo Workout Summary

13 properties

JSON SCHEMA

Examples 2

Example request and response payloads for these APIs.

Wahoo Power Zones Example

13 fields

EXAMPLE

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Wahoo Authentication

oauth2 · 1 scheme

SECURITY

Wahoo Domain Security

TLSv1.2 · HSTS · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Wahoo Scopes

12 scopes · authorizationCode

12 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Wahoo Agentic Access

28 operations · 16 acting · 1 human-in-the-loop

28 operations · 16 acting

AGENTIC

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Learn 2

Tutorials, courses, talks, and written guidance

Operate 1

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 5

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml 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
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Provider
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/wahoo.png
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-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/
- aid: wahoo:wahoo-permissions-api
  name: Wahoo Fitness Permissions API
  description: Revoke OAuth app access.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Permissions
  properties:
  - type: OpenAPI
    url: openapi/wahoo-permissions-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-plans-api
  name: Wahoo Fitness Plans API
  description: Structured workout plans.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Plans
  properties:
  - type: OpenAPI
    url: openapi/wahoo-plans-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-power-zones-api
  name: Wahoo Fitness Power Zones API
  description: Cycling power training zones.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Power Zones
  properties:
  - type: OpenAPI
    url: openapi/wahoo-power-zones-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-routes-api
  name: Wahoo Fitness Routes API
  description: Navigation / course data backed by FIT files.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Routes
  properties:
  - type: OpenAPI
    url: openapi/wahoo-routes-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-users-api
  name: Wahoo Fitness Users API
  description: Authenticated user profile.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Users
  properties:
  - type: OpenAPI
    url: openapi/wahoo-users-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-workout-file-uploads-api
  name: Wahoo Fitness Workout File Uploads API
  description: Asynchronous FIT-file ingestion.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Workout File Uploads
  properties:
  - type: OpenAPI
    url: openapi/wahoo-workout-file-uploads-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-workout-summaries-api
  name: Wahoo Fitness Workout Summaries API
  description: Aggregate results for a completed workout.
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Workout Summaries
  properties:
  - type: OpenAPI
    url: openapi/wahoo-workout-summaries-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
- aid: wahoo:wahoo-workouts-api
  name: Wahoo Fitness Workouts API
  description: Workout records (CRUD + listing).
  humanURL: https://cloud-api.wahooligan.com/
  baseURL: https://api.wahooligan.com
  tags:
  - Workouts
  properties:
  - type: OpenAPI
    url: openapi/wahoo-workouts-api-openapi.yml
  - 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: 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: Plans
    url: plans/wahoo-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/wahoo-rate-limits.yml
  - type: Vocabulary
    url: vocabulary/wahoo-vocabulary.yml
  - type: Examples
    url: examples/wahoo-workout-summary-event-example.json
  - type: Examples
    url: examples/wahoo-power-zones-example.json
  - type: Webhooks
    url: https://cloud-api.wahooligan.com/#webhooks
  - type: Authentication
    url: https://cloud-api.wahooligan.com/#authentication
common:
- type: AgenticAccess
  url: agentic-access/wahoo-agentic-access.yml
- type: DomainSecurity
  url: security/wahoo-domain-security.yml
- type: Authentication
  url: authentication/wahoo-authentication.yml
- type: OAuthScopes
  url: scopes/wahoo-scopes.yml
- 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: kin@apievangelist.com