Body composition

Record a body composition scan

Records one scan as its report gives it. Every value is optional; a scan needs at least one measurement. A total mass is also recorded as a weigh-in for that day, which fills a day nothing else weighed and never replaces the athlete's own entry or their scale.

post/body-composition/scans

Request

  • Base URL: https://bodylab.lol/api/v1
  • URL: https://bodylab.lol/api/v1/body-composition/scans
  • Auth: HTTP bearer

Headers

X-Client-Platformstring

The native client's platform, e.g. ios. Server-side and non-native callers omit it.

X-Client-Versionstring

The native client's own semver version. With X-Client-Platform, a version below that platform's minimum is refused with CLIENT_UPGRADE_REQUIRED (426).

Request body

localDatestring date required

A day on the athlete's own calendar: YYYY-MM-DD, no time zone.

scannedAtstring date-time nullable

An instant: ISO-8601 with offset, e.g. 2026-09-13T06:30:00Z.

providerstring nullable
scannerModelstring nullable
totalMassKgnumber nullable
fatMassKgnumber nullable
leanMassKgnumber nullable
boneMassKgnumber nullable
tissueFatPctnumber nullable
regionFatPctnumber nullable
androidGynoidRationumber nullable
vatMassKgnumber nullable
vatVolumeCm3number nullable
bmdGCm2number nullable
bmcGnumber nullable
boneAreaCm2number nullable
bmdAgeSexPercentileinteger nullable
bmdPeakSexPercentileinteger nullable

Response

OK

idstring required

Opaque identifier.

Changes

No recorded changes to this operation across all 1 revision of this API.