curl --request PATCH \
--url https://sandbox.rx.tera.health/v1/patient/injections/{log_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/merge-patch+json' \
--data '
{
"missed": false,
"injected_at": "2026-10-26T08:00:00Z",
"dose_mg": 0.5
}
'const options = {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/merge-patch+json'
},
body: JSON.stringify({missed: false, injected_at: '2026-10-26T08:00:00Z', dose_mg: 0.5})
};
fetch('https://sandbox.rx.tera.health/v1/patient/injections/{log_id}', 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/injections/{log_id}"
payload = {
"missed": False,
"injected_at": "2026-10-26T08:00:00Z",
"dose_mg": 0.5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/merge-patch+json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "0190f5c9-8091-72a3-9dc5-4e5f60718293",
"injected_at": "2026-10-26T08:00:00Z",
"missed": false,
"scheduled_for": "2026-10-26",
"dose_mg": 0.5,
"site": "abdomen_left",
"log_date": "2026-10-26",
"source": "brand_app",
"created_at": "2026-10-26T08:01:30Z",
"updated_at": "2026-10-26T09:15:00Z"
}Correct an injection log
Changes an injection the patient logged. Only logs made in the app can be changed; a log the brand’s server sent
returns 403 log_not_owned. The previous version is kept in the record’s history, and the day’s rollups are
recalculated (for both days if the dose moves to another day).
Changing a missed dose to taken (or back) does not close an alert already raised for it.
Error codes: log_not_owned (403), injection_incomplete (422) when the result is neither taken nor missed.
Plans: AI + health and fitness coaches (ai_health_fitness), AI only (ai_only).
curl --request PATCH \
--url https://sandbox.rx.tera.health/v1/patient/injections/{log_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/merge-patch+json' \
--data '
{
"missed": false,
"injected_at": "2026-10-26T08:00:00Z",
"dose_mg": 0.5
}
'const options = {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/merge-patch+json'
},
body: JSON.stringify({missed: false, injected_at: '2026-10-26T08:00:00Z', dose_mg: 0.5})
};
fetch('https://sandbox.rx.tera.health/v1/patient/injections/{log_id}', 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/injections/{log_id}"
payload = {
"missed": False,
"injected_at": "2026-10-26T08:00:00Z",
"dose_mg": 0.5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/merge-patch+json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "0190f5c9-8091-72a3-9dc5-4e5f60718293",
"injected_at": "2026-10-26T08:00:00Z",
"missed": false,
"scheduled_for": "2026-10-26",
"dose_mg": 0.5,
"site": "abdomen_left",
"log_date": "2026-10-26",
"source": "brand_app",
"created_at": "2026-10-26T08:01:30Z",
"updated_at": "2026-10-26T09:15:00Z"
}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.
Path Parameters
The log's id.
Body
The injection fields to change. Send only what changes. The result must still be a dose taken (injected_at)
or missed (missed: true).
ISO 8601 in UTC.
"2026-10-26T14:05:00Z"
"2026-10-26"
0.5
For example abdomen_left, abdomen_right, thigh_left, thigh_right, arm_left, arm_right.
"abdomen_left"
1000"Slight redness at site"
Response
The corrected log.
- Option 1
- Option 2
A dose taken (injected_at) or missed (missed: true). One of the two is required.
ISO 8601 in UTC.
"2026-10-26T14:05:00Z"
"0190f5c9-8091-72a3-9dc5-4e5f60718293"
A calendar date in the patient's time zone.
"2026-10-26"
Set by the API from the caller. brand_api for brand servers, brand_app for patient tokens issued to a brand.
app, brand_app, brand_api, wearable, coach, ai, system "brand_app"
ISO 8601 in UTC.
"2026-10-26T14:05:00Z"
When the log was last corrected; the same as created_at until then.
"2026-10-26T14:05:00Z"
"2026-10-26"
0.5
For example abdomen_left, abdomen_right, thigh_left, thigh_right, arm_left, arm_right.
"abdomen_left"
1000"Slight redness at site"
Your own identifier, printable ASCII without spaces.
1 - 128^[\x21-\x7E]+$"inj-88213"

