Appearance
Build with the SoLoFit External API
The SoLoFit External API at https://api.solofit.app/api/v1 supports athlete-authorized integrations. It is separate from the web and native app APIs and uses explicit scopes for training, readiness, runs, Coach, Nutrition, meal plans, export, and key management.
Use the machine-readable OpenAPI 3.1 contract as the exact endpoint and schema reference.
Create a Personal Access Token
- Sign in at app.solofit.app.
- Open Settings and then Developer API.
- Create a Personal Access Token with the smallest scope set the integration needs.
- Copy the token when it is shown. SoLoFit does not display the full token again.
- Store it in a secrets manager or other protected server-side location.
The recommended Hermes preset covers common training, Coach, synchronization, and export access. It excludes administrator, key-management, and sensitive Nutrition scopes. Do not choose broader access unless the integration requires it and you understand the impact.
Authenticate a request
Send the token as a Bearer credential:
bash
curl https://api.solofit.app/api/v1/me \
-H "Authorization: Bearer sfa_..." \
-H "Accept: application/json"Replace sfa_... with a token loaded from protected configuration. Never place a real token in source code, browser code, documentation, logs, or a public issue.
Discover capabilities
Start with these public endpoints:
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1 | API discovery root |
GET | /api/v1/openapi.json | OpenAPI 3.1 contract |
GET | /api/v1/capabilities | Machine-readable capability manifest |
Authenticated resource groups include:
/me,/settings, and/readiness;/plans,/training-logs, and/runs;/sleepand/health;/coach;/nutritionand/nutrition/meal-plans;/data/exportand/sync/stream.
The OpenAPI document defines current operations, request bodies, response schemas, and errors.
Nutrition scopes
Nutrition scopes are independent:
nutrition:readnutrition:writemeal_plans:readmeal_plans:write
A generic write scope does not imply Nutrition access. Existing presets do not silently gain these scopes. Athlete tokens cannot access human-coach roster or cross-athlete grant administration.
Generated meal plans remain drafts until the current revision is explicitly activated. Reviewable capture resources also require confirmation before they create a canonical diary entry.
Live synchronization
GET /api/v1/sync/stream provides Server-Sent Events as collection-change hints. Treat a hint as a reason to fetch the authoritative resource. Do not treat the event itself as the full record.
Revoke a token
Open Settings, then Developer API, and revoke the token you no longer need. A revoked token can no longer make authenticated API calls. Update the integration's protected configuration with a replacement only when continued access is intended.
For account-specific API support, use the SoLoFit Help Center.