Skip to main content

Organizations

Organizations let partners manage teams of athletes under a single billing structure. This is designed for coaching platforms, team managers, and enterprise partners who onboard athletes in groups.

Creating an organization

import requests

response = requests.post(
    "https://api.saturday.fit/v1/organizations",
    headers={"Authorization": "Bearer sk_test_abc123def456"},
    json={
        "name": "Seattle Running Club",
        "type": "team",
        "contact_email": "coach@seattlerunclub.com",
    },
)

org = response.json()
org_id = org["id"]

Organization types

TypeUse caseExample
teamGroup of athletes with shared coachingRunning club, triathlon team
enterpriseCompany managing multiple teamsTraining platform with B2B clients
coachingIndividual coach with multiple athletesSolo coach managing a roster

Managing members

Adding members

response = requests.post(
    f"https://api.saturday.fit/v1/organizations/{org_id}/members",
    headers={"Authorization": "Bearer sk_test_abc123def456"},
    json={
        "athlete_id": "ath_abc123",
        "role": "athlete",
    },
)

Member roles

RolePermissions
adminFull organization management, can add/remove members
coachView all athletes, manage activities and prescriptions
athleteView own data only

Listing members

GET /v1/organizations/{org_id}/members
Returns all members with their roles and activity status.

Removing members

DELETE /v1/organizations/{org_id}/members/{member_id}
Removing a member doesn’t delete their athlete profile — it only removes their organization association.

Bulk subscriptions

Organizations can manage subscriptions for all members at once:
GET /v1/organizations/{org_id}/subscriptions
This shows the subscription status of every member, making it easy for coaches to see which athletes have full access vs. teaser-only.

Listing organizations

GET /v1/organizations
Returns all organizations created by your partner account.

Updating an organization

PATCH /v1/organizations/{org_id}
{
  "name": "Seattle Running Club - Elite Squad",
  "contact_email": "elite@seattlerunclub.com"
}

Organization-scoped queries

When querying athletes or activities, you can filter by organization:
GET /v1/athletes?organization_id=org_abc123
GET /v1/organizations/{org_id}/members?role=athlete
This makes it easy to build coach dashboards that show all athletes in a team.