POST /api/users
Create or update a user profile
Required fields: userId
Optional fields: name, sex, age, height, weight, medications
GET /api/users?userId=123
Retrieve a user profile by userId
POST /api/health-data
Store health data for a user
Required fields: userId
Optional fields: timestamp, heartRate, oxygenSaturation, activityLevel, steps, distance, caloriesBurned, bloodPressureSystolic, bloodPressureDiastolic, bodyTemperature, environmentType, motionType, locationName
GET /api/health-data?userId=123&limit=10
Retrieve health data for a user
POST /api/menstrual-data
Store menstrual tracking data for a user
Required fields: userId
Optional fields: cycleDate, flowLevel, symptoms, mood, notes
GET /api/menstrual-data?userId=123&limit=10
Retrieve menstrual tracking data for a user
POST /api/questionnaire-data
Store questionnaire responses for a user
Required fields: userId
Optional fields: timestamp, energyLevel, stressLevel, sleepQuality, headache, musclePain, dizziness, nausea, notes
GET /api/questionnaire-data?userId=123&limit=10
Retrieve questionnaire responses for a user
POST /api/sync
Synchronize offline data
Required fields: userId, queueItems (array of {tableName, data} objects)
This API uses simple API key authentication.
Include your API key in the request headers:
X-API-Key: your-api-key-here
All endpoints return JSON responses with the following structure:
// Success response
{
"success": true,
"data": [...]
}
// Error response
{
"error": "Error message"
}