Skip to main content
Public API v1 exposes measurement entries, soft-archive, progress summaries, and read-only progress photos with short-lived signed URLs. Progress photo upload/hard delete and objective writes are not exposed because they involve media handling and broader health-data privacy surfaces.

Scopes

List measurement types

Required scope: measurements:read Response fields:

List measurement entries

Required scope: measurements:read Validation: Response fields: Historical access grants are applied when the client relationship has restricted history access.

Create measurement entry

Required scope: measurements:write Request body: Accepted numeric examples:
Rejected numeric example:
Response fields:

Update measurement entry

Required scope: measurements:write Allowed fields: value, unit, measuredAt, note. Validation is identical to create. At least one allowed field is required. Response fields:

Archive measurement entry

Required scope: measurements:write This is a soft archive only. The endpoint sets the entry as deleted for product views and Public API reads. It does not hard-delete measurement records. Validation: Response fields:

List measurement progress summaries

Required scope: progress_summaries:read Validation: Response fields: Not exposed: notes, provider source refs, derivation refs, health quality flags, coach IDs, company IDs, suppression metadata, or raw health-processing context.

List progress photos

Required scope: progress_photos:read Validation: Response fields: Not exposed: raw imageUrl, S3 keys, createdBy, coachId, companyId, dimensions, file size, media provider metadata, or hard-delete controls.

Get progress photo

Required scope: progress_photos:read Response fields: The detail endpoint applies the same client access, historical progress-photo access, orientation, and date-range filters as the list endpoint. It never returns raw storage keys or the persisted imageUrl.

Not exposed in v1