Wahoo Fitness · Capability

Wahoo Cloud API — Workouts

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

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

The capability includes 3 read-only operations and 3 state-changing operations. Lead operation: List Wahoo workouts. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Wahoo, Workouts, and Fitness.

Run with Naftiko WahooWorkoutsFitness

MCP Tools

wahoo-list-workouts

List Wahoo workouts.

read-only idempotent
wahoo-create-workout

Create a Wahoo workout.

wahoo-get-workout

Get a Wahoo workout by id.

read-only idempotent
wahoo-update-workout

Update a Wahoo workout.

idempotent
wahoo-delete-workout

Delete a Wahoo workout.

idempotent
wahoo-get-workout-summary

Get the workout summary for a workout.

read-only idempotent

Capability Spec

cloud-workouts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Wahoo Cloud API — Workouts
  description: >-
    Workout CRUD capability for the Wahoo Cloud API. Create, list, read,
    update, and delete workout records and their summaries.
  tags:
    - Wahoo
    - Workouts
    - Fitness
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      WAHOO_ACCESS_TOKEN: WAHOO_ACCESS_TOKEN
capability:
  consumes:
    - type: http
      namespace: cloud-workouts
      baseUri: https://api.wahooligan.com
      description: Wahoo Cloud Workouts surface — self-contained OAuth bearer client.
      resources:
        - name: v1-workouts
          path: /v1/workouts
          operations:
            - name: listWorkouts
              method: GET
              description: List the authenticated user's workouts.
            - name: createWorkout
              method: POST
              description: Create a workout.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
        - name: v1-workouts-id
          path: /v1/workouts/{id}
          operations:
            - name: getWorkout
              method: GET
              description: Get a workout by id.
              inputParameters:
                - name: id
                  in: path
                  type: integer
                  required: true
            - name: updateWorkout
              method: PUT
              description: Update a workout.
              inputParameters:
                - name: id
                  in: path
                  type: integer
                  required: true
                - name: body
                  in: body
                  type: object
                  required: true
            - name: deleteWorkout
              method: DELETE
              description: Delete a workout.
              inputParameters:
                - name: id
                  in: path
                  type: integer
                  required: true
        - name: v1-workouts-summary
          path: /v1/workouts/{id}/workout_summary
          operations:
            - name: getWorkoutSummary
              method: GET
              description: Get a workout summary.
              inputParameters:
                - name: id
                  in: path
                  type: integer
                  required: true
      authentication:
        type: bearer
        value: '{{env.WAHOO_ACCESS_TOKEN}}'
        placement: header
  exposes:
    - type: mcp
      namespace: cloud-workouts-mcp
      port: 9090
      transport: http
      description: MCP adapter for Wahoo Cloud Workouts.
      tools:
        - name: wahoo-list-workouts
          description: List Wahoo workouts.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-workouts.listWorkouts
        - name: wahoo-create-workout
          description: Create a Wahoo workout.
          hints: { readOnly: false, destructive: false, idempotent: false }
          call: cloud-workouts.createWorkout
          with: { body: tools.body }
        - name: wahoo-get-workout
          description: Get a Wahoo workout by id.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-workouts.getWorkout
          with: { id: tools.id }
        - name: wahoo-update-workout
          description: Update a Wahoo workout.
          hints: { readOnly: false, destructive: false, idempotent: true }
          call: cloud-workouts.updateWorkout
          with: { id: tools.id, body: tools.body }
        - name: wahoo-delete-workout
          description: Delete a Wahoo workout.
          hints: { readOnly: false, destructive: true, idempotent: true }
          call: cloud-workouts.deleteWorkout
          with: { id: tools.id }
        - name: wahoo-get-workout-summary
          description: Get the workout summary for a workout.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-workouts.getWorkoutSummary
          with: { id: tools.id }