List treatment versions
curl --request GET \
--url https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "0190f5c7-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"medication": {
"id": "6f1d2c3b-4a59-4e8f-9d7c-1b2a3c4d5e6f",
"ingredient": "semaglutide",
"product_name": "Wegovy",
"source": "branded",
"route": "injection",
"standard_doses_mg": [
0.25,
0.5,
1,
1.7,
2.4
],
"scope": "platform"
},
"dose_mg": 0.5,
"dose_amount": null,
"dose_unit": null,
"phase": "titration",
"schedule": null,
"injection_weekday": 1,
"started_on": "2026-09-28",
"treatment_week": 5,
"effective_from": "2026-10-26T00:00:00Z",
"source": "brand_api",
"note": "Step up to 0.5 mg per titration schedule",
"created_at": "2026-10-26T14:05:00Z"
}
],
"next_cursor": null
}Treatment
List treatment versions
The mirrored treatment history, newest first. Use it to reconcile with your own records.
Scope: enrollments:read.
GET
/
v1
/
enrollments
/
{enrollment_id}
/
treatments
List treatment versions
curl --request GET \
--url https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/enrollments/{enrollment_id}/treatments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "0190f5c7-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"medication": {
"id": "6f1d2c3b-4a59-4e8f-9d7c-1b2a3c4d5e6f",
"ingredient": "semaglutide",
"product_name": "Wegovy",
"source": "branded",
"route": "injection",
"standard_doses_mg": [
0.25,
0.5,
1,
1.7,
2.4
],
"scope": "platform"
},
"dose_mg": 0.5,
"dose_amount": null,
"dose_unit": null,
"phase": "titration",
"schedule": null,
"injection_weekday": 1,
"started_on": "2026-09-28",
"treatment_week": 5,
"effective_from": "2026-10-26T00:00:00Z",
"source": "brand_api",
"note": "Step up to 0.5 mg per titration schedule",
"created_at": "2026-10-26T14:05:00Z"
}
],
"next_cursor": null
}Authorizations
A brand's server, one OAuth client per brand and environment. Get a token with the
client_credentials grant and send it as Authorization: Bearer <token>. Tokens last 1 hour.
A brand server reads status and ids only; it never reads clinical content. A platform partner holds one
client for all its brands and gets one token per brand, naming it with tenant_id.
Path Parameters
Query Parameters
Page size.
Required range:
1 <= x <= 100The next_cursor from the previous page. Omit it for the first page.
Maximum string length:
512
