view OpenAPI/orthanc-openapi.yaml @ 266:a9e34dc2635b

replacing ReDoc 2.0.0-alpha.17 by 2.0.0-rc.14
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 16 Aug 2019 15:28:16 +0200
parents 4e1a034ace3f
children 0a97b61ae021
line wrap: on
line source

openapi: 3.0.0
info:
  title: Orthanc
  version: 1.0.0
  description: >-
    One of the major strengths of Orthanc lies in its built-in RESTful API, that can be used to drive Orthanc from external applications, independently of the programming language that is used to develop these applications. The REST API of Orthanc gives a full programmatic access to all the core features of Orthanc. Importantly, Orthanc Explorer (the embedded administrative interface of Orthanc) entirely resorts to this REST API for all its features. This implies that anything that can be done through Orthanc Explorer, can also be done through REST queries.
servers:
  - url: 'https://demo.orthanc-server.com'
paths:
  /instances:
    post:
      tags: [Instances]
      description: The upload of DICOM files is possible by querying the REST API using the following syntax.
      requestBody:
        description: DICOM file
        content:
          application/dicom: {}
      responses:
        200:
          description: New instance successfully posted
          content:
            application/json:
              schema:
                properties:
                  ID:
                    description: New Orthanc instance ID
                    type: string
                  Path:
                    description: URL path for the instance
                    type: string
                  Status:
                    description: Status
                    type: string
                    enum:
                      - Success
    get:
      tags: [Instances]
      description: Get all DICOM instances ID's in Orthanc
      responses:
        200:
          description: Array of all instances ID's
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: [
   "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
   "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8"
]
  /instances/{Id}:
    get:
      tags: [Instances]
      description: Get an instance from Orthanc
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Orthanc instance
          content:
            application/json:
              schema:
                properties:
                  FileSize:
                    type: number
                  FileUuid: 
                    type: string
                  ID:
                    type: string
                  IndexInSeries:
                    type: number
                  MainDicomTags:
                    type: object
                    properties:
                      AcquisitionNumber:
                        type: string
                      ImageIndex:
                        type: string
                      ImagePositionPatient:
                        type: string
                      InstanceNumber:
                        type: string
                      SOPInstanceUID:
                        type: string
                  ParentSeries:
                        type: string
                  Type:
                    enum:
                      - Instance
                example: {
   "FileSize" : 35440,
   "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec",
   "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
   "IndexInSeries" : 59,
   "MainDicomTags" : {
      "AcquisitionNumber" : "2",
      "ImageIndex" : "59",
      "ImagePositionPatient" : "-134.74816\\-272.14441\\-712.764",
      "InstanceNumber" : "59",
      "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748"
   },
   "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb",
   "Type" : "Instance"
}
    delete:
      tags : [Instances]
      description: Delete an instance
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /instances/{Id}/simplified-tags:
    get:
      tags: [Instances]
      description: Get the human readable tags for the DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: DICOM tags and values
          content:
            application/json:
              schema:
                type: object
              example: {
  "ACR_NEMA_2C_VariablePixelDataGroupLength" : "57130",
  "AccessionNumber" : null,
  "AcquisitionDate" : "20120716",
  "AcquisitionDateTime" : "20120716171219",
  "AcquisitionTime" : "171219",
  "ActualFrameDuration" : "3597793",
  "AttenuationCorrectionMethod" : "CTAC-SG",
  "PatientID" : "000000185",
  "PatientName" : "Anonymous^Unknown",
  "PatientOrientationCodeSequence" : [
     {
        "CodeMeaning" : "recumbent",
        "CodeValue" : "F-10450",
        "CodingSchemeDesignator" : "99SDM",
        "PatientOrientationModifierCodeSequence" : [
           {
              "CodeMeaning" : "supine",
              "CodeValue" : "F-10340",
              "CodingSchemeDesignator" : "99SDM"
           }
        ]
     }
  ],
  "StudyDescription" : "TestSUVce-TF",
  "StudyID" : "23848",
  "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40",
  "StudyTime" : "171117",
  "TypeOfDetectorMotion" : "NONE",
  "Units" : "BQML",
  "Unknown" : null,
  "WindowCenter" : "1.496995e+04",
  "WindowWidth" : "2.993990e+04"
}
  /instances/{Id}/tags:
    get:
      tags: [Instances]
      description: Get the detailed tags for the DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: DICOM tags and values
          content:
            application/json:
              schema:
                type: object
              example: 
                {
   "0008,0005" : {
      "Name" : "SpecificCharacterSet",
      "Type" : "String",
      "Value" : "ISO_IR 100"
   },
   "0008,0008" : {
      "Name" : "ImageType",
      "Type" : "String",
      "Value" : "ORIGINAL\\PRIMARY\\HEADER_CORRECTED"
   },
   "0008,0016" : {
      "Name" : "SOPClassUID",
      "Type" : "String",
      "Value" : "1.2.840.10008.5.1.4.1.1.128"
   },
   "0008,0018" : {
      "Name" : "SOPInstanceUID",
      "Type" : "String",
      "Value" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748"
   },
   "0008,0020" : {
      "Name" : "StudyDate",
      "Type" : "String",
      "Value" : "20040304"
   },
   "0008,0021" : {
      "Name" : "SeriesDate",
      "Type" : "String",
      "Value" : "20040304"
   },
   "0008,0022" : {
      "Name" : "AcquisitionDate",
      "Type" : "String",
      "Value" : "20040304"
   }
}
  /instances/{Id}/content/{Tag}:
    get:
      tags: [Instances]
      description: Get the value for a single tag of a DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
        - name: Tag
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Returns the DICOM tag value or value sub-structure.
          content:
            application/json:
              schema:
                type: object
            text/plain:
              example: Anonymous^Unknown
  /instances/{Id}/file:
    get:
      tags: [Instances]
      description: Download the DICOM instance file in DCM format.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: DICOM file contents
          content:
            application/dicom: {}
  /instances/{Id}/preview:
    get:
      tags: [Instances]
      description: Download a preview image of the DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
        - name: Accept
          description: Default is image/png
          required: false
          in: header
          schema:
            type: string
            enum:
              - image/png
              - image/jpeg
      responses:
        200:
          description: DICOM preview
          content:
            image/png: {}
            image/jpg: {}
  /instances/{Id}/{PixelFormat}:
    get:
      tags: [Instances]
      description: Download a preview image of the DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
        - name: PixelFormat
          required: true
          in: path
          schema:
            type: string
            enum:
              - image-uint8
              - image-uint16
              - image-int16
        - name: Accept
          required: true
          in: header
          schema:
            type: string
            enum:
              - image/png
              - image/jpeg
              - image/x-portable-arbitrarymap
      responses:
        200:
          description: DICOM preview
          content:
            image/png: {}
            image/jpg: {}
            image/x-portable-arbitrarymap: {}
  /instances/{Id}/pdf:
    get:
      tags: [Instances]
      description: Download the embedded PDF of the DICOM instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string    
      responses:
        200:
          description: The raw PDF bytes are returned.
          content:
            application/pdf: {}
        404:
          description: The instance does not contain an encapsulated PDF or the instance is not found.
  /series:
    get:
      tags: [Series]
      description: Get all DICOM series ID's in Orthanc
      responses:
        200:
          description: Array of all series ID's
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: [
   "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
   "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8"
]
  /series/{Id}:
    get:
      tags: [Series]
      description: Get a series from Orthanc
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Orthanc series
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                  ExpectedNumberOfInstances:
                    type: number
                  Instances:
                    type: array
                    items:
                      type: string
                  MainDicomTags:
                    type: object
                    properties:
                      Manufacturer:
                        type: string
                      Modality:
                        type: string
                      NumberOfSlices:
                        type: string
                      ProtocolName:
                        type: string
                      SeriesDate:
                        type: string
                      SeriesDescription:
                        type: string
                      SeriesInstanceUID:
                        type: string
                      SeriesNumber:
                        type: string
                      SeriesTime:
                        type: string
                      StationName:
                        type: string
                  ParentStudy:
                        type: string
                  Type:
                    type: string
                    enum:
                      - Series
                  Status:
                    type: string
                    enum:
                      - Complete
                example: {
  "ExpectedNumberOfInstances" : 45,
  "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35",
  "Instances" : [
     "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd",
     "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8",
     "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea",
     "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4"
  ],
  "MainDicomTags" : {
     "Manufacturer" : "Philips Medical Systems",
     "Modality" : "PT",
     "NumberOfSlices" : "45",
     "ProtocolName" : "CHU/Body_PET/CT___50",
     "SeriesDate" : "20120716",
     "SeriesDescription" : "[WB_CTAC] Body",
     "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737",
     "SeriesNumber" : "587370",
     "SeriesTime" : "171121",
     "StationName" : "r054-svr"
  },
  "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15",
  "Status" : "Complete",
  "Type" : "Series"
}
    delete:
      tags : [Series]
      description: Delete a series
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /studies:
    get:
      tags: [Studies]
      description: Get all DICOM studies ID's in Orthanc
      responses:
        200:
          description: Array of all study ID's
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: [
   "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
   "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8"
]
  /studies/{Id}:
    get:
      tags: [Studies]
      description: Get a study from Orthanc
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Orthanc study
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                  Series:
                    type: array
                    items:
                      type: string
                  MainDicomTags:
                    type: object
                    properties:
                      AccesionNumber:
                        type: string
                      StudyDate:
                        type: string
                      StudyDescription:
                        type: string
                      StudyID:
                        type: string
                      StudyInstanceUID:
                        type: string
                      StudyTime:
                        type: string
                  ParentPatient:
                        type: string
                  Type:
                    type: string
                    enum:
                      - Study
                example: {
  "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15",
  "MainDicomTags" : {
     "AccessionNumber" : "(null)",
     "StudyDate" : "20120716",
     "StudyDescription" : "TestSUVce-TF",
     "StudyID" : "23848",
     "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40",
     "StudyTime" : "170728"
  },
  "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea",
  "Series" : [
     "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0",
     "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35",
     "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598"
  ],
  "Type" : "Study"
}
    delete:
      tags : [Studies]
      description: Delete a study
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /patients:
    get:
      tags: [Patients]
      description: Get all DICOM patient ID's in Orthanc
      responses:
        200:
          description: Array of all patient ID's
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: [
   "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
   "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8"
]
  /patients/{Id}:
    get:
      tags: [Patients]
      description: Get a patient from Orthanc
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Orthanc patient
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                  Studies:
                    type: array
                    items:
                      type: string
                  MainDicomTags:
                    type: object
                    properties:
                      OtherPatientIDs:
                        type: string
                      PatientBirthDate:
                        type: string
                      PatientName:
                        type: string
                      PatientSex:
                        type: string
                  ParentPatient:
                        type: string
                  Type:
                    type: string
                    enum:
                      - Patient
                example: {
  "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea",
  "MainDicomTags" : {
     "OtherPatientIDs" : "(null)",
     "PatientBirthDate" : "0",
     "PatientID" : "000000185",
     "PatientName" : "Anonymous^Unknown",
     "PatientSex" : "O"
  },
  "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ],
  "Type" : "Patient"
}
    delete:
      tags : [Patients]
      description: Delete a patient
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success

  /peers:
    get:
      tags: [Orthanc Peers]
      description: Get a list of Orthanc peers.
      parameters:
        - name: expand
          in: query
          required: false
          schema:
            type: boolean
      responses:
        200:
          description: List of Orthanc peers
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
  /peers/{Peer}:
    put:
      tags: [Orthanc Peers]
      description: Add a new Orthanc peer. Note that this will only be stored in memory unless the 'OrthancPeersInDatabase' configuration option is set.
      parameters:
        - name: Peer
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Url:
                  type: string
      responses:
        200:
          description: Peer created
  /peers/{Peer}/store:
    post:
      tags: [Orthanc Peers]
      description: Send a resource to an Orthanc peer. Resource ID's are provided either as JSON array or a raw string.
      parameters:
        - name: Peer
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                description: Resource ID (patient, study, series or instance) to send to the peer.
            example: ["d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88","d5604121-7d613ce6-c315a5-a77b3cf3-9c253b23","cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e"]
          text/plain:
            example: d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88
      responses:
        200:
          description: Resources sent

  /modalities/{Modality}/store:
    post:
      tags: [Orthanc Peers]
      description: Once you have identified the Orthanc identifier of the DICOM resource that would like to send you would use the following command to send it.
      parameters:
        - name: Modality
          in: path
          required: true
          description: The Modality to invoke C-STORE from within the Orthanc configuration file
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                description: Resource ID (patient, study, series or instance) to send to the remote modality.
            example: ["d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88","d5604121-7d613ce6-c315a5-a77b3cf3-9c253b23","cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e"]
          text/plain:
            example: d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88
      responses:
        200:
          description: Resources sent
  /modalities/{Modality}/query:
    post:
      tags: [Remote Modalities]
      description: To initiate a query you perform a POST command against the Modality with the identifiers you are looking for. This search is case insensitive unless configured otherwise within the Orthanc configuration file. Note that queries are cleaned up after a period of inactivity, which can sometimes be very short. You will need to access the query results quickly.
      parameters:
        - name: Modality
          in: path
          required: true
          description: The Modality to be queried from within the Orthanc configuration file
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Level:
                  type: string
                  enum:
                    - Patient
                    - Study
                    - Series
                    - Instance
                Query:
                  type: object
                  properties:
                    PatientID:
                      type: string
                    StudyDescription:
                      type: string
                      description: Match the study description. Note that wildcard "*" can be used to match any text (eg. "*Chest*").
                    PatientName:
                      type: string
                    StudyDate:
                      type: string
                      description: This is the study date in the format "20160504". Note that ranges can be used using a hyphen (eg. "20160504-" and "20160504-20170504").
                    StudyTime:
                      type: string
                  required: [Level, Query]
                  example: {"Level":"Study","Query": {"PatientID":"","StudyDescription":"*Chest*","PatientName":""}}
      responses:
        200:
          description: Query successful
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                  Path:
                    type: string
              example: {
   "ID": "5af318ac-78fb-47ff-b0b0-0df18b0588e0",
   "Path": "/queries/5af318ac-78fb-47ff-b0b0-0df18b0588e0"
}
  /queries/{QueryID}/level:
    get:
      tags: [Remote Modalities]
      description: Review the query level, such as Patient, Study, Series or Instance.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
      responses:
        200:
          description: Return the level of the query, whether Patient, Study, Series or Instance.
          content:
            text/plain:
              example: Series
  /queries/{QueryID}/modality:
    get:
      tags: [Remote Modalities]
      description: Review the query modality name that the query was originally performed against.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
      responses:
        200:
          description: Return the name of the modality that the query was run against.
          content:
            text/plain:
              example: SomeModalityName
  /queries/{QueryID}/query:
    get:
      tags: [Remote Modalities]
      description: Review the query that was posted.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
      responses:
        200:
          description: Return the query identifiers that were used originally when it was posted.
  /queries/{QueryID}/answers:
    get:
      tags: [Remote Modalities]
      description: Review the query answers.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
      responses:
        200:
          description: Return the query answers.
  /queries/{QueryID}/answers/{Idx}/content:
    get:
      tags: [Remote Modalities]
      description: Review a specific query answer. If there are content items missing, you may add them by adding that identifier to the original query. For example if we wanted Modalities listed in this JSON answer in the initial query we would add to the POST body "ModalitiesInStudy":""
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
        - name: Idx
          description: This is the index of a specific answer in the list of answers of the query.
          in: path
          required: true
          schema:
            type: number
      responses:
        200:
          description: Return a single query answer
          content:
            application/json: {}
  /queries/{QueryID}/retrieve:
    post:
      tags: [Remote Modalities]
      description: You can perform a C-Move to retrieve all studies within the original query using a post command and identifying the Modality (named in this example Orthanc), to be one to in the POST contents. The C-Move can be done asynchronously using an Orthanc job using a JSON parameter in the request body.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The request body is the name of the modality to perform the C-Move or a JSON structure with additional information.
        content:
          text/plain:
            example: Orthanc
          application/json:
            schema:
              properties:
                TargetAet:
                  type: string
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"TargetAet":"Orthanc","Synchronous":false}
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the job if the retrieve is asynchronous (ie. Synchronous is set to true)
                  Path:
                    type: string
                    description: The URL path of the job if the retrieve is asynchronous (ie. Synchronous is set to false)
              example: {
    "ID" : "11541b16-e368-41cf-a8e9-3acf4061d238",
    "Path" : "/jobs/11541b16-e368-41cf-a8e9-3acf4061d238"
}
  /queries/{QueryID}/answers/{Idx}/retrieve:
    post:
      tags: [Remote Modalities]
      description: You can perform a C-Move to retrieve a specific study within the original query using a post command and identifying the Modality (named in this example Orthanc), to be one to in the POST contents.
      parameters:
        - name: QueryID
          description: This is the query ID that comes from posting a query to the modality.
          in: path
          required: true
          schema:
            type: string
        - name: Idx
          description: This is the index of a specific answer in the list of answers of the query.
          in: path
          required: true
          schema:
            type: number
      requestBody:
        description: The request body is the name of the modality to perform the C-Move.
        content:
          text/plain:
            example: Orthanc
      responses:
        200:
          description: Success
  /tools/find:
    post:
      tags: [Find]
      description: Performing a find within Orthanc is very similar to using Queries against DICOM modalities and the additional options listed above work with find also. When performing a find, you will receive the Orthanc ID’s of all the matched items within your find. For example if you perform a study level find and 5 Studies match you will receive 5 study level Orthanc ID’s in JSON format as a response.
      requestBody:
        description: The request body gives the parameters for the find much like when querying a remote modality.
        content:
          application/json:
            schema:
              properties:
                Level:
                  type: string
                  enum:
                    - Patient
                    - Study
                    - Series
                    - Instance
                Limit:
                  type: number
                Query:
                  properties:
                    Modality:
                      type: string
                    StudyDate:
                      type: string
                    PatientID:
                      type: string
            example: {"Level":"Instance","Limit": 2, "Query":{"Modality":"CR","StudyDate":"20180323-","PatientID":"*"}}
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example: [ "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35" ]
  /changes:
    get:
      tags: [Tracking Changes]
      parameters:
        - name: limit
          description: Limit the number of changes to a maximum of the provided number.
          in: query
          required: false
          schema:
            type: number
        - name: since
          description: Show only changes that have happened after the change with the provided sequence number.
          in: query
          required: false
          schema:
            type: number
      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.
      responses:
        200:
          description: The list of recent changes
          content:
            application/json:
              schema:
                properties:
                  Changes:
                    type: array
                    items:
                      properties:
                        ChangeType:
                          type: string
                          enum:
                            - NewPatient
                            - NewStudy
                            - NewSeries
                            - NewInstance
                            - StablePatient
                            - StableStudy
                            - StableSeries
                            - StableInstance
                        Date:
                          type: string
                        ID:
                          type: string
                        Path:
                          type: string
                        ResourceType:
                          type: string
                          enum:
                            - Patient
                            - Study
                            - Series
                            - Instance
                        Seq:
                          type: number
                  Done:
                    type: boolean
                    description: The flag Done is set to true if no further event has occurred after this lastly returned event. If Done is set to false, further events are available and can be retrieved. This is done by setting the since option that specifies from which sequence number the changes must be returned.
                  Last:
                    type: number
                    description: The flag Last records the sequence number of the lastly returned event.
              example: {
  "Changes" : [
     {
        "ChangeType" : "NewInstance",
        "Date" : "20130507T143902",
        "ID" : "8e289db9-0e1437e1-3ecf395f-d8aae463-f4bb49fe",
        "Path" : "/instances/8e289db9-0e1437e1-3ecf395f-d8aae463-f4bb49fe",
        "ResourceType" : "Instance",
        "Seq" : 921
     },
     {
        "ChangeType" : "NewSeries",
        "Date" : "20130507T143902",
        "ID" : "cceb768f-e0f8df71-511b0277-07e55743-9ef8890d",
        "Path" : "/series/cceb768f-e0f8df71-511b0277-07e55743-9ef8890d",
        "ResourceType" : "Series",
        "Seq" : 922
     },
     {
        "ChangeType" : "NewStudy",
        "Date" : "20130507T143902",
        "ID" : "c4ec7f68-9b162055-2c8c5888-5bf5752f-155ab19f",
        "Path" : "/studies/c4ec7f68-9b162055-2c8c5888-5bf5752f-155ab19f",
        "ResourceType" : "Study",
        "Seq" : 923
     },
     {
        "ChangeType" : "NewPatient",
        "Date" : "20130507T143902",
        "ID" : "dc65762c-f476e8b9-898834f4-2f8a5014-2599bc94",
        "Path" : "/patients/dc65762c-f476e8b9-898834f4-2f8a5014-2599bc94",
        "ResourceType" : "Patient",
        "Seq" : 924
     }
  ],
  "Done" : true,
  "Last" : 924
}
    delete:
      tags : [Tracking Changes]
      description: Clear the content of the changes log
      responses:
       200:
         description: Success
         
  /exports:
    get:
      tags: [Exported Resources]
      description: For medical traceability, Orthanc can be configured to store a log of all the resources that have been exported to remote modalities.
      responses:
        200: {description: Success}
        
    delete:
      tags: [Exported Resources]
      description: 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.
      responses:
        200: {description: Success}
        
  /instances/{Id}/anonymize:
    post:
      tags: [Anonymization]
      description: Anonymize the instance by erasing all the tags that are specified in Table E.1-1 from PS 3.15 of the DICOM standard 2008 or 2017c (default). The response will contain the anonymized DICOM result. New UUIDs are automatically generated for the instance.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                DicomVersion:
                  type: string
                  description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used.
                  enum:
                    - 2017c
                    - 2008
                Replace:
                  type: object
                  description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed.
                Keep:
                  type: array
                  items:
                    type: string
                  description: List of DICOM tags that should be kept through the anonymization process.
                KeepPrivateTags:
                  type: boolean
                  description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information.
            example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"}        
      responses:
        200:
          description: The response contains a DICOM file that has been anonymized.
          content:
            application/dicom: {}
            
  /patients/{Id}/anonymize:
    post:
      tags: [Anonymization]
      description: Anonymize the patient
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                DicomVersion:
                  type: string
                  description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used.
                  enum:
                    - 2017c
                    - 2008
                Replace:
                  type: object
                  description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed.
                Keep:
                  type: array
                  items:
                    type: string
                  description: List of DICOM tags that should be kept through the anonymization process.
                KeepPrivateTags:
                  type: boolean
                  description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information.
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"}        
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new anonymized patient.
                  Path:
                    type: string
                    description: The URL of the new anonymized patient.
                  PatientID:
                    type: string
                  Type:
                    type: string
                    enum:
                      - Patient
              example: {
  "ID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "Path" : "/patients/f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "PatientID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "Type" : "Patient"
}

  /studies/{Id}/anonymize:
    post:
      tags: [Anonymization]
      description: Anonymize the study
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                DicomVersion:
                  type: string
                  description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used.
                  enum:
                    - 2017c
                    - 2008
                Replace:
                  type: object
                  description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed.
                Keep:
                  type: array
                  items:
                    type: string
                  description: List of DICOM tags that should be kept through the anonymization process.
                KeepPrivateTags:
                  type: boolean
                  description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information.
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"}        
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new anonymized study.
                  Path:
                    type: string
                    description: The URL of the new anonymized study.
              example: {
  "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce",
  "Path" : "/studies/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce"
}

  /series/{Id}/anonymize:
    post:
      tags: [Anonymization]
      description: Anonymize the series
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                DicomVersion:
                  type: string
                  description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used.
                  enum:
                    - 2017c
                    - 2008
                Replace:
                  type: object
                  description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed.
                Keep:
                  type: array
                  items:
                    type: string
                  description: List of DICOM tags that should be kept through the anonymization process.
                KeepPrivateTags:
                  type: boolean
                  description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information.
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"}        
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new anonymized series.
                  Path:
                    type: string
                    description: The URL of the new anonymized series.
              example: {
  "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce",
  "Path" : "/series/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce"
}
            
  /instances/{Id}/modify:
    post:
      tags: [Modification]
      description: Orthanc allows to modify a set of specified tags in a single DICOM instance and to download the resulting modified DICOM file.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Replace:
                  type: object
                  description: The Replace associative array specifies the substitions to be applied (cf. anonymization).
                Remove:
                  type: array
                  items:
                    type: string
                  description: The Remove array specifies the list of the tags to remove.
                RemovePrivateTags:
                  type: boolean
                  description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed.
                Force:
                  type: boolean
                  description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect.
                  default: false
            example: {"Replace":{"PatientName":"hello","PatientID":"world"},"Remove":["InstitutionName"],"RemovePrivateTags": true, "Force": true}       
      responses:
        200:
          description: The response contains a DICOM file that has been anonymized.
          content:
            application/dicom: {}
            
  /studies/{Id}/modify:
    post:
      tags: [Modification]
      description: It is possible to modify all the instances from a study or from a series in a single request. In this case, the modified instances are stored back into the Orthanc store.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Replace:
                  type: object
                  description: The Replace associative array specifies the substitions to be applied (cf. anonymization).
                Remove:
                  type: array
                  items:
                    type: string
                  description: The Remove array specifies the list of the tags to remove.
                RemovePrivateTags:
                  type: boolean
                  description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed.
                Force:
                  type: boolean
                  description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect.
                  default: false
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"InstitutionName":"My own clinic"}}      
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new modified study.
                  Path:
                    type: string
                    description: The URL of the new modified study.
              example: {
  "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce",
  "Path" : "/studies/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce"
}

  /series/{Id}/modify:
    post:
      tags: [Modification]
      description: It is possible to modify all the instances from a study or from a series in a single request. In this case, the modified instances are stored back into the Orthanc store.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Replace:
                  type: object
                  description: The Replace associative array specifies the substitions to be applied (cf. anonymization).
                Remove:
                  type: array
                  items:
                    type: string
                  description: The Remove array specifies the list of the tags to remove.
                RemovePrivateTags:
                  type: boolean
                  description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed.
                Force:
                  type: boolean
                  description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect.
                  default: false
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"InstitutionName":"My own clinic"}}      
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new modified study.
                  Path:
                    type: string
                    description: The URL of the new modified study.
              example: {
  "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce",
  "Path" : "/series/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce"
}

  /patients/{Id}/modify:
    post:
      tags: [Modification]
      description: Starting with Orthanc 0.7.5, Orthanc can also modify all the instances of a patient with a single REST call.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Replace:
                  type: object
                  description: The Replace associative array specifies the substitions to be applied (cf. anonymization).
                Remove:
                  type: array
                  items:
                    type: string
                  description: The Remove array specifies the list of the tags to remove.
                RemovePrivateTags:
                  type: boolean
                  description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed.
                Force:
                  type: boolean
                  description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect.
                  default: false
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Replace":{"PatientID":"Hello","PatientName":"Sample patient name"},"Force":true}   
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  ID:
                    type: string
                    description: The ID of the new modified patient.
                  Path:
                    type: string
                    description: The URL of the new modified patient.
                  PatientID:
                    type: string
                  Type:
                    type: string
                    enum:
                      - Patient
              example: {
  "ID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "Path" : "/patients/f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "PatientID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0",
  "Type" : "Patient"
}

  /studies/{Id}/split:
    post:
      tags: [Split/merge DICOM studies]
      description: "Starting with Orthanc 1.5.0, Orthanc supports splitting and merging DICOM studies through its REST API. By issuing the example command, the series whose Orthanc identifier is 6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228, and that is part of the source study with identifier in the URL, will be removed from the source study, and will be moved to a brand new study. This is done by generating a new value for all the following DICOM tags in the DICOM instances of the series of interest: StudyInstanceUID (0x0020, 0x000d), SeriesInstanceUID (0x0020, 0x000e), and SOPInstanceUID (0x0008, 0x0018)"
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Series:
                  type: array
                  items:
                    type: string
                  description: Series gives the list of series to be separated from the parent study (mandatory option). These series must all be children of the same source study, that is specified in the URI.
                Replace:
                  type: object
                  description: Replace allows to overwrite the DICOM tags that are part of the "Patient Module Attributes" and the "General Study Module Attributes", as specified by the DICOM 2011 standard in Tables C.7-1 and C.7-3.
                Remove:
                  type: array
                  items:
                    type: string
                  description: Remove allows to remove DICOM tags from the same modules as in the Replace options.
                KeepSource:
                  type: boolean
                  description: KeepSource (Boolean value), if set to true, instructs Orthanc to keep a copy of the original series in the source study. By default, the original series are deleted from Orthanc.
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Series":["6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228"],"Replace":{"PatientName":"HELLO"},"Remove":["AccessionNumber"]}
      responses:
        200:
          description: Success
          
  /studies/{Id}/merge:
    post:
      tags: [Split/merge DICOM studies]
      description: "Merge DICOM series into another DICOM study. By issuing this command, the DICOM series whose Orthanc identifier is ef2ce55f-9342856a-aee23907-2667e859-9f3b734d, will be merged into target study with identifier Id in the URL. As in the case of splitting, this is done by updating the following DICOM tags: StudyInstanceUID (0x0020, 0x000d), SeriesInstanceUID (0x0020, 0x000e), and SOPInstanceUID (0x0008, 0x0018). Furthermore, all the DICOM tags that are part of the “Patient Module Attributes” and the “General Study Module Attributes” (as specified by the DICOM 2011 standard in Tables C.7-1 and C.7-3), are modified to match the target study."
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Resources:
                  type: array
                  items:
                    type: string
                  description: Resources gives the list of source studies or source series that are to be merged into the target study.
                KeepSource:
                  type: boolean
                  description: KeepSource (Boolean value), if set to true, instructs Orthanc to keep the source studies and series. By default, the original resources are deleted from Orthanc.
                Synchronous:
                  type: boolean
                  default: true
                  description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID.
                Priority:
                  type: number
                  default: 0
                  description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0.
            example: {"Resources":["ef2ce55f-9342856a-aee23907-2667e859-9f3b734d"]}
      responses:
        200:
          description: Success
          
  /jobs:
    get:
      tags: [Jobs]
      description: The list of all jobs can be retrieved as follows.
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example: [ "e0d12aac-47eb-454f-bb7f-9857931e2904" ]
              
  /jobs/{Id}:
    get:
      tags: [Jobs]
      description: The list of all jobs can be retrieved as follows.
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                properties:
                  CompletionTime:
                    type: string
                  Content:
                    type: array
                    items:
                      properties:
                        Description:
                          type: string
                        InstanceCount:
                          type: number
                        UncompressedSizeMB:
                          type: number
                  CreationTime:
                    type: string
                  EffectiveRuntime:
                    type: number
                  ErrorCode:
                    type: number
                  ErrorDescription:
                    type: string
                  ID:
                    type: string
                  Priority:
                    type: number
                  Progress:
                    type: number
                  State:
                    type: string
                    enum:
                      - Success
                      - Failure
                      - Pending
                      - Running
                      - Paused
                      - Retry
                  Timestamp:
                    type: string
                  Type:
                    type: string
              example: {
  "CompletionTime" : "20190306T095223.753851",
  "Content" : {
    "Description" : "REST API",
    "InstancesCount" : 1,
    "UncompressedSizeMB" : 0
  },
  "CreationTime" : "20190306T095223.750666",
  "EffectiveRuntime" : 0.001,
  "ErrorCode" : 0,
  "ErrorDescription" : "Success",
  "ID" : "e0d12aac-47eb-454f-bb7f-9857931e2904",
  "Priority" : 0,
  "Progress" : 100,
  "State" : "Success",
  "Timestamp" : "20190306T095408.556082",
  "Type" : "Archive"
}
  /jobs/{Id}/cancel:
    post:
      tags: [Jobs]
      description: Cancel the job
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /jobs/{Id}/pause:
    post:
      tags: [Jobs]
      description: Pause the job
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /jobs/{Id}/resume:
    post:
      tags: [Jobs]
      description: Resume the job
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
  /jobs/{Id}/resubmit:
    post:
      tags: [Jobs]
      description: Retry the job
      parameters:
        - name: Id
          required: true
          in: path
          schema:
            type: string
      responses:
       200:
         description: Success
         
  /tools/create-dicom:
    post:
      tags: [PDF]
      description: The /tools/create-dicom URI can be used to upload a PDF file to Orthanc. You can retrieve the PDF from the instance using /instances/{Id}/pdf.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                Tags:
                  properties:
                    PatientName:
                      type: string
                    Modality:
                      type: string
                Content:
                  type: string
                  pattern: 'data:application/pdf;base64,.*'
                  description: Base 64 encoded bytes of the PDF to store.
            example: {"Tags" : {"PatientName" : "Benjamino", "Modality" : "CT"},"Content" : "data:application/pdf;base64,<base64contentsofpdf>"}
      responses:
        200:
          description: The ID of the new DICOM instance is returned.
          content:
            text/plain:
              example: "e0d12aac-47eb-454f-bb7f-9857931e2904"

  /tools/metrics-prometheus:
    get:
      tags: [Prometheus Metrics]
      description: Orthanc publishes its metrics according to the text-based format of Prometheus (check also the OpenMetrics project), onto the /tools/metrics-prometheus URI of the REST API.
      responses:
        200:
          description: Success
          content:
            text/plain:
              example: |
                orthanc_count_instances 1 1551868380543
                orthanc_count_patients 1 1551868380543
                orthanc_count_series 1 1551868380543
                orthanc_count_studies 1 1551868380543
                orthanc_disk_size_mb 0.0135002136 1551868380543
                orthanc_jobs_completed 1 1551868380543
                orthanc_jobs_failed 0 1551868380543
                orthanc_jobs_pending 0 1551868380543
                orthanc_jobs_running 0 1551868380543
                orthanc_jobs_success 1 1551868380543
                orthanc_rest_api_active_requests 1 1551868380543
                orthanc_rest_api_duration_ms 0 1551868094265
                orthanc_storage_create_duration_ms 0 1551865919315
                orthanc_storage_read_duration_ms 0 1551865943752
                orthanc_store_dicom_duration_ms 5 1551865919319
                orthanc_uncompressed_size_mb 0.0135002136 1551868380543

  /tools/metrics:
    get:
      tags: [Prometheus Metrics]
      description: Get the enablement state of the metrics gathering.
      responses:
        200:
          description: Success
          content:
            text/plain:
              example: "1"
    put:
      tags: [Prometheus Metrics]
      description: Set the enablement state of the metrics gathering.
      requestBody:
        content:
          text/plain:
            example: "1"
      responses:
        200:
          description: Success