Skip to main content

Athletes

Athletes are the core entity in Saturday’s API. Each athlete has a profile with physical characteristics and fueling preferences that personalize their nutrition prescriptions. Athletes are partner-scoped — your organization can only access athletes created through your API key. There is no cross-partner data access.

Creating an athlete

External IDs

The external_id field maps the Saturday athlete to your platform’s user. This is your user ID, not Saturday’s. Use it to look up athletes without storing Saturday’s ath_ IDs.

Profile fields

All fields except weight_kg are optional. More fields produce more personalized prescriptions.

Required

Personalization settings

These fields significantly improve prescription accuracy:
Settings evolve over time. As athletes train their gut and build tolerance, settings should be updated. Encourage periodic review of carb_tolerance and sweat_level.

Sensitive fields

The eating_disorder_flag exists to protect vulnerable athletes. When set, Saturday avoids triggering language around food restriction, caloric deficit, or weight. Never expose this flag in partner UIs — it’s a backend safety signal.

Listing athletes

Returns a paginated list of athletes for your organization.

Updating an athlete

Only include fields you want to change. Unspecified fields are not modified.

Deleting an athlete

Athlete deletion is permanent and cascading. All activities, prescriptions, and feedback are deleted. This supports GDPR right to erasure but cannot be undone.

Data export (GDPR)

Export all data for an athlete:
Returns a JSON file containing the athlete’s complete profile, all activities, prescriptions, and feedback.

Settings schema

Fetch the global settings schema to build dynamic forms:
Returns field definitions with valid ranges, descriptions, and validation rules — useful for building settings UIs without hardcoding Saturday’s requirements. This is a global, public schema (the same for every athlete); fetch an individual athlete’s current values with GET /v1/athletes/{id}/settings.
Graduated precision (2026-06): every calculation response now carries a precision object — profile_complete, impact-sorted missing_fields, and an onboarding invite URL. Exact numbers require a complete fueling profile; incomplete profiles get honest bands (never wider than teaser ranges). See Athlete Onboarding.