---
title: "Per-user health sample query — time-windowed reads of health_samples rows for one (user, sample_type). Cursor-paginated for stable iteration. Used by Lucille for coach-prep, daily-fix prompt assembly, and AI chat context that needs raw signal beyond the daily summary. Requires the user to have set coach_data_consent_at AND health_data_consent_at."
method: GET
path: "/api/bridge/user-health-samples/{userId}"
tags: ["Lucille Bridge"]
---

# Per-user health sample query — time-windowed reads of health_samples rows for one (user, sample_type). Cursor-paginated for stable iteration. Used by Lucille for coach-prep, daily-fix prompt assembly, and AI chat context that needs raw signal beyond the daily summary. Requires the user to have set coach_data_consent_at AND health_data_consent_at.

`GET /api/bridge/user-health-samples/{userId}`

## Request

- Base URL: `https://api.rewritelifestyle.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rewritelifestyle.ai/api/bridge/user-health-samples/{userId}`
- Auth: API key in header `X-Bridge-Key`

## Path parameters

- `userId` number, required

## Query parameters

- `metric` string, required
- `since` string, required
- `until` string, required
- `limit` string, required
- `cursor` string, required

## Response `200`

---

[API](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api.md) - [All operations](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/revisions/28695827f27a?raw)
