Get targets and progress for a day
curl --request GET \
--url https://sandbox.rx.tera.health/v1/patient/targets \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/patient/targets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/patient/targets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"date": "2026-10-27",
"targets": [
{
"metric": "protein_g",
"label": "Protein",
"unit": "g",
"target": 110,
"progress": 72
},
{
"metric": "water_ml",
"label": "Water",
"unit": "ml",
"target": 2500,
"progress": 1250
},
{
"metric": "fiber_g",
"label": "Fiber",
"unit": "g",
"target": 25,
"progress": 11
}
]
}Progress
Get targets and progress for a day
The targets from the protocols in force on date, with what that day’s logs add up to. Metric codes are the
protocol targets’ codes, so a new metric needs no app change to show. Error code: date_out_of_range (422) for
a day before the enrollment or in the future.
Plans: AI + health and fitness coaches (ai_health_fitness), AI only (ai_only).
GET
/
v1
/
patient
/
targets
Get targets and progress for a day
curl --request GET \
--url https://sandbox.rx.tera.health/v1/patient/targets \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/patient/targets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/patient/targets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"date": "2026-10-27",
"targets": [
{
"metric": "protein_g",
"label": "Protein",
"unit": "g",
"target": 110,
"progress": 72
},
{
"metric": "water_ml",
"label": "Water",
"unit": "ml",
"target": 2500,
"progress": 1250
},
{
"metric": "fiber_g",
"label": "Fiber",
"unit": "g",
"target": 25,
"progress": 11
}
]
}Authorizations
A 15-minute token bound to one patient and one enrollment, issued by POST /v1/oauth/token with the
token-exchange grant. Treat it as opaque. When it expires, exchange a fresh assertion; there is no refresh token.
Query Parameters
A day in the patient's time zone. Defaults to today.

