Get a download link
curl --request POST \
--url https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"url": "https://exports.example.com/7a2e4c61?signature=example",
"expires_at": "2026-10-26T14:50:00Z"
}Data requests
Get a download link
A short-lived link to the export file. Ask for a new link each time you download; the file itself stays until
export.expires_at. Error codes: export_not_ready (409), export_expired (410).
Scope: data_requests:read.
POST
/
v1
/
data-requests
/
{data_request_id}
/
export-link
Get a download link
curl --request POST \
--url https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.rx.tera.health/v1/data-requests/{data_request_id}/export-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"url": "https://exports.example.com/7a2e4c61?signature=example",
"expires_at": "2026-10-26T14:50:00Z"
}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.

