$ Fitness Developer API

AI Session Summaries for Fitness Coaches

Generate client-ready post-session summaries from workout data. Integrates with mainstream fitness APIs. Ships in days, not weeks.

$npm install @coachai/summary-bot
$ Structured Output

Parse Workout Logs into Summaries

Extract metrics, rep counts, and recovery notes from structured or freeform session data. Returns client-ready summaries via a single API call.

typescript
const summary = await coach.summary.create({
  sessionId: 'sess_abc123',
  exercises: [{ name: 'deadlift', sets: 4, reps: 8, weight: 185 }],
  notes: 'Client reported lower-back tightness on final set.',
});

console.log(summary.markdown);
// ## Post-Session Summary
// **Exercises Completed:** 4
// **Volume:** 5,920 lbs
// **Notes:** Lower-back tightness reported on final set.
$ Webhook Delivery

Push Summaries to Existing Platforms

Configure a webhook URL and summaries land directly in your coaching app, CRM, or client portal. No polling, no polling retries.

  • POST delivery with HMAC signature verification
  • Auto-retry with exponential backoff
  • Payload supports markdown or plain text
json
{
  "event": "summary.created",
  "timestamp": "2024-01-15T18:32:00Z",
  "data": {
    "summaryId": "sum_xyz789",
    "clientId": "client_aaa111",
    "markdown": "## Session Summary\n...",
    "sentTo": ["app.coachportal.com"]
  }
}
$ Coaching Templates

Customizable Summary Templates

Define sections, formatting, and tone per client or program. Templates support variables, conditionals, and locale-specific phrasing.

  • Liquid-templating syntax for variables and logic
  • Per-client template assignment via API
  • Localization support: en, es, fr, de, pt
liquid
{% if session.rpe_score >= 8 %}
⚠️ **High Intensity:** Client reported RPE {{ session.rpe_score }}/10. Consider scheduling recovery day.
{% endif %}

**Volume:** {{ total_volume | number_format }} lbs
**Next Session:** {{ next_session_date | date: "%b %d" }}
<200ms
p95 latency
99.9%
API uptime
12+
supported exercises
4
locales

FAQ

How does the summary generation work?

You POST session data (exercises, sets, reps, weights, and optional notes) to the `/v1/summaries` endpoint. The API returns a markdown-formatted summary with parsed metrics, highlights, and coaching annotations. Processing completes in under 200ms for typical sessions.

Do clients see the summary automatically?

By default, summaries are generated on-demand via API and not pushed anywhere. You configure webhook endpoints to deliver summaries to your app. You control which clients receive summaries and how they're surfaced—through your own UI, email, or messaging platform.

Can I customize the summary format per client?

Yes. Templates use Liquid-templating syntax and support variables, conditionals, and loops. You can assign different templates to individual clients or groups. Templates support four locales (English, Spanish, French, German) with configurable section ordering and tone.

What's the pricing model?

Usage-based pricing at $0.02 per summary generated. No monthly minimum, no per-seat fees. Enterprise tiers include SLA guarantees, dedicated support, and custom template libraries. Volume discounts available at 10K+ summaries/month.

Does this handle liability for health advice?

The system generates structured summaries from session data you provide. All outputs are labeled as AI-assisted drafts for coach review—not medical advice or guaranteed health outcomes. You control final approval before delivery to clients.

What fitness tracking formats are supported?

The API accepts JSON payloads for structured data (exercise name, sets, reps, weight, RPE). You can also POST freeform session notes and the system extracts structured metrics. Direct integrations with Strava, Whoop, and Fitbit are on the roadmap for Q2.

Start generating summaries in your coaching app

SDK available for Node.js, Python, and Go. Full API reference and example templates included.

Get API Key