Build with
RadRocket.AI
Integrate AI-assisted radiology report generation, customizable report templates, report mistake checking, and medical-grade dictation into your applications.
Authentication
Every request requires an access_token. GET endpoints read it from the query string; POST endpoints read it from the request body. The server validates token expiry and the user's subscription plan.
curl -G "https://api.radrocket.ai/modality_list" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN"
Typical integration flow
Start with modality discovery, select a study and its template, then generate and review the report. Voice transcription is optional.
Endpoints
Request parameters and response field names are based on the uploaded backend definitions. Sample clinical values and IDs are illustrative.
List modalities
/modality_listRetrieve available radiology imaging modalities and their identifiers.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
sort, dir |
string | No | Declared optional query fields; sorting behavior not specified |
Example request
curl -G "https://api.radrocket.ai/modality_list" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN"
Example response
[
{"modality_id": 1, "modality_name": "Computed Tomography"},
{"modality_id": 2, "modality_name": "Magnetic Resonance Imaging"}
]
List studies
/study_listReturn enabled default and user-owned studies for a selected modality, ordered by study name.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
modality_id |
integer | Yes | ID from modality list |
sort, dir |
string | No | Declared optional query fields |
Example request
curl -G "https://api.radrocket.ai/study_list" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN" \ --data-urlencode "modality_id=1"
Example response
[
{"study_id": 101, "template_name": "CT Brain Plain", "searchBy": "CT Head, NCCT Brain"},
{"study_id": 102, "template_name": "CT Chest", "searchBy": "HRCT Chest, Thorax"}
]
Get report template
/report_templateRetrieve study heading, technique, default findings and impression, plus user-specific instructions.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
study_id |
integer | Yes | Selected study identifier |
sort, dir |
string | No | Declared optional query fields |
Example request
curl -G "https://api.radrocket.ai/report_template" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN" \ --data-urlencode "study_id=101"
Example response
{
"study_heading": "CT BRAIN PLAIN",
"technique_text": "Non-contrast CT of the brain.",
"study_custom_prompt": "",
"findings_text": "No acute intracranial hemorrhage.",
"impression_text": "No acute intracranial abnormality."
}
Generate radiology report
/generate_reportGenerate a report from positive findings using a selected study and its reporting configuration.
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
study_id |
integer | Yes | Selected study |
positive_findings |
string | Yes | Observed radiological findings |
Example request
curl -X POST "https://api.radrocket.ai/generate_report" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN" \ --data-urlencode "study_id=101" \ --data-urlencode "positive_findings=Small hypodense lesion in the right basal ganglia."
Example response
{
"study_heading_text": "CT BRAIN PLAIN",
"technique_text": "Non-contrast CT of the brain.",
"clinical_information_text": "",
"findings_text": "Small hypodense lesion in the right basal ganglia.",
"impression_text": "Small right basal ganglia hypodensity.",
"comparison_text": ""
}
AI mistake checker
/mistake_checkerAnalyze the submitted report text and return AI-generated feedback.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
report_text |
string | Yes | Complete report text to analyze |
Example request
curl -G "https://api.radrocket.ai/mistake_checker" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN" \ --data-urlencode "report_text=Findings: Left renal calculus. Impression: Right renal calculus."
Response field
| Field | Type | Description |
|---|---|---|
mistake_checker_result |
string | Raw natural-language content returned by the configured model |
Medical voice transcription
/voiceaiConvert radiologist dictation to text with radiology-oriented transcription instructions and normalization.
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
access_token |
string | Yes | API token |
audio |
string | Yes | Audio payload; upstream format specified as WAV |
Audio limits
Maximum upload size of 5,000,000 bytes (~5 MB). The upstream request uses format: "wav". Accepted encoding: base64
Example request
curl -X POST "https://api.radrocket.ai/voiceai" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "access_token=YOUR_ACCESS_TOKEN" \ --data-urlencode "audio=BASE64_ENCODED_WAV"
Response fields
| Field | Type | Description |
|---|---|---|
transcript |
string / null | Processed transcription; can be null |
transcript_copy |
string | Alternate branch output |
Examples of normalization
| Spoken | Output |
|---|---|
| Four by five | 4 x 5 |
| Five point one | 5.1 |
| Fifth | 5th |
Error handling
| Status | Meaning | Suggested handling |
|---|---|---|
| 401 | Access token invalid or expired | Refresh or replace token |
| 403 | Plan not eligible / feature forbidden | Check subscription and permissions |
Security & implementation notes
Transport: Use HTTPS and secure server-side storage for tokens. Avoid embedding credentials in distributed clients.
Patient data: Protect dictated audio and report text using appropriate access control, logging, retention and data-protection procedures.
Credential hygiene: The supplied Voice AI backend definition includes an embedded upstream credential. Rotate it and move it into secret management before sharing implementation files.
Publishing checklist: Confirm production route paths, POST content types, audio encoding, rate limits, billing behavior and standardized response/error schemas.