asyncapi: 2.6.0 info: title: Wahoo Cloud Webhooks version: v1 description: >- Wahoo Cloud delivers `workout_summary` webhook events to a callback URL registered against a developer application. Webhooks require the `offline_data` OAuth scope. Failed deliveries (non-200) are retried at 30 minutes, 4 hours, 24 hours, and 72 hours before being dropped. contact: name: Wahoo Developer Support email: wahooapi@wahoofitness.com url: https://developers.wahooligan.com externalDocs: description: Wahoo Cloud API Reference — Webhooks url: https://cloud-api.wahooligan.com/#webhooks defaultContentType: application/json channels: workout_summary: description: >- Delivered when a workout summary is created or updated for a user that authorized the registered application with the `offline_data` scope. subscribe: operationId: receiveWorkoutSummary summary: Receive Workout Summary Webhook message: $ref: '#/components/messages/WorkoutSummaryEvent' components: messages: WorkoutSummaryEvent: name: WorkoutSummaryEvent title: Workout Summary Event contentType: application/json payload: type: object properties: event: type: string enum: [workout_summary] user: type: object properties: id: { type: integer, format: int64 } webhook_token: { type: string } workout_summary: $ref: '#/components/schemas/WorkoutSummary' schemas: WorkoutSummary: type: object properties: id: { type: integer, format: int64 } workout_id: { type: integer, format: int64 } ascent_accum: { type: string } calories_accum: { type: string } distance_accum: { type: string } duration_active_accum: { type: string } duration_total_accum: { type: string } cadence_avg: { type: string } heart_rate_avg: { type: string } power_bike_avg: { type: string } speed_avg: { type: string } work_accum: { type: string } file: type: object properties: url: { type: string, format: uri }