Wahoo Fitness · Capability

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.

Wahoo Cloud API — Workout File Uploads is a Naftiko capability published by Wahoo Fitness, one of 7 capabilities the APIs.io network indexes for this provider. It bundles 2 operations.

The capability includes 1 read-only operation and 1 state-changing operation. Lead operation: Upload a FIT file to Wahoo Cloud. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Wahoo, Workouts, FIT, and Uploads.

Run with Naftiko WahooWorkoutsFITUploads

MCP Tools

wahoo-upload-fit

Upload a FIT file to Wahoo Cloud.

wahoo-get-fit-upload-status

Get the processing state of an uploaded FIT file.

read-only idempotent

Capability Spec

cloud-file-uploads.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Wahoo Cloud API — Workout File Uploads
  description: >-
    FIT-file upload capability for the Wahoo Cloud API. Posts a FIT file
    asynchronously and polls the returned token for processing state.
  tags:
    - Wahoo
    - Workouts
    - FIT
    - Uploads
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      WAHOO_ACCESS_TOKEN: WAHOO_ACCESS_TOKEN
capability:
  consumes:
    - type: http
      namespace: cloud-file-uploads
      baseUri: https://api.wahooligan.com
      description: Wahoo Cloud Workout File Uploads surface.
      resources:
        - name: v1-workout-file-uploads
          path: /v1/workout_file_uploads
          operations:
            - name: createWorkoutFileUpload
              method: POST
              description: Upload a FIT file for asynchronous ingestion.
              inputParameters:
                - name: file
                  in: formData
                  type: file
                  required: true
        - name: v1-workout-file-uploads-token
          path: /v1/workout_file_uploads/{token}
          operations:
            - name: getWorkoutFileUpload
              method: GET
              description: Get upload status by token.
              inputParameters:
                - name: token
                  in: path
                  type: string
                  required: true
      authentication:
        type: bearer
        value: '{{env.WAHOO_ACCESS_TOKEN}}'
        placement: header
  exposes:
    - type: mcp
      namespace: cloud-file-uploads-mcp
      port: 9090
      transport: http
      description: MCP adapter for Wahoo Cloud Workout File Uploads.
      tools:
        - name: wahoo-upload-fit
          description: Upload a FIT file to Wahoo Cloud.
          hints: { readOnly: false, destructive: false, idempotent: false }
          call: cloud-file-uploads.createWorkoutFileUpload
          with: { file: tools.file }
        - name: wahoo-get-fit-upload-status
          description: Get the processing state of an uploaded FIT file.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-file-uploads.getWorkoutFileUpload
          with: { token: tools.token }