Skip to main content
Use POST /imports/file to register source data for analysis.

Supported categories

CategoryCommon payloads
biomarkersCSV, JSON, or text lab panels
wearablesCSV/JSON exports, daily summaries, synced provider data
geneticsVCF, VCF.GZ, SNP-array text exports encoded as text or base64
behavioralNotes, protocols, intake context

Payload shape

{
  "user_id": "customer_001",
  "organization_id": "org_001",
  "category": "biomarkers",
  "filename": "labs.csv",
  "content_type": "text/csv",
  "text": "marker,value,unit\nApoB,88,mg/dL"
}
Use data_base64 instead of text for binary or compressed uploads. Include collected_at dates in payload rows whenever you have them; repeat uploads then become longitudinal trends automatically.

Round-trip every upload

# List uploads for a user, filterable by category and date
curl -s "$HEALTH_API/sources?user_id=customer_001&category=biomarkers" \
  -H "authorization: Bearer $TOKEN"

# Inspect one upload with its normalized observations
curl -s "$HEALTH_API/sources/<source_id>" \
  -H "authorization: Bearer $TOKEN"

Large genetics files

Full WGS files are processed asynchronously. Upload the source, start POST /genetics/analyze, and poll the returned job.