Skip to main content
Start with the narrowest analysis that answers your product question.
GoalEndpointAccepted sources
Calculate metrics from a lab panelPOST /biomarkers/deriveBiomarkers
Interpret a lab panelPOST /biomarkers/analyzeBiomarkers
Interpret sleep, recovery, and activityPOST /wearables/analyzeWearables
Interpret genetic dataPOST /genetics/analyzeGenetics
Combine modalitiesPOST /analysesAny supported combination
Focused routes reject source IDs from the wrong modality. Every route accepts user_id, organization_id, source_ids, and an optional profile.

Read results

curl "$HEALTH_API/analyses/<analysis_id>" \
  -H "authorization: Bearer $TOKEN"

curl "$HEALTH_API/dashboard-specs/<analysis_id>" \
  -H "authorization: Bearer $TOKEN"
Every analysis includes a healthspan_score with per-domain sub-scores.

List, re-run, and act

# Every stored analysis for a user, newest first (filter by modality/since/limit)
curl "$HEALTH_API/analyses?user_id=customer_001&modality=biomarkers" \
  -H "authorization: Bearer $TOKEN"

# Refresh a stored analysis from its original sources without re-uploading
curl -X POST "$HEALTH_API/analyses/<analysis_id>/rerun" \
  -H "authorization: Bearer $TOKEN"

# Prioritized action items and longitudinal direction
curl "$HEALTH_API/analyses/<analysis_id>/recommendations" \
  -H "authorization: Bearer $TOKEN"
curl -X POST "$HEALTH_API/users/customer_001/trends" \
  -H "authorization: Bearer $TOKEN" \
  -H "content-type: application/json" \
  -d '{"organization_id": "org_001"}'