Skip to content

Instantly share code, notes, and snippets.

@markheramis
Last active October 23, 2025 12:00
Show Gist options
  • Select an option

  • Save markheramis/7763f6d1c6b4d2ed2056ec2c13424086 to your computer and use it in GitHub Desktop.

Select an option

Save markheramis/7763f6d1c6b4d2ed2056ec2c13424086 to your computer and use it in GitHub Desktop.
DICOMweb Postman Collection

DICOMweb API Collection

A comprehensive Postman collection for testing DICOMweb APIs including QIDO-RS, STOW-RS, WADO-RS, and UPS-RS endpoints.

Overview

This collection provides pre-configured requests for all major DICOMweb services, enabling developers to quickly test and integrate with DICOM-compliant medical imaging systems.

Services Included

QIDO-RS (Query/Retrieve on Demand for RESTful Services)

  • Query Studies by Patient ID and Study Date

  • Query Series within Studies by Modality

  • Query Instances within Series

  • Query Worklist Items

STOW-RS (Store over the Web for RESTful Services)

  • Store New Study with multiple DICOM instances

  • Store to Existing Study

WADO-RS (Web Access to DICOM Objects for RESTful Services)

  • Retrieve complete studies, series, and instances

  • Retrieve instance frames and metadata

  • Render instances with custom viewport and window/level settings

  • Generate study thumbnails

  • Convert structured reports to PDF

UPS-RS (Unified Procedure Step for RESTful Services)

  • Create and manage workitems

  • Query workitems by state and patient

  • Update workitem states and attributes

  • Delete workitems

Configuration

The collection includes environment variables:

Usage

  1. Import the collection into Postman

  2. Set up environment variables with your DICOMweb server details

  3. Configure authentication tokens

  4. Run requests to test your DICOMweb implementation

Authentication

All requests include Bearer token authentication. Ensure your DICOMweb server supports the configured authentication method.

DICOM Standards Compliance

This collection follows DICOM PS3.18 (Web Services) and DICOM PS3.19 (Application Hosting) standards for medical imaging web services.

