Introduction
Radiopaedia.org provides a simple and powerful REST API to integrate case uploads into your institution or application.
This API reference provides information on available endpoints and how to interact with it.
Access
To access the API, you need to obtain an access token. Please follow the steps below:
- Visit the developer page.
- Click on the Manage your applications button to access your API applications.
- Click on the New Application button to create a new application.
- Fill out the form and click submit when finished. Note: scopes field should contain
cases. - You will then see your application page. This page contains your
application id,secret,scopesandredirect urls. - To authorize your application, click on the
Authorizebutton. You will be prompted to confirm the authorization. ClickAuthorizeto do so. - You will then be presented with your
Authorization code. Make sure you save it, as it will be required to retrieve youraccess token. - In order to retrieve an
access tokenyou will need to perform aHTTPrequest. For example, usingcurl: - Please make sure that you store both ‘access token’ and 'refresh token’, that are returned in a response body.
curl --data 'client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&code=<AUTHORIZATION_CODE>&grant_type=authorization_code&redirect_uri=<CALLBACK_URL>' https://production.radiopaedia.org/oauth/token
Token expiration
Access token’s expiration time is 24 hours.
In order to obtain a new access token, you will need to make a request to https://production.radiopaedia.org/oauth/token and include your previously saved refresh token.
Example curl:
curl --data 'client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&refresh_token=<REFRESH_TOKEN>&grant_type=refresh_token' https://production.radiopaedia.org/oauth/token
Authentication
OAuth 2.0
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "Authorization: Bearer your_token"
Make sure to replace
your_tokenwith your API key.
OAuth2 is recommended when you’re creating an application for others on top of Radiopaedia platform. This authentication provides a secure and easy to use authentication flow for users.
OAuth2 requests must be authenticated with a valid access token passed as bearer token. To use the bearer token, construct a normal HTTPS request and include an Authorization header with the value of Bearer.
Radiopaedia expects for the API key to be included in all API requests to the server in a header that looks like the following:
Authorization: Bearer your_token
Diagnostic Certainty
The Radiopaedia diagnostic certainties are as below:
| ID | Name | Description |
|---|---|---|
| 1 | Possible | The diagnosis is possible but has not been established for certain. There are other differential diagnostic possibilities. |
| 2 | Probable | The diagnosis is considered by far the most likely but has not been established for certain. Other unlikely differential diagnostic possibilities exist. |
| 3 | Confirmed unsubstantiated | The diagnosis is considered to be almost certain based on the highly characteristic imaging appearance or based on clinical, surgical or pathological knowledge obtained by the uploader from a secondary source rather than a primary source. A statement regarding this secondary source of proof should be included with the case. |
| 4 | Confirmed substantiated | The diagnosis is 100% certain based on the unequivocal or pathognomonic imaging appearance, or based on clinical, surgical or pathological proof directly obtained from a primary source by the uploader. A statement regarding this primary source of proof, along with appropriate substantiating evidence (e.g. histology report/slides, diagnostic laboratory test/values), should be included with the case. |
| 5 | Not applicable | The images are not of a patient with a particular diagnosis. For example, they may be a normal scan for teaching purposes, or alternatively a diagram or flow chart. |
Errors
The Radiopaedia API uses the following error codes:
| Error Code | Meaning |
|---|---|
| 400 | Bad Request – Your request was malformed |
| 401 | Unauthorized – Your Authentication token is not valid |
| 403 | Forbidden – The resource requested is hidden for administrators only |
| 404 | Not Found – The specified resource could not be found |
| 405 | Method Not Allowed – You tried to access a resource with an invalid method |
| 406 | Not Acceptable – You requested a format that isn’t json |
| 410 | Gone – The resource requested has been removed from our servers |
| 429 | Too Many Requests – You’re requesting too many resources! Slow down! |
| 500 | Internal Server Error – We had a problem with our server. Try again later. |
| 503 | Service Unavailable – We’re temporarially offline for maintanance. Please try again later. |
Systems
The Radiopaedia systems are as below:
| ID | Name |
|---|---|
| 1 | Breast |
| 2 | Vascular |
| 3 | Central Nervous System |
| 4 | Chest |
| 6 | Gastrointestinal |
| 7 | Head & Neck |
| 8 | Hepatobiliary |
| 9 | Musculoskeletal |
| 11 | Urogenital |
| 12 | Paediatrics |
| 15 | Spine |
| 16 | Cardiac |
| 17 | Interventional |
| 18 | Obstetrics |
| 19 | Gynaecology |
| 20 | Haematology |