Skip to main content
PATCH
Send daily values

Authorizations

Authorization
string
header
default:Bearer sandbox_any_token_works
required

A brand's server, one OAuth client per brand and environment. Get a token with the client_credentials grant and send it as Authorization: Bearer <token>. Tokens last 1 hour. A brand server reads status and ids only; it never reads clinical content. A platform partner holds one client for all its brands and gets one token per brand, naming it with tenant_id.

Path Parameters

enrollment_id
string<uuid>
required
log_date
string<date>
required

The day, in the patient's time zone.

Body

application/merge-patch+json

JSON Merge Patch (RFC 7396) on one day. Values are the day's totals: send the new total, not an increment. null clears a value. Weight and body measures go here.

water_ml
integer | null
Required range: 0 <= x <= 20000
Example:

1800

weight_kg
number | null
Required range: 20 <= x <= 400
Example:

94.8

waist_cm
number | null
Required range: 30 <= x <= 300
Example:

101.5

hip_cm
number | null
Required range: 30 <= x <= 300
Example:

112

body_fat_pct
number | null
Required range: 1 <= x <= 80
Example:

38.5

steps
integer | null
Required range: 0 <= x <= 200000
Example:

7400

sleep_minutes
integer | null
Required range: 0 <= x <= 1440
Example:

430

sleep_quality
integer | null
Required range: 1 <= x <= 5
mood
integer | null
Required range: 1 <= x <= 5
stress
integer | null
Required range: 1 <= x <= 5
energy
integer | null
Required range: 1 <= x <= 5
habits_done
object

Habit check-offs keyed <protocol_id>:<habit_key>, from the active protocols.

Example:
metrics
object

Any other daily metric, keyed by a metric code. New codes need no API change.

Example:

Response

Received.

log_date
string<date>
required

A calendar date in the patient's time zone.

Example:

"2026-10-26"

updated_at
string<date-time>
required

ISO 8601 in UTC.

Example:

"2026-10-26T14:05:00Z"