Wahoo Fitness · Capability

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.

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

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

Tagged areas include Wahoo, Power Zones, FTP, and Cycling.

Run with Naftiko WahooPower ZonesFTPCycling

MCP Tools

wahoo-list-power-zones

List Wahoo cycling power zones.

read-only idempotent
wahoo-create-power-zones

Create Wahoo cycling power zones.

wahoo-get-power-zones

Get Wahoo cycling power zones.

read-only idempotent
wahoo-update-power-zones

Update Wahoo cycling power zones.

idempotent
wahoo-delete-power-zones

Delete Wahoo cycling power zones.

idempotent

Capability Spec

cloud-power-zones.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Wahoo Cloud API — Power Zones
  description: >-
    Cycling power zone capability for the Wahoo Cloud API. Manage FTP-based
    training zones used by KICKR trainers and ELEMNT computers.
  tags:
    - Wahoo
    - Power Zones
    - FTP
    - Cycling
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      WAHOO_ACCESS_TOKEN: WAHOO_ACCESS_TOKEN
capability:
  consumes:
    - type: http
      namespace: cloud-power-zones
      baseUri: https://api.wahooligan.com
      description: Wahoo Cloud Power Zones surface.
      resources:
        - name: v1-power-zones
          path: /v1/power_zones
          operations:
            - name: listPowerZones
              method: GET
              description: List power zones.
            - name: createPowerZones
              method: POST
              description: Create power zones.
              inputParameters: [{ name: body, in: body, type: object, required: true }]
        - name: v1-power-zones-id
          path: /v1/power_zones/{id}
          operations:
            - name: getPowerZones
              method: GET
              description: Get power zones by id.
              inputParameters: [{ name: id, in: path, type: integer, required: true }]
            - name: updatePowerZones
              method: PUT
              description: Update power zones.
              inputParameters:
                - { name: id, in: path, type: integer, required: true }
                - { name: body, in: body, type: object, required: true }
            - name: deletePowerZones
              method: DELETE
              description: Delete power zones.
              inputParameters: [{ name: id, in: path, type: integer, required: true }]
      authentication:
        type: bearer
        value: '{{env.WAHOO_ACCESS_TOKEN}}'
        placement: header
  exposes:
    - type: mcp
      namespace: cloud-power-zones-mcp
      port: 9090
      transport: http
      description: MCP adapter for Wahoo Cloud Power Zones.
      tools:
        - name: wahoo-list-power-zones
          description: List Wahoo cycling power zones.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-power-zones.listPowerZones
        - name: wahoo-create-power-zones
          description: Create Wahoo cycling power zones.
          hints: { readOnly: false, destructive: false, idempotent: false }
          call: cloud-power-zones.createPowerZones
          with: { body: tools.body }
        - name: wahoo-get-power-zones
          description: Get Wahoo cycling power zones.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: cloud-power-zones.getPowerZones
          with: { id: tools.id }
        - name: wahoo-update-power-zones
          description: Update Wahoo cycling power zones.
          hints: { readOnly: false, destructive: false, idempotent: true }
          call: cloud-power-zones.updatePowerZones
          with: { id: tools.id, body: tools.body }
        - name: wahoo-delete-power-zones
          description: Delete Wahoo cycling power zones.
          hints: { readOnly: false, destructive: true, idempotent: true }
          call: cloud-power-zones.deletePowerZones
          with: { id: tools.id }