Connections

Say what a device permission has been read for

For a service whose connect shape is native_permission (Apple Health, Health Connect). The permission is the device's, so nothing on the server knows how far such a service has been read: this is the last-synced time it otherwise has none of. Send it after a read that finished, naming the stretch of time the device asked about and got an answer for, including an answer of nothing at all — that is what tells a week the athlete rested from a week Body Lab never saw. Send the stretch the service was willing to show, not the stretch you asked for: a permission limited to recent data returns nothing for last spring because it was never shown it, and vouching for those days would report sessions as skipped that nobody could have seen. A read that failed or was refused covers nothing and must not be reported. No sample count is sent because none is read: how far back an anchored query's answer reaches is a property of the anchor, not of how many samples came back. The stored stretch only widens; a narrower or older report leaves it alone. observedThrough is clamped to the server's clock.

post/integrations/{provider}/coverage

Request

  • Base URL: https://bodylab.lol/api/v1
  • URL: https://bodylab.lol/api/v1/integrations/{provider}/coverage
  • Auth: HTTP bearer

Path parameters

providerstring required

Which device integration a batch ingest item came from. Known values: apple_health, health_connect. Treat unknown values as "other".

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

observedFromstring date-time required

The start of the stretch that was read: the oldest instant the service was willing to show, not the oldest asked for.

observedThroughstring date-time required

The end of the stretch that was read. Anything after the server's own clock is clamped to it.

Response

OK

observedFromstring date-time nullable required

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

observedThroughstring date-time nullable required

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

Changes

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