Mercurial > hg > orthanc-book
view OpenAPI/orthanc-openapi.json @ 966:02121f3c7e65
note about the Accept header in WSI plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 12 Jul 2023 16:24:56 +0200 |
parents | a6bf749b3c04 |
children | 2e103fb1fa11 |
line wrap: on
line source
{ "info" : { "description" : "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)).", "title" : "Orthanc API", "version" : "1.12.1" }, "openapi" : "3.0.0", "paths" : { "/changes" : { "delete" : { "deprecated" : false, "description" : "Clear the full history stored in the changes log", "parameters" : [], "responses" : { "200" : { "description" : "" } }, "summary" : "Clear changes", "tags" : [ "Tracking changes" ] }, "get" : { "deprecated" : false, "description" : "Whenever Orthanc receives a new DICOM instance, this event is recorded in the so-called _Changes Log_. This enables remote scripts to react to the arrival of new DICOM resources. A typical application is auto-routing, where an external script waits for a new DICOM instance to arrive into Orthanc, then forward this instance to another modality.", "parameters" : [ { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "The list of changes", "example" : { "Changes" : [ { "ChangeType" : "NewInstance", "Date" : "20180414T091510", "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", "Path" : "/instances/055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", "ResourceType" : "Instance", "Seq" : 1 }, { "ChangeType" : "NewSeries", "Date" : "20180414T091510", "ID" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", "Path" : "/series/318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", "ResourceType" : "Series", "Seq" : 2 } ], "Done" : false, "Last" : 2 }, "properties" : { "Changes" : { "description" : "The individual changes", "items" : { "type" : "object" }, "type" : "array" }, "Done" : { "description" : "Whether the last reported change is the last of the full history", "type" : "boolean" }, "Last" : { "description" : "The index of the last reported change, can be used for the `since` argument in subsequent calls to this route", "type" : "number" } } } } }, "description" : "" } }, "summary" : "List changes", "tags" : [ "Tracking changes" ] } }, "/exports" : { "delete" : { "deprecated" : false, "description" : "Clear the full history stored in the exports log", "parameters" : [], "responses" : { "200" : { "description" : "" } }, "summary" : "Clear exports", "tags" : [ "Tracking changes" ] }, "get" : { "deprecated" : false, "description" : "For medical traceability, Orthanc can be configured to store a log of all the resources that have been exported to remote modalities. In auto-routing scenarios, it is important to prevent this log to grow indefinitely as incoming instances are routed. You can either disable this logging by setting the option `LogExportedResources` to `false` in the configuration file, or periodically clear this log by `DELETE`-ing this URI. This route might be removed in future versions of Orthanc.", "parameters" : [ { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "The list of exports" } } }, "description" : "" } }, "summary" : "List exports", "tags" : [ "Tracking changes" ] } }, "/instances" : { "get" : { "deprecated" : false, "description" : "List the Orthanc identifiers of all the available DICOM instances", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual instances", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing either the Orthanc identifiers, or detailed information about the reported instances (if `expand` argument is provided)", "example" : [ "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" ] } } }, "description" : "" } }, "summary" : "List the available instances", "tags" : [ "Instances" ] }, "post" : { "deprecated" : false, "description" : "Upload DICOM instances", "parameters" : [], "requestBody" : { "content" : { "application/dicom" : { "schema" : { "description" : "DICOM file to be uploaded" } }, "application/zip" : { "schema" : { "description" : "ZIP archive containing DICOM files (new in Orthanc 1.8.2)" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the uploaded instance, or list of information for each uploaded instance in the case of ZIP archive", "example" : { "ID" : "19816330-cb02e1cf-df3a8fe8-bf510623-ccefe9f5", "ParentPatient" : "ef9d77db-eb3b2bef-9b31fd3e-bf42ae46-dbdb0cc3", "ParentSeries" : "3774320f-ccda46d8-69ee8641-9e791cbf-3ecbbcc6", "ParentStudy" : "66c8e41e-ac3a9029-0b85e42a-8195ee0a-92c2e62e", "Path" : "/instances/19816330-cb02e1cf-df3a8fe8-bf510623-ccefe9f5", "Status" : "Success" }, "properties" : { "ID" : { "description" : "Orthanc identifier of the new instance", "type" : "string" }, "ParentPatient" : { "description" : "Orthanc identifier of the parent patient", "type" : "string" }, "ParentSeries" : { "description" : "Orthanc identifier of the parent series", "type" : "string" }, "ParentStudy" : { "description" : "Orthanc identifier of the parent study", "type" : "string" }, "Path" : { "description" : "Path to the new instance in the REST API", "type" : "string" }, "Status" : { "description" : "Can be `Success`, `AlreadyStored`, `Failure`, or `FilteredOut` (removed by some `NewInstanceFilter`)", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Upload DICOM instances", "tags" : [ "Instances" ] } }, "/instances/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete some instance", "tags" : [ "Instances" ] }, "get" : { "deprecated" : false, "description" : "Get detailed information about the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM instance", "example" : { "FileSize" : 526744, "FileUuid" : "dc031d9e-ef02-4871-821f-ffe445deb7c2", "ID" : "d94d9a03-3003b047-a4affc69-322313b2-680530a2", "IndexInSeries" : 155, "Labels" : [], "MainDicomTags" : { "AcquisitionNumber" : "4", "ImageOrientationPatient" : "1\\0\\0\\0\\1\\0", "ImagePositionPatient" : "-249.51171875\\-458.51171875\\314", "InstanceCreationDate" : "20151217", "InstanceCreationTime" : "125204.215000", "InstanceNumber" : "155", "SOPInstanceUID" : "1.3.6.1.4.1.14519.5.2.1.2193.7172.168997935789297163075628247666" }, "ParentSeries" : "52f4cb90-29d1d1a2-2ca34edd-4b8851fc-8cb269f2", "Type" : "Instance" } } } }, "description" : "" } }, "summary" : "Get information about some instance", "tags" : [ "Instances" ] } }, "/instances/{id}/anonymize" : { "post" : { "deprecated" : false, "description" : "Download an anonymized version of the DICOM instance whose Orthanc identifier is provided in the URL: https://book.orthanc-server.com/users/anonymization.html#anonymization-of-a-single-instance", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "DicomVersion" : { "description" : "Version of the DICOM standard to be used for anonymization. Check out configuration option `DeidentifyLogsDicomVersion` for possible values.", "type" : "string" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "List of DICOM tags whose value must not be destroyed by the anonymization. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "KeepPrivateTags" : { "description" : "Keep the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of additional tags to be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/dicom" : { "examples" : {}, "schema" : { "description" : "The anonymized DICOM instance" } } }, "description" : "" } }, "summary" : "Anonymize instance", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments" : { "get" : { "deprecated" : false, "description" : "Get the list of attachments that are associated with the given instance", "parameters" : [ { "description" : "If present, retrieve the attachments list and their numerical ids", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the attachments", "example" : [ "dicom", "dicom-as-json" ] } } }, "description" : "" } }, "summary" : "List attachments", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete an attachment associated with the given DICOM instance. This call will fail if trying to delete a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete attachment", "tags" : [ "Instances" ] }, "get" : { "deprecated" : false, "description" : "Get the list of the operations that are available for attachments associated with the given instance", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "compress", "compressed-data", "compressed-md5", "compressed-size", "data", "info", "is-compressed", "md5", "size", "uncompress", "verify-md5", "uuid" ] } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "List operations on attachments", "tags" : [ "Other" ] }, "put" : { "deprecated" : false, "description" : "Attach a file to the given DICOM instance. This call will fail if trying to modify a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, if this is not the first time this attachment is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/octet-stream" : { "schema" : { "description" : "Binary data containing the attachment" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Set attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/compress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Compress attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/compressed-data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given instance. The attachment will not be decompressed if `StorageCompression` is `true`.", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment (no decompression)", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/compressed-md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given instance, as stored on the disk. This is different from `.../md5` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment on disk", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/compressed-size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given instance, as stored on the disk. This is different from `.../size` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment on disk", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given instance", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/info" : { "get" : { "deprecated" : false, "description" : "Get all the information about the attachment associated with the given instance", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the information about the attachment", "example" : { "CompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "CompressedSize" : 526970, "ContentType" : 1, "UncompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "UncompressedSize" : 526970, "Uuid" : "b7c99eb7-229f-464e-8f46-6878c8e79e5c" } } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get info about the attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/is-compressed" : { "get" : { "deprecated" : false, "description" : "Test whether the attachment has been stored as a compressed file on the disk.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`0` if the attachment was stored uncompressed, `1` if it was compressed" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Is attachment compressed?", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given instance", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given instance", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/uncompress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Uncompress attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/attachments/{name}/verify-md5" : { "post" : { "deprecated" : false, "description" : "Verify that the attachment is not corrupted, by validating its MD5 hash", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "On success, a valid JSON object is returned" } } }, "description" : "" } }, "summary" : "Verify attachment", "tags" : [ "Instances" ] } }, "/instances/{id}/content" : { "get" : { "deprecated" : false, "description" : "Get the raw content of one DICOM tag in the hierarchy of DICOM dataset", "parameters" : [ { "description" : "Path to the DICOM tag. This is the interleaving of one DICOM tag, possibly followed by an index for sequences. Sequences are accessible as, for instance, `/0008-1140/1/0008-1150`", "in" : "path", "name" : "...", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The raw value of the tag of intereset (binary data, whose memory layout depends on the underlying transfer syntax), or JSON array containing the list of available tags if accessing a dataset" } } }, "description" : "" } }, "summary" : "Get raw tag", "tags" : [ "Instances" ] } }, "/instances/{id}/export" : { "post" : { "deprecated" : false, "description" : "Write the DICOM file onto the filesystem where Orthanc is running. This is insecure for Orthanc servers that are remotely accessible since one could overwrite any system file. Since Orthanc 1.12.0, this route is disabled by default, but can be enabled using the `RestApiWriteToFileSystemEnabled` configuration option.", "parameters" : [ { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Target path on the filesystem" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Write DICOM onto filesystem", "tags" : [ "Instances" ] } }, "/instances/{id}/file" : { "get" : { "deprecated" : false, "description" : "Download one DICOM instance", "parameters" : [ { "description" : "This HTTP header can be set to retrieve the DICOM instance in DICOMweb format", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/dicom" : { "examples" : {}, "schema" : { "description" : "The DICOM instance" } }, "application/dicom+json" : { "examples" : {}, "schema" : { "description" : "The DICOM instance, in DICOMweb JSON format" } }, "application/dicom+xml" : { "examples" : {}, "schema" : { "description" : "The DICOM instance, in DICOMweb XML format" } } }, "description" : "" } }, "summary" : "Download DICOM", "tags" : [ "Instances" ] } }, "/instances/{id}/frames" : { "get" : { "deprecated" : false, "description" : "List the frames that are available in the DICOM instance of interest", "parameters" : [ { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "The list of the indices of the available frames", "example" : [ 0 ] } } }, "description" : "" } }, "summary" : "List available frames", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}" : { "get" : { "deprecated" : false, "description" : "List the available operations under URI `/instances/{id}/frames/{frame}/`", "parameters" : [ { "description" : "", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "string" } }, { "description" : "", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "image-int16", "image-uint16", "image-uint8", "matlab", "numpy", "preview", "raw", "raw.gz", "rendered" ] } } }, "description" : "" } }, "summary" : "List operations", "tags" : [ "Other" ] } }, "/instances/{id}/frames/{frame}/image-int16" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance. Pixels of grayscale images are truncated to the [-32768,32767] range. Negative values must be interpreted according to two's complement.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode a frame (int16)", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/image-uint16" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance. Pixels of grayscale images are truncated to the [0,65535] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode a frame (uint16)", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/image-uint8" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance. Pixels of grayscale images are truncated to the [0,255] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode a frame (uint8)", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/matlab" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance, and export this frame as a Octave/Matlab matrix to be imported with `eval()`: https://book.orthanc-server.com/faq/matlab.html", "parameters" : [ { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Octave/Matlab matrix" } } }, "description" : "" } }, "summary" : "Decode frame for Matlab", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/numpy" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance, for use with numpy in Python. The numpy array has 3 dimensions: (height, width, color channel).", "parameters" : [ { "description" : "Compress the file as `.npz`", "in" : "query", "name" : "compress", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "On grayscale images, apply the rescaling and return floating-point values", "in" : "query", "name" : "rescale", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM resource of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Numpy file: https://numpy.org/devdocs/reference/generated/numpy.lib.format.html" } } }, "description" : "" } }, "summary" : "Decode frame for numpy", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/preview" : { "get" : { "deprecated" : false, "description" : "Decode one frame of interest from the given DICOM instance. The full dynamic range of grayscale images is rescaled to the [0,255] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode a frame (preview)", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/raw" : { "get" : { "deprecated" : false, "description" : "Access the raw content of one individual frame of the DICOM instance of interest, bypassing image decoding. This is notably useful to access the source files in compressed transfer syntaxes.", "parameters" : [ { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The raw frame" } } }, "description" : "" } }, "summary" : "Access raw frame", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/raw.gz" : { "get" : { "deprecated" : false, "description" : "Access the raw content of one individual frame of the DICOM instance of interest, bypassing image decoding. This is notably useful to access the source files in compressed transfer syntaxes. The image is compressed using gzip", "parameters" : [ { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/gzip" : { "examples" : {}, "schema" : { "description" : "The raw frame, compressed using gzip" } } }, "description" : "" } }, "summary" : "Access raw frame (compressed)", "tags" : [ "Instances" ] } }, "/instances/{id}/frames/{frame}/rendered" : { "get" : { "deprecated" : false, "description" : "Render one frame of interest from the given DICOM instance. This function takes scaling into account (`RescaleSlope` and `RescaleIntercept` tags), as well as the default windowing stored in the DICOM file (`WindowCenter` and `WindowWidth`tags), and can be used to resize the resulting image. Color images are not affected by windowing.", "parameters" : [ { "description" : "Height of the resized image", "in" : "query", "name" : "height", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Whether to smooth image on resize", "in" : "query", "name" : "smooth", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Width of the resized image", "in" : "query", "name" : "width", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Windowing center", "in" : "query", "name" : "window-center", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Windowing width", "in" : "query", "name" : "window-width", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Index of the frame (starts at `0`)", "in" : "path", "name" : "frame", "required" : true, "schema" : { "type" : "number" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Render a frame", "tags" : [ "Instances" ] } }, "/instances/{id}/header" : { "get" : { "deprecated" : false, "description" : "Get the DICOM tags in the meta-header of the DICOM instance. By default, the `full` format is used, which combines hexadecimal tags with human-readable description.", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the DICOM tags and their associated value", "example" : { "0002,0000" : { "Name" : "FileMetaInformationGroupLength", "Type" : "String", "Value" : "202" }, "0002,0002" : { "Name" : "MediaStorageSOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0002,0003" : { "Name" : "MediaStorageSOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006100507010800000005269" }, "0002,0010" : { "Name" : "TransferSyntaxUID", "Type" : "String", "Value" : "1.2.840.10008.1.2.1" }, "0002,0012" : { "Name" : "ImplementationClassUID", "Type" : "String", "Value" : "1.3.6.1.4.1.19291.2.1" }, "0002,0013" : { "Name" : "ImplementationVersionName", "Type" : "String", "Value" : "OSIRIX001" }, "0002,0016" : { "Name" : "SourceApplicationEntityTitle", "Type" : "String", "Value" : "OSIRIX" } } } } }, "description" : "" } }, "summary" : "Get DICOM meta-header", "tags" : [ "Instances" ] } }, "/instances/{id}/image-int16" : { "get" : { "deprecated" : false, "description" : "Decode the first frame of the given DICOM instance. Pixels of grayscale images are truncated to the [-32768,32767] range. Negative values must be interpreted according to two's complement.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode an image (int16)", "tags" : [ "Instances" ] } }, "/instances/{id}/image-uint16" : { "get" : { "deprecated" : false, "description" : "Decode the first frame of the given DICOM instance. Pixels of grayscale images are truncated to the [0,65535] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode an image (uint16)", "tags" : [ "Instances" ] } }, "/instances/{id}/image-uint8" : { "get" : { "deprecated" : false, "description" : "Decode the first frame of the given DICOM instance. Pixels of grayscale images are truncated to the [0,255] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode an image (uint8)", "tags" : [ "Instances" ] } }, "/instances/{id}/labels" : { "get" : { "deprecated" : false, "description" : "Get the labels that are associated with the given instance (new in Orthanc 1.12.0)", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the labels", "example" : [] } } }, "description" : "" } }, "summary" : "List labels", "tags" : [ "Instances" ] } }, "/instances/{id}/labels/{label}" : { "delete" : { "deprecated" : false, "description" : "Remove a label associated with a instance", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be removed", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Remove label", "tags" : [ "Instances" ] }, "get" : { "deprecated" : false, "description" : "Test whether the instance is associated with the given label", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label of interest", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Empty string is returned in the case of presence, error 404 in the case of absence" } } }, "description" : "" } }, "summary" : "Test label", "tags" : [ "Instances" ] }, "put" : { "deprecated" : false, "description" : "Associate a label with a instance", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be added", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Add label", "tags" : [ "Instances" ] } }, "/instances/{id}/matlab" : { "get" : { "deprecated" : false, "description" : "Decode the first frame of the given DICOM instance., and export this frame as a Octave/Matlab matrix to be imported with `eval()`: https://book.orthanc-server.com/faq/matlab.html", "parameters" : [ { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Octave/Matlab matrix" } } }, "description" : "" } }, "summary" : "Decode frame for Matlab", "tags" : [ "Instances" ] } }, "/instances/{id}/metadata" : { "get" : { "deprecated" : false, "description" : "Get the list of metadata that are associated with the given instance", "parameters" : [ { "description" : "If present, also retrieve the value of the individual metadata", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, use the numeric identifier of the metadata instead of its symbolic name", "in" : "query", "name" : "numeric", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the available metadata, or JSON associative array mapping metadata to their values (if `expand` argument is provided)", "example" : [ "IndexInSeries", "ReceptionDate", "RemoteAET", "Origin", "TransferSyntax", "SopClassUid", "RemoteIP", "HttpUsername", "PixelDataOffset", "4202" ] } } }, "description" : "" } }, "summary" : "List metadata", "tags" : [ "Instances" ] } }, "/instances/{id}/metadata/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete some metadata associated with the given DICOM instance. This call will fail if trying to delete a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete metadata", "tags" : [ "Instances" ] }, "get" : { "deprecated" : false, "description" : "Get the value of a metadata that is associated with the given instance", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Value of the metadata" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the metadata, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get metadata", "tags" : [ "Instances" ] }, "put" : { "deprecated" : false, "description" : "Set the value of some metadata in the given DICOM instance. This call will fail if trying to modify a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, if this is not the first time this metadata is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "String value of the metadata" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set metadata", "tags" : [ "Instances" ] } }, "/instances/{id}/modify" : { "post" : { "deprecated" : false, "description" : "Download a modified version of the DICOM instance whose Orthanc identifier is provided in the URL: https://book.orthanc-server.com/users/anonymization.html#modification-of-a-single-instance", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "Keep the original value of the specified tags, to be chosen among the `StudyInstanceUID`, `SeriesInstanceUID` and `SOPInstanceUID` tags. Avoid this feature as much as possible, as this breaks the DICOM model of the real world.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of tags that must be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "RemovePrivateTags" : { "description" : "Remove the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/dicom" : { "examples" : {}, "schema" : { "description" : "The modified DICOM instance" } } }, "description" : "" } }, "summary" : "Modify instance", "tags" : [ "Instances" ] } }, "/instances/{id}/module" : { "get" : { "deprecated" : false, "description" : "Get the instance module of the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM instance", "example" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 192" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20151217" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "125204.215000" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.6.1.4.1.14519.5.2.1.2193.7172.168997935789297163075628247666" }, "0020,0013" : { "Name" : "InstanceNumber", "Type" : "String", "Value" : "155" }, "0028,0303" : { "Name" : "LongitudinalTemporalInformationModified", "Type" : "String", "Value" : "MODIFIED" } } } } }, "description" : "" } }, "summary" : "Get instance module", "tags" : [ "Instances" ] } }, "/instances/{id}/numpy" : { "get" : { "deprecated" : false, "description" : "Decode the given DICOM instance, for use with numpy in Python. The numpy array has 4 dimensions: (frame, height, width, color channel).", "parameters" : [ { "description" : "Compress the file as `.npz`", "in" : "query", "name" : "compress", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "On grayscale images, apply the rescaling and return floating-point values", "in" : "query", "name" : "rescale", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the DICOM resource of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Numpy file: https://numpy.org/devdocs/reference/generated/numpy.lib.format.html" } } }, "description" : "" } }, "summary" : "Decode instance for numpy", "tags" : [ "Instances" ] } }, "/instances/{id}/patient" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent patient of the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM patient", "example" : { "ID" : "65ce8003-696b2eb6-03adeee7-6561ce8e-3e03f13a", "IsStable" : true, "Labels" : [], "LastUpdate" : "20200803T131236", "MainDicomTags" : { "PatientBirthDate" : "", "PatientID" : "HN_P001", "PatientName" : "HN_P001", "PatientSex" : "M" }, "Studies" : [ "1c379a23-9fd28bba-02b60e5b-850ff34e-4349f09b" ], "Type" : "Patient" } } } }, "description" : "" } }, "summary" : "Get parent patient", "tags" : [ "Instances" ] } }, "/instances/{id}/pdf" : { "get" : { "deprecated" : false, "description" : "Get the PDF file that is embedded in one DICOM instance. If the DICOM instance doesn't contain the `EncapsulatedDocument` tag or if the `MIMETypeOfEncapsulatedDocument` tag doesn't correspond to the PDF type, a `404` HTTP error is raised.", "parameters" : [ { "description" : "Orthanc identifier of the instance interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/pdf" : { "examples" : {}, "schema" : { "description" : "PDF file" } } }, "description" : "" } }, "summary" : "Get embedded PDF", "tags" : [ "Instances" ] } }, "/instances/{id}/preview" : { "get" : { "deprecated" : false, "description" : "Decode the first frame of the given DICOM instance. The full dynamic range of grayscale images is rescaled to the [0,255] range.", "parameters" : [ { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Decode an image (preview)", "tags" : [ "Instances" ] } }, "/instances/{id}/reconstruct" : { "post" : { "deprecated" : false, "description" : "Reconstruct the main DICOM tags in DB of the instance whose Orthanc identifier is provided in the URL. This is useful if child studies/series/instances have inconsistent values for higher-level tags, in order to force Orthanc to use the value from the resource of interest. Beware that this is a time-consuming operation, as all the children DICOM instances will be parsed again, and the Orthanc index will be updated accordingly.", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "ReconstructFiles" : { "description" : "Also reconstruct the files of the resources (e.g: apply IngestTranscoding, StorageCompression). 'false' by default. (New in Orthanc 1.11.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Reconstruct tags & optionally files of instance", "tags" : [ "Instances" ] } }, "/instances/{id}/rendered" : { "get" : { "deprecated" : false, "description" : "Render the first frame of the given DICOM instance. This function takes scaling into account (`RescaleSlope` and `RescaleIntercept` tags), as well as the default windowing stored in the DICOM file (`WindowCenter` and `WindowWidth`tags), and can be used to resize the resulting image. Color images are not affected by windowing.", "parameters" : [ { "description" : "Height of the resized image", "in" : "query", "name" : "height", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Quality for JPEG images (between 1 and 100, defaults to 90)", "in" : "query", "name" : "quality", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Returns an unsupported.png placeholder image if unable to provide the image instead of returning a 415 HTTP error (defaults to false)", "in" : "query", "name" : "returnUnsupportedImage", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Whether to smooth image on resize", "in" : "query", "name" : "smooth", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Width of the resized image", "in" : "query", "name" : "width", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Windowing center", "in" : "query", "name" : "window-center", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Windowing width", "in" : "query", "name" : "window-width", "required" : false, "schema" : { "type" : "number" } }, { "description" : "Format of the resulting image. Can be `image/png` (default), `image/jpeg` or `image/x-portable-arbitrarymap`", "in" : "header", "name" : "Accept", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "image/jpeg" : { "examples" : {}, "schema" : { "description" : "JPEG image" } }, "image/png" : { "examples" : {}, "schema" : { "description" : "PNG image" } }, "image/x-portable-arbitrarymap" : { "examples" : {}, "schema" : { "description" : "PAM image (Portable Arbitrary Map)" } } }, "description" : "" } }, "summary" : "Render an image", "tags" : [ "Instances" ] } }, "/instances/{id}/series" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent series of the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM series", "example" : { "ExpectedNumberOfInstances" : null, "ID" : "52f4cb90-29d1d1a2-2ca34edd-4b8851fc-8cb269f2", "Instances" : [ "ccc7cee2-81566098-5531d590-57b3c148-1787d177", "af464afa-bf0c7970-02a3c666-337a8df8-1d955e27", "42616941-88cbd2a7-f30ceecb-3f53b658-c641372c", "1470f579-11b80cb9-ecf22279-041175d9-d8f3c3ef", "373622cf-43a0259b-ebf55c2a-02e5ef32-1a3115f0", "72b68848-9729ad79-e8762db4-50d97dd3-f3591322", "73e2f25f-aa47b7ba-5d1c6e7b-91b98261-a195316e", "c22831de-6ddaa06c-1f877da5-400a8f03-83668321", "0c322d30-98af6f31-0bd59c19-99e07f68-317aeb3b", "dd69d888-f3065dac-a47c947c-1aed47c8-fc181d11", "..." ], "IsStable" : true, "Labels" : [], "LastUpdate" : "20200803T131236", "MainDicomTags" : { "BodyPartExamined" : "CHEST", "ImageOrientationPatient" : "1\\0\\0\\0\\1\\0", "Manufacturer" : "SIEMENS", "Modality" : "CT", "SeriesDate" : "20091022", "SeriesDescription" : "HEAD/NECK 2.0 B30s", "SeriesInstanceUID" : "1.3.6.1.4.1.14519.5.2.1.2193.7172.215111709746721743805035350686", "SeriesNumber" : "4", "SeriesTime" : "173151.203000" }, "ParentStudy" : "1c379a23-9fd28bba-02b60e5b-850ff34e-4349f09b", "Status" : "Unknown", "Type" : "Series" } } } }, "description" : "" } }, "summary" : "Get parent series", "tags" : [ "Instances" ] } }, "/instances/{id}/simplified-tags" : { "get" : { "deprecated" : false, "description" : "Get the DICOM tags in human-readable format (same as the `/instances/{id}/tags?simplify` route)", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the DICOM tags and their associated value", "example" : { "AccessionNumber" : "0", "AcquisitionDate" : "20061005", "AcquisitionNumber" : "3", "AcquisitionTime" : "101812.967223", "BitsAllocated" : "16", "BitsStored" : "12", "BodyPartExamined" : "EXTREMITY", "Columns" : "512", "ContentDate" : "20061005", "ContentTime" : "101812.967223", "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get human-readable tags", "tags" : [ "Instances" ] } }, "/instances/{id}/statistics" : { "get" : { "deprecated" : false, "description" : "Get statistics about the given instance", "parameters" : [ { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "DicomDiskSize" : "526744", "DicomDiskSizeMB" : 0, "DicomUncompressedSize" : "526744", "DicomUncompressedSizeMB" : 0, "DiskSize" : "539420", "DiskSizeMB" : 0, "UncompressedSize" : "539420", "UncompressedSizeMB" : 0 }, "properties" : { "DicomDiskSize" : { "description" : "Size on the disk of the DICOM instances associated with the instance, expressed in bytes", "type" : "string" }, "DicomDiskSizeMB" : { "description" : "Size on the disk of the DICOM instances associated with the instance, expressed in megabytes (MB)", "type" : "number" }, "DicomUncompressedSize" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the instance, expressed in bytes", "type" : "string" }, "DicomUncompressedSizeMB" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the instance, expressed in megabytes (MB)", "type" : "number" }, "DiskSize" : { "description" : "Size of the instance on the disk in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "DiskSizeMB" : { "description" : "Size of the instance on the disk, expressed in megabytes (MB)", "type" : "number" }, "UncompressedSize" : { "description" : "Size of the instance after decompression in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "UncompressedSizeMB" : { "description" : "Size of the instance after decompression, expressed in megabytes (MB). This is different from `DiskSizeMB` iff `StorageCompression` is `true`.", "type" : "number" } } } } }, "description" : "" } }, "summary" : "Get instance statistics", "tags" : [ "Instances" ] } }, "/instances/{id}/study" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent study of the DICOM instance whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM study", "example" : { "ID" : "1c379a23-9fd28bba-02b60e5b-850ff34e-4349f09b", "IsStable" : true, "Labels" : [], "LastUpdate" : "20200803T131236", "MainDicomTags" : { "AccessionNumber" : "2819497684894126", "ReferringPhysicianName" : "", "StudyDate" : "20091022", "StudyDescription" : "RT^HEAD_NECK (Adult)", "StudyID" : "", "StudyInstanceUID" : "1.3.6.1.4.1.14519.5.2.1.2193.7172.847236098565581057121195872945", "StudyTime" : "172721.327000" }, "ParentPatient" : "65ce8003-696b2eb6-03adeee7-6561ce8e-3e03f13a", "PatientMainDicomTags" : { "PatientBirthDate" : "", "PatientID" : "HN_P001", "PatientName" : "HN_P001", "PatientSex" : "M" }, "Series" : [ "9c7031b2-97909802-c35563e6-168bf0af-5cfbdce4", "1d9c4560-6480f3d9-0a4d3654-65715f38-755ad2e0", "52f4cb90-29d1d1a2-2ca34edd-4b8851fc-8cb269f2" ], "Type" : "Study" } } } }, "description" : "" } }, "summary" : "Get parent study", "tags" : [ "Instances" ] } }, "/instances/{id}/tags" : { "get" : { "deprecated" : false, "description" : "Get the DICOM tags in the specified format. By default, the `full` format is used, which combines hexadecimal tags with human-readable description.", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the DICOM instance of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the DICOM tags and their associated value", "example" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006100507010800000005269" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20061005" }, "0008,0021" : { "Name" : "SeriesDate", "Type" : "String", "Value" : "20061005" }, "0008,0022" : { "Name" : "AcquisitionDate", "Type" : "String", "Value" : "20061005" }, "0008,0023" : { "Name" : "ContentDate", "Type" : "String", "Value" : "20061005" }, "0008,0030" : { "Name" : "StudyTime", "Type" : "String", "Value" : "101556.921000" }, "0008,0031" : { "Name" : "SeriesTime", "Type" : "String", "Value" : "102051.046000" }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get DICOM tags", "tags" : [ "Instances" ] } }, "/jobs" : { "get" : { "deprecated" : false, "description" : "List all the available jobs", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual jobs", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing either the jobs identifiers, or detailed information about the reported jobs (if `expand` argument is provided)", "example" : [ "0d9e3061-0ec4-49ff-966b-7f0dc99ad6e6", "46fd1fe1-84d4-4dcd-b386-d48f320e98e3", "723a96f3-b473-45c4-bc49-00e54c1734ca", "..." ] } } }, "description" : "" } }, "summary" : "List jobs", "tags" : [ "Jobs" ] } }, "/jobs/{id}" : { "get" : { "deprecated" : false, "description" : "Retrieve detailed information about the job whose identifier is provided in the URL: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object detailing the job", "example" : { "CompletionTime" : "20201227T161842.520129", "Content" : { "ArchiveSizeMB" : 22, "Description" : "REST API", "InstancesCount" : 232, "UncompressedSizeMB" : 64 }, "CreationTime" : "20201227T161836.428311", "EffectiveRuntime" : 6.0810000000000004, "ErrorCode" : 0, "ErrorDescription" : "Success", "ID" : "645ecb02-7c0e-4465-b767-df873222dcfb", "Priority" : 0, "Progress" : 100, "State" : "Success", "Timestamp" : "20201228T160340.253201", "Type" : "Media" } } } }, "description" : "" } }, "summary" : "Get job", "tags" : [ "Jobs" ] } }, "/jobs/{id}/cancel" : { "post" : { "deprecated" : false, "description" : "Cancel the job whose identifier is provided in the URL. Check out the Orthanc Book for more information about the state machine applicable to jobs: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Cancel job", "tags" : [ "Jobs" ] } }, "/jobs/{id}/pause" : { "post" : { "deprecated" : false, "description" : "Pause the job whose identifier is provided in the URL. Check out the Orthanc Book for more information about the state machine applicable to jobs: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Pause job", "tags" : [ "Jobs" ] } }, "/jobs/{id}/resubmit" : { "post" : { "deprecated" : false, "description" : "Resubmit the job whose identifier is provided in the URL. Check out the Orthanc Book for more information about the state machine applicable to jobs: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Resubmit job", "tags" : [ "Jobs" ] } }, "/jobs/{id}/resume" : { "post" : { "deprecated" : false, "description" : "Resume the job whose identifier is provided in the URL. Check out the Orthanc Book for more information about the state machine applicable to jobs: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Resume job", "tags" : [ "Jobs" ] } }, "/jobs/{id}/{key}" : { "delete" : { "deprecated" : false, "description" : "Delete the output produced by a job. As of Orthanc 1.12.1, only the jobs that generate a DICOMDIR media or a ZIP archive provide such an output (with `key` equals to `archive`).", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Name of the output of interest", "in" : "path", "name" : "key", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete a job output", "tags" : [ "Jobs" ] }, "get" : { "deprecated" : false, "description" : "Retrieve some output produced by a job. As of Orthanc 1.8.2, only the jobs that generate a DICOMDIR media or a ZIP archive provide such an output (with `key` equals to `archive`).", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Name of the output of interest", "in" : "path", "name" : "key", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "Content of the output of the job" } } }, "description" : "" } }, "summary" : "Get job output", "tags" : [ "Jobs" ] } }, "/modalities" : { "get" : { "deprecated" : false, "description" : "List all the DICOM modalities that are known to Orthanc. This corresponds either to the content of the `DicomModalities` configuration option, or to the information stored in the database if `DicomModalitiesInDatabase` is `true`.", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual DICOM modalities", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing either the identifiers of the modalities, or detailed information about the modalities (if `expand` argument is provided)" } } }, "description" : "" } }, "summary" : "List DICOM modalities", "tags" : [ "Networking" ] } }, "/modalities/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete one DICOM modality. This change is permanent iff. `DicomModalitiesInDatabase` is `true`, otherwise it is lost at the next restart of Orthanc.", "parameters" : [ { "description" : "Identifier of the DICOM modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete DICOM modality", "tags" : [ "Networking" ] }, "get" : { "deprecated" : false, "description" : "List the operations that are available for a DICOM modality.", "parameters" : [ { "description" : "Identifier of the DICOM modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "List of the available operations" } } }, "description" : "" } }, "summary" : "List operations on modality", "tags" : [ "Networking" ] }, "put" : { "deprecated" : false, "description" : "Define a new DICOM modality, or update an existing one. This change is permanent iff. `DicomModalitiesInDatabase` is `true`, otherwise it is lost at the next restart of Orthanc.", "parameters" : [ { "description" : "Identifier of the new/updated DICOM modality", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "AET" : { "description" : "AET of the remote DICOM modality", "type" : "string" }, "AllowEcho" : { "description" : "Whether to accept C-ECHO SCU commands issued by the remote modality", "type" : "boolean" }, "AllowFind" : { "description" : "Whether to accept C-FIND SCU commands issued by the remote modality", "type" : "boolean" }, "AllowFindWorklist" : { "description" : "Whether to accept C-FIND SCU commands for worklists issued by the remote modality", "type" : "boolean" }, "AllowGet" : { "description" : "Whether to accept C-GET SCU commands issued by the remote modality", "type" : "boolean" }, "AllowMove" : { "description" : "Whether to accept C-MOVE SCU commands issued by the remote modality", "type" : "boolean" }, "AllowStorageCommitment" : { "description" : "Whether to accept storage commitment requests issued by the remote modality", "type" : "boolean" }, "AllowStore" : { "description" : "Whether to accept C-STORE SCU commands issued by the remote modality", "type" : "boolean" }, "AllowTranscoding" : { "description" : "Whether to allow transcoding for operations initiated by this modality. This option applies to Orthanc C-GET SCP and to Orthanc C-STORE SCU. It only has an effect if the global option `EnableTranscoding` is set to `true`.", "type" : "boolean" }, "Host" : { "description" : "Host address of the remote DICOM modality (typically, an IP address)", "type" : "string" }, "Manufacturer" : { "description" : "Manufacturer of the remote DICOM modality (check configuration option `DicomModalities` for possible values", "type" : "string" }, "Port" : { "description" : "TCP port of the remote DICOM modality", "type" : "number" }, "UseDicomTls" : { "description" : "Whether to use DICOM TLS in the SCU connection initiated by Orthanc (new in Orthanc 1.9.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Update DICOM modality", "tags" : [ "Networking" ] } }, "/modalities/{id}/configuration" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the configuration of some DICOM modality", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Configuration of the modality", "example" : { "AET" : "ORTHANCTEST", "AllowEcho" : true, "AllowEventReport" : true, "AllowFind" : true, "AllowFindWorklist" : true, "AllowGet" : true, "AllowMove" : true, "AllowNAction" : true, "AllowStore" : true, "AllowTranscoding" : true, "Host" : "127.0.1.1", "Manufacturer" : "Generic", "Port" : 5001 } } } }, "description" : "" } }, "summary" : "Get modality configuration", "tags" : [ "Networking" ] } }, "/modalities/{id}/echo" : { "post" : { "deprecated" : false, "description" : "Trigger C-ECHO SCU command against the DICOM modality whose identifier is provided in URL: https://book.orthanc-server.com/users/rest.html#performing-c-echo", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "CheckFind" : { "description" : "Issue a dummy C-FIND command after the C-GET SCU, in order to check whether the remote modality knows about Orthanc. This field defaults to the value of the `DicomEchoChecksFind` configuration option. New in Orthanc 1.8.1.", "type" : "boolean" }, "Timeout" : { "description" : "Timeout for the C-ECHO command, in seconds", "type" : "number" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Trigger C-ECHO SCU", "tags" : [ "Networking" ] } }, "/modalities/{id}/find" : { "post" : { "deprecated" : true, "description" : "Trigger a sequence of C-FIND SCU commands against the DICOM modality whose identifier is provided in URL, in order to discover a hierarchy of matching patients/studies/series. Deprecated in favor of `/modalities/{id}/query`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "Associative array containing the query on the values of the DICOM tags" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching patients, embedding the matching studies, then the matching series." } } }, "description" : "" } }, "summary" : "Hierarchical C-FIND SCU", "tags" : [ "Networking" ] } }, "/modalities/{id}/find-instance" : { "post" : { "deprecated" : true, "description" : "Trigger C-FIND SCU command against the DICOM modality whose identifier is provided in URL, in order to find an instance. Deprecated in favor of `/modalities/{id}/query`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "Associative array containing the query on the values of the DICOM tags" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching instances" } } }, "description" : "" } }, "summary" : "C-FIND SCU for instances", "tags" : [ "Networking" ] } }, "/modalities/{id}/find-patient" : { "post" : { "deprecated" : true, "description" : "Trigger C-FIND SCU command against the DICOM modality whose identifier is provided in URL, in order to find a patient. Deprecated in favor of `/modalities/{id}/query`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "Associative array containing the query on the values of the DICOM tags" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching patients" } } }, "description" : "" } }, "summary" : "C-FIND SCU for patients", "tags" : [ "Networking" ] } }, "/modalities/{id}/find-series" : { "post" : { "deprecated" : true, "description" : "Trigger C-FIND SCU command against the DICOM modality whose identifier is provided in URL, in order to find a series. Deprecated in favor of `/modalities/{id}/query`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "Associative array containing the query on the values of the DICOM tags" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching series" } } }, "description" : "" } }, "summary" : "C-FIND SCU for series", "tags" : [ "Networking" ] } }, "/modalities/{id}/find-study" : { "post" : { "deprecated" : true, "description" : "Trigger C-FIND SCU command against the DICOM modality whose identifier is provided in URL, in order to find a study. Deprecated in favor of `/modalities/{id}/query`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "Associative array containing the query on the values of the DICOM tags" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching studies" } } }, "description" : "" } }, "summary" : "C-FIND SCU for studies", "tags" : [ "Networking" ] } }, "/modalities/{id}/find-worklist" : { "post" : { "deprecated" : false, "description" : "Trigger C-FIND SCU command against the remote worklists of the DICOM modality whose identifier is provided in URL", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Full" : { "description" : "If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "type" : "boolean" }, "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "Short" : { "description" : "If set to `true`, report the DICOM tags in hexadecimal format", "type" : "boolean" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array describing the DICOM tags of the matching worklists" } } }, "description" : "" } }, "summary" : "C-FIND SCU for worklist", "tags" : [ "Networking" ] } }, "/modalities/{id}/move" : { "post" : { "deprecated" : false, "description" : "Start a C-MOVE SCU command as a job, in order to drive the execution of a sequence of C-STORE commands by some remote DICOM modality whose identifier is provided in the URL: https://book.orthanc-server.com/users/rest.html#performing-c-move", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Level" : { "description" : "Level of the query (`Patient`, `Study`, `Series` or `Instance`)", "type" : "string" }, "LocalAet" : { "description" : "Local AET that is used for this commands, defaults to `DicomAet` configuration option. Ignored if `DicomModalities` already sets `LocalAet` for this modality.", "type" : "string" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "List of queries identifying all the DICOM resources to be sent", "items" : { "type" : "object" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "TargetAet" : { "description" : "Target AET that will be used by the remote DICOM modality as a target for its C-STORE SCU commands, defaults to `DicomAet` configuration option in order to do a simple query/retrieve", "type" : "string" }, "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Trigger C-MOVE SCU", "tags" : [ "Networking" ] } }, "/modalities/{id}/query" : { "post" : { "deprecated" : false, "description" : "Trigger C-FIND SCU command against the DICOM modality whose identifier is provided in URL: https://book.orthanc-server.com/users/rest.html#performing-query-retrieve-c-find-and-find-with-rest", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Level" : { "description" : "Level of the query (`Patient`, `Study`, `Series` or `Instance`)", "type" : "string" }, "LocalAet" : { "description" : "Local AET that is used for this commands, defaults to `DicomAet` configuration option. Ignored if `DicomModalities` already sets `LocalAet` for this modality.", "type" : "string" }, "Normalize" : { "description" : "Whether to normalize the query, i.e. whether to wipe out from the query, the DICOM tags that are not applicable for the query-retrieve level of interest", "type" : "boolean" }, "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "Timeout" : { "description" : "Timeout for the C-FIND command and subsequent C-MOVE retrievals, in seconds (new in Orthanc 1.9.1)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Identifier of the query, to be used with `/queries/{id}`", "type" : "object" }, "Path" : { "description" : "Root path to the query in the REST API", "type" : "object" } } } } }, "description" : "" } }, "summary" : "Trigger C-FIND SCU", "tags" : [ "Networking" ] } }, "/modalities/{id}/storage-commitment" : { "post" : { "deprecated" : false, "description" : "Trigger a storage commitment request to some remote DICOM modality whose identifier is provided in the URL: https://book.orthanc-server.com/users/storage-commitment.html#storage-commitment-scu", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "DicomInstances" : { "description" : "List of DICOM resources that are not necessarily stored within Orthanc, but that must be checked by storage commitment. This is a list of JSON objects that must contain the `SOPClassUID` and `SOPInstanceUID` fields.", "items" : { "type" : "object" }, "type" : "array" }, "Resources" : { "description" : "List of the Orthanc identifiers of the DICOM resources to be checked by storage commitment", "items" : { "type" : "string" }, "type" : "array" }, "Timeout" : { "description" : "Timeout for the storage commitment command (new in Orthanc 1.9.1)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Identifier of the storage commitment report, to be used with `/storage-commitment/{id}`", "type" : "object" }, "Path" : { "description" : "Root path to the storage commitment report in the REST API", "type" : "object" } } } } }, "description" : "" } }, "summary" : "Trigger storage commitment request", "tags" : [ "Networking" ] } }, "/modalities/{id}/store" : { "post" : { "deprecated" : false, "description" : "Start a C-STORE SCU command as a job, in order to send DICOM resources stored locally to some remote DICOM modality whose identifier is provided in the URL: https://book.orthanc-server.com/users/rest.html#rest-store-scu", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "CalledAet" : { "description" : "Called AET that is used for this commands, defaults to `AET` configuration option. Allows you to overwrite the destination AET for a specific operation.", "type" : "string" }, "Host" : { "description" : "Host that is used for this commands, defaults to `Host` configuration option. Allows you to overwrite the destination host for a specific operation.", "type" : "string" }, "LocalAet" : { "description" : "Local AET that is used for this commands, defaults to `DicomAet` configuration option. Ignored if `DicomModalities` already sets `LocalAet` for this modality.", "type" : "string" }, "MoveOriginatorAet" : { "description" : "Move originator AET that is used for this commands, in order to fake a C-MOVE SCU", "type" : "string" }, "MoveOriginatorID" : { "description" : "Move originator ID that is used for this commands, in order to fake a C-MOVE SCU", "type" : "number" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Port" : { "description" : "Port that is used for this command, defaults to `Port` configuration option. Allows you to overwrite the destination port for a specific operation.", "type" : "number" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "List of the Orthanc identifiers of all the DICOM resources to be sent", "items" : { "type" : "string" }, "type" : "array" }, "StorageCommitment" : { "description" : "Whether to chain C-STORE with DICOM storage commitment to validate the success of the transmission: https://book.orthanc-server.com/users/storage-commitment.html#chaining-c-store-with-storage-commitment", "type" : "boolean" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Timeout" : { "description" : "Timeout for the C-STORE command, in seconds", "type" : "number" } } } }, "text/plain" : { "schema" : { "description" : "The Orthanc identifier of one resource to be sent" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Trigger C-STORE SCU", "tags" : [ "Networking" ] } }, "/modalities/{id}/store-straight" : { "post" : { "deprecated" : false, "description" : "Synchronously send the DICOM instance in the POST body to the remote DICOM modality whose identifier is provided in URL, without having to first store it locally within Orthanc. This is an alternative to command-line tools such as `storescu` from DCMTK or dcm4che.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/dicom" : { "schema" : { "description" : "DICOM instance to be sent" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "SOPClassUID" : { "description" : "SOP class UID of the DICOM instance, if the C-STORE SCU has succeeded", "type" : "string" }, "SOPInstanceUID" : { "description" : "SOP instance UID of the DICOM instance, if the C-STORE SCU has succeeded", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Straight C-STORE SCU", "tags" : [ "Networking" ] } }, "/patients" : { "get" : { "deprecated" : false, "description" : "List the Orthanc identifiers of all the available DICOM patients", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual patients", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing either the Orthanc identifiers, or detailed information about the reported patients (if `expand` argument is provided)", "example" : [ "0946fcb6-cf12ab43-bad958c1-bf057ad5-0fc6f54c", "da39a3ee-5e6b4b0d-3255bfef-95601890-afd80709" ] } } }, "description" : "" } }, "summary" : "List the available patients", "tags" : [ "Patients" ] } }, "/patients/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete some patient", "tags" : [ "Patients" ] }, "get" : { "deprecated" : false, "description" : "Get detailed information about the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM patient", "example" : { "ID" : "46e6332c-677825b6-202fcf7c-f787bc5f-7b07c382", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091542", "MainDicomTags" : { "PatientID" : "SOtNwu", "PatientName" : "INCISIX" }, "Studies" : [ "e98b9ac7-dd31ac40-ff046cb2-f0400d30-12f81d85" ], "Type" : "Patient" } } } }, "description" : "" } }, "summary" : "Get information about some patient", "tags" : [ "Patients" ] } }, "/patients/{id}/anonymize" : { "post" : { "deprecated" : false, "description" : "Start a job that will anonymize all the DICOM instances within the patient whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new patient, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#anonymization-of-patients-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "DicomVersion" : { "description" : "Version of the DICOM standard to be used for anonymization. Check out configuration option `DeidentifyLogsDicomVersion` for possible values.", "type" : "string" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "List of DICOM tags whose value must not be destroyed by the anonymization. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "KeepPrivateTags" : { "description" : "Keep the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of additional tags to be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Anonymize patient", "tags" : [ "Patients" ] } }, "/patients/{id}/archive" : { "get" : { "deprecated" : false, "description" : "Synchronously create a ZIP archive containing the DICOM patient whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Patients" ] }, "post" : { "deprecated" : false, "description" : "Create a ZIP archive containing the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments" : { "get" : { "deprecated" : false, "description" : "Get the list of attachments that are associated with the given patient", "parameters" : [ { "description" : "If present, retrieve the attachments list and their numerical ids", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the attachments", "example" : [] } } }, "description" : "" } }, "summary" : "List attachments", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete an attachment associated with the given DICOM patient. This call will fail if trying to delete a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete attachment", "tags" : [ "Patients" ] }, "get" : { "deprecated" : false, "description" : "Get the list of the operations that are available for attachments associated with the given patient", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "compress", "compressed-data", "compressed-md5", "compressed-size", "data", "info", "is-compressed", "md5", "size", "uncompress", "verify-md5", "uuid" ] } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "List operations on attachments", "tags" : [ "Other" ] }, "put" : { "deprecated" : false, "description" : "Attach a file to the given DICOM patient. This call will fail if trying to modify a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, if this is not the first time this attachment is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/octet-stream" : { "schema" : { "description" : "Binary data containing the attachment" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Set attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/compress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Compress attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/compressed-data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given patient. The attachment will not be decompressed if `StorageCompression` is `true`.", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment (no decompression)", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/compressed-md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given patient, as stored on the disk. This is different from `.../md5` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment on disk", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/compressed-size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given patient, as stored on the disk. This is different from `.../size` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment on disk", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given patient", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/info" : { "get" : { "deprecated" : false, "description" : "Get all the information about the attachment associated with the given patient", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the information about the attachment", "example" : { "CompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "CompressedSize" : 526970, "ContentType" : 1, "UncompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "UncompressedSize" : 526970, "Uuid" : "b7c99eb7-229f-464e-8f46-6878c8e79e5c" } } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get info about the attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/is-compressed" : { "get" : { "deprecated" : false, "description" : "Test whether the attachment has been stored as a compressed file on the disk.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`0` if the attachment was stored uncompressed, `1` if it was compressed" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Is attachment compressed?", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given patient", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given patient", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/uncompress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Uncompress attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/attachments/{name}/verify-md5" : { "post" : { "deprecated" : false, "description" : "Verify that the attachment is not corrupted, by validating its MD5 hash", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "On success, a valid JSON object is returned" } } }, "description" : "" } }, "summary" : "Verify attachment", "tags" : [ "Patients" ] } }, "/patients/{id}/instances" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child instances of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM instances", "example" : [ { "FileSize" : 526866, "FileUuid" : "c14b2b87-53e2-420b-baf9-020cae34fedf", "ID" : "e3dfd688-80e4743a-29c45f90-371ec4a4-04d18ae5", "IndexInSeries" : 137, "Labels" : [], "{...}" : "..." }, { "FileSize" : 526870, "FileUuid" : "27cdb02f-500f-4b37-9ca1-058d8d4f649a", "ID" : "4fecddf1-518346e4-4f30176b-c453b3d8-65899230", "IndexInSeries" : 114, "Labels" : [], "{...}" : "..." }, { "FileSize" : 526868, "FileUuid" : "5a6334a8-e050-47e5-8832-531ee62aa9a7", "ID" : "c9a55bc1-9e98ba4b-bc455dc3-24c4c525-1b171b6c", "IndexInSeries" : 66, "Labels" : [], "{...}" : "..." }, { "FileSize" : 526866, "FileUuid" : "e6c09e08-8284-4416-a90f-67a7dc9f68f0", "ID" : "135cca6f-4c099fdd-afc99251-f58a819b-5a0222eb", "IndexInSeries" : 161, "Labels" : [], "{...}" : "..." }, { "FileSize" : 526866, "FileUuid" : "9eb33412-d1e9-4bb0-879b-5501db81d574", "ID" : "719d58b1-2a259486-7cc5919d-68a2bd30-da2cd290", "IndexInSeries" : 61, "Labels" : [], "{...}" : "..." }, "..." ] } } }, "description" : "" } }, "summary" : "Get child instances", "tags" : [ "Patients" ] } }, "/patients/{id}/instances-tags" : { "get" : { "deprecated" : false, "description" : "Get the tags of all the child instances of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object associating the Orthanc identifiers of the instances, with the values of their DICOM tags", "example" : { "011ead8d-f2508edd-da315604-80b002df-e678b796" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006053107175587500014840" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." }, "01252811-30d1c47b-a8c03da5-73177742-48495192" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006053107175587500014790" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." }, "04a30982-835a4b0a-3082b997-060f01f5-071a0f8d" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006053107175587500014760" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." }, "04efd8b9-2ae1f3db-deb0f226-e3267002-6cd8fa3c" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006053107175587500014832" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." }, "0df992f4-0a841d5c-aeb8cdda-9c1a0573-dbd49c3f" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0018" : { "Name" : "SOPInstanceUID", "Type" : "String", "Value" : "1.3.12.2.1107.5.1.4.54693.30000006053107175587500014882" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get tags of instances", "tags" : [ "Patients" ] } }, "/patients/{id}/labels" : { "get" : { "deprecated" : false, "description" : "Get the labels that are associated with the given patient (new in Orthanc 1.12.0)", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the labels", "example" : [] } } }, "description" : "" } }, "summary" : "List labels", "tags" : [ "Patients" ] } }, "/patients/{id}/labels/{label}" : { "delete" : { "deprecated" : false, "description" : "Remove a label associated with a patient", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be removed", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Remove label", "tags" : [ "Patients" ] }, "get" : { "deprecated" : false, "description" : "Test whether the patient is associated with the given label", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label of interest", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Empty string is returned in the case of presence, error 404 in the case of absence" } } }, "description" : "" } }, "summary" : "Test label", "tags" : [ "Patients" ] }, "put" : { "deprecated" : false, "description" : "Associate a label with a patient", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be added", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Add label", "tags" : [ "Patients" ] } }, "/patients/{id}/media" : { "get" : { "deprecated" : false, "description" : "Synchronously create a DICOMDIR media containing the DICOM patient whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "If present, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*", "in" : "query", "name" : "extended", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Patients" ] }, "post" : { "deprecated" : false, "description" : "Create a DICOMDIR media containing the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Extended" : { "description" : "If `true`, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*. Default value is `false`.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Patients" ] } }, "/patients/{id}/metadata" : { "get" : { "deprecated" : false, "description" : "Get the list of metadata that are associated with the given patient", "parameters" : [ { "description" : "If present, also retrieve the value of the individual metadata", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, use the numeric identifier of the metadata instead of its symbolic name", "in" : "query", "name" : "numeric", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the available metadata, or JSON associative array mapping metadata to their values (if `expand` argument is provided)", "example" : [ "LastUpdate" ] } } }, "description" : "" } }, "summary" : "List metadata", "tags" : [ "Patients" ] } }, "/patients/{id}/metadata/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete some metadata associated with the given DICOM patient. This call will fail if trying to delete a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete metadata", "tags" : [ "Patients" ] }, "get" : { "deprecated" : false, "description" : "Get the value of a metadata that is associated with the given patient", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Value of the metadata" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the metadata, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get metadata", "tags" : [ "Patients" ] }, "put" : { "deprecated" : false, "description" : "Set the value of some metadata in the given DICOM patient. This call will fail if trying to modify a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, if this is not the first time this metadata is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "String value of the metadata" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set metadata", "tags" : [ "Patients" ] } }, "/patients/{id}/modify" : { "post" : { "deprecated" : false, "description" : "Start a job that will modify all the DICOM instances within the patient whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new patient, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#modification-of-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "Keep the original value of the specified tags, to be chosen among the `StudyInstanceUID`, `SeriesInstanceUID` and `SOPInstanceUID` tags. Avoid this feature as much as possible, as this breaks the DICOM model of the real world.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of tags that must be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "RemovePrivateTags" : { "description" : "Remove the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Modify patient", "tags" : [ "Patients" ] } }, "/patients/{id}/module" : { "get" : { "deprecated" : false, "description" : "Get the patient module of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM patient", "example" : { "0010,0010" : { "Name" : "PatientName", "Type" : "String", "Value" : "INCISIX" }, "0010,0020" : { "Name" : "PatientID", "Type" : "String", "Value" : "SOtNwu" } } } } }, "description" : "" } }, "summary" : "Get patient module", "tags" : [ "Patients" ] } }, "/patients/{id}/protected" : { "get" : { "deprecated" : false, "description" : "Is the patient protected against recycling?", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`1` if protected, `0` if not protected" } } }, "description" : "" } }, "summary" : "Is the patient protected against recycling?", "tags" : [ "Patients" ] }, "put" : { "deprecated" : false, "description" : "Check out configuration options `MaximumStorageSize` and `MaximumPatientCount`", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Protect one patient against recycling", "tags" : [ "Patients" ] } }, "/patients/{id}/reconstruct" : { "post" : { "deprecated" : false, "description" : "Reconstruct the main DICOM tags in DB of the patient whose Orthanc identifier is provided in the URL. This is useful if child studies/series/instances have inconsistent values for higher-level tags, in order to force Orthanc to use the value from the resource of interest. Beware that this is a time-consuming operation, as all the children DICOM instances will be parsed again, and the Orthanc index will be updated accordingly.", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "ReconstructFiles" : { "description" : "Also reconstruct the files of the resources (e.g: apply IngestTranscoding, StorageCompression). 'false' by default. (New in Orthanc 1.11.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Reconstruct tags & optionally files of patient", "tags" : [ "Patients" ] } }, "/patients/{id}/series" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child series of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM series", "example" : [ { "ExpectedNumberOfInstances" : null, "ID" : "52cc572c-3ee31930-c4b6d5e7-16c786dc-97bc209b", "Instances" : [ "e3dfd688-80e4743a-29c45f90-371ec4a4-04d18ae5", "4fecddf1-518346e4-4f30176b-c453b3d8-65899230", "c9a55bc1-9e98ba4b-bc455dc3-24c4c525-1b171b6c", "135cca6f-4c099fdd-afc99251-f58a819b-5a0222eb", "719d58b1-2a259486-7cc5919d-68a2bd30-da2cd290", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." } ] } } }, "description" : "" } }, "summary" : "Get child series", "tags" : [ "Patients" ] } }, "/patients/{id}/shared-tags" : { "get" : { "deprecated" : false, "description" : "Extract the DICOM tags whose value is constant across all the child instances of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the values of the DICOM tags", "example" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20060531" }, "0008,0021" : { "Name" : "SeriesDate", "Type" : "String", "Value" : "20060531" }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get shared tags", "tags" : [ "Patients" ] } }, "/patients/{id}/statistics" : { "get" : { "deprecated" : false, "description" : "Get statistics about the given patient", "parameters" : [ { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "CountInstances" : 166, "CountSeries" : 1, "CountStudies" : 1, "DicomDiskSize" : "87460012", "DicomDiskSizeMB" : 83, "DicomUncompressedSize" : "87460012", "DicomUncompressedSizeMB" : 83, "DiskSize" : "89640436", "DiskSizeMB" : 85, "UncompressedSize" : "89640436", "UncompressedSizeMB" : 85 }, "properties" : { "CountInstances" : { "description" : "Number of child instances within this patient", "type" : "number" }, "CountSeries" : { "description" : "Number of child series within this patient", "type" : "number" }, "CountStudies" : { "description" : "Number of child studies within this patient", "type" : "number" }, "DicomDiskSize" : { "description" : "Size on the disk of the DICOM instances associated with the patient, expressed in bytes", "type" : "string" }, "DicomDiskSizeMB" : { "description" : "Size on the disk of the DICOM instances associated with the patient, expressed in megabytes (MB)", "type" : "number" }, "DicomUncompressedSize" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the patient, expressed in bytes", "type" : "string" }, "DicomUncompressedSizeMB" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the patient, expressed in megabytes (MB)", "type" : "number" }, "DiskSize" : { "description" : "Size of the patient on the disk in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "DiskSizeMB" : { "description" : "Size of the patient on the disk, expressed in megabytes (MB)", "type" : "number" }, "UncompressedSize" : { "description" : "Size of the patient after decompression in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "UncompressedSizeMB" : { "description" : "Size of the patient after decompression, expressed in megabytes (MB). This is different from `DiskSizeMB` iff `StorageCompression` is `true`.", "type" : "number" } } } } }, "description" : "" } }, "summary" : "Get patient statistics", "tags" : [ "Patients" ] } }, "/patients/{id}/studies" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child studies of the DICOM patient whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the patient of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM studies", "example" : [ { "ID" : "e98b9ac7-dd31ac40-ff046cb2-f0400d30-12f81d85", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091542", "MainDicomTags" : { "AccessionNumber" : "0", "InstitutionName" : "dPJ", "ReferringPhysicianName" : "YzTEkpkak0p0Tk5", "RequestedProcedureDescription" : "CT2 tête, face, sinus", "StudyDate" : "20060531", "{...}" : "..." }, "{...}" : "..." } ] } } }, "description" : "" } }, "summary" : "Get child studies", "tags" : [ "Patients" ] } }, "/peers" : { "get" : { "deprecated" : false, "description" : "List all the Orthanc peers that are known to Orthanc. This corresponds either to the content of the `OrthancPeers` configuration option, or to the information stored in the database if `OrthancPeersInDatabase` is `true`.", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual Orthanc peers", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing either the identifiers of the peers, or detailed information about the peers (if `expand` argument is provided)" } } }, "description" : "" } }, "summary" : "List Orthanc peers", "tags" : [ "Networking" ] } }, "/peers/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete one Orthanc peer. This change is permanent iff. `OrthancPeersInDatabase` is `true`, otherwise it is lost at the next restart of Orthanc.", "parameters" : [ { "description" : "Identifier of the Orthanc peer of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete Orthanc peer", "tags" : [ "Networking" ] }, "get" : { "deprecated" : false, "description" : "List the operations that are available for an Orthanc peer.", "parameters" : [ { "description" : "Identifier of the peer of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "List of the available operations" } } }, "description" : "" } }, "summary" : "List operations on peer", "tags" : [ "Networking" ] }, "put" : { "deprecated" : false, "description" : "Define a new Orthanc peer, or update an existing one. This change is permanent iff. `OrthancPeersInDatabase` is `true`, otherwise it is lost at the next restart of Orthanc.", "parameters" : [ { "description" : "Identifier of the new/updated Orthanc peer", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "CertificateFile" : { "description" : "SSL certificate for the HTTPS connections", "type" : "string" }, "CertificateKeyFile" : { "description" : "Key file for the SSL certificate for the HTTPS connections", "type" : "string" }, "CertificateKeyPassword" : { "description" : "Key password for the SSL certificate for the HTTPS connections", "type" : "string" }, "HttpHeaders" : { "description" : "HTTP headers to be used for the connections to the remote peer", "type" : "object" }, "Password" : { "description" : "Password for the credentials", "type" : "string" }, "URL" : { "description" : "URL of the root of the REST API of the remote Orthanc peer, for instance `http://localhost:8042/`", "type" : "string" }, "Username" : { "description" : "Username for the credentials", "type" : "string" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Update Orthanc peer", "tags" : [ "Networking" ] } }, "/peers/{id}/configuration" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the configuration of some Orthanc peer", "parameters" : [ { "description" : "Identifier of the peer of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Configuration of the peer", "example" : { "HttpHeaders" : {}, "Password" : null, "Pkcs11" : false, "Url" : "http://127.0.1.1:5000/", "Username" : "alice" } } } }, "description" : "" } }, "summary" : "Get peer configuration", "tags" : [ "Networking" ] } }, "/peers/{id}/store" : { "post" : { "deprecated" : false, "description" : "Send DICOM resources stored locally to some remote Orthanc peer whose identifier is provided in the URL: https://book.orthanc-server.com/users/rest.html#sending-one-resource", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Compress" : { "description" : "Whether to compress the DICOM instances using gzip before the actual sending", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "List of the Orthanc identifiers of all the DICOM resources to be sent", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode to the provided DICOM transfer syntax before the actual sending", "type" : "string" } } } }, "text/plain" : { "schema" : { "description" : "The Orthanc identifier of one resource to be sent" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Send to Orthanc peer", "tags" : [ "Networking" ] } }, "/peers/{id}/store-straight" : { "post" : { "deprecated" : false, "description" : "Synchronously send the DICOM instance in the POST body to the Orthanc peer whose identifier is provided in URL, without having to first store it locally within Orthanc. This is an alternative to command-line tools such as `curl`.", "parameters" : [ { "description" : "Identifier of the modality of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/dicom" : { "schema" : { "description" : "DICOM instance to be sent" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Orthanc identifier of the DICOM instance in the remote Orthanc peer", "type" : "string" }, "ParentPatient" : { "description" : "Orthanc identifier of the parent patient in the remote Orthanc peer", "type" : "string" }, "ParentSeries" : { "description" : "Orthanc identifier of the parent series in the remote Orthanc peer", "type" : "string" }, "ParentStudy" : { "description" : "Orthanc identifier of the parent study in the remote Orthanc peer", "type" : "string" }, "Path" : { "description" : "Path to the DICOM instance in the remote Orthanc server", "type" : "string" }, "Status" : { "description" : "Status of the store operation", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Straight store to peer", "tags" : [ "Networking" ] } }, "/peers/{id}/system" : { "get" : { "deprecated" : false, "description" : "Get system information about some Orthanc peer. This corresponds to doing a `GET` request against the `/system` URI of the remote peer. This route can be used to test connectivity.", "parameters" : [ { "description" : "Identifier of the peer of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "System information about the peer" } } }, "description" : "" } }, "summary" : "Get peer system information", "tags" : [ "Networking" ] } }, "/plugins" : { "get" : { "deprecated" : false, "description" : "List all the installed plugins", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the identifiers of the installed plugins", "example" : [ "explorer.js", "authorization", "connectivity-checks", "delayed-deletion", "dicom-web", "gdcm", "housekeeper", "indexer", "multitenant-dicom", "mysql-index", "mysql-storage", "neuro", "odbc-index", "odbc-storage", "ohif", "orthanc-explorer-2", "postgresql-index", "postgresql-storage", "serve-folders", "stone-rtviewer", "stone-webviewer", "tcia", "transfers", "volview", "web-viewer", "worklists", "wsi" ] } } }, "description" : "" } }, "summary" : "List plugins", "tags" : [ "System" ] } }, "/plugins/explorer.js" : { "get" : { "deprecated" : false, "description" : "Get the JavaScript extensions that are installed by all the plugins using the `OrthancPluginExtendOrthancExplorer()` function of the plugin SDK. This route is for internal use of Orthanc Explorer.", "parameters" : [], "responses" : { "200" : { "content" : { "application/javascript" : { "examples" : {}, "schema" : { "description" : "The JavaScript extensions" } } }, "description" : "" } }, "summary" : "JavaScript extensions to Orthanc Explorer", "tags" : [ "System" ] } }, "/plugins/{id}" : { "get" : { "deprecated" : false, "description" : "Get system information about the plugin whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the job of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing information about the plugin", "example" : { "Description" : "Implementation of DICOMweb (QIDO-RS, STOW-RS and WADO-RS) and WADO-URI.", "ExtendsOrthancExplorer" : true, "ID" : "dicom-web", "RootUri" : "../dicom-web/app/client/index.html", "Version" : "1.13" } } } }, "description" : "" } }, "summary" : "Get plugin", "tags" : [ "System" ] } }, "/queries" : { "get" : { "deprecated" : false, "description" : "List the identifiers of all the query/retrieve operations on DICOM modalities, as initiated by calls to `/modalities/{id}/query`. The length of this list is bounded by the `QueryRetrieveSize` configuration option of Orthanc. https://book.orthanc-server.com/users/rest.html#performing-query-retrieve-c-find-and-find-with-rest", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the identifiers" } } }, "description" : "" } }, "summary" : "List query/retrieve operations", "tags" : [ "Networking" ] } }, "/queries/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete a query", "tags" : [ "Networking" ] }, "get" : { "deprecated" : false, "description" : "List the available operations for the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the list of operations" } } }, "description" : "" } }, "summary" : "List operations on a query", "tags" : [ "Networking" ] } }, "/queries/{id}/answers" : { "get" : { "deprecated" : false, "description" : "List the indices of all the available answers resulting from a query/retrieve operation on some DICOM modality, whose identifier is provided in the URL", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual answers", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the indices of the answers, or detailed information about the reported answers (if `expand` argument is provided)" } } }, "description" : "" } }, "summary" : "List answers to a query", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}" : { "get" : { "deprecated" : false, "description" : "List the available operations on an answer associated with the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the list of operations" } } }, "description" : "" } }, "summary" : "List operations on an answer", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}/content" : { "get" : { "deprecated" : false, "description" : "Get the content (DICOM tags) of one answer associated with the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON object containing the DICOM tags of the answer" } } }, "description" : "" } }, "summary" : "Get one answer", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}/query-instances" : { "post" : { "deprecated" : false, "description" : "Issue a second DICOM C-FIND operation, in order to query the child instances associated with one answer to some query/retrieve operation whose identifiers are provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "Timeout" : { "description" : "Timeout for the C-FIND command, in seconds (new in Orthanc 1.9.1)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Identifier of the query, to be used with `/queries/{id}`", "type" : "object" }, "Path" : { "description" : "Root path to the query in the REST API", "type" : "object" } } } } }, "description" : "" } }, "summary" : "Query the child instances of an answer", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}/query-series" : { "post" : { "deprecated" : false, "description" : "Issue a second DICOM C-FIND operation, in order to query the child series associated with one answer to some query/retrieve operation whose identifiers are provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "Timeout" : { "description" : "Timeout for the C-FIND command, in seconds (new in Orthanc 1.9.1)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Identifier of the query, to be used with `/queries/{id}`", "type" : "object" }, "Path" : { "description" : "Root path to the query in the REST API", "type" : "object" } } } } }, "description" : "" } }, "summary" : "Query the child series of an answer", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}/query-studies" : { "post" : { "deprecated" : false, "description" : "Issue a second DICOM C-FIND operation, in order to query the child studies associated with one answer to some query/retrieve operation whose identifiers are provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "Timeout" : { "description" : "Timeout for the C-FIND command, in seconds (new in Orthanc 1.9.1)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Identifier of the query, to be used with `/queries/{id}`", "type" : "object" }, "Path" : { "description" : "Root path to the query in the REST API", "type" : "object" } } } } }, "description" : "" } }, "summary" : "Query the child studies of an answer", "tags" : [ "Networking" ] } }, "/queries/{id}/answers/{index}/retrieve" : { "post" : { "deprecated" : false, "description" : "Start a C-MOVE SCU command as a job, in order to retrieve one answer associated with the query/retrieve operation whose identifiers are provided in the URL: https://book.orthanc-server.com/users/rest.html#performing-retrieve-c-move", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "Index of the answer", "in" : "path", "name" : "index", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Full" : { "description" : "If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Simplify" : { "description" : "If set to `true`, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "type" : "boolean" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "TargetAet" : { "description" : "AET of the target modality. By default, the AET of Orthanc is used, as defined in the `DicomAet` configuration option.", "type" : "string" }, "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" } } } }, "text/plain" : { "schema" : { "description" : "AET of the target modality" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Retrieve one answer", "tags" : [ "Networking" ] } }, "/queries/{id}/level" : { "get" : { "deprecated" : false, "description" : "Get the query level (value of the `QueryRetrieveLevel` tag) of the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The level" } } }, "description" : "" } }, "summary" : "Get level of original query", "tags" : [ "Networking" ] } }, "/queries/{id}/modality" : { "get" : { "deprecated" : false, "description" : "Get the identifier of the DICOM modality that was targeted by the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The identifier of the DICOM modality" } } }, "description" : "" } }, "summary" : "Get modality of original query", "tags" : [ "Networking" ] } }, "/queries/{id}/query" : { "get" : { "deprecated" : false, "description" : "Get the original DICOM filter associated with the query/retrieve operation whose identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Content of the original query" } } }, "description" : "" } }, "summary" : "Get original query arguments", "tags" : [ "Networking" ] } }, "/queries/{id}/retrieve" : { "post" : { "deprecated" : false, "description" : "Start a C-MOVE SCU command as a job, in order to retrieve all the answers associated with the query/retrieve operation whose identifier is provided in the URL: https://book.orthanc-server.com/users/rest.html#performing-retrieve-c-move", "parameters" : [ { "description" : "Identifier of the query of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Full" : { "description" : "If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Simplify" : { "description" : "If set to `true`, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "type" : "boolean" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "TargetAet" : { "description" : "AET of the target modality. By default, the AET of Orthanc is used, as defined in the `DicomAet` configuration option.", "type" : "string" }, "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" } } } }, "text/plain" : { "schema" : { "description" : "AET of the target modality" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Retrieve all answers", "tags" : [ "Networking" ] } }, "/series" : { "get" : { "deprecated" : false, "description" : "List the Orthanc identifiers of all the available DICOM series", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual series", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing either the Orthanc identifiers, or detailed information about the reported series (if `expand` argument is provided)", "example" : [ "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", "7124dba7-09803f33-98b73826-33f14632-ea842d29" ] } } }, "description" : "" } }, "summary" : "List the available series", "tags" : [ "Series" ] } }, "/series/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete some series", "tags" : [ "Series" ] }, "get" : { "deprecated" : false, "description" : "Get detailed information about the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM series", "example" : { "ExpectedNumberOfInstances" : null, "ID" : "37836232-d13a2350-fa1dedc5-962b31aa-010f8e52", "Instances" : [ "6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f" ], "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091542", "MainDicomTags" : { "ImageOrientationPatient" : "0\\1\\0\\0\\0\\-1", "Manufacturer" : "Philips", "Modality" : "CT", "PerformedProcedureStepDescription" : "CT2 tête, face, sinus", "ProtocolName" : "COU 2 mm/Neck/Sv", "SeriesInstanceUID" : "1.2.840.113704.1.111.5692.1127828999.2", "SeriesNumber" : "2276", "StationName" : "ctrad" }, "ParentStudy" : "49974143-ec23cb52-6b2a1c46-14d5daa0-0822ce1a", "Status" : "Unknown", "Type" : "Series" } } } }, "description" : "" } }, "summary" : "Get information about some series", "tags" : [ "Series" ] } }, "/series/{id}/anonymize" : { "post" : { "deprecated" : false, "description" : "Start a job that will anonymize all the DICOM instances within the series whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new series, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#anonymization-of-patients-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "DicomVersion" : { "description" : "Version of the DICOM standard to be used for anonymization. Check out configuration option `DeidentifyLogsDicomVersion` for possible values.", "type" : "string" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "List of DICOM tags whose value must not be destroyed by the anonymization. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "KeepPrivateTags" : { "description" : "Keep the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of additional tags to be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Anonymize series", "tags" : [ "Series" ] } }, "/series/{id}/archive" : { "get" : { "deprecated" : false, "description" : "Synchronously create a ZIP archive containing the DICOM series whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Series" ] }, "post" : { "deprecated" : false, "description" : "Create a ZIP archive containing the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Series" ] } }, "/series/{id}/attachments" : { "get" : { "deprecated" : false, "description" : "Get the list of attachments that are associated with the given series", "parameters" : [ { "description" : "If present, retrieve the attachments list and their numerical ids", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the attachments", "example" : [] } } }, "description" : "" } }, "summary" : "List attachments", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete an attachment associated with the given DICOM series. This call will fail if trying to delete a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete attachment", "tags" : [ "Series" ] }, "get" : { "deprecated" : false, "description" : "Get the list of the operations that are available for attachments associated with the given series", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "compress", "compressed-data", "compressed-md5", "compressed-size", "data", "info", "is-compressed", "md5", "size", "uncompress", "verify-md5", "uuid" ] } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "List operations on attachments", "tags" : [ "Other" ] }, "put" : { "deprecated" : false, "description" : "Attach a file to the given DICOM series. This call will fail if trying to modify a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, if this is not the first time this attachment is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/octet-stream" : { "schema" : { "description" : "Binary data containing the attachment" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Set attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/compress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Compress attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/compressed-data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given series. The attachment will not be decompressed if `StorageCompression` is `true`.", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment (no decompression)", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/compressed-md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given series, as stored on the disk. This is different from `.../md5` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment on disk", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/compressed-size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given series, as stored on the disk. This is different from `.../size` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment on disk", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given series", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/info" : { "get" : { "deprecated" : false, "description" : "Get all the information about the attachment associated with the given series", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the information about the attachment", "example" : { "CompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "CompressedSize" : 526970, "ContentType" : 1, "UncompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "UncompressedSize" : 526970, "Uuid" : "b7c99eb7-229f-464e-8f46-6878c8e79e5c" } } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get info about the attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/is-compressed" : { "get" : { "deprecated" : false, "description" : "Test whether the attachment has been stored as a compressed file on the disk.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`0` if the attachment was stored uncompressed, `1` if it was compressed" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Is attachment compressed?", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given series", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given series", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/uncompress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Uncompress attachment", "tags" : [ "Series" ] } }, "/series/{id}/attachments/{name}/verify-md5" : { "post" : { "deprecated" : false, "description" : "Verify that the attachment is not corrupted, by validating its MD5 hash", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "On success, a valid JSON object is returned" } } }, "description" : "" } }, "summary" : "Verify attachment", "tags" : [ "Series" ] } }, "/series/{id}/instances" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child instances of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM instances", "example" : [ { "FileSize" : 368852, "FileUuid" : "9016272a-ee8c-41b2-afc6-dcfe06dd3be8", "ID" : "6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f", "IndexInSeries" : 1, "Labels" : [], "{...}" : "..." } ] } } }, "description" : "" } }, "summary" : "Get child instances", "tags" : [ "Series" ] } }, "/series/{id}/instances-tags" : { "get" : { "deprecated" : false, "description" : "Get the tags of all the child instances of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object associating the Orthanc identifiers of the instances, with the values of their DICOM tags", "example" : { "6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\LOCALIZER\\ES" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20050927" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "155030.000000" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "{...}" : "..." } } } } }, "description" : "" } }, "summary" : "Get tags of instances", "tags" : [ "Series" ] } }, "/series/{id}/labels" : { "get" : { "deprecated" : false, "description" : "Get the labels that are associated with the given series (new in Orthanc 1.12.0)", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the labels", "example" : [] } } }, "description" : "" } }, "summary" : "List labels", "tags" : [ "Series" ] } }, "/series/{id}/labels/{label}" : { "delete" : { "deprecated" : false, "description" : "Remove a label associated with a series", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be removed", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Remove label", "tags" : [ "Series" ] }, "get" : { "deprecated" : false, "description" : "Test whether the series is associated with the given label", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label of interest", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Empty string is returned in the case of presence, error 404 in the case of absence" } } }, "description" : "" } }, "summary" : "Test label", "tags" : [ "Series" ] }, "put" : { "deprecated" : false, "description" : "Associate a label with a series", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be added", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Add label", "tags" : [ "Series" ] } }, "/series/{id}/media" : { "get" : { "deprecated" : false, "description" : "Synchronously create a DICOMDIR media containing the DICOM series whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "If present, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*", "in" : "query", "name" : "extended", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Series" ] }, "post" : { "deprecated" : false, "description" : "Create a DICOMDIR media containing the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Extended" : { "description" : "If `true`, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*. Default value is `false`.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Series" ] } }, "/series/{id}/metadata" : { "get" : { "deprecated" : false, "description" : "Get the list of metadata that are associated with the given series", "parameters" : [ { "description" : "If present, also retrieve the value of the individual metadata", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, use the numeric identifier of the metadata instead of its symbolic name", "in" : "query", "name" : "numeric", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the available metadata, or JSON associative array mapping metadata to their values (if `expand` argument is provided)", "example" : [ "LastUpdate" ] } } }, "description" : "" } }, "summary" : "List metadata", "tags" : [ "Series" ] } }, "/series/{id}/metadata/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete some metadata associated with the given DICOM series. This call will fail if trying to delete a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete metadata", "tags" : [ "Series" ] }, "get" : { "deprecated" : false, "description" : "Get the value of a metadata that is associated with the given series", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Value of the metadata" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the metadata, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get metadata", "tags" : [ "Series" ] }, "put" : { "deprecated" : false, "description" : "Set the value of some metadata in the given DICOM series. This call will fail if trying to modify a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, if this is not the first time this metadata is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "String value of the metadata" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set metadata", "tags" : [ "Series" ] } }, "/series/{id}/modify" : { "post" : { "deprecated" : false, "description" : "Start a job that will modify all the DICOM instances within the series whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new series, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#modification-of-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "Keep the original value of the specified tags, to be chosen among the `StudyInstanceUID`, `SeriesInstanceUID` and `SOPInstanceUID` tags. Avoid this feature as much as possible, as this breaks the DICOM model of the real world.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of tags that must be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "RemovePrivateTags" : { "description" : "Remove the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Modify series", "tags" : [ "Series" ] } }, "/series/{id}/module" : { "get" : { "deprecated" : false, "description" : "Get the series module of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM series", "example" : { "0008,0060" : { "Name" : "Modality", "Type" : "String", "Value" : "CT" }, "0008,1111" : { "Name" : "ReferencedPerformedProcedureStepSequence", "Type" : "Sequence", "Value" : [ { "0008,1150" : { "Name" : "ReferencedSOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.3.1.2.3.3" }, "0008,1155" : { "Name" : "ReferencedSOPInstanceUID", "Type" : "String", "Value" : "1.2.840.113704.1.111.4496.1127828841.54" } } ] }, "0018,1030" : { "Name" : "ProtocolName", "Type" : "String", "Value" : "COU 2 mm/Neck/Sv" }, "0018,5100" : { "Name" : "PatientPosition", "Type" : "String", "Value" : "HFS" }, "0020,000e" : { "Name" : "SeriesInstanceUID", "Type" : "String", "Value" : "1.2.840.113704.1.111.5692.1127828999.2" }, "0020,0011" : { "Name" : "SeriesNumber", "Type" : "String", "Value" : "2276" }, "0040,0253" : { "Name" : "PerformedProcedureStepID", "Type" : "String", "Value" : "A10011234815" }, "0040,0254" : { "Name" : "PerformedProcedureStepDescription", "Type" : "String", "Value" : "CT2 tête, face, sinus" }, "0040,0260" : { "Name" : "PerformedProtocolCodeSequence", "Type" : "Sequence", "Value" : [ { "0008,0100" : { "Name" : "CodeValue", "Type" : "String", "Value" : "CTTETE" }, "0008,0102" : { "Name" : "CodingSchemeDesignator", "Type" : "String", "Value" : "XPLORE" }, "0008,0104" : { "Name" : "CodeMeaning", "Type" : "String", "Value" : "CT2 tête, face, sinus" } } ] }, "0040,0275" : { "Name" : "RequestAttributesSequence", "Type" : "Sequence", "Value" : [ { "0040,0007" : { "Name" : "ScheduledProcedureStepDescription", "Type" : "String", "Value" : "CT2 tête, face, sinus" }, "0040,0008" : { "Name" : "ScheduledProtocolCodeSequence", "Type" : "Sequence", "Value" : [ { "0008,0100" : { "Name" : "CodeValue", "Type" : "String", "Value" : "CTTETE" }, "0008,0102" : { "Name" : "CodingSchemeDesignator", "Type" : "String", "Value" : "XPLORE" }, "0008,0104" : { "Name" : "CodeMeaning", "Type" : "String", "Value" : "CT2 TÊTE, FACE, SINUS" } } ] }, "0040,0009" : { "Name" : "ScheduledProcedureStepID", "Type" : "String", "Value" : "A10011234815" }, "0040,1001" : { "Name" : "RequestedProcedureID", "Type" : "String", "Value" : "A10011234814" } } ] } } } } }, "description" : "" } }, "summary" : "Get series module", "tags" : [ "Series" ] } }, "/series/{id}/numpy" : { "get" : { "deprecated" : false, "description" : "Decode the given DICOM series, for use with numpy in Python. The numpy array has 4 dimensions: (frame, height, width, color channel).", "parameters" : [ { "description" : "Compress the file as `.npz`", "in" : "query", "name" : "compress", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "On grayscale images, apply the rescaling and return floating-point values", "in" : "query", "name" : "rescale", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the DICOM resource of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Numpy file: https://numpy.org/devdocs/reference/generated/numpy.lib.format.html" } } }, "description" : "" } }, "summary" : "Decode series for numpy", "tags" : [ "Series" ] } }, "/series/{id}/ordered-slices" : { "get" : { "deprecated" : true, "description" : "Sort the instances and frames (slices) of the DICOM series whose Orthanc identifier is provided in the URL. This URI is essentially used by the Orthanc Web viewer and by the Osimis Web viewer.", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "Dicom" : [ "/instances/fa1fc64f-e7a051a7-c1233b31-e19bca08-54629531/file", "/instances/f5701efb-98170697-404d15f6-59baf69e-4e8ddfae/file", "/instances/3b2a215c-2560d4b0-e3730c07-87d3fa7d-3fef44ed/file", "/instances/6059d07c-02ae8c74-9436dc7c-007b4d5d-4c770a30/file", "/instances/99264275-213c3190-73251bdc-97ccfdb4-1f9656d9/file", "/instances/40df6ac1-5ec86316-035ff3c1-07e5c8a8-f6cbd37c/file", "/instances/08ff3a1a-c8fb57d9-4e24d9cb-2ed22b80-0ff7461e/file", "/instances/6fe353dd-544ce7af-58ce22dd-ab67370c-873330fc/file", "/instances/3ad70bbe-bc51faff-860461d2-44745ccf-0ebbbbc8/file", "/instances/9058e01a-31a7d982-1691e575-a8607d94-29a9aaca/file", "..." ], "Slices" : [ "/instances/fa1fc64f-e7a051a7-c1233b31-e19bca08-54629531/frames/0", "/instances/f5701efb-98170697-404d15f6-59baf69e-4e8ddfae/frames/0", "/instances/3b2a215c-2560d4b0-e3730c07-87d3fa7d-3fef44ed/frames/0", "/instances/6059d07c-02ae8c74-9436dc7c-007b4d5d-4c770a30/frames/0", "/instances/99264275-213c3190-73251bdc-97ccfdb4-1f9656d9/frames/0", "/instances/40df6ac1-5ec86316-035ff3c1-07e5c8a8-f6cbd37c/frames/0", "/instances/08ff3a1a-c8fb57d9-4e24d9cb-2ed22b80-0ff7461e/frames/0", "/instances/6fe353dd-544ce7af-58ce22dd-ab67370c-873330fc/frames/0", "/instances/3ad70bbe-bc51faff-860461d2-44745ccf-0ebbbbc8/frames/0", "/instances/9058e01a-31a7d982-1691e575-a8607d94-29a9aaca/frames/0", "..." ], "SlicesShort" : [ [ "fa1fc64f-e7a051a7-c1233b31-e19bca08-54629531", 0, 1 ], [ "f5701efb-98170697-404d15f6-59baf69e-4e8ddfae", 0, 1 ], [ "3b2a215c-2560d4b0-e3730c07-87d3fa7d-3fef44ed", 0, 1 ], [ "6059d07c-02ae8c74-9436dc7c-007b4d5d-4c770a30", 0, 1 ], [ "99264275-213c3190-73251bdc-97ccfdb4-1f9656d9", 0, 1 ], [ "40df6ac1-5ec86316-035ff3c1-07e5c8a8-f6cbd37c", 0, 1 ], [ "08ff3a1a-c8fb57d9-4e24d9cb-2ed22b80-0ff7461e", 0, 1 ], [ "6fe353dd-544ce7af-58ce22dd-ab67370c-873330fc", 0, 1 ], [ "3ad70bbe-bc51faff-860461d2-44745ccf-0ebbbbc8", 0, 1 ], [ "9058e01a-31a7d982-1691e575-a8607d94-29a9aaca", 0, 1 ], "..." ], "Type" : "Volume" }, "properties" : { "Dicom" : { "description" : "Ordered list of paths to DICOM instances", "items" : { "type" : "string" }, "type" : "array" }, "Slices" : { "description" : "Ordered list of paths to frames. It is recommended to use this field, as it is also valid in the case of multiframe images.", "items" : { "type" : "string" }, "type" : "array" }, "SlicesShort" : { "description" : "Same information as the `Slices` field, but in a compact form", "items" : { "type" : "object" }, "type" : "array" }, "Type" : { "description" : "Can be `Volume` (for 3D volumes) or `Sequence` (notably for cine images)", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Order the slices", "tags" : [ "Series" ] } }, "/series/{id}/patient" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent patient of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM patient", "example" : { "ID" : "2f74083e-9b042648-10edac14-b26950f8-f82ec3a0", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091601", "MainDicomTags" : { "PatientBirthDate" : "19910101", "PatientID" : "Vafk,T,6", "PatientName" : "PHENIX", "PatientSex" : "" }, "Studies" : [ "49974143-ec23cb52-6b2a1c46-14d5daa0-0822ce1a" ], "Type" : "Patient" } } } }, "description" : "" } }, "summary" : "Get parent patient", "tags" : [ "Series" ] } }, "/series/{id}/reconstruct" : { "post" : { "deprecated" : false, "description" : "Reconstruct the main DICOM tags in DB of the series whose Orthanc identifier is provided in the URL. This is useful if child studies/series/instances have inconsistent values for higher-level tags, in order to force Orthanc to use the value from the resource of interest. Beware that this is a time-consuming operation, as all the children DICOM instances will be parsed again, and the Orthanc index will be updated accordingly.", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "ReconstructFiles" : { "description" : "Also reconstruct the files of the resources (e.g: apply IngestTranscoding, StorageCompression). 'false' by default. (New in Orthanc 1.11.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Reconstruct tags & optionally files of series", "tags" : [ "Series" ] } }, "/series/{id}/shared-tags" : { "get" : { "deprecated" : false, "description" : "Extract the DICOM tags whose value is constant across all the child instances of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the values of the DICOM tags", "example" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\LOCALIZER\\ES" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20050927" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "155030.000000" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.2" }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get shared tags", "tags" : [ "Series" ] } }, "/series/{id}/statistics" : { "get" : { "deprecated" : false, "description" : "Get statistics about the given series", "parameters" : [ { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "CountInstances" : 1, "DicomDiskSize" : "368852", "DicomDiskSizeMB" : 0, "DicomUncompressedSize" : "368852", "DicomUncompressedSizeMB" : 0, "DiskSize" : "381000", "DiskSizeMB" : 0, "UncompressedSize" : "381000", "UncompressedSizeMB" : 0 }, "properties" : { "CountInstances" : { "description" : "Number of child instances within this series", "type" : "number" }, "DicomDiskSize" : { "description" : "Size on the disk of the DICOM instances associated with the series, expressed in bytes", "type" : "string" }, "DicomDiskSizeMB" : { "description" : "Size on the disk of the DICOM instances associated with the series, expressed in megabytes (MB)", "type" : "number" }, "DicomUncompressedSize" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the series, expressed in bytes", "type" : "string" }, "DicomUncompressedSizeMB" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the series, expressed in megabytes (MB)", "type" : "number" }, "DiskSize" : { "description" : "Size of the series on the disk in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "DiskSizeMB" : { "description" : "Size of the series on the disk, expressed in megabytes (MB)", "type" : "number" }, "UncompressedSize" : { "description" : "Size of the series after decompression in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "UncompressedSizeMB" : { "description" : "Size of the series after decompression, expressed in megabytes (MB). This is different from `DiskSizeMB` iff `StorageCompression` is `true`.", "type" : "number" } } } } }, "description" : "" } }, "summary" : "Get series statistics", "tags" : [ "Series" ] } }, "/series/{id}/study" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent study of the DICOM series whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the series of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM study", "example" : { "ID" : "49974143-ec23cb52-6b2a1c46-14d5daa0-0822ce1a", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091601", "MainDicomTags" : { "AccessionNumber" : "A10011234814", "InstitutionName" : "HUG", "ReferringPhysicianName" : "CHIR-PED^CHIR-PE", "RequestedProcedureDescription" : "CT2 TÊTE, FACE, SINUS", "RequestingPhysician" : "KOHLER^Romain", "StudyDate" : "20050927", "StudyDescription" : "CT2 tête, face, sinus", "StudyID" : "1361", "StudyInstanceUID" : "2.16.840.1.113669.632.20.1211.10000098591", "StudyTime" : "154952.000000" }, "ParentPatient" : "2f74083e-9b042648-10edac14-b26950f8-f82ec3a0", "PatientMainDicomTags" : { "PatientBirthDate" : "19910101", "PatientID" : "Vafk,T,6", "PatientName" : "PHENIX", "PatientSex" : "" }, "Series" : [ "37836232-d13a2350-fa1dedc5-962b31aa-010f8e52", "7696013f-4c89c563-2b071693-5d1f97f6-f8ab232d", "17cc7e52-4f1a3e4d-9182f727-56e9cc71-c037892f" ], "Type" : "Study" } } } }, "description" : "" } }, "summary" : "Get parent study", "tags" : [ "Series" ] } }, "/statistics" : { "get" : { "deprecated" : false, "description" : "Get statistics related to the database of Orthanc", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "CountInstances" : 2552, "CountPatients" : 8, "CountSeries" : 26, "CountStudies" : 8, "TotalDiskSize" : "1068132148", "TotalDiskSizeMB" : 1018, "TotalUncompressedSize" : "1068132148", "TotalUncompressedSizeMB" : 1018 }, "properties" : { "CountInstances" : { "description" : "Number of DICOM instances stored in Orthanc", "type" : "number" }, "CountPatients" : { "description" : "Number of patients stored in Orthanc", "type" : "number" }, "CountSeries" : { "description" : "Number of DICOM series stored in Orthanc", "type" : "number" }, "CountStudies" : { "description" : "Number of DICOM studies stored in Orthanc", "type" : "number" }, "TotalDiskSize" : { "description" : "Size of the storage area (in bytes)", "type" : "string" }, "TotalDiskSizeMB" : { "description" : "Size of the storage area (in megabytes)", "type" : "number" }, "TotalUncompressedSize" : { "description" : "Total size of all the files once uncompressed (in bytes). This corresponds to `TotalDiskSize` if no compression is enabled, cf. `StorageCompression` configuration option", "type" : "string" }, "TotalUncompressedSizeMB" : { "description" : "Total size of all the files once uncompressed (in megabytes)", "type" : "number" } } } } }, "description" : "" } }, "summary" : "Get database statistics", "tags" : [ "System" ] } }, "/storage-commitment/{id}" : { "get" : { "deprecated" : false, "description" : "Get the storage commitment report whose identifier is provided in the URL: https://book.orthanc-server.com/users/storage-commitment.html#storage-commitment-scu", "parameters" : [ { "description" : "Identifier of the storage commitment report", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "Failures" : { "description" : "List of failures that have been encountered during the storage commitment request", "items" : { "type" : "object" }, "type" : "array" }, "RemoteAET" : { "description" : "AET of the remote DICOM modality", "type" : "string" }, "Status" : { "description" : "Can be `Success`, `Failure`, or `Pending` (the latter means that no report has been received yet)", "type" : "string" }, "Success" : { "description" : "List of DICOM instances that have been acknowledged by the remote modality, each one is reported as a JSON object containing the `SOPClassUID` and `SOPInstanceUID` DICOM tags", "items" : { "type" : "object" }, "type" : "array" } } } } }, "description" : "" } }, "summary" : "Get storage commitment report", "tags" : [ "Networking" ] } }, "/storage-commitment/{id}/remove" : { "post" : { "deprecated" : false, "description" : "Remove out of Orthanc, the DICOM instances that have been reported to have been properly received the storage commitment report whose identifier is provided in the URL. This is only possible if the `Status` of the storage commitment report is `Success`. https://book.orthanc-server.com/users/storage-commitment.html#removing-the-instances", "parameters" : [ { "description" : "Identifier of the storage commitment report", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Remove after storage commitment", "tags" : [ "Networking" ] } }, "/studies" : { "get" : { "deprecated" : false, "description" : "List the Orthanc identifiers of all the available DICOM studies", "parameters" : [ { "description" : "If present, retrieve detailed information about the individual studies", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Limit the number of results", "in" : "query", "name" : "limit", "required" : false, "schema" : { "type" : "number" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Show only the resources since the provided index", "in" : "query", "name" : "since", "required" : false, "schema" : { "type" : "number" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing either the Orthanc identifiers, or detailed information about the reported studies (if `expand` argument is provided)", "example" : [ "6c65289b-db2fcb71-7eaf73f4-8e12470c-a4d6d7cf", "6b9e19d9-62094390-5f9ddb01-4a191ae7-9766b715" ] } } }, "description" : "" } }, "summary" : "List the available studies", "tags" : [ "Studies" ] } }, "/studies/{id}" : { "delete" : { "deprecated" : false, "description" : "Delete the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete some study", "tags" : [ "Studies" ] }, "get" : { "deprecated" : false, "description" : "Get detailed information about the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM study", "example" : { "ID" : "27f7126f-4f66fb14-03f4081b-f9341db2-53925988", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091532", "MainDicomTags" : { "AccessionNumber" : "0", "InstitutionName" : "7GEFF0GbzqCNo43Yd0,Ibu,zQSSX", "ReferringPhysicianName" : "dAEvNTxZJO0E", "RequestedProcedureDescription" : "IRM cérébrale, neuro-crâne", "StudyDate" : "20061201", "StudyDescription" : "IRM cérébrale, neuro-crâne", "StudyID" : "218211405", "StudyInstanceUID" : "2.16.840.1.113669.632.20.1211.10000357775", "StudyTime" : "141645.000000" }, "ParentPatient" : "16738bc3-e47ed42a-43ce044c-a3414a45-cb069bd0", "PatientMainDicomTags" : { "PatientBirthDate" : "19490301", "PatientID" : "5Yp0E", "PatientName" : "BRAINIX", "PatientSex" : "0000" }, "Series" : [ "635faa23-fd8378ee-d03bce29-ee47c2fb-a65c5509", "dc0216d2-a406a5ad-31ef7a78-113ae9d9-29939f9e", "1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0", "4baa97c7-d53d3d82-a5eb9403-17ef5a77-4e0efb55", "2ac1316d-3e432022-62eabff2-c59f5475-9b1ac3f8", "ae164c84-e5bd0366-ba937a6d-65414092-f294d6b6", "3ca69615-fcd4a4fb-e5f2cc9d-9c7a49a5-add98bbf" ], "Type" : "Study" } } } }, "description" : "" } }, "summary" : "Get information about some study", "tags" : [ "Studies" ] } }, "/studies/{id}/anonymize" : { "post" : { "deprecated" : false, "description" : "Start a job that will anonymize all the DICOM instances within the study whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new study, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#anonymization-of-patients-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "DicomVersion" : { "description" : "Version of the DICOM standard to be used for anonymization. Check out configuration option `DeidentifyLogsDicomVersion` for possible values.", "type" : "string" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "List of DICOM tags whose value must not be destroyed by the anonymization. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "KeepPrivateTags" : { "description" : "Keep the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of additional tags to be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Anonymize study", "tags" : [ "Studies" ] } }, "/studies/{id}/archive" : { "get" : { "deprecated" : false, "description" : "Synchronously create a ZIP archive containing the DICOM study whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Studies" ] }, "post" : { "deprecated" : false, "description" : "Create a ZIP archive containing the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments" : { "get" : { "deprecated" : false, "description" : "Get the list of attachments that are associated with the given study", "parameters" : [ { "description" : "If present, retrieve the attachments list and their numerical ids", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the attachments", "example" : [] } } }, "description" : "" } }, "summary" : "List attachments", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete an attachment associated with the given DICOM study. This call will fail if trying to delete a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete attachment", "tags" : [ "Studies" ] }, "get" : { "deprecated" : false, "description" : "Get the list of the operations that are available for attachments associated with the given study", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "compress", "compressed-data", "compressed-md5", "compressed-size", "data", "info", "is-compressed", "md5", "size", "uncompress", "verify-md5", "uuid" ] } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "List operations on attachments", "tags" : [ "Other" ] }, "put" : { "deprecated" : false, "description" : "Attach a file to the given DICOM study. This call will fail if trying to modify a system attachment (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the attachment, if this is not the first time this attachment is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/octet-stream" : { "schema" : { "description" : "Binary data containing the attachment" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "Empty JSON object in the case of a success" } } }, "description" : "" } }, "summary" : "Set attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/compress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Compress attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/compressed-data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given study. The attachment will not be decompressed if `StorageCompression` is `true`.", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment (no decompression)", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/compressed-md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given study, as stored on the disk. This is different from `.../md5` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment on disk", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/compressed-size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given study, as stored on the disk. This is different from `.../size` iff `EnableStorage` is `true`.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment, as stored on the disk" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment on disk", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/data" : { "get" : { "deprecated" : false, "description" : "Get the (binary) content of one attachment associated with the given study", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/octet-stream" : { "examples" : {}, "schema" : { "description" : "The attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/info" : { "get" : { "deprecated" : false, "description" : "Get all the information about the attachment associated with the given study", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the information about the attachment", "example" : { "CompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "CompressedSize" : 526970, "ContentType" : 1, "UncompressedMD5" : "26f3fad6ca0c355f02d57c7fa6770248", "UncompressedSize" : 526970, "Uuid" : "b7c99eb7-229f-464e-8f46-6878c8e79e5c" } } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get info about the attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/is-compressed" : { "get" : { "deprecated" : false, "description" : "Test whether the attachment has been stored as a compressed file on the disk.", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`0` if the attachment was stored uncompressed, `1` if it was compressed" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Is attachment compressed?", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/md5" : { "get" : { "deprecated" : false, "description" : "Get the MD5 hash of one attachment associated with the given study", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The MD5 of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get MD5 of attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/size" : { "get" : { "deprecated" : false, "description" : "Get the size of one attachment associated with the given study", "parameters" : [ { "description" : "Optional revision of the attachment, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The size of the attachment" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the attachment, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get size of attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/uncompress" : { "post" : { "deprecated" : false, "description" : "Change the compression scheme that is used to store an attachment.", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Uncompress attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/attachments/{name}/verify-md5" : { "post" : { "deprecated" : false, "description" : "Verify that the attachment is not corrupted, by validating its MD5 hash", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the attachment, or its index (cf. `UserContentType` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "On success, a valid JSON object is returned" } } }, "description" : "" } }, "summary" : "Verify attachment", "tags" : [ "Studies" ] } }, "/studies/{id}/instances" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child instances of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM instances", "example" : [ { "FileSize" : 527858, "FileUuid" : "42607af0-e2ca-402a-9cb4-8819a0485dbd", "ID" : "82cc1a6b-7b05d34e-cd74474b-594f0d43-94f609d8", "IndexInSeries" : 3, "Labels" : [], "{...}" : "..." }, { "FileSize" : 527858, "FileUuid" : "f986a0de-cf3b-4acc-a2ca-ce6a5844ec63", "ID" : "2fbd6d5f-802f6561-b9d8da32-c54ead16-18a208bd", "IndexInSeries" : 13, "Labels" : [], "{...}" : "..." }, { "FileSize" : 527858, "FileUuid" : "64cc6dae-228d-4e60-82ea-34c540a09cfb", "ID" : "4dbca7c1-f6e1a582-b3196370-0151cac8-19caac8e", "IndexInSeries" : 17, "Labels" : [], "{...}" : "..." }, { "FileSize" : 527858, "FileUuid" : "06823b17-6217-4534-b318-4de5c9157c74", "ID" : "98c6f0c7-e6f9812b-d0a9df8a-97eeaa41-fa891d8e", "IndexInSeries" : 6, "Labels" : [], "{...}" : "..." }, { "FileSize" : 527858, "FileUuid" : "7012f4ad-e1f7-49a8-95e0-5050227b4090", "ID" : "c25f4e48-8f7d737e-3dbeafb5-f1563a30-eddf816c", "IndexInSeries" : 20, "Labels" : [], "{...}" : "..." }, "..." ] } } }, "description" : "" } }, "summary" : "Get child instances", "tags" : [ "Studies" ] } }, "/studies/{id}/instances-tags" : { "get" : { "deprecated" : false, "description" : "Get the tags of all the child instances of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object associating the Orthanc identifiers of the instances, with the values of their DICOM tags", "example" : { "00330d0f-911e5e8d-1e305bae-e5c53b73-d2a49298" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\M_SE\\M\\SE" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "145331.000000" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "{...}" : "..." }, "00402ce7-ac05c687-4d0839bc-cecd4fad-3d1b7eed" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\M_FFE\\M\\FFE" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "145326.000000" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "{...}" : "..." }, "00ffd506-6460663a-cda9bddc-a0090c47-145ba829" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\M_FFE\\M\\FFE" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "145346.000000" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "{...}" : "..." }, "01a6ffdc-335f82a7-c79360c2-2e6bbc35-d24ca33d" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\M_SE\\M\\SE" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "145313.000000" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "{...}" : "..." }, "0577c66f-25d7cc30-bb763c60-53bb7ba0-72c8b018" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0008" : { "Name" : "ImageType", "Type" : "String", "Value" : "ORIGINAL\\PRIMARY\\M_FFE\\M\\FFE" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0013" : { "Name" : "InstanceCreationTime", "Type" : "String", "Value" : "145346.000000" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "{...}" : "..." }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get tags of instances", "tags" : [ "Studies" ] } }, "/studies/{id}/labels" : { "get" : { "deprecated" : false, "description" : "Get the labels that are associated with the given study (new in Orthanc 1.12.0)", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the labels", "example" : [] } } }, "description" : "" } }, "summary" : "List labels", "tags" : [ "Studies" ] } }, "/studies/{id}/labels/{label}" : { "delete" : { "deprecated" : false, "description" : "Remove a label associated with a study", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be removed", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Remove label", "tags" : [ "Studies" ] }, "get" : { "deprecated" : false, "description" : "Test whether the study is associated with the given label", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label of interest", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Empty string is returned in the case of presence, error 404 in the case of absence" } } }, "description" : "" } }, "summary" : "Test label", "tags" : [ "Studies" ] }, "put" : { "deprecated" : false, "description" : "Associate a label with a study", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The label to be added", "in" : "path", "name" : "label", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Add label", "tags" : [ "Studies" ] } }, "/studies/{id}/media" : { "get" : { "deprecated" : false, "description" : "Synchronously create a DICOMDIR media containing the DICOM study whose Orthanc identifier is provided in the URL. This flavor is synchronous, which might *not* be desirable to archive large amount of data, as it might lead to network timeouts. Prefer the asynchronous version using `POST` method.", "parameters" : [ { "description" : "If present, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*", "in" : "query", "name" : "extended", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Filename to set in the \"Content-Disposition\" HTTP header (including file extension)", "in" : "query", "name" : "filename", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "in" : "query", "name" : "transcode", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/zip" : { "examples" : {}, "schema" : { "description" : "ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Studies" ] }, "post" : { "deprecated" : false, "description" : "Create a DICOMDIR media containing the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Extended" : { "description" : "If `true`, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*. Default value is `false`.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "Studies" ] } }, "/studies/{id}/merge" : { "post" : { "deprecated" : false, "description" : "Start a new job so as to move some DICOM resources into the DICOM study whose Orthanc identifier is provided in the URL: https://book.orthanc-server.com/users/anonymization.html#merging", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `true`, instructs Orthanc to keep a copy of the original resources in their source study. By default, the original resources are deleted from Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "The list of DICOM resources (studies, series, and/or instances) to be merged into the study of interest (mandatory option)", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Merge study", "tags" : [ "Studies" ] } }, "/studies/{id}/metadata" : { "get" : { "deprecated" : false, "description" : "Get the list of metadata that are associated with the given study", "parameters" : [ { "description" : "If present, also retrieve the value of the individual metadata", "in" : "query", "name" : "expand", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, use the numeric identifier of the metadata instead of its symbolic name", "in" : "query", "name" : "numeric", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing the names of the available metadata, or JSON associative array mapping metadata to their values (if `expand` argument is provided)", "example" : [ "LastUpdate" ] } } }, "description" : "" } }, "summary" : "List metadata", "tags" : [ "Studies" ] } }, "/studies/{id}/metadata/{name}" : { "delete" : { "deprecated" : false, "description" : "Delete some metadata associated with the given DICOM study. This call will fail if trying to delete a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, to check if its content has not changed and can be deleted. This header is mandatory if `CheckRevisions` option is `true`.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "" } }, "summary" : "Delete metadata", "tags" : [ "Studies" ] }, "get" : { "deprecated" : false, "description" : "Get the value of a metadata that is associated with the given study", "parameters" : [ { "description" : "Optional revision of the metadata, to check if its content has changed", "in" : "header", "name" : "If-None-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Value of the metadata" } } }, "description" : "", "headers" : { "ETag" : { "description" : "Revision of the metadata, to be used in further `PUT` or `DELETE` operations" } } } }, "summary" : "Get metadata", "tags" : [ "Studies" ] }, "put" : { "deprecated" : false, "description" : "Set the value of some metadata in the given DICOM study. This call will fail if trying to modify a system metadata (i.e. whose index is < 1024).", "parameters" : [ { "description" : "Revision of the metadata, if this is not the first time this metadata is set.", "in" : "header", "name" : "If-Match", "required" : false, "schema" : { "type" : "string" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } }, { "description" : "The name of the metadata, or its index (cf. `UserMetadata` configuration option)", "in" : "path", "name" : "name", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "String value of the metadata" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set metadata", "tags" : [ "Studies" ] } }, "/studies/{id}/modify" : { "post" : { "deprecated" : false, "description" : "Start a job that will modify all the DICOM instances within the study whose identifier is provided in the URL. The modified DICOM instances will be stored into a brand new study, whose Orthanc identifiers will be returned by the job. https://book.orthanc-server.com/users/anonymization.html#modification-of-studies-or-series", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "Keep the original value of the specified tags, to be chosen among the `StudyInstanceUID`, `SeriesInstanceUID` and `SOPInstanceUID` tags. Avoid this feature as much as possible, as this breaks the DICOM model of the real world.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of tags that must be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "RemovePrivateTags" : { "description" : "Remove the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Modify study", "tags" : [ "Studies" ] } }, "/studies/{id}/module" : { "get" : { "deprecated" : false, "description" : "Get the study module of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM study", "example" : { "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20061201" }, "0008,0030" : { "Name" : "StudyTime", "Type" : "String", "Value" : "141645.000000" }, "0008,0050" : { "Name" : "AccessionNumber", "Type" : "String", "Value" : "0" }, "0008,0090" : { "Name" : "ReferringPhysicianName", "Type" : "String", "Value" : "dAEvNTxZJO0E" }, "0008,1030" : { "Name" : "StudyDescription", "Type" : "String", "Value" : "IRM cérébrale, neuro-crâne" }, "0008,1032" : { "Name" : "ProcedureCodeSequence", "Type" : "Sequence", "Value" : [ { "0008,0100" : { "Name" : "CodeValue", "Type" : "String", "Value" : "IRMCEREB" }, "0008,0102" : { "Name" : "CodingSchemeDesignator", "Type" : "String", "Value" : "XPLORE" }, "0008,0104" : { "Name" : "CodeMeaning", "Type" : "String", "Value" : "IRM cérébrale, neuro-crâne" }, "0008,010b" : { "Name" : "ContextGroupExtensionFlag", "Type" : "String", "Value" : "N" } } ] }, "0008,1110" : { "Name" : "ReferencedStudySequence", "Type" : "Sequence", "Value" : [ { "0008,1150" : { "Name" : "ReferencedSOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.3.1.2.3.1" }, "0008,1155" : { "Name" : "ReferencedSOPInstanceUID", "Type" : "String", "Value" : "2.16.840.1.113669.632.20.1211.10000357775" } } ] }, "0020,000d" : { "Name" : "StudyInstanceUID", "Type" : "String", "Value" : "2.16.840.1.113669.632.20.1211.10000357775" }, "0020,0010" : { "Name" : "StudyID", "Type" : "String", "Value" : "218211405" } } } } }, "description" : "" } }, "summary" : "Get study module", "tags" : [ "Studies" ] } }, "/studies/{id}/module-patient" : { "get" : { "deprecated" : false, "description" : "Get the patient module of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "Also include the DICOM tags that are provided in this list, even if their associated value is long", "in" : "query", "name" : "ignore-length", "required" : false, "schema" : { "items" : { "type" : "string" }, "type" : "array" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the DICOM study", "example" : { "0010,0010" : { "Name" : "PatientName", "Type" : "String", "Value" : "BRAINIX" }, "0010,0020" : { "Name" : "PatientID", "Type" : "String", "Value" : "5Yp0E" }, "0010,0030" : { "Name" : "PatientBirthDate", "Type" : "String", "Value" : "19490301" }, "0010,0040" : { "Name" : "PatientSex", "Type" : "String", "Value" : "0000" } } } } }, "description" : "" } }, "summary" : "Get patient module of study", "tags" : [ "Studies" ] } }, "/studies/{id}/patient" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the parent patient of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "Information about the parent DICOM patient", "example" : { "ID" : "16738bc3-e47ed42a-43ce044c-a3414a45-cb069bd0", "IsStable" : true, "Labels" : [], "LastUpdate" : "20180414T091532", "MainDicomTags" : { "PatientBirthDate" : "19490301", "PatientID" : "5Yp0E", "PatientName" : "BRAINIX", "PatientSex" : "0000" }, "Studies" : [ "27f7126f-4f66fb14-03f4081b-f9341db2-53925988" ], "Type" : "Patient" } } } }, "description" : "" } }, "summary" : "Get parent patient", "tags" : [ "Studies" ] } }, "/studies/{id}/reconstruct" : { "post" : { "deprecated" : false, "description" : "Reconstruct the main DICOM tags in DB of the study whose Orthanc identifier is provided in the URL. This is useful if child studies/series/instances have inconsistent values for higher-level tags, in order to force Orthanc to use the value from the resource of interest. Beware that this is a time-consuming operation, as all the children DICOM instances will be parsed again, and the Orthanc index will be updated accordingly.", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "ReconstructFiles" : { "description" : "Also reconstruct the files of the resources (e.g: apply IngestTranscoding, StorageCompression). 'false' by default. (New in Orthanc 1.11.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Reconstruct tags & optionally files of study", "tags" : [ "Studies" ] } }, "/studies/{id}/series" : { "get" : { "deprecated" : false, "description" : "Get detailed information about the child series of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "in" : "query", "name" : "full", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, list the DICOM Tags you want to list in the response. This argument is a semi-column separated list of DICOM Tags identifiers; e.g: 'requestedTags=0010,0010;PatientBirthDate'. The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return ", "in" : "query", "name" : "requestedTags", "required" : false, "schema" : { "type" : "string" } }, { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing information about the child DICOM series", "example" : [ { "ExpectedNumberOfInstances" : null, "ID" : "635faa23-fd8378ee-d03bce29-ee47c2fb-a65c5509", "Instances" : [ "ed8aacd6-5d2cfad4-9e1a2f77-edf1cee5-8f3bdde0", "7a93b85e-5956dbf9-894c1f27-dc73112f-4cbcda70", "065baa49-a7b4e4a0-e7468f1d-e9b5bca8-56316fa2", "ca69bc1a-a4fcc0a8-9e6828b0-c816dbaa-240fdc45", "edd8ff85-9805d97a-2375f736-40662993-aef40418", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." }, { "ExpectedNumberOfInstances" : null, "ID" : "dc0216d2-a406a5ad-31ef7a78-113ae9d9-29939f9e", "Instances" : [ "2cd73574-190bb147-0a86bcca-68c75104-d22f09dd", "ff95b7c0-d14e3e42-d642eacd-281cb07c-4e0bbc8b", "22384bf2-0bbe7bdb-013f6ff2-f7834e9f-3d8754bf", "3e50a403-17c8ce10-6e0234e3-a8bed1bf-3dbc54ee", "3db0ed84-61a28da4-72a52d5a-3f7daa77-b81ddf17", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." }, { "ExpectedNumberOfInstances" : null, "ID" : "1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0", "Instances" : [ "2db53a93-91179cd5-f2080c32-c9b156ec-b8f65fa7", "9058e01a-31a7d982-1691e575-a8607d94-29a9aaca", "40df6ac1-5ec86316-035ff3c1-07e5c8a8-f6cbd37c", "144ca294-6e759cfb-e14e3404-e78a0a29-1dd3273c", "3b2a215c-2560d4b0-e3730c07-87d3fa7d-3fef44ed", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." }, { "ExpectedNumberOfInstances" : null, "ID" : "4baa97c7-d53d3d82-a5eb9403-17ef5a77-4e0efb55", "Instances" : [ "9b41ef96-b4031ffc-b1b7ea5d-8a38d55d-fe804601", "8137542c-069dd229-d0226fba-f8c571cd-19c7b61a", "985681e7-99cd2ce5-f7d79f12-27bfc29f-0e5a4d72", "f0b9f0ab-110181f8-ce83a1a2-4d8eb2c9-0b682503", "ef13019a-9edf339d-395d8632-558518bf-b82b1b21", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." }, { "ExpectedNumberOfInstances" : null, "ID" : "2ac1316d-3e432022-62eabff2-c59f5475-9b1ac3f8", "Instances" : [ "61eeef27-cb5515a3-0860ab44-90125207-a56e6883", "18bc4146-4bb09c43-e4080c80-19bfc186-6b3d7272", "00402ce7-ac05c687-4d0839bc-cecd4fad-3d1b7eed", "ea902bf2-6dc22ee9-e962333a-7ce2c27f-d684977e", "8371936f-4141219a-ca7d69df-0d82697e-271eef91", "..." ], "IsStable" : true, "Labels" : [], "{...}" : "..." }, "..." ] } } }, "description" : "" } }, "summary" : "Get child series", "tags" : [ "Studies" ] } }, "/studies/{id}/shared-tags" : { "get" : { "deprecated" : false, "description" : "Extract the DICOM tags whose value is constant across all the child instances of the DICOM study whose Orthanc identifier is provided in the URL", "parameters" : [ { "description" : "If present, report the DICOM tags in hexadecimal format", "in" : "query", "name" : "short", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "If present, report the DICOM tags in human-readable format (using the symbolic name of the tags)", "in" : "query", "name" : "simplify", "required" : false, "schema" : { "type" : "boolean" } }, { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "JSON object containing the values of the DICOM tags", "example" : { "0008,0005" : { "Name" : "SpecificCharacterSet", "Type" : "String", "Value" : "ISO_IR 100" }, "0008,0012" : { "Name" : "InstanceCreationDate", "Type" : "String", "Value" : "20061201" }, "0008,0014" : { "Name" : "InstanceCreatorUID", "Type" : "String", "Value" : "1.3.46.670589.11.8743.5" }, "0008,0016" : { "Name" : "SOPClassUID", "Type" : "String", "Value" : "1.2.840.10008.5.1.4.1.1.4" }, "0008,0020" : { "Name" : "StudyDate", "Type" : "String", "Value" : "20061201" }, "{...}" : "..." } } } }, "description" : "" } }, "summary" : "Get shared tags", "tags" : [ "Studies" ] } }, "/studies/{id}/split" : { "post" : { "deprecated" : false, "description" : "Start a new job so as to split the DICOM study whose Orthanc identifier is provided in the URL, by taking some of its children series or instances out of it and putting them into a brand new study (this new study is created by setting the `StudyInstanceUID` tag to a random identifier): https://book.orthanc-server.com/users/anonymization.html#splitting", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Instances" : { "description" : "The list of instances to be separated from the parent study. These instances must all be children of the same source study, that is specified in the URI.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `true`, instructs Orthanc to keep a copy of the original series/instances in the source study. By default, the original series/instances are deleted from Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Remove" : { "description" : "List of tags that must be removed in the new study (from the same modules as in the `Replace` option)", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the new study. These tags must be part of the \"Patient Module Attributes\" or the \"General Study Module Attributes\", as specified by the DICOM 2011 standard in Tables C.7-1 and C.7-3.", "type" : "object" }, "Series" : { "description" : "The list of series to be separated from the parent study. These series must all be children of the same source study, that is specified in the URI.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Split study", "tags" : [ "Studies" ] } }, "/studies/{id}/statistics" : { "get" : { "deprecated" : false, "description" : "Get statistics about the given study", "parameters" : [ { "description" : "Orthanc identifier of the study of interest", "in" : "path", "name" : "id", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "CountInstances" : 232, "CountSeries" : 7, "DicomDiskSize" : "68153234", "DicomDiskSizeMB" : 64, "DicomUncompressedSize" : "68153234", "DicomUncompressedSizeMB" : 64, "DiskSize" : "72203548", "DiskSizeMB" : 68, "UncompressedSize" : "72203548", "UncompressedSizeMB" : 68 }, "properties" : { "CountInstances" : { "description" : "Number of child instances within this study", "type" : "number" }, "CountSeries" : { "description" : "Number of child series within this study", "type" : "number" }, "DicomDiskSize" : { "description" : "Size on the disk of the DICOM instances associated with the study, expressed in bytes", "type" : "string" }, "DicomDiskSizeMB" : { "description" : "Size on the disk of the DICOM instances associated with the study, expressed in megabytes (MB)", "type" : "number" }, "DicomUncompressedSize" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the study, expressed in bytes", "type" : "string" }, "DicomUncompressedSizeMB" : { "description" : "Size on the disk of the uncompressed DICOM instances associated with the study, expressed in megabytes (MB)", "type" : "number" }, "DiskSize" : { "description" : "Size of the study on the disk in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "DiskSizeMB" : { "description" : "Size of the study on the disk, expressed in megabytes (MB)", "type" : "number" }, "UncompressedSize" : { "description" : "Size of the study after decompression in bytes, expressed as a string for 64bit compatibility with JSON", "type" : "string" }, "UncompressedSizeMB" : { "description" : "Size of the study after decompression, expressed in megabytes (MB). This is different from `DiskSizeMB` iff `StorageCompression` is `true`.", "type" : "number" } } } } }, "description" : "" } }, "summary" : "Get study statistics", "tags" : [ "Studies" ] } }, "/system" : { "get" : { "deprecated" : false, "description" : "Get system information about Orthanc", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "", "example" : { "ApiVersion" : 20, "CheckRevisions" : false, "DatabaseBackendPlugin" : null, "DatabaseServerIdentifier" : "d67a54ff-aa19a273-ead8ba48-fa279633-f9654ab4", "DatabaseVersion" : 6, "DicomAet" : "ORTHANC", "DicomPort" : 4242, "HasLabels" : true, "HttpPort" : 8042, "IngestTranscoding" : "", "IsHttpServerSecure" : false, "MainDicomTags" : { "Instance" : "0008,0012;0008,0013;0008,0018;0020,0012;0020,0013;0020,0032;0020,0037;0020,0100;0020,4000;0028,0008;0054,1330", "Patient" : "0010,0010;0010,0020;0010,0030;0010,0040;0010,1000", "Series" : "0008,0021;0008,0031;0008,0060;0008,0070;0008,1010;0008,103e;0008,1070;0018,0010;0018,0015;0018,0024;0018,1030;0018,1090;0018,1400;0020,000e;0020,0011;0020,0037;0020,0105;0020,1002;0040,0254;0054,0081;0054,0101;0054,1000", "Study" : "0008,0020;0008,0030;0008,0050;0008,0080;0008,0090;0008,1030;0020,000d;0020,0010;0032,1032;0032,1060" }, "MaximumStorageMode" : "Recycle", "MaximumStorageSize" : 0, "Name" : "Orthanc Demo", "OverwriteInstances" : false, "PluginsEnabled" : true, "StorageAreaPlugin" : null, "StorageCompression" : false, "UserMetadata" : {}, "Version" : "1.12.0" }, "properties" : { "ApiVersion" : { "description" : "Version of the REST API", "type" : "number" }, "CheckRevisions" : { "description" : "Whether Orthanc handle revisions of metadata and attachments to deal with multiple writers (new in Orthanc 1.9.2)", "type" : "boolean" }, "DatabaseBackendPlugin" : { "description" : "Information about the installed database index plugin (`null` if no such plugin is installed)", "type" : "string" }, "DatabaseServerIdentifier" : { "description" : "ID of the server in the database (when running multiple Orthanc on the same DB)", "type" : "string" }, "DatabaseVersion" : { "description" : "Version of the database: https://book.orthanc-server.com/developers/db-versioning.html", "type" : "number" }, "DicomAet" : { "description" : "The DICOM AET of Orthanc", "type" : "string" }, "DicomPort" : { "description" : "The port to the DICOM server of Orthanc", "type" : "number" }, "HasLabels" : { "description" : "Whether the database back-end supports labels (new in Orthanc 1.12.0)", "type" : "boolean" }, "HttpPort" : { "description" : "The port to the HTTP server of Orthanc", "type" : "number" }, "IngestTranscoding" : { "description" : "Whether instances are transcoded when ingested into Orthanc (`` if no transcoding is performed) (new in Orthanc 1.11.0)", "type" : "string" }, "IsHttpServerSecure" : { "description" : "Whether the REST API is properly secured (assuming no reverse proxy is in use): https://book.orthanc-server.com/faq/security.html#securing-the-http-server", "type" : "boolean" }, "MainDicomTags" : { "description" : "The list of MainDicomTags saved in DB for each resource level (new in Orthanc 1.11.0)", "type" : "object" }, "MaximumStorageMode" : { "description" : "The configured MaximumStorageMode (new in Orthanc 1.11.3)", "type" : "string" }, "MaximumStorageSize" : { "description" : "The configured MaximumStorageSize in MB (new in Orthanc 1.11.3)", "type" : "number" }, "Name" : { "description" : "The name of the Orthanc server, cf. the `Name` configuration option", "type" : "string" }, "OverwriteInstances" : { "description" : "Whether instances are overwritten when re-ingested (new in Orthanc 1.11.0)", "type" : "boolean" }, "PluginsEnabled" : { "description" : "Whether Orthanc was built with support for plugins", "type" : "boolean" }, "StorageAreaPlugin" : { "description" : "Information about the installed storage area plugin (`null` if no such plugin is installed)", "type" : "string" }, "StorageCompression" : { "description" : "Whether storage compression is enabled (new in Orthanc 1.11.0)", "type" : "boolean" }, "UserMetadata" : { "description" : "The configured UserMetadata (new in Orthanc 1.12.0)", "type" : "object" }, "Version" : { "description" : "Version of Orthanc", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Get system information", "tags" : [ "System" ] } }, "/tools" : { "get" : { "deprecated" : false, "description" : "List the available operations under URI `/tools/`", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "schema" : { "description" : "List of the available operations", "example" : [ "accepted-transfer-syntaxes", "bulk-anonymize", "bulk-content", "bulk-delete", "bulk-modify", "create-archive", "create-dicom", "create-media", "create-media-extended", "default-encoding", "dicom-conformance", "dicom-echo", "execute-script", "find", "generate-uid", "invalidate-tags", "labels", "log-level", "log-level-dicom", "log-level-generic", "log-level-http", "log-level-jobs", "log-level-lua", "log-level-plugins", "log-level-sqlite", "lookup", "metrics", "metrics-prometheus", "now", "now-local", "reconstruct", "reset", "shutdown", "unknown-sop-class-accepted" ] } } }, "description" : "" } }, "summary" : "List operations", "tags" : [ "Other" ] } }, "/tools/accepted-transfer-syntaxes" : { "get" : { "deprecated" : false, "description" : "Get the list of UIDs of the DICOM transfer syntaxes that are accepted by Orthanc C-STORE SCP. This corresponds to the configuration options `AcceptedTransferSyntaxes` and `XXXTransferSyntaxAccepted`.", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the transfer syntax UIDs" } } }, "description" : "" } }, "summary" : "Get accepted transfer syntaxes", "tags" : [ "System" ] }, "put" : { "deprecated" : false, "description" : "Set the DICOM transfer syntaxes that accepted by Orthanc C-STORE SCP", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "JSON array containing a list of transfer syntax UIDs to be accepted. Wildcards `?` and `*` are accepted." } }, "text/plain" : { "schema" : { "description" : "UID of the transfer syntax to be accepted. Wildcards `?` and `*` are accepted." } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the now-accepted transfer syntax UIDs" } } }, "description" : "" } }, "summary" : "Set accepted transfer syntaxes", "tags" : [ "System" ] } }, "/tools/bulk-anonymize" : { "post" : { "deprecated" : false, "description" : "Start a job that will anonymize all the DICOM patients, studies, series or instances whose identifiers are provided in the `Resources` field.", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "DicomVersion" : { "description" : "Version of the DICOM standard to be used for anonymization. Check out configuration option `DeidentifyLogsDicomVersion` for possible values.", "type" : "string" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "List of DICOM tags whose value must not be destroyed by the anonymization. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "KeepPrivateTags" : { "description" : "Keep the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of additional tags to be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Resources" : { "description" : "List of the Orthanc identifiers of the patients/studies/series/instances of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "The list of all the resources that have been created by this anonymization", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Anonymize a set of resources", "tags" : [ "System" ] } }, "/tools/bulk-content" : { "post" : { "deprecated" : false, "description" : "Get the content all the DICOM patients, studies, series or instances whose identifiers are provided in the `Resources` field, in one single call.", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Full" : { "description" : "If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "type" : "boolean" }, "Level" : { "description" : "This optional argument specifies the level of interest (can be `Patient`, `Study`, `Series` or `Instance`). Orthanc will loop over the items inside `Resources`, and explore upward or downward in the DICOM hierarchy in order to find the level of interest.", "type" : "string" }, "Metadata" : { "description" : "If set to `true` (default value), the metadata associated with the resources will also be retrieved.", "type" : "boolean" }, "Resources" : { "description" : "List of the Orthanc identifiers of the patients/studies/series/instances of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Short" : { "description" : "If set to `true`, report the DICOM tags in hexadecimal format", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Describe a set of resources", "tags" : [ "System" ] } }, "/tools/bulk-delete" : { "post" : { "deprecated" : false, "description" : "Delete all the DICOM patients, studies, series or instances whose identifiers are provided in the `Resources` field.", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Resources" : { "description" : "List of the Orthanc identifiers of the patients/studies/series/instances of interest.", "items" : { "type" : "string" }, "type" : "array" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Delete a set of resources", "tags" : [ "System" ] } }, "/tools/bulk-modify" : { "post" : { "deprecated" : false, "description" : "Start a job that will modify all the DICOM patients, studies, series or instances whose identifiers are provided in the `Resources` field.", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, run the job in asynchronous mode, which means that the REST API call will immediately return, reporting the identifier of a job. Prefer this flavor wherever possible.", "type" : "boolean" }, "Force" : { "description" : "Allow the modification of tags related to DICOM identifiers, at the risk of breaking the DICOM model of the real world", "type" : "boolean" }, "Keep" : { "description" : "Keep the original value of the specified tags, to be chosen among the `StudyInstanceUID`, `SeriesInstanceUID` and `SOPInstanceUID` tags. Avoid this feature as much as possible, as this breaks the DICOM model of the real world.", "items" : { "type" : "string" }, "type" : "array" }, "KeepSource" : { "description" : "If set to `false`, instructs Orthanc to the remove original resources. By default, the original resources are kept in Orthanc.", "type" : "boolean" }, "Level" : { "description" : "Level of the modification (`Patient`, `Study`, `Series` or `Instance`). If absent, the level defaults to `Instance`, but is set to `Patient` if `PatientID` is modified, to `Study` if `StudyInstanceUID` is modified, or to `Series` if `SeriesInstancesUID` is modified. (new in Orthanc 1.9.7)", "type" : "string" }, "Permissive" : { "description" : "If `true`, ignore errors during the individual steps of the job.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Replace`", "type" : "string" }, "Remove" : { "description" : "List of tags that must be removed from the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "items" : { "type" : "string" }, "type" : "array" }, "RemovePrivateTags" : { "description" : "Remove the private tags from the DICOM instances (defaults to `false`)", "type" : "boolean" }, "Replace" : { "description" : "Associative array to change the value of some DICOM tags in the DICOM instances. Starting with Orthanc 1.9.4, paths to subsequences can be provided using the same syntax as the `dcmodify` command-line tool (wildcards are supported as well).", "type" : "object" }, "Resources" : { "description" : "List of the Orthanc identifiers of the patients/studies/series/instances of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "The list of all the resources that have been altered by this modification", "properties" : { "ID" : { "description" : "In asynchronous mode, identifier of the job", "type" : "string" }, "Path" : { "description" : "In asynchronous mode, path to access the job in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Modify a set of resources", "tags" : [ "System" ] } }, "/tools/create-archive" : { "post" : { "deprecated" : false, "description" : "Create a ZIP archive containing the DICOM resources (patients, studies, series, or instances) whose Orthanc identifiers are provided in the body", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "The list of Orthanc identifiers of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create ZIP archive", "tags" : [ "System" ] } }, "/tools/create-dicom" : { "post" : { "deprecated" : false, "description" : "Create one DICOM instance, and store it into Orthanc", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Content" : { "description" : "This field can be used to embed an image (pixel data encoded as PNG or JPEG), a PDF, or a 3D manufactoring model (MTL/OBJ/STL) inside the created DICOM instance. The file to be encapsulated must be provided using its [data URI scheme encoding](https://en.wikipedia.org/wiki/Data_URI_scheme). This field can possibly contain a JSON array, in which case a DICOM series is created containing one DICOM instance for each item in the `Content` field.", "type" : "string" }, "Force" : { "description" : "Avoid the consistency checks for the DICOM tags that enforce the DICOM model of the real-world. You can notably use this flag if you need to manually set the tags `StudyInstanceUID`, `SeriesInstanceUID`, or `SOPInstanceUID`. Be careful with this feature.", "type" : "boolean" }, "InterpretBinaryTags" : { "description" : "If some value in the `Tags` associative array is formatted according to some [data URI scheme encoding](https://en.wikipedia.org/wiki/Data_URI_scheme), whether this value is decoded to a binary value or kept as such (`true` by default)", "type" : "boolean" }, "Parent" : { "description" : "If present, the newly created instance will be attached to the parent DICOM resource whose Orthanc identifier is contained in this field. The DICOM tags of the parent modules in the DICOM hierarchy will be automatically copied to the newly created instance.", "type" : "string" }, "PrivateCreator" : { "description" : "The private creator to be used for private tags in `Tags`", "type" : "string" }, "Tags" : { "description" : "Associative array containing the tags of the new instance to be created", "type" : "object" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "", "properties" : { "ID" : { "description" : "Orthanc identifier of the newly created instance", "type" : "string" }, "Path" : { "description" : "Path to access the instance in the REST API", "type" : "string" } } } } }, "description" : "" } }, "summary" : "Create one DICOM instance", "tags" : [ "System" ] } }, "/tools/create-media" : { "post" : { "deprecated" : false, "description" : "Create a DICOMDIR media containing the DICOM resources (patients, studies, series, or instances) whose Orthanc identifiers are provided in the body", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Extended" : { "description" : "If `true`, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*. Default value is `false`.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "The list of Orthanc identifiers of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "System" ] } }, "/tools/create-media-extended" : { "post" : { "deprecated" : false, "description" : "Create a DICOMDIR media containing the DICOM resources (patients, studies, series, or instances) whose Orthanc identifiers are provided in the body", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "Asynchronous" : { "description" : "If `true`, create the archive in asynchronous mode, which means that a job is submitted to create the archive in background.", "type" : "boolean" }, "Extended" : { "description" : "If `true`, will include additional tags such as `SeriesDescription`, leading to a so-called *extended DICOMDIR*. Default value is `true`.", "type" : "boolean" }, "Priority" : { "description" : "In asynchronous mode, the priority of the job. The lower the value, the higher the priority.", "type" : "number" }, "Resources" : { "description" : "The list of Orthanc identifiers of interest.", "items" : { "type" : "string" }, "type" : "array" }, "Synchronous" : { "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.", "type" : "boolean" }, "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://book.orthanc-server.com/faq/transcoding.html", "type" : "string" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "In asynchronous mode, information about the job that has been submitted to generate the archive: https://book.orthanc-server.com/users/advanced-rest.html#jobs", "properties" : { "ID" : { "description" : "Identifier of the job", "type" : "string" }, "Path" : { "description" : "Path to access the job in the REST API", "type" : "string" } } } }, "application/zip" : { "examples" : {}, "schema" : { "description" : "In synchronous mode, the ZIP file containing the archive" } } }, "description" : "" } }, "summary" : "Create DICOMDIR media", "tags" : [ "System" ] } }, "/tools/default-encoding" : { "get" : { "deprecated" : false, "description" : "Get the default encoding that is used by Orthanc if parsing a DICOM instance without the `SpecificCharacterEncoding` tag, or during C-FIND. This corresponds to the configuration option `DefaultEncoding`.", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The name of the encoding" } } }, "description" : "" } }, "summary" : "Get default encoding", "tags" : [ "System" ] }, "put" : { "deprecated" : false, "description" : "Change the default encoding that is used by Orthanc if parsing a DICOM instance without the `SpecificCharacterEncoding` tag, or during C-FIND. This corresponds to the configuration option `DefaultEncoding`.", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "The name of the encoding. Check out configuration option `DefaultEncoding` for the allowed values." } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set default encoding", "tags" : [ "System" ] } }, "/tools/dicom-conformance" : { "get" : { "deprecated" : false, "description" : "Get the DICOM conformance statement of Orthanc", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The DICOM conformance statement" } } }, "description" : "" } }, "summary" : "Get DICOM conformance", "tags" : [ "System" ] } }, "/tools/dicom-echo" : { "post" : { "deprecated" : false, "description" : "Trigger C-ECHO SCU command against a DICOM modality described in the POST body, without having to register the modality in some `/modalities/{id}` (new in Orthanc 1.8.1)", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "AET" : { "description" : "AET of the remote DICOM modality", "type" : "string" }, "CheckFind" : { "description" : "Issue a dummy C-FIND command after the C-GET SCU, in order to check whether the remote modality knows about Orthanc. This field defaults to the value of the `DicomEchoChecksFind` configuration option. New in Orthanc 1.8.1.", "type" : "boolean" }, "Host" : { "description" : "Host address of the remote DICOM modality (typically, an IP address)", "type" : "string" }, "Manufacturer" : { "description" : "Manufacturer of the remote DICOM modality (check configuration option `DicomModalities` for possible values", "type" : "string" }, "Port" : { "description" : "TCP port of the remote DICOM modality", "type" : "number" }, "Timeout" : { "description" : "Timeout for the C-ECHO command, in seconds", "type" : "number" }, "UseDicomTls" : { "description" : "Whether to use DICOM TLS in the SCU connection initiated by Orthanc (new in Orthanc 1.9.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Trigger C-ECHO SCU", "tags" : [ "System" ] } }, "/tools/execute-script" : { "post" : { "deprecated" : false, "description" : "Execute the provided Lua script by the Orthanc server. This is very insecure for Orthanc servers that are remotely accessible. Since Orthanc 1.5.8, this route is disabled by default and can be enabled thanks to the `ExecuteLuaEnabled` configuration.", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "The Lua script to be executed" } } } }, "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Output of the Lua script" } } }, "description" : "" } }, "summary" : "Execute Lua script", "tags" : [ "System" ] } }, "/tools/find" : { "post" : { "deprecated" : false, "description" : "This URI can be used to perform a search on the content of the local Orthanc server, in a way that is similar to querying remote DICOM modalities using C-FIND SCU: https://book.orthanc-server.com/users/rest.html#performing-finds-within-orthanc", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "CaseSensitive" : { "description" : "Enable case-sensitive search for PN value representations (defaults to configuration option `CaseSensitivePN`)", "type" : "boolean" }, "Expand" : { "description" : "Also retrieve the content of the matching resources, not only their Orthanc identifiers", "type" : "boolean" }, "Full" : { "description" : "If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)", "type" : "boolean" }, "Labels" : { "description" : "List of strings specifying which labels to look for in the resources (new in Orthanc 1.12.0)", "items" : { "type" : "string" }, "type" : "array" }, "LabelsConstraint" : { "description" : "Constraint on the labels, can be `All`, `Any`, or `None` (defaults to `All`, new in Orthanc 1.12.0)", "type" : "string" }, "Level" : { "description" : "Level of the query (`Patient`, `Study`, `Series` or `Instance`)", "type" : "string" }, "Limit" : { "description" : "Limit the number of reported resources", "type" : "number" }, "Query" : { "description" : "Associative array containing the filter on the values of the DICOM tags", "type" : "object" }, "RequestedTags" : { "description" : "A list of DICOM tags to include in the response (applicable only if \"Expand\" is set to true). The tags requested tags are returned in the 'RequestedTags' field in the response. Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files. If not specified, Orthanc will return all Main Dicom Tags to keep backward compatibility with Orthanc prior to 1.11.0.", "items" : { "type" : "string" }, "type" : "array" }, "Short" : { "description" : "If set to `true`, report the DICOM tags in hexadecimal format", "type" : "boolean" }, "Since" : { "description" : "Show only the resources since the provided index (in conjunction with `Limit`)", "type" : "number" } } } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing either the Orthanc identifiers, or detailed information about the reported resources (if `Expand` argument is `true`)" } } }, "description" : "" } }, "summary" : "Look for local resources", "tags" : [ "System" ] } }, "/tools/generate-uid" : { "get" : { "deprecated" : false, "description" : "Generate a random DICOM identifier", "parameters" : [ { "description" : "Type of DICOM resource among: `patient`, `study`, `series` or `instance`", "in" : "query", "name" : "level", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "The generated identifier" } } }, "description" : "" } }, "summary" : "Generate an identifier", "tags" : [ "System" ] } }, "/tools/invalidate-tags" : { "post" : { "deprecated" : false, "description" : "Remove all the attachments of the type \"DICOM-as-JSON\" that are associated will all the DICOM instances stored in Orthanc. These summaries will be automatically re-created on the next access. This is notably useful after changes to the `Dictionary` configuration option. https://book.orthanc-server.com/faq/orthanc-storage.html#storage-area", "parameters" : [], "responses" : { "200" : { "description" : "" } }, "summary" : "Invalidate DICOM-as-JSON summaries", "tags" : [ "System" ] } }, "/tools/labels" : { "get" : { "deprecated" : false, "description" : "List all the labels that are associated with any resource of the Orthanc database", "parameters" : [], "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing the labels" } } }, "description" : "" } }, "summary" : "Get all the used labels", "tags" : [ "System" ] } }, "/tools/log-level" : { "get" : { "deprecated" : false, "description" : "Get the main log level of Orthanc", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get main log level", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the main log level of Orthanc", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set main log level", "tags" : [ "Logs" ] } }, "/tools/log-level-dicom" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `dicom`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `dicom`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `dicom`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `dicom`", "tags" : [ "Logs" ] } }, "/tools/log-level-generic" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `generic`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `generic`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `generic`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `generic`", "tags" : [ "Logs" ] } }, "/tools/log-level-http" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `http`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `http`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `http`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `http`", "tags" : [ "Logs" ] } }, "/tools/log-level-jobs" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `jobs`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `jobs`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `jobs`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `jobs`", "tags" : [ "Logs" ] } }, "/tools/log-level-lua" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `lua`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `lua`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `lua`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `lua`", "tags" : [ "Logs" ] } }, "/tools/log-level-plugins" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `plugins`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `plugins`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `plugins`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `plugins`", "tags" : [ "Logs" ] } }, "/tools/log-level-sqlite" : { "get" : { "deprecated" : false, "description" : "Get the log level of the log category `sqlite`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } }, "description" : "" } }, "summary" : "Get log level for `sqlite`", "tags" : [ "Logs" ] }, "put" : { "deprecated" : false, "description" : "Set the log level of the log category `sqlite`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "Possible values: `default`, `verbose` or `trace`" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set log level for `sqlite`", "tags" : [ "Logs" ] } }, "/tools/lookup" : { "post" : { "deprecated" : false, "description" : "This URI can be used to convert one DICOM identifier to a list of matching Orthanc resources", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "The DICOM identifier of interest (i.e. the value of `PatientID`, `StudyInstanceUID`, `SeriesInstanceUID`, or `SOPInstanceUID`)" } } } }, "responses" : { "200" : { "content" : { "application/json" : { "examples" : {}, "schema" : { "description" : "JSON array containing a list of matching Orthanc resources, each item in the list corresponding to a JSON object with the fields `Type`, `ID` and `Path` identifying one DICOM resource that is stored by Orthanc" } } }, "description" : "" } }, "summary" : "Look for DICOM identifiers", "tags" : [ "System" ] } }, "/tools/metrics" : { "get" : { "deprecated" : false, "description" : "Returns a Boolean specifying whether Prometheus metrics are collected and exposed at `/tools/metrics-prometheus`", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`1` if metrics are collected, `0` if metrics are disabled" } } }, "description" : "" } }, "summary" : "Are metrics collected?", "tags" : [ "System" ] }, "put" : { "deprecated" : false, "description" : "Enable or disable the collection and publication of metrics at `/tools/metrics-prometheus`", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "`1` if metrics are collected, `0` if metrics are disabled" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Enable collection of metrics", "tags" : [ "System" ] } }, "/tools/metrics-prometheus" : { "get" : { "deprecated" : false, "description" : "Get usage metrics of Orthanc in the Prometheus file format (OpenMetrics): https://book.orthanc-server.com/users/advanced-rest.html#instrumentation-with-prometheus", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "example" : "orthanc_count_instances 2552 1688489399993\northanc_count_patients 8 1688489399993\northanc_count_series 26 1688489399993\northanc_count_studies 8 1688489399993\northanc_dicom_cache_count 5 1688475481515\northanc_dicom_cache_size 0.636888504 1688475481515\northanc_disk_size_mb 1018.65021 1688489399993\northanc_jobs_completed 10 1688489399993\northanc_jobs_failed 1 1688489399993\northanc_jobs_pending 0 1688489399993\northanc_jobs_running 0 1688489399993\northanc_jobs_success 9 1688489399993\northanc_last_change 5395 1688489399993\northanc_rest_api_active_requests 1 1688489399991\northanc_rest_api_duration_ms 582 1688489398151\northanc_storage_read_duration_ms 17 1688489397639\northanc_uncompressed_size_mb 1018.65021 1688489399993\northanc_up_time_s 172856 1688489399993\n" } }, "description" : "" } }, "summary" : "Get usage metrics", "tags" : [ "System" ] } }, "/tools/now" : { "get" : { "deprecated" : false, "description" : "Get UTC time", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "example" : "20230704T165000", "schema" : { "description" : "The UTC time" } } }, "description" : "" } }, "summary" : "Get UTC time", "tags" : [ "System" ] } }, "/tools/now-local" : { "get" : { "deprecated" : false, "description" : "Get local time", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "example" : "20230704T165000", "schema" : { "description" : "The local time" } } }, "description" : "" } }, "summary" : "Get local time", "tags" : [ "System" ] } }, "/tools/reconstruct" : { "post" : { "deprecated" : false, "description" : "Reconstruct the index of all the tags of all the DICOM instances that are stored in Orthanc. This is notably useful after the deletion of resources whose children resources have inconsistent values with their sibling resources. Beware that this is a highly time-consuming operation, as all the DICOM instances will be parsed again, and as all the Orthanc index will be regenerated. If you have a large database to process, it is advised to use the Housekeeper plugin to perform this action resource by resource", "parameters" : [], "requestBody" : { "content" : { "application/json" : { "schema" : { "description" : "", "properties" : { "ReconstructFiles" : { "description" : "Also reconstruct the files of the resources (e.g: apply IngestTranscoding, StorageCompression). 'false' by default. (New in Orthanc 1.11.0)", "type" : "boolean" } } } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Reconstruct all the index", "tags" : [ "System" ] } }, "/tools/reset" : { "post" : { "deprecated" : false, "description" : "Restart Orthanc", "parameters" : [], "responses" : { "200" : { "description" : "" } }, "summary" : "Restart Orthanc", "tags" : [ "System" ] } }, "/tools/shutdown" : { "post" : { "deprecated" : false, "description" : "Shutdown Orthanc", "parameters" : [], "responses" : { "200" : { "description" : "" } }, "summary" : "Shutdown Orthanc", "tags" : [ "System" ] } }, "/tools/unknown-sop-class-accepted" : { "get" : { "deprecated" : false, "description" : "Shall Orthanc C-STORE SCP accept DICOM instances with an unknown SOP class UID?", "parameters" : [], "responses" : { "200" : { "content" : { "text/plain" : { "examples" : {}, "schema" : { "description" : "`1` if accepted, `0` if not accepted" } } }, "description" : "" } }, "summary" : "Is unknown SOP class accepted?", "tags" : [ "System" ] }, "put" : { "deprecated" : false, "description" : "Set whether Orthanc C-STORE SCP should accept DICOM instances with an unknown SOP class UID", "parameters" : [], "requestBody" : { "content" : { "text/plain" : { "schema" : { "description" : "`1` if accepted, `0` if not accepted" } } } }, "responses" : { "200" : { "description" : "" } }, "summary" : "Set unknown SOP class accepted", "tags" : [ "System" ] } } }, "servers" : [ { "url" : "https://demo.orthanc-server.com/" } ] }