curl -X GET "https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}" \
-H "Authorization: Bearer <access_token>"const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"run": {
"runId": "67f1234567890abcdef1234",
"source": "calendar_event",
"status": "active",
"calendarEventId": null,
"manualSessionKey": "small-group-2026-06-04-09",
"startedAt": null,
"endedAt": null
},
"participants": [
{
"clientId": "67f1234567890abcdef1234",
"ok": true,
"sessionId": null,
"sessionStatus": "planned",
"workoutSource": "auto_assigned_plan",
"sourceLabel": "Full Body - Day 2",
"templateId": null,
"errorCode": "",
"requiresConfirmation": false,
"confirmationToken": null,
"confirmationTokenExpiresAt": null,
"timerStartedAt": null,
"timerPausedAt": null,
"timerElapsedMs": 90000,
"runTimer": {
"timerStartedAt": null,
"timerPausedAt": null,
"timerElapsedMs": 300000
},
"member": {
"clientId": "67f1234567890abcdef1234",
"firstName": "Joseph",
"lastName": "Quin",
"fullName": "Joseph Quin",
"email": "joseph@example.com",
"image": "https://cdn.example.com/avatar.jpg",
"isActive": true,
"tags": [
{
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"name": "VIP",
"label": "VIP",
"color": "#105DFB"
}
],
"memberships": [
{
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"membershipId": null,
"storeModuleMembershipId": null,
"productName": "Premium Monthly",
"name": "Premium Monthly",
"status": "Active",
"startDate": null,
"endDate": null,
"expiresAt": null,
"nextBillingDate": null,
"autoRenewCheck": false
}
],
"activeMembership": {
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"membershipId": null,
"storeModuleMembershipId": null,
"productName": "Premium Monthly",
"name": "Premium Monthly",
"status": "Active",
"startDate": null,
"endDate": null,
"expiresAt": null,
"nextBillingDate": null,
"autoRenewCheck": false
},
"membershipExpiresAt": null,
"remainingCredits": 23,
"creditBalance": 23,
"nextTrainingAt": null,
"nextTrainingBookingId": null,
"groupWorkoutSession": {
"sessionId": null,
"sessionStatus": "paused",
"workoutSource": "auto_assigned_plan",
"sourceLabel": "Assigned plan",
"startedAt": null,
"endedAt": null
}
},
"sessionData": {
"session": {
"id": "67f1234567890abcdef1234",
"planId": null,
"programmeScheduleItemId": null,
"plannedDate": "2026-09-08",
"locationId": null,
"planMomentId": null,
"status": "in_progress",
"startedAt": "2026-04-12T10:00:00.000Z",
"endedAt": null,
"rating": 8,
"difficulty": "Moderate",
"emojiRating": "Energized",
"notes": "Session felt good overall.",
"showSetRpe": true,
"activeExerciseId": null,
"activePerformanceId": null,
"activeExerciseUpdatedAt": null,
"provenance": {
"origin": "coach",
"startedByActorType": "coach",
"startedByClientId": null,
"startedByCoachId": null,
"executedByCoachId": null,
"completedByActorType": "",
"completedByClientId": null,
"completedByCoachId": null,
"endedByActorType": "",
"endedByClientId": null,
"endedByCoachId": null,
"lastUpdatedByActorType": "coach",
"lastUpdatedByClientId": null,
"lastUpdatedByCoachId": null
},
"planMoment": {
"id": "67f1234567890abcdef1234",
"name": "Day 1",
"description": "Upper body push.",
"date": "2026-04-15",
"order": 0,
"scoring": {
"scoringType": "forTime",
"descriptionOnly": true,
"acceptsManualResult": true,
"targetValue": null,
"timeDomain": {
"windowSeconds": null,
"timeCapSeconds": 900,
"rounds": 3,
"intervalSeconds": null,
"intervalCount": null,
"workSeconds": null,
"restSeconds": null
},
"scoreValidation": {
"timeCapSeconds": 900,
"maxReps": null,
"expectedIntervals": null
},
"result": {
"roundsCompleted": 5,
"repsPerRound": 30,
"extraReps": 12,
"totalReps": 162,
"intervalReps": [
12,
11,
10
],
"elapsedSeconds": 742,
"finishedBeforeCap": true,
"timeCapSeconds": 900,
"maxLoadKg": 120
}
}
}
},
"medicalInfo": {
"anyInjuries": {
"showCheck": true,
"value": "Knee replacement L (2023)"
},
"anyMedications": {
"showCheck": true,
"value": "Metformin 500mg"
},
"anyAllergies": {
"showCheck": false,
"value": ""
},
"anyHeartProblem": true,
"anyBloodPressureIssue": true,
"approvedPhysicalActivities": true
},
"performances": [
{
"id": "67f1234567890abcdef1234",
"sessionId": "67f1234567890abcdef1234",
"planId": null,
"planMomentId": null,
"exerciseId": "67f1234567890abcdef1234",
"planExerciseId": null,
"source": "plan",
"name": "Barbell Bench Press",
"template": {
"exerciseId": "67f1234567890abcdef1234",
"planExerciseId": null,
"sets": 3,
"minReps": 8,
"maxReps": 10,
"metric": "45 sec",
"rest": 75,
"rpe": 7,
"notes": "Keep shoulder blades pinned.",
"description": "Flat horizontal press with controlled tempo.",
"order": 0
},
"libraryExercise": {
"primaryMuscle": "Chest",
"description": "Flat horizontal press with controlled tempo.",
"secondaryMuscles": [
"Shoulders",
"Triceps"
],
"primaryJoint": "Shoulder",
"difficulty": "Intermediate",
"intensity": "Above Average",
"equipment": [
"Barbell",
"Bench"
],
"images": [
{
"url": "https://cdn.example.com/workouts/plan-cover.jpg",
"width": 1280,
"height": 720
}
],
"videos": [
{
"url": "https://cdn.example.com/workouts/demo.mp4",
"platform": "s3",
"videoId": "",
"thumbnail": "https://cdn.example.com/workouts/demo-thumb.jpg",
"duration": 84,
"width": 1920,
"height": 1080
}
],
"defaultType": "reps"
},
"order": 0,
"isActive": true,
"isCompleted": false,
"date": "2026-04-12T10:00:00.000Z",
"startedAt": null,
"endedAt": null,
"groupId": "super-a",
"totals": {
"totalReps": 24,
"totalTimeSeconds": 0,
"totalDistanceMeters": 0,
"totalVolume": 1680,
"maxWeight": 75,
"estimated1RM": 95,
"averageRPE": 8.2
},
"sets": [
{
"setNumber": 1,
"setType": "N",
"displayNumber": 1,
"displayLabel": "1",
"previous": "12 × 22kg",
"reps": 8,
"weight": 50,
"timeSeconds": null,
"distanceMeters": null,
"rpe": 8,
"rest": 60,
"restSeconds": 60,
"completed": true,
"targetReps": "8",
"targetWeight": 50,
"targetTimeSeconds": null,
"targetDistanceMeters": null,
"targetRestSeconds": 60,
"repsPlaceholderCoach": 12,
"weightPlaceholderCoach": 40,
"timeSecondsPlaceholderCoach": null,
"distanceMetersPlaceholderCoach": null,
"rpePlaceholderCoach": 7,
"restSecondsPlaceholderCoach": 90,
"repsPlaceholder": 12,
"weightPlaceholder": 40,
"timeSecondsPlaceholder": null,
"distanceMetersPlaceholder": null,
"rpePlaceholder": 7,
"restSecondsPlaceholder": 90,
"repsActual": 30,
"weightActual": 42,
"timeSecondsActual": null,
"distanceMetersActual": null,
"rpeActual": 8,
"restSecondsActual": 90
}
],
"notes": "Last set close to failure.",
"nextSessionTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"targetSnapshot": {
"exerciseType": "reps",
"todayTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"lastSessionTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"personalRecord": {
"metric": "weight",
"value": 82.5,
"unit": "kg",
"reps": 6,
"performedAt": null,
"sessionId": null,
"performanceId": null
},
"todaySetupValues": {},
"lastSetupValues": {},
"sourceSessionId": null,
"sourcePerformanceId": null
},
"setupFields": [
{
"key": "seat",
"label": "Seat",
"type": "text",
"unit": "",
"options": [
"1",
"2",
"3",
"4"
],
"order": 1,
"required": false,
"enabled": true,
"defaultValue": 3
}
],
"setupValues": {
"seat": "4",
"backrest": "2"
},
"nextSetupValues": {
"seat": "5"
},
"showSetRpe": true,
"setupSettingsEnabled": true,
"hasMachineSettings": true,
"isMachineSetting": true,
"provenance": {
"recordedByActorType": "coach",
"recordedByClientId": null,
"recordedByCoachId": null,
"lastUpdatedByActorType": "coach",
"lastUpdatedByClientId": null,
"lastUpdatedByCoachId": null
},
"type": "reps",
"metrics": {
"totalVolume": 1680,
"maxWeight": 75,
"totalReps": 24
},
"isPersonalBest": true
}
],
"summary": {
"totalVolume": 1680,
"totalReps": 24,
"totalPersonalBests": 1,
"muscleActivation": {
"raw": {
"chest": 18,
"shoulders": 12,
"triceps": 8
},
"normalized": {
"chest": 18,
"shoulders": 12,
"triceps": 8
},
"maxValue": 18,
"topMuscles": [
{
"muscle": "chest",
"value": 18
}
]
}
}
},
"sessionErrorCode": ""
}
]
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 403,
"key": "scopes.insufficient",
"message": "The access token does not include the required scope.",
"details": {
"requiredScopes": [
"required:scope"
]
}
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 404,
"key": "resource.not_found",
"message": "The requested Public API resource was not found."
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 500,
"key": "server.internal_error",
"message": "An unexpected Public API server error occurred."
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}Get a compact group workout run with participant session data
Returns participant session data including backend-calculated set-level progress, completionPercentage, and progressSummary fields so clients do not need to infer progress from exercise-level completion. For a performance with saved set rows, template.sets and template.setsData are session-scoped to that saved row count so exercise headers update after sets are added or removed without mutating the shared plan. Every performance set includes effective and coach placeholder fields for reps, weight, time, distance, RPE and rest. Coach prescriptions take precedence over stored client hints; rep ranges remain strings, and placeholders never count as logged work. Slow-request diagnostics measure participant loading as a whole and include participant counts.
Requires the workout_groups:read scope. This operation maps to /app/v1/coach/workout/group/runs/:runId and retains its Workout V2 permission, feature-flag, and resource-scope checks.
The clientId path parameter is resolved inside the company bound to the Public API token when present.
curl -X GET "https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}" \
-H "Authorization: Bearer <access_token>"const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.fitsociety.io/public/v1/workout/groups/runs/{runId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"run": {
"runId": "67f1234567890abcdef1234",
"source": "calendar_event",
"status": "active",
"calendarEventId": null,
"manualSessionKey": "small-group-2026-06-04-09",
"startedAt": null,
"endedAt": null
},
"participants": [
{
"clientId": "67f1234567890abcdef1234",
"ok": true,
"sessionId": null,
"sessionStatus": "planned",
"workoutSource": "auto_assigned_plan",
"sourceLabel": "Full Body - Day 2",
"templateId": null,
"errorCode": "",
"requiresConfirmation": false,
"confirmationToken": null,
"confirmationTokenExpiresAt": null,
"timerStartedAt": null,
"timerPausedAt": null,
"timerElapsedMs": 90000,
"runTimer": {
"timerStartedAt": null,
"timerPausedAt": null,
"timerElapsedMs": 300000
},
"member": {
"clientId": "67f1234567890abcdef1234",
"firstName": "Joseph",
"lastName": "Quin",
"fullName": "Joseph Quin",
"email": "joseph@example.com",
"image": "https://cdn.example.com/avatar.jpg",
"isActive": true,
"tags": [
{
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"name": "VIP",
"label": "VIP",
"color": "#105DFB"
}
],
"memberships": [
{
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"membershipId": null,
"storeModuleMembershipId": null,
"productName": "Premium Monthly",
"name": "Premium Monthly",
"status": "Active",
"startDate": null,
"endDate": null,
"expiresAt": null,
"nextBillingDate": null,
"autoRenewCheck": false
}
],
"activeMembership": {
"_id": "67f1234567890abcdef1234",
"id": "67f1234567890abcdef1234",
"membershipId": null,
"storeModuleMembershipId": null,
"productName": "Premium Monthly",
"name": "Premium Monthly",
"status": "Active",
"startDate": null,
"endDate": null,
"expiresAt": null,
"nextBillingDate": null,
"autoRenewCheck": false
},
"membershipExpiresAt": null,
"remainingCredits": 23,
"creditBalance": 23,
"nextTrainingAt": null,
"nextTrainingBookingId": null,
"groupWorkoutSession": {
"sessionId": null,
"sessionStatus": "paused",
"workoutSource": "auto_assigned_plan",
"sourceLabel": "Assigned plan",
"startedAt": null,
"endedAt": null
}
},
"sessionData": {
"session": {
"id": "67f1234567890abcdef1234",
"planId": null,
"programmeScheduleItemId": null,
"plannedDate": "2026-09-08",
"locationId": null,
"planMomentId": null,
"status": "in_progress",
"startedAt": "2026-04-12T10:00:00.000Z",
"endedAt": null,
"rating": 8,
"difficulty": "Moderate",
"emojiRating": "Energized",
"notes": "Session felt good overall.",
"showSetRpe": true,
"activeExerciseId": null,
"activePerformanceId": null,
"activeExerciseUpdatedAt": null,
"provenance": {
"origin": "coach",
"startedByActorType": "coach",
"startedByClientId": null,
"startedByCoachId": null,
"executedByCoachId": null,
"completedByActorType": "",
"completedByClientId": null,
"completedByCoachId": null,
"endedByActorType": "",
"endedByClientId": null,
"endedByCoachId": null,
"lastUpdatedByActorType": "coach",
"lastUpdatedByClientId": null,
"lastUpdatedByCoachId": null
},
"planMoment": {
"id": "67f1234567890abcdef1234",
"name": "Day 1",
"description": "Upper body push.",
"date": "2026-04-15",
"order": 0,
"scoring": {
"scoringType": "forTime",
"descriptionOnly": true,
"acceptsManualResult": true,
"targetValue": null,
"timeDomain": {
"windowSeconds": null,
"timeCapSeconds": 900,
"rounds": 3,
"intervalSeconds": null,
"intervalCount": null,
"workSeconds": null,
"restSeconds": null
},
"scoreValidation": {
"timeCapSeconds": 900,
"maxReps": null,
"expectedIntervals": null
},
"result": {
"roundsCompleted": 5,
"repsPerRound": 30,
"extraReps": 12,
"totalReps": 162,
"intervalReps": [
12,
11,
10
],
"elapsedSeconds": 742,
"finishedBeforeCap": true,
"timeCapSeconds": 900,
"maxLoadKg": 120
}
}
}
},
"medicalInfo": {
"anyInjuries": {
"showCheck": true,
"value": "Knee replacement L (2023)"
},
"anyMedications": {
"showCheck": true,
"value": "Metformin 500mg"
},
"anyAllergies": {
"showCheck": false,
"value": ""
},
"anyHeartProblem": true,
"anyBloodPressureIssue": true,
"approvedPhysicalActivities": true
},
"performances": [
{
"id": "67f1234567890abcdef1234",
"sessionId": "67f1234567890abcdef1234",
"planId": null,
"planMomentId": null,
"exerciseId": "67f1234567890abcdef1234",
"planExerciseId": null,
"source": "plan",
"name": "Barbell Bench Press",
"template": {
"exerciseId": "67f1234567890abcdef1234",
"planExerciseId": null,
"sets": 3,
"minReps": 8,
"maxReps": 10,
"metric": "45 sec",
"rest": 75,
"rpe": 7,
"notes": "Keep shoulder blades pinned.",
"description": "Flat horizontal press with controlled tempo.",
"order": 0
},
"libraryExercise": {
"primaryMuscle": "Chest",
"description": "Flat horizontal press with controlled tempo.",
"secondaryMuscles": [
"Shoulders",
"Triceps"
],
"primaryJoint": "Shoulder",
"difficulty": "Intermediate",
"intensity": "Above Average",
"equipment": [
"Barbell",
"Bench"
],
"images": [
{
"url": "https://cdn.example.com/workouts/plan-cover.jpg",
"width": 1280,
"height": 720
}
],
"videos": [
{
"url": "https://cdn.example.com/workouts/demo.mp4",
"platform": "s3",
"videoId": "",
"thumbnail": "https://cdn.example.com/workouts/demo-thumb.jpg",
"duration": 84,
"width": 1920,
"height": 1080
}
],
"defaultType": "reps"
},
"order": 0,
"isActive": true,
"isCompleted": false,
"date": "2026-04-12T10:00:00.000Z",
"startedAt": null,
"endedAt": null,
"groupId": "super-a",
"totals": {
"totalReps": 24,
"totalTimeSeconds": 0,
"totalDistanceMeters": 0,
"totalVolume": 1680,
"maxWeight": 75,
"estimated1RM": 95,
"averageRPE": 8.2
},
"sets": [
{
"setNumber": 1,
"setType": "N",
"displayNumber": 1,
"displayLabel": "1",
"previous": "12 × 22kg",
"reps": 8,
"weight": 50,
"timeSeconds": null,
"distanceMeters": null,
"rpe": 8,
"rest": 60,
"restSeconds": 60,
"completed": true,
"targetReps": "8",
"targetWeight": 50,
"targetTimeSeconds": null,
"targetDistanceMeters": null,
"targetRestSeconds": 60,
"repsPlaceholderCoach": 12,
"weightPlaceholderCoach": 40,
"timeSecondsPlaceholderCoach": null,
"distanceMetersPlaceholderCoach": null,
"rpePlaceholderCoach": 7,
"restSecondsPlaceholderCoach": 90,
"repsPlaceholder": 12,
"weightPlaceholder": 40,
"timeSecondsPlaceholder": null,
"distanceMetersPlaceholder": null,
"rpePlaceholder": 7,
"restSecondsPlaceholder": 90,
"repsActual": 30,
"weightActual": 42,
"timeSecondsActual": null,
"distanceMetersActual": null,
"rpeActual": 8,
"restSecondsActual": 90
}
],
"notes": "Last set close to failure.",
"nextSessionTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"targetSnapshot": {
"exerciseType": "reps",
"todayTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"lastSessionTarget": {
"reps": "5-8",
"weight": 80,
"weightUnit": "kg",
"timeSeconds": null,
"distanceMeters": null,
"restSeconds": 120,
"rpe": 8,
"notes": "Control the descent.",
"sets": [
{}
]
},
"personalRecord": {
"metric": "weight",
"value": 82.5,
"unit": "kg",
"reps": 6,
"performedAt": null,
"sessionId": null,
"performanceId": null
},
"todaySetupValues": {},
"lastSetupValues": {},
"sourceSessionId": null,
"sourcePerformanceId": null
},
"setupFields": [
{
"key": "seat",
"label": "Seat",
"type": "text",
"unit": "",
"options": [
"1",
"2",
"3",
"4"
],
"order": 1,
"required": false,
"enabled": true,
"defaultValue": 3
}
],
"setupValues": {
"seat": "4",
"backrest": "2"
},
"nextSetupValues": {
"seat": "5"
},
"showSetRpe": true,
"setupSettingsEnabled": true,
"hasMachineSettings": true,
"isMachineSetting": true,
"provenance": {
"recordedByActorType": "coach",
"recordedByClientId": null,
"recordedByCoachId": null,
"lastUpdatedByActorType": "coach",
"lastUpdatedByClientId": null,
"lastUpdatedByCoachId": null
},
"type": "reps",
"metrics": {
"totalVolume": 1680,
"maxWeight": 75,
"totalReps": 24
},
"isPersonalBest": true
}
],
"summary": {
"totalVolume": 1680,
"totalReps": 24,
"totalPersonalBests": 1,
"muscleActivation": {
"raw": {
"chest": 18,
"shoulders": 12,
"triceps": 8
},
"normalized": {
"chest": 18,
"shoulders": 12,
"triceps": 8
},
"maxValue": 18,
"topMuscles": [
{
"muscle": "chest",
"value": 18
}
]
}
}
},
"sessionErrorCode": ""
}
]
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 403,
"key": "scopes.insufficient",
"message": "The access token does not include the required scope.",
"details": {
"requiredScopes": [
"required:scope"
]
}
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 404,
"key": "resource.not_found",
"message": "The requested Public API resource was not found."
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}{
"error": {
"code": 500,
"key": "server.internal_error",
"message": "An unexpected Public API server error occurred."
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}Authorizations
Public API access token issued by /public/v1/oauth/token. Example: Authorization: Bearer fspt_.... Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with 403 auth.provider_unavailable.
Path Parameters
Group workout run id.
"67f1234567890abcdef1234"