Overview
This is the full documentation of the [REST API](https://book.orthanc-server.com/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://book.orthanc-server.com/users/rest-cheatsheet.html) is part of the Orthanc Book.<p>An earlier, manually crafted version from August 2019, is [still available](2019-08-orthanc-openapi.html), but is not up-to-date anymore ([source](https://groups.google.com/g/orthanc-users/c/NUiJTEICSl8/m/xKeqMrbqAAAJ)).
Orthanc API is a documents & productivity API from orthanc-server.com. It needs no API key. It is served over HTTPS. Its OpenAPI description documents 274 endpoints.
At a glance
- Authentication
- No auth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Documents & Productivity
- Base URL
https://demo.orthanc-server.com/- Version
- 1.11.3
- Endpoints
- 274
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://demo.orthanc-server.com/changes" \
-H "Accept: application/json"const response = await fetch("https://demo.orthanc-server.com/changes", {
method: "GET",
headers: {
"Accept": "application/json",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://demo.orthanc-server.com/changes",
headers={
"Accept": "application/json",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /changes | List changes |
| DELETE | /changes | Clear changes |
| GET | /exports | List exports |
| DELETE | /exports | Clear exports |
| GET | /instances | List the available instances |
| POST | /instances | Upload DICOM instances |
| GET | /instances/{id} | Get information about some instance |
| DELETE | /instances/{id} | Delete some instance |
| POST | /instances/{id}/anonymize | Anonymize instance |
| GET | /instances/{id}/attachments | List attachments |
| GET | /instances/{id}/attachments/{name} | List operations on attachments |
| PUT | /instances/{id}/attachments/{name} | Set attachment |
| DELETE | /instances/{id}/attachments/{name} | Delete attachment |
| POST | /instances/{id}/attachments/{name}/compress | Compress attachment |
| GET | /instances/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /instances/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /instances/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /instances/{id}/attachments/{name}/data | Get attachment |
| GET | /instances/{id}/attachments/{name}/info | Get info about the attachment |
| GET | /instances/{id}/attachments/{name}/is-compressed | Is attachment compressed? |
| GET | /instances/{id}/attachments/{name}/md5 | Get MD5 of attachment |
| GET | /instances/{id}/attachments/{name}/size | Get size of attachment |
| POST | /instances/{id}/attachments/{name}/uncompress | Uncompress attachment |
| POST | /instances/{id}/attachments/{name}/verify-md5 | Verify attachment |
| GET | /instances/{id}/content | Get raw tag |
| POST | /instances/{id}/export | Write DICOM onto filesystem |
| GET | /instances/{id}/file | Download DICOM |
| GET | /instances/{id}/frames | List available frames |
| GET | /instances/{id}/frames/{frame} | List operations |
| GET | /instances/{id}/frames/{frame}/image-int16 | Decode a frame (int16) |
| GET | /instances/{id}/frames/{frame}/image-uint16 | Decode a frame (uint16) |
| GET | /instances/{id}/frames/{frame}/image-uint8 | Decode a frame (uint8) |
| GET | /instances/{id}/frames/{frame}/matlab | Decode frame for Matlab |
| GET | /instances/{id}/frames/{frame}/numpy | Decode frame for numpy |
| GET | /instances/{id}/frames/{frame}/preview | Decode a frame (preview) |
| GET | /instances/{id}/frames/{frame}/raw | Access raw frame |
| GET | /instances/{id}/frames/{frame}/raw.gz | Access raw frame (compressed) |
| GET | /instances/{id}/frames/{frame}/rendered | Render a frame |
| GET | /instances/{id}/header | Get DICOM meta-header |
| GET | /instances/{id}/image-int16 | Decode an image (int16) |
| GET | /instances/{id}/image-uint16 | Decode an image (uint16) |
| GET | /instances/{id}/image-uint8 | Decode an image (uint8) |
| GET | /instances/{id}/matlab | Decode frame for Matlab |
| GET | /instances/{id}/metadata | List metadata |
| GET | /instances/{id}/metadata/{name} | Get metadata |
| PUT | /instances/{id}/metadata/{name} | Set metadata |
| DELETE | /instances/{id}/metadata/{name} | Delete metadata |
| POST | /instances/{id}/modify | Modify instance |
| GET | /instances/{id}/module | Get instance module |
| GET | /instances/{id}/numpy | Decode instance for numpy |
| GET | /instances/{id}/patient | Get parent patient |
| GET | /instances/{id}/pdf | Get embedded PDF |
| GET | /instances/{id}/preview | Decode an image (preview) |
| POST | /instances/{id}/reconstruct | Reconstruct tags & optionally files of instance |
| GET | /instances/{id}/rendered | Render an image |
| GET | /instances/{id}/series | Get parent series |
| GET | /instances/{id}/simplified-tags | Get human-readable tags |
| GET | /instances/{id}/statistics | Get instance statistics |
| GET | /instances/{id}/study | Get parent study |
| GET | /instances/{id}/tags | Get DICOM tags |
| GET | /jobs | List jobs |
| GET | /jobs/{id} | Get job |
| POST | /jobs/{id}/cancel | Cancel job |
| POST | /jobs/{id}/pause | Pause job |
| POST | /jobs/{id}/resubmit | Resubmit job |
| POST | /jobs/{id}/resume | Resume job |
| GET | /jobs/{id}/{key} | Get job output |
| GET | /modalities | List DICOM modalities |
| GET | /modalities/{id} | List operations on modality |
| PUT | /modalities/{id} | Update DICOM modality |
| DELETE | /modalities/{id} | Delete DICOM modality |
| GET | /modalities/{id}/configuration | Get modality configuration |
| POST | /modalities/{id}/echo | Trigger C-ECHO SCU |
| POST | /modalities/{id}/finddeprecated | Hierarchical C-FIND SCU |
| POST | /modalities/{id}/find-instancedeprecated | C-FIND SCU for instances |
| POST | /modalities/{id}/find-patientdeprecated | C-FIND SCU for patients |
| POST | /modalities/{id}/find-seriesdeprecated | C-FIND SCU for series |
| POST | /modalities/{id}/find-studydeprecated | C-FIND SCU for studies |
| POST | /modalities/{id}/find-worklist | C-FIND SCU for worklist |
| POST | /modalities/{id}/move | Trigger C-MOVE SCU |
| POST | /modalities/{id}/query | Trigger C-FIND SCU |
| POST | /modalities/{id}/storage-commitment | Trigger storage commitment request |
| POST | /modalities/{id}/store | Trigger C-STORE SCU |
| POST | /modalities/{id}/store-straight | Straight C-STORE SCU |
| GET | /patients | List the available patients |
| GET | /patients/{id} | Get information about some patient |
| DELETE | /patients/{id} | Delete some patient |
| POST | /patients/{id}/anonymize | Anonymize patient |
| GET | /patients/{id}/archive | Create ZIP archive |
| POST | /patients/{id}/archive | Create ZIP archive |
| GET | /patients/{id}/attachments | List attachments |
| GET | /patients/{id}/attachments/{name} | List operations on attachments |
| PUT | /patients/{id}/attachments/{name} | Set attachment |
| DELETE | /patients/{id}/attachments/{name} | Delete attachment |
| POST | /patients/{id}/attachments/{name}/compress | Compress attachment |
| GET | /patients/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /patients/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /patients/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /patients/{id}/attachments/{name}/data | Get attachment |
| GET | /patients/{id}/attachments/{name}/info | Get info about the attachment |
Showing the first 100 of 274 endpoints; the full list is in the documentation.
Questions
Does the Orthanc API API need an API key?
No. The Orthanc API API can be called without an API key or sign-up, which makes it handy for prototypes and front-end demos.
Does the Orthanc API API support HTTPS?
Yes, the Orthanc API API is served over HTTPS.
How many endpoints does the Orthanc API API have?
Its OpenAPI description lists 274 endpoints in version 1.11.3. The first 100 are shown on this page.
What are alternatives to the Orthanc API API?
Other Documents & Productivity APIs include JIRA, Notion, DocStruct, Asana, ClickUp.
Similar documents & productivity APIs
Compare alternatives →JIRA
Documents & ProductivityJIRA is a proprietary issue tracking product that allows bug tracking and agile project management
Notion
Documents & ProductivityIntegrate with Notion
DocStruct
Documents & ProductivityAI extraction of invoices, receipts, bank statements & contracts into structured JSON/CSV
Asana
Documents & ProductivityProgrammatic access to all data in your asana system
ClickUp
Documents & ProductivityClickUp is a robust, cloud-based project management tool for boosting productivity
iLovePDF
Documents & ProductivityConvert, merge, split, extract text and add page numbers for PDFs. Free for 250 documents/month
Listed from APIs.guru (CC0).