{
"info": {
"name": "DICOMweb API Collection",
"description": "Postman collection for DICOMweb APIs: QIDO-RS, STOW-RS, WADO-RS, and UPS-RS.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "QIDO-RS",
"item": [
{
"name": "Query Studies",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies?PatientID=12345&StudyDate=20250101-&limit=50&offset=0",
"host": ["{{baseUrl}}"],
"path": ["studies"],
"query": [
{
"key": "PatientID",
"value": "12345"
},
{
"key": "StudyDate",
"value": "20250101-"
},
{
"key": "limit",
"value": "50"
},
{
"key": "offset",
"value": "0"
}
]
},
"description": "Query DICOM studies by PatientID and StudyDate with pagination."
}
},
{
"name": "Query Series",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series?Modality=CT&limit=50&offset=0",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series"],
"query": [
{
"key": "Modality",
"value": "CT"
},
{
"key": "limit",
"value": "50"
},
{
"key": "offset",
"value": "0"
}
]
},
"description": "Query series within a study by Modality with pagination."
}
},
{
"name": "Query Instances",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances?InstanceNumber=1&limit=50",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances"],
"query": [
{
"key": "InstanceNumber",
"value": "1"
},
{
"key": "limit",
"value": "50"
}
]
},
"description": "Query instances within a series by InstanceNumber with limit."
}
},
{
"name": "Query Worklist Items",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/workitems?PatientID=12345&ScheduledProcedureStepStartDate=20250101&limit=50",
"host": ["{{baseUrl}}"],
"path": ["workitems"],
"query": [
{
"key": "PatientID",
"value": "12345"
},
{
"key": "ScheduledProcedureStepStartDate",
"value": "20250101"
},
{
"key": "limit",
"value": "50"
}
]
},
"description": "Query worklist items by PatientID and ScheduledProcedureStepStartDate with limit."
}
}
]
},
{
"name": "STOW-RS",
"item": [
{
"name": "Store New Study",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "multipart/related; type=application/dicom; boundary=boundary123"
},
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "file1",
"type": "file",
"src": "dicom1.dcm",
"contentType": "application/dicom"
},
{
"key": "file2",
"type": "file",
"src": "dicom2.dcm",
"contentType": "application/dicom"
}
]
},
"url": {
"raw": "{{baseUrl}}/studies",
"host": ["{{baseUrl}}"],
"path": ["studies"]
},
"description": "Upload multiple DICOM instances to create a new study."
}
},
{
"name": "Store to Existing Study",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "multipart/related; type=application/dicom; boundary=boundary456"
},
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "file1",
"type": "file",
"src": "dicom3.dcm",
"contentType": "application/dicom"
},
{
"key": "file2",
"type": "file",
"src": "dicom4.dcm",
"contentType": "application/dicom"
}
]
},
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9"]
},
"description": "Add new instances to an existing study."
}
}
]
},
{
"name": "WADO-RS",
"item": [
{
"name": "Retrieve Study",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "multipart/related; type=application/dicom"
},
{
"key": "Content-Type",
"value": "application/dicom"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9"]
},
"description": "Retrieve all SOP Instances for a study in binary DICOM format."
}
},
{
"name": "Retrieve Series",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "multipart/related; type=application/dicom"
},
{
"key": "Content-Type",
"value": "application/dicom"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1"]
},
"description": "Retrieve all instances in a specific series."
}
},
{
"name": "Retrieve Instance",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom"
},
{
"key": "Content-Type",
"value": "application/dicom"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1"]
},
"description": "Retrieve a single DICOM instance by its UID."
}
},
{
"name": "Retrieve Instance Frames",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "image/jpeg"
},
{
"key": "Content-Type",
"value": "image/jpeg"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1/frames/1,3,5?quality=90",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1", "frames", "1,3,5"],
"query": [
{
"key": "quality",
"value": "90"
}
]
},
"description": "Retrieve specific frames from a multi-frame DICOM instance."
}
},
{
"name": "Retrieve Study Metadata",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/metadata",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "metadata"]
},
"description": "Retrieve metadata for all instances in a study."
}
},
{
"name": "Retrieve Series Metadata",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/metadata",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "metadata"]
},
"description": "Retrieve metadata for all instances in a specific series."
}
},
{
"name": "Retrieve Bulk Data",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/octet-stream"
},
{
"key": "Content-Type",
"value": "application/octet-stream"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1/bulkdata/PixelData",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1", "bulkdata", "PixelData"]
},
"description": "Retrieve pixel data for a specific instance."
}
},
{
"name": "Render Instance",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "image/jpeg"
},
{
"key": "Content-Type",
"value": "image/jpeg"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1/rendered?viewport=512,512&windowCenter=40&windowWidth=400",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1", "rendered"],
"query": [
{
"key": "viewport",
"value": "512,512"
},
{
"key": "windowCenter",
"value": "40"
},
{
"key": "windowWidth",
"value": "400"
}
]
},
"description": "Retrieve a rendered view of a DICOM instance with specific viewport and window/level settings."
}
},
{
"name": "Render Frames",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "image/jpeg"
},
{
"key": "Content-Type",
"value": "image/jpeg"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1/frames/1-10/rendered?quality=90",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1", "frames", "1-10", "rendered"],
"query": [
{
"key": "quality",
"value": "90"
}
]
},
"description": "Retrieve rendered frames from a multi-frame DICOM instance with high quality."
}
},
{
"name": "Render Study Thumbnails",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "multipart/related; type=image/jpeg"
},
{
"key": "Content-Type",
"value": "image/jpeg"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/rendered?viewport=128,128&quality=60",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "rendered"],
"query": [
{
"key": "viewport",
"value": "128,128"
},
{
"key": "quality",
"value": "60"
}
]
},
"description": "Generate thumbnails for all images in a study."
}
},
{
"name": "Render Structured Report as PDF",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/pdf"
},
{
"key": "Content-Type",
"value": "application/pdf"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/studies/1.2.3.4.5.6.7.8.9/series/1.2.3.4.5.6.7.8.9.1/instances/1.2.3.4.5.6.7.8.9.1.1/rendered?format=pdf&style=clinical&includeImages=true",
"host": ["{{baseUrl}}"],
"path": ["studies", "1.2.3.4.5.6.7.8.9", "series", "1.2.3.4.5.6.7.8.9.1", "instances", "1.2.3.4.5.6.7.8.9.1.1", "rendered"],
"query": [
{
"key": "format",
"value": "pdf"
},
{
"key": "style",
"value": "clinical"
},
{
"key": "includeImages",
"value": "true"
}
]
},
"description": "Convert a DICOM Structured Report to PDF with clinical styling and images."
}
}
]
},
{
"name": "UPS-RS",
"item": [
{
"name": "Create Workitem",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"00404001\": {\n \"vr\": \"LO\",\n \"Value\": [\"PROC001\"]\n },\n \"00404002\": {\n \"vr\": \"DA\",\n \"Value\": [\"20250101\"]\n },\n \"00404003\": {\n \"vr\": \"TM\",\n \"Value\": [\"090000\"]\n },\n \"00404006\": {\n \"vr\": \"PN\",\n \"Value\": [{\"Alphabetic\": \"SMITH^JANE\"}]\n },\n \"00404007\": {\n \"vr\": \"LO\",\n \"Value\": [\"CT Chest\"]\n },\n \"00404010\": {\n \"vr\": \"LO\",\n \"Value\": [\"CT01\"]\n },\n \"00404012\": {\n \"vr\": \"CS\",\n \"Value\": [\"CT\"]\n },\n \"00100020\": {\n \"vr\": \"LO\",\n \"Value\": [\"12345\"]\n },\n \"00100010\": {\n \"vr\": \"PN\",\n \"Value\": [{\"Alphabetic\": \"DOE^JOHN\"}]\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/workitems",
"host": ["{{baseUrl}}"],
"path": ["workitems"]
},
"description": "Create a new workitem with procedure details."
}
},
{
"name": "Query Workitems",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/workitems?ProcedureStepState=SCHEDULED&PatientID=12345&limit=50",
"host": ["{{baseUrl}}"],
"path": ["workitems"],
"query": [
{
"key": "ProcedureStepState",
"value": "SCHEDULED"
},
{
"key": "PatientID",
"value": "12345"
},
{
"key": "limit",
"value": "50"
}
]
},
"description": "Query workitems by state and patient ID with pagination."
}
},
{
"name": "Retrieve Workitem",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/workitems/1.2.3.4.5.6.7.8.9.workitem.001",
"host": ["{{baseUrl}}"],
"path": ["workitems", "1.2.3.4.5.6.7.8.9.workitem.001"]
},
"description": "Retrieve complete details for a specific workitem."
}
},
{
"name": "Update Workitem State",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"00404020\": {\n \"vr\": \"CS\",\n \"Value\": [\"COMPLETED\"]\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/workitems/1.2.3.4.5.6.7.8.9.workitem.001/state",
"host": ["{{baseUrl}}"],
"path": ["workitems", "1.2.3.4.5.6.7.8.9.workitem.001", "state"]
},
"description": "Update workitem state to COMPLETED."
}
},
{
"name": "Modify Workitem Attributes",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"00404006\": {\n \"vr\": \"PN\",\n \"Value\": [{\"Alphabetic\": \"JOHNSON^MARY\"}]\n },\n \"00404007\": {\n \"vr\": \"LO\",\n \"Value\": [\"Updated procedure description\"]\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/workitems/1.2.3.4.5.6.7.8.9.workitem.001/update",
"host": ["{{baseUrl}}"],
"path": ["workitems", "1.2.3.4.5.6.7.8.9.workitem.001", "update"]
},
"description": "Update workitem attributes with new values."
}
},
{
"name": "Delete Workitem",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/dicom+json"
},
{
"key": "Content-Type",
"value": "application/dicom+json"
},
{
"key": "Authorization",
"value": "Bearer {{token}}"
}
],
"url": {
"raw": "{{baseUrl}}/workitems/1.2.3.4.5.6.7.8.9.workitem.001",
"host": ["{{baseUrl}}"],
"path": ["workitems", "1.2.3.4.5.6.7.8.9.workitem.001"]
},
"description": "Delete a specific workitem."
}
}
]
}
],
"variable": [
{
"key": "baseUrl",
"value": "https://dicomserver.example.com",
"description": "Base URL for the DICOMweb API"
},
{
"key": "token",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"description": "Bearer token for authentication"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment