CorrConnect developer docs
CorrConnect lets an athlete share their workouts with your app. They approve the access, you read normalized activity summaries with a scoped token, and a webhook tells you when something new arrives. Early access: subject to change.
Start here
- Quickstart: register an app, get an athlete's approval and make your first call. About five minutes with your own account as the athlete.
- Connect a user: the full authorization flow for a production app, with state checks and token storage.
- Receive webhooks: stop polling. Verify the signature, answer within 10 seconds, fetch the record.
What you can build with it today
An athlete signs in to CorrConnect, picks what your app may see, and approves. Your app then holds a token that reads only what they approved:
| Scope | Endpoints | What your app can read |
|---|---|---|
activities:read | GET /GET / | The athlete's activity summaries, newest first. |
profile:read | GET /v1/profile | sub, an ID for this athlete that only your app sees. No email or name. |
Activities are summaries: sport, start time, duration, distance where the source recorded it, plus laps or segments for files. They never include GPS points, heart-rate streams or the original file. See the data model for every field.
How the pieces fit
- You register an app once and get a
client_id. There is no client secret; every app is a public client that proves itself with PKCE. - You send the athlete to
/oauth/authorize. They sign in to CorrConnect, read what you asked for and approve or deny. - Your callback receives a one-use code. You swap it at
/oauth/tokenfor an access token (one hour) and a refresh token (rotates on every use). - You call
GET /andv1/ activities GET /v1/profilewith the access token. - CorrConnect posts
activity.createdto your webhook when the athlete adds a workout, andgrant.revokedwhen your access ends.
Free, with limits you can plan for
Each app gets 100 requests per 15 minutes and 10,000 per day, webhooks included at no cost. Every response tells you how much is left. The rate limits page has the exact rules and headers.
Reference
- API reference: every endpoint, field and error, generated from the service's own OpenAPI document.
- Webhook events: payloads, headers, signing and the retry schedule.
- Errors: every error code, where it comes from and what to do.
- OpenAPI document: load it into your HTTP client or code generator.
Get help
Email [email protected] with your app's client_id and the request_id from the response. Support lists what else helps us answer quickly.