---
name: orthanc-api
description: "Orthanc API skill. Use when working with Orthanc for changes, exports, instances. Covers 299 endpoints."
version: 1.0.0
generator: lapsh
---

# Orthanc API
API version: 1.12.11

## Auth
Requires API key (key parameter)

## Base URL
https://orthanc.uclouvain.be/demo/

## Setup
1. Include your API key via the key parameter
2. GET /changes -- verify access
3. POST /instances -- create first instances

## Endpoints

299 endpoints across 15 groups. See references/api-spec.lap for full details.

### changes
| Method | Path | Description |
|--------|------|-------------|
| DELETE | /changes | Clear changes |
| GET | /changes | List changes |

### exports
| Method | Path | Description |
|--------|------|-------------|
| DELETE | /exports | Clear exports |
| GET | /exports | List exports |

### instances
| Method | Path | Description |
|--------|------|-------------|
| GET | /instances | List the available instances |
| POST | /instances | Upload DICOM instances |
| DELETE | /instances/{id} | Delete some instance |
| GET | /instances/{id} | Get information about some instance |
| POST | /instances/{id}/anonymize | Anonymize instance |
| GET | /instances/{id}/attachments | List attachments |
| DELETE | /instances/{id}/attachments/{name} | Delete attachment |
| GET | /instances/{id}/attachments/{name} | List operations on attachments |
| PUT | /instances/{id}/attachments/{name} | Set attachment |
| POST | /instances/{id}/attachments/{name}/compress | Compress attachment |
| GET | /instances/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /instances/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /instances/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /instances/{id}/attachments/{name}/data | Get attachment |
| GET | /instances/{id}/attachments/{name}/info | Get info about the attachment |
| GET | /instances/{id}/attachments/{name}/is-compressed | Is attachment compressed? |
| GET | /instances/{id}/attachments/{name}/md5 | Get MD5 of attachment |
| GET | /instances/{id}/attachments/{name}/size | Get size of attachment |
| POST | /instances/{id}/attachments/{name}/uncompress | Uncompress attachment |
| POST | /instances/{id}/attachments/{name}/verify-md5 | Verify attachment |
| GET | /instances/{id}/content/{path} | Get raw tag |
| POST | /instances/{id}/export | Write DICOM onto filesystem |
| GET | /instances/{id}/file | Download DICOM |
| GET | /instances/{id}/frames | List available frames |
| GET | /instances/{id}/frames/{frame} | List operations |
| GET | /instances/{id}/frames/{frame}/image-int16 | Decode a frame (int16) |
| GET | /instances/{id}/frames/{frame}/image-uint16 | Decode a frame (uint16) |
| GET | /instances/{id}/frames/{frame}/image-uint8 | Decode a frame (uint8) |
| GET | /instances/{id}/frames/{frame}/matlab | Decode frame for Matlab |
| GET | /instances/{id}/frames/{frame}/numpy | Decode frame for numpy |
| GET | /instances/{id}/frames/{frame}/preview | Decode a frame (preview) |
| GET | /instances/{id}/frames/{frame}/raw | Access raw frame |
| GET | /instances/{id}/frames/{frame}/raw.gz | Access raw frame (compressed) |
| GET | /instances/{id}/frames/{frame}/rendered | Render a frame |
| GET | /instances/{id}/header | Get DICOM meta-header |
| GET | /instances/{id}/image-int16 | Decode an image (int16) |
| GET | /instances/{id}/image-uint16 | Decode an image (uint16) |
| GET | /instances/{id}/image-uint8 | Decode an image (uint8) |
| GET | /instances/{id}/labels | List labels |
| DELETE | /instances/{id}/labels/{label} | Remove label |
| GET | /instances/{id}/labels/{label} | Test label |
| PUT | /instances/{id}/labels/{label} | Add label |
| GET | /instances/{id}/matlab | Decode frame for Matlab |
| GET | /instances/{id}/metadata | List metadata |
| DELETE | /instances/{id}/metadata/{name} | Delete metadata |
| GET | /instances/{id}/metadata/{name} | Get metadata |
| PUT | /instances/{id}/metadata/{name} | Set metadata |
| POST | /instances/{id}/modify | Modify instance |
| GET | /instances/{id}/module | Get instance module |
| GET | /instances/{id}/numpy | Decode instance for numpy |
| GET | /instances/{id}/patient | Get parent patient |
| GET | /instances/{id}/pdf | Get embedded PDF |
| GET | /instances/{id}/preview | Decode an image (preview) |
| POST | /instances/{id}/reconstruct | Reconstruct tags & optionally files of instance |
| GET | /instances/{id}/rendered | Render an image |
| GET | /instances/{id}/series | Get parent series |
| GET | /instances/{id}/simplified-tags | Get human-readable tags |
| GET | /instances/{id}/statistics | Get instance statistics |
| GET | /instances/{id}/study | Get parent study |
| GET | /instances/{id}/tags | Get DICOM tags |

### jobs
| Method | Path | Description |
|--------|------|-------------|
| GET | /jobs | List jobs |
| DELETE | /jobs/{id} | Delete a job from history |
| GET | /jobs/{id} | Get job |
| POST | /jobs/{id}/cancel | Cancel job |
| POST | /jobs/{id}/pause | Pause job |
| POST | /jobs/{id}/resubmit | Resubmit job |
| POST | /jobs/{id}/resume | Resume job |
| DELETE | /jobs/{id}/{key} | Delete a job output |
| GET | /jobs/{id}/{key} | Get job output |

### modalities
| Method | Path | Description |
|--------|------|-------------|
| GET | /modalities | List DICOM modalities |
| DELETE | /modalities/{id} | Delete DICOM modality |
| GET | /modalities/{id} | List operations on modality |
| PUT | /modalities/{id} | Update DICOM modality |
| GET | /modalities/{id}/configuration | Get modality configuration |
| POST | /modalities/{id}/echo | Trigger C-ECHO SCU |
| POST | /modalities/{id}/find | Hierarchical C-FIND SCU |
| POST | /modalities/{id}/find-instance | C-FIND SCU for instances |
| POST | /modalities/{id}/find-patient | C-FIND SCU for patients |
| POST | /modalities/{id}/find-series | C-FIND SCU for series |
| POST | /modalities/{id}/find-study | C-FIND SCU for studies |
| POST | /modalities/{id}/find-worklist | C-FIND SCU for worklist |
| POST | /modalities/{id}/get | Trigger C-GET SCU |
| POST | /modalities/{id}/move | Trigger C-MOVE SCU |
| POST | /modalities/{id}/query | Trigger C-FIND SCU |
| POST | /modalities/{id}/storage-commitment | Trigger storage commitment request |
| POST | /modalities/{id}/store | Trigger C-STORE SCU |
| POST | /modalities/{id}/store-straight | Straight C-STORE SCU |

### patients
| Method | Path | Description |
|--------|------|-------------|
| GET | /patients | List the available patients |
| DELETE | /patients/{id} | Delete some patient |
| GET | /patients/{id} | Get information about some patient |
| POST | /patients/{id}/anonymize | Anonymize patient |
| GET | /patients/{id}/archive | Create ZIP archive |
| POST | /patients/{id}/archive | Create ZIP archive |
| GET | /patients/{id}/attachments | List attachments |
| DELETE | /patients/{id}/attachments/{name} | Delete attachment |
| GET | /patients/{id}/attachments/{name} | List operations on attachments |
| PUT | /patients/{id}/attachments/{name} | Set attachment |
| POST | /patients/{id}/attachments/{name}/compress | Compress attachment |
| GET | /patients/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /patients/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /patients/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /patients/{id}/attachments/{name}/data | Get attachment |
| GET | /patients/{id}/attachments/{name}/info | Get info about the attachment |
| GET | /patients/{id}/attachments/{name}/is-compressed | Is attachment compressed? |
| GET | /patients/{id}/attachments/{name}/md5 | Get MD5 of attachment |
| GET | /patients/{id}/attachments/{name}/size | Get size of attachment |
| POST | /patients/{id}/attachments/{name}/uncompress | Uncompress attachment |
| POST | /patients/{id}/attachments/{name}/verify-md5 | Verify attachment |
| GET | /patients/{id}/instances | Get child instances |
| GET | /patients/{id}/instances-tags | Get tags of instances |
| GET | /patients/{id}/labels | List labels |
| DELETE | /patients/{id}/labels/{label} | Remove label |
| GET | /patients/{id}/labels/{label} | Test label |
| PUT | /patients/{id}/labels/{label} | Add label |
| GET | /patients/{id}/media | Create DICOMDIR media |
| POST | /patients/{id}/media | Create DICOMDIR media |
| GET | /patients/{id}/metadata | List metadata |
| DELETE | /patients/{id}/metadata/{name} | Delete metadata |
| GET | /patients/{id}/metadata/{name} | Get metadata |
| PUT | /patients/{id}/metadata/{name} | Set metadata |
| POST | /patients/{id}/modify | Modify patient |
| GET | /patients/{id}/module | Get patient module |
| GET | /patients/{id}/protected | Is the patient protected against recycling? |
| PUT | /patients/{id}/protected | Protect/Unprotect a patient against recycling |
| POST | /patients/{id}/reconstruct | Reconstruct tags & optionally files of patient |
| GET | /patients/{id}/series | Get child series |
| GET | /patients/{id}/shared-tags | Get shared tags |
| GET | /patients/{id}/statistics | Get patient statistics |
| GET | /patients/{id}/studies | Get child studies |

### peers
| Method | Path | Description |
|--------|------|-------------|
| GET | /peers | List Orthanc peers |
| DELETE | /peers/{id} | Delete Orthanc peer |
| GET | /peers/{id} | List operations on peer |
| PUT | /peers/{id} | Update Orthanc peer |
| GET | /peers/{id}/configuration | Get peer configuration |
| POST | /peers/{id}/store | Send to Orthanc peer |
| POST | /peers/{id}/store-straight | Straight store to peer |
| GET | /peers/{id}/system | Get peer system information |

### plugins
| Method | Path | Description |
|--------|------|-------------|
| GET | /plugins | List plugins |
| GET | /plugins/explorer.js | JavaScript extensions to Orthanc Explorer |
| GET | /plugins/{id} | Get plugin |

### queries
| Method | Path | Description |
|--------|------|-------------|
| GET | /queries | List query/retrieve operations |
| DELETE | /queries/{id} | Delete a query |
| GET | /queries/{id} | List operations on a query |
| GET | /queries/{id}/answers | List answers to a query |
| GET | /queries/{id}/answers/{index} | List operations on an answer |
| GET | /queries/{id}/answers/{index}/content | Get one answer |
| POST | /queries/{id}/answers/{index}/query-instances | Query the child instances of an answer |
| POST | /queries/{id}/answers/{index}/query-series | Query the child series of an answer |
| POST | /queries/{id}/answers/{index}/query-studies | Query the child studies of an answer |
| POST | /queries/{id}/answers/{index}/retrieve | Retrieve one answer with a C-MOVE or a C-GET SCU |
| GET | /queries/{id}/level | Get level of original query |
| GET | /queries/{id}/modality | Get modality of original query |
| GET | /queries/{id}/query | Get original query arguments |
| POST | /queries/{id}/retrieve | Retrieve all answers with C-MOVE SCU |

### series
| Method | Path | Description |
|--------|------|-------------|
| GET | /series | List the available series |
| DELETE | /series/{id} | Delete some series |
| GET | /series/{id} | Get information about some series |
| POST | /series/{id}/anonymize | Anonymize series |
| GET | /series/{id}/archive | Create ZIP archive |
| POST | /series/{id}/archive | Create ZIP archive |
| GET | /series/{id}/attachments | List attachments |
| DELETE | /series/{id}/attachments/{name} | Delete attachment |
| GET | /series/{id}/attachments/{name} | List operations on attachments |
| PUT | /series/{id}/attachments/{name} | Set attachment |
| POST | /series/{id}/attachments/{name}/compress | Compress attachment |
| GET | /series/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /series/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /series/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /series/{id}/attachments/{name}/data | Get attachment |
| GET | /series/{id}/attachments/{name}/info | Get info about the attachment |
| GET | /series/{id}/attachments/{name}/is-compressed | Is attachment compressed? |
| GET | /series/{id}/attachments/{name}/md5 | Get MD5 of attachment |
| GET | /series/{id}/attachments/{name}/size | Get size of attachment |
| POST | /series/{id}/attachments/{name}/uncompress | Uncompress attachment |
| POST | /series/{id}/attachments/{name}/verify-md5 | Verify attachment |
| GET | /series/{id}/instances | Get child instances |
| GET | /series/{id}/instances-tags | Get tags of instances |
| GET | /series/{id}/labels | List labels |
| DELETE | /series/{id}/labels/{label} | Remove label |
| GET | /series/{id}/labels/{label} | Test label |
| PUT | /series/{id}/labels/{label} | Add label |
| GET | /series/{id}/media | Create DICOMDIR media |
| POST | /series/{id}/media | Create DICOMDIR media |
| GET | /series/{id}/metadata | List metadata |
| DELETE | /series/{id}/metadata/{name} | Delete metadata |
| GET | /series/{id}/metadata/{name} | Get metadata |
| PUT | /series/{id}/metadata/{name} | Set metadata |
| POST | /series/{id}/modify | Modify series |
| GET | /series/{id}/module | Get series module |
| GET | /series/{id}/numpy | Decode series for numpy |
| GET | /series/{id}/ordered-slices | Order the slices |
| GET | /series/{id}/patient | Get parent patient |
| POST | /series/{id}/reconstruct | Reconstruct tags & optionally files of series |
| GET | /series/{id}/shared-tags | Get shared tags |
| GET | /series/{id}/statistics | Get series statistics |
| GET | /series/{id}/study | Get parent study |

### statistics
| Method | Path | Description |
|--------|------|-------------|
| GET | /statistics | Get database statistics |

### storage-commitment
| Method | Path | Description |
|--------|------|-------------|
| GET | /storage-commitment/{id} | Get storage commitment report |
| POST | /storage-commitment/{id}/remove | Remove after storage commitment |

### studies
| Method | Path | Description |
|--------|------|-------------|
| GET | /studies | List the available studies |
| DELETE | /studies/{id} | Delete some study |
| GET | /studies/{id} | Get information about some study |
| POST | /studies/{id}/anonymize | Anonymize study |
| GET | /studies/{id}/archive | Create ZIP archive |
| POST | /studies/{id}/archive | Create ZIP archive |
| GET | /studies/{id}/attachments | List attachments |
| DELETE | /studies/{id}/attachments/{name} | Delete attachment |
| GET | /studies/{id}/attachments/{name} | List operations on attachments |
| PUT | /studies/{id}/attachments/{name} | Set attachment |
| POST | /studies/{id}/attachments/{name}/compress | Compress attachment |
| GET | /studies/{id}/attachments/{name}/compressed-data | Get attachment (no decompression) |
| GET | /studies/{id}/attachments/{name}/compressed-md5 | Get MD5 of attachment on disk |
| GET | /studies/{id}/attachments/{name}/compressed-size | Get size of attachment on disk |
| GET | /studies/{id}/attachments/{name}/data | Get attachment |
| GET | /studies/{id}/attachments/{name}/info | Get info about the attachment |
| GET | /studies/{id}/attachments/{name}/is-compressed | Is attachment compressed? |
| GET | /studies/{id}/attachments/{name}/md5 | Get MD5 of attachment |
| GET | /studies/{id}/attachments/{name}/size | Get size of attachment |
| POST | /studies/{id}/attachments/{name}/uncompress | Uncompress attachment |
| POST | /studies/{id}/attachments/{name}/verify-md5 | Verify attachment |
| GET | /studies/{id}/instances | Get child instances |
| GET | /studies/{id}/instances-tags | Get tags of instances |
| GET | /studies/{id}/labels | List labels |
| DELETE | /studies/{id}/labels/{label} | Remove label |
| GET | /studies/{id}/labels/{label} | Test label |
| PUT | /studies/{id}/labels/{label} | Add label |
| GET | /studies/{id}/media | Create DICOMDIR media |
| POST | /studies/{id}/media | Create DICOMDIR media |
| POST | /studies/{id}/merge | Merge study |
| GET | /studies/{id}/metadata | List metadata |
| DELETE | /studies/{id}/metadata/{name} | Delete metadata |
| GET | /studies/{id}/metadata/{name} | Get metadata |
| PUT | /studies/{id}/metadata/{name} | Set metadata |
| POST | /studies/{id}/modify | Modify study |
| GET | /studies/{id}/module | Get study module |
| GET | /studies/{id}/module-patient | Get patient module of study |
| GET | /studies/{id}/patient | Get parent patient |
| POST | /studies/{id}/reconstruct | Reconstruct tags & optionally files of study |
| GET | /studies/{id}/series | Get child series |
| GET | /studies/{id}/shared-tags | Get shared tags |
| POST | /studies/{id}/split | Split study |
| GET | /studies/{id}/statistics | Get study statistics |

### system
| Method | Path | Description |
|--------|------|-------------|
| GET | /system | Get system information |

### tools
| Method | Path | Description |
|--------|------|-------------|
| GET | /tools | List operations |
| GET | /tools/accepted-sop-classes | Get accepted SOPClassUID |
| GET | /tools/accepted-transfer-syntaxes | Get accepted transfer syntaxes |
| PUT | /tools/accepted-transfer-syntaxes | Set accepted transfer syntaxes |
| POST | /tools/bulk-anonymize | Anonymize a set of resources |
| POST | /tools/bulk-content | Describe a set of resources |
| POST | /tools/bulk-delete | Delete a set of resources |
| POST | /tools/bulk-modify | Modify a set of resources |
| POST | /tools/count-resources | Count local resources |
| GET | /tools/create-archive | Create ZIP archive |
| POST | /tools/create-archive | Create ZIP archive |
| POST | /tools/create-dicom | Create one DICOM instance |
| GET | /tools/create-media | Create DICOMDIR media |
| POST | /tools/create-media | Create DICOMDIR media |
| GET | /tools/create-media-extended | Create DICOMDIR media |
| POST | /tools/create-media-extended | Create DICOMDIR media |
| GET | /tools/default-encoding | Get default encoding |
| PUT | /tools/default-encoding | Set default encoding |
| GET | /tools/dicom-conformance | Get DICOM conformance |
| POST | /tools/dicom-echo | Trigger C-ECHO SCU |
| POST | /tools/execute-script | Execute Lua script |
| POST | /tools/find | Look for local resources |
| GET | /tools/generate-uid | Generate an identifier |
| POST | /tools/invalidate-tags | Invalidate DICOM-as-JSON summaries |
| GET | /tools/labels | Get all the used labels |
| GET | /tools/log-level | Get main log level |
| PUT | /tools/log-level | Set main log level |
| GET | /tools/log-level-dicom | Get log level for `dicom` |
| PUT | /tools/log-level-dicom | Set log level for `dicom` |
| GET | /tools/log-level-generic | Get log level for `generic` |
| PUT | /tools/log-level-generic | Set log level for `generic` |
| GET | /tools/log-level-http | Get log level for `http` |
| PUT | /tools/log-level-http | Set log level for `http` |
| GET | /tools/log-level-jobs | Get log level for `jobs` |
| PUT | /tools/log-level-jobs | Set log level for `jobs` |
| GET | /tools/log-level-lua | Get log level for `lua` |
| PUT | /tools/log-level-lua | Set log level for `lua` |
| GET | /tools/log-level-plugins | Get log level for `plugins` |
| PUT | /tools/log-level-plugins | Set log level for `plugins` |
| GET | /tools/log-level-sqlite | Get log level for `sqlite` |
| PUT | /tools/log-level-sqlite | Set log level for `sqlite` |
| POST | /tools/lookup | Look for DICOM identifiers |
| GET | /tools/metrics | Are metrics collected? |
| PUT | /tools/metrics | Enable collection of metrics |
| GET | /tools/metrics-prometheus | Get usage metrics |
| GET | /tools/now | Get UTC time |
| GET | /tools/now-local | Get local time |
| POST | /tools/reconstruct | Reconstruct all the index |
| POST | /tools/reset | Restart Orthanc |
| POST | /tools/shutdown | Shutdown Orthanc |
| GET | /tools/unknown-sop-class-accepted | Is unknown SOP class accepted? |
| PUT | /tools/unknown-sop-class-accepted | Set unknown SOP class accepted |

## Common Questions

Match user requests to endpoints in references/api-spec.lap. Key patterns:
- "List all changes?" -> GET /changes
- "List all exports?" -> GET /exports
- "List all instances?" -> GET /instances
- "Create a instance?" -> POST /instances
- "Delete a instance?" -> DELETE /instances/{id}
- "Get instance details?" -> GET /instances/{id}
- "Create a anonymize?" -> POST /instances/{id}/anonymize
- "List all attachments?" -> GET /instances/{id}/attachments
- "Delete a attachment?" -> DELETE /instances/{id}/attachments/{name}
- "Get attachment details?" -> GET /instances/{id}/attachments/{name}
- "Update a attachment?" -> PUT /instances/{id}/attachments/{name}
- "Create a compress?" -> POST /instances/{id}/attachments/{name}/compress
- "List all compressed-data?" -> GET /instances/{id}/attachments/{name}/compressed-data
- "List all compressed-md5?" -> GET /instances/{id}/attachments/{name}/compressed-md5
- "List all compressed-size?" -> GET /instances/{id}/attachments/{name}/compressed-size
- "List all data?" -> GET /instances/{id}/attachments/{name}/data
- "List all info?" -> GET /instances/{id}/attachments/{name}/info
- "List all is-compressed?" -> GET /instances/{id}/attachments/{name}/is-compressed
- "List all md5?" -> GET /instances/{id}/attachments/{name}/md5
- "List all size?" -> GET /instances/{id}/attachments/{name}/size
- "Create a uncompress?" -> POST /instances/{id}/attachments/{name}/uncompress
- "Create a verify-md5?" -> POST /instances/{id}/attachments/{name}/verify-md5
- "Get content details?" -> GET /instances/{id}/content/{path}
- "Create a export?" -> POST /instances/{id}/export
- "List all file?" -> GET /instances/{id}/file
- "List all frames?" -> GET /instances/{id}/frames
- "Get frame details?" -> GET /instances/{id}/frames/{frame}
- "List all image-int16?" -> GET /instances/{id}/frames/{frame}/image-int16
- "List all image-uint16?" -> GET /instances/{id}/frames/{frame}/image-uint16
- "List all image-uint8?" -> GET /instances/{id}/frames/{frame}/image-uint8
- "List all matlab?" -> GET /instances/{id}/frames/{frame}/matlab
- "List all numpy?" -> GET /instances/{id}/frames/{frame}/numpy
- "List all preview?" -> GET /instances/{id}/frames/{frame}/preview
- "List all raw?" -> GET /instances/{id}/frames/{frame}/raw
- "List all raw.gz?" -> GET /instances/{id}/frames/{frame}/raw.gz
- "List all rendered?" -> GET /instances/{id}/frames/{frame}/rendered
- "List all header?" -> GET /instances/{id}/header
- "List all image-int16?" -> GET /instances/{id}/image-int16
- "List all image-uint16?" -> GET /instances/{id}/image-uint16
- "List all image-uint8?" -> GET /instances/{id}/image-uint8
- "List all labels?" -> GET /instances/{id}/labels
- "Delete a label?" -> DELETE /instances/{id}/labels/{label}
- "Get label details?" -> GET /instances/{id}/labels/{label}
- "Update a label?" -> PUT /instances/{id}/labels/{label}
- "List all matlab?" -> GET /instances/{id}/matlab
- "List all metadata?" -> GET /instances/{id}/metadata
- "Delete a metadata?" -> DELETE /instances/{id}/metadata/{name}
- "Get metadata details?" -> GET /instances/{id}/metadata/{name}
- "Update a metadata?" -> PUT /instances/{id}/metadata/{name}
- "Create a modify?" -> POST /instances/{id}/modify
- "List all module?" -> GET /instances/{id}/module
- "List all numpy?" -> GET /instances/{id}/numpy
- "List all patient?" -> GET /instances/{id}/patient
- "List all pdf?" -> GET /instances/{id}/pdf
- "List all preview?" -> GET /instances/{id}/preview
- "Create a reconstruct?" -> POST /instances/{id}/reconstruct
- "List all rendered?" -> GET /instances/{id}/rendered
- "List all series?" -> GET /instances/{id}/series
- "List all simplified-tags?" -> GET /instances/{id}/simplified-tags
- "List all statistics?" -> GET /instances/{id}/statistics
- "List all study?" -> GET /instances/{id}/study
- "List all tags?" -> GET /instances/{id}/tags
- "List all jobs?" -> GET /jobs
- "Delete a job?" -> DELETE /jobs/{id}
- "Get job details?" -> GET /jobs/{id}
- "Create a cancel?" -> POST /jobs/{id}/cancel
- "Create a pause?" -> POST /jobs/{id}/pause
- "Create a resubmit?" -> POST /jobs/{id}/resubmit
- "Create a resume?" -> POST /jobs/{id}/resume
- "Delete a job?" -> DELETE /jobs/{id}/{key}
- "Get job details?" -> GET /jobs/{id}/{key}
- "List all modalities?" -> GET /modalities
- "Delete a modality?" -> DELETE /modalities/{id}
- "Get modality details?" -> GET /modalities/{id}
- "Update a modality?" -> PUT /modalities/{id}
- "List all configuration?" -> GET /modalities/{id}/configuration
- "Create a echo?" -> POST /modalities/{id}/echo
- "Create a find?" -> POST /modalities/{id}/find
- "Create a find-instance?" -> POST /modalities/{id}/find-instance
- "Create a find-patient?" -> POST /modalities/{id}/find-patient
- "Create a find-sery?" -> POST /modalities/{id}/find-series
- "Create a find-study?" -> POST /modalities/{id}/find-study
- "Create a find-worklist?" -> POST /modalities/{id}/find-worklist
- "Create a get?" -> POST /modalities/{id}/get
- "Create a move?" -> POST /modalities/{id}/move
- "Create a query?" -> POST /modalities/{id}/query
- "Create a storage-commitment?" -> POST /modalities/{id}/storage-commitment
- "Create a store?" -> POST /modalities/{id}/store
- "Create a store-straight?" -> POST /modalities/{id}/store-straight
- "List all patients?" -> GET /patients
- "Delete a patient?" -> DELETE /patients/{id}
- "Get patient details?" -> GET /patients/{id}
- "Create a anonymize?" -> POST /patients/{id}/anonymize
- "List all archive?" -> GET /patients/{id}/archive
- "Create a archive?" -> POST /patients/{id}/archive
- "List all attachments?" -> GET /patients/{id}/attachments
- "Delete a attachment?" -> DELETE /patients/{id}/attachments/{name}
- "Get attachment details?" -> GET /patients/{id}/attachments/{name}
- "Update a attachment?" -> PUT /patients/{id}/attachments/{name}
- "Create a compress?" -> POST /patients/{id}/attachments/{name}/compress
- "List all compressed-data?" -> GET /patients/{id}/attachments/{name}/compressed-data
- "List all compressed-md5?" -> GET /patients/{id}/attachments/{name}/compressed-md5
- "List all compressed-size?" -> GET /patients/{id}/attachments/{name}/compressed-size
- "List all data?" -> GET /patients/{id}/attachments/{name}/data
- "List all info?" -> GET /patients/{id}/attachments/{name}/info
- "List all is-compressed?" -> GET /patients/{id}/attachments/{name}/is-compressed
- "List all md5?" -> GET /patients/{id}/attachments/{name}/md5
- "List all size?" -> GET /patients/{id}/attachments/{name}/size
- "Create a uncompress?" -> POST /patients/{id}/attachments/{name}/uncompress
- "Create a verify-md5?" -> POST /patients/{id}/attachments/{name}/verify-md5
- "List all instances?" -> GET /patients/{id}/instances
- "List all instances-tags?" -> GET /patients/{id}/instances-tags
- "List all labels?" -> GET /patients/{id}/labels
- "Delete a label?" -> DELETE /patients/{id}/labels/{label}
- "Get label details?" -> GET /patients/{id}/labels/{label}
- "Update a label?" -> PUT /patients/{id}/labels/{label}
- "List all media?" -> GET /patients/{id}/media
- "Create a media?" -> POST /patients/{id}/media
- "List all metadata?" -> GET /patients/{id}/metadata
- "Delete a metadata?" -> DELETE /patients/{id}/metadata/{name}
- "Get metadata details?" -> GET /patients/{id}/metadata/{name}
- "Update a metadata?" -> PUT /patients/{id}/metadata/{name}
- "Create a modify?" -> POST /patients/{id}/modify
- "List all module?" -> GET /patients/{id}/module
- "List all protected?" -> GET /patients/{id}/protected
- "Create a reconstruct?" -> POST /patients/{id}/reconstruct
- "List all series?" -> GET /patients/{id}/series
- "List all shared-tags?" -> GET /patients/{id}/shared-tags
- "List all statistics?" -> GET /patients/{id}/statistics
- "List all studies?" -> GET /patients/{id}/studies
- "List all peers?" -> GET /peers
- "Delete a peer?" -> DELETE /peers/{id}
- "Get peer details?" -> GET /peers/{id}
- "Update a peer?" -> PUT /peers/{id}
- "List all configuration?" -> GET /peers/{id}/configuration
- "Create a store?" -> POST /peers/{id}/store
- "Create a store-straight?" -> POST /peers/{id}/store-straight
- "List all system?" -> GET /peers/{id}/system
- "List all plugins?" -> GET /plugins
- "List all explorer.js?" -> GET /plugins/explorer.js
- "Get plugin details?" -> GET /plugins/{id}
- "List all queries?" -> GET /queries
- "Delete a query?" -> DELETE /queries/{id}
- "Get query details?" -> GET /queries/{id}
- "List all answers?" -> GET /queries/{id}/answers
- "Get answer details?" -> GET /queries/{id}/answers/{index}
- "List all content?" -> GET /queries/{id}/answers/{index}/content
- "Create a query-instance?" -> POST /queries/{id}/answers/{index}/query-instances
- "Create a query-sery?" -> POST /queries/{id}/answers/{index}/query-series
- "Create a query-study?" -> POST /queries/{id}/answers/{index}/query-studies
- "Create a retrieve?" -> POST /queries/{id}/answers/{index}/retrieve
- "List all level?" -> GET /queries/{id}/level
- "List all modality?" -> GET /queries/{id}/modality
- "List all query?" -> GET /queries/{id}/query
- "Create a retrieve?" -> POST /queries/{id}/retrieve
- "List all series?" -> GET /series
- "Delete a sery?" -> DELETE /series/{id}
- "Get sery details?" -> GET /series/{id}
- "Create a anonymize?" -> POST /series/{id}/anonymize
- "List all archive?" -> GET /series/{id}/archive
- "Create a archive?" -> POST /series/{id}/archive
- "List all attachments?" -> GET /series/{id}/attachments
- "Delete a attachment?" -> DELETE /series/{id}/attachments/{name}
- "Get attachment details?" -> GET /series/{id}/attachments/{name}
- "Update a attachment?" -> PUT /series/{id}/attachments/{name}
- "Create a compress?" -> POST /series/{id}/attachments/{name}/compress
- "List all compressed-data?" -> GET /series/{id}/attachments/{name}/compressed-data
- "List all compressed-md5?" -> GET /series/{id}/attachments/{name}/compressed-md5
- "List all compressed-size?" -> GET /series/{id}/attachments/{name}/compressed-size
- "List all data?" -> GET /series/{id}/attachments/{name}/data
- "List all info?" -> GET /series/{id}/attachments/{name}/info
- "List all is-compressed?" -> GET /series/{id}/attachments/{name}/is-compressed
- "List all md5?" -> GET /series/{id}/attachments/{name}/md5
- "List all size?" -> GET /series/{id}/attachments/{name}/size
- "Create a uncompress?" -> POST /series/{id}/attachments/{name}/uncompress
- "Create a verify-md5?" -> POST /series/{id}/attachments/{name}/verify-md5
- "List all instances?" -> GET /series/{id}/instances
- "List all instances-tags?" -> GET /series/{id}/instances-tags
- "List all labels?" -> GET /series/{id}/labels
- "Delete a label?" -> DELETE /series/{id}/labels/{label}
- "Get label details?" -> GET /series/{id}/labels/{label}
- "Update a label?" -> PUT /series/{id}/labels/{label}
- "List all media?" -> GET /series/{id}/media
- "Create a media?" -> POST /series/{id}/media
- "List all metadata?" -> GET /series/{id}/metadata
- "Delete a metadata?" -> DELETE /series/{id}/metadata/{name}
- "Get metadata details?" -> GET /series/{id}/metadata/{name}
- "Update a metadata?" -> PUT /series/{id}/metadata/{name}
- "Create a modify?" -> POST /series/{id}/modify
- "List all module?" -> GET /series/{id}/module
- "List all numpy?" -> GET /series/{id}/numpy
- "List all ordered-slices?" -> GET /series/{id}/ordered-slices
- "List all patient?" -> GET /series/{id}/patient
- "Create a reconstruct?" -> POST /series/{id}/reconstruct
- "List all shared-tags?" -> GET /series/{id}/shared-tags
- "List all statistics?" -> GET /series/{id}/statistics
- "List all study?" -> GET /series/{id}/study
- "List all statistics?" -> GET /statistics
- "Get storage-commitment details?" -> GET /storage-commitment/{id}
- "Create a remove?" -> POST /storage-commitment/{id}/remove
- "List all studies?" -> GET /studies
- "Delete a study?" -> DELETE /studies/{id}
- "Get study details?" -> GET /studies/{id}
- "Create a anonymize?" -> POST /studies/{id}/anonymize
- "List all archive?" -> GET /studies/{id}/archive
- "Create a archive?" -> POST /studies/{id}/archive
- "List all attachments?" -> GET /studies/{id}/attachments
- "Delete a attachment?" -> DELETE /studies/{id}/attachments/{name}
- "Get attachment details?" -> GET /studies/{id}/attachments/{name}
- "Update a attachment?" -> PUT /studies/{id}/attachments/{name}
- "Create a compress?" -> POST /studies/{id}/attachments/{name}/compress
- "List all compressed-data?" -> GET /studies/{id}/attachments/{name}/compressed-data
- "List all compressed-md5?" -> GET /studies/{id}/attachments/{name}/compressed-md5
- "List all compressed-size?" -> GET /studies/{id}/attachments/{name}/compressed-size
- "List all data?" -> GET /studies/{id}/attachments/{name}/data
- "List all info?" -> GET /studies/{id}/attachments/{name}/info
- "List all is-compressed?" -> GET /studies/{id}/attachments/{name}/is-compressed
- "List all md5?" -> GET /studies/{id}/attachments/{name}/md5
- "List all size?" -> GET /studies/{id}/attachments/{name}/size
- "Create a uncompress?" -> POST /studies/{id}/attachments/{name}/uncompress
- "Create a verify-md5?" -> POST /studies/{id}/attachments/{name}/verify-md5
- "List all instances?" -> GET /studies/{id}/instances
- "List all instances-tags?" -> GET /studies/{id}/instances-tags
- "List all labels?" -> GET /studies/{id}/labels
- "Delete a label?" -> DELETE /studies/{id}/labels/{label}
- "Get label details?" -> GET /studies/{id}/labels/{label}
- "Update a label?" -> PUT /studies/{id}/labels/{label}
- "List all media?" -> GET /studies/{id}/media
- "Create a media?" -> POST /studies/{id}/media
- "Create a merge?" -> POST /studies/{id}/merge
- "List all metadata?" -> GET /studies/{id}/metadata
- "Delete a metadata?" -> DELETE /studies/{id}/metadata/{name}
- "Get metadata details?" -> GET /studies/{id}/metadata/{name}
- "Update a metadata?" -> PUT /studies/{id}/metadata/{name}
- "Create a modify?" -> POST /studies/{id}/modify
- "List all module?" -> GET /studies/{id}/module
- "List all module-patient?" -> GET /studies/{id}/module-patient
- "List all patient?" -> GET /studies/{id}/patient
- "Create a reconstruct?" -> POST /studies/{id}/reconstruct
- "List all series?" -> GET /studies/{id}/series
- "List all shared-tags?" -> GET /studies/{id}/shared-tags
- "Create a split?" -> POST /studies/{id}/split
- "List all statistics?" -> GET /studies/{id}/statistics
- "List all system?" -> GET /system
- "List all tools?" -> GET /tools
- "List all accepted-sop-classes?" -> GET /tools/accepted-sop-classes
- "List all accepted-transfer-syntaxes?" -> GET /tools/accepted-transfer-syntaxes
- "Create a bulk-anonymize?" -> POST /tools/bulk-anonymize
- "Create a bulk-content?" -> POST /tools/bulk-content
- "Create a bulk-delete?" -> POST /tools/bulk-delete
- "Create a bulk-modify?" -> POST /tools/bulk-modify
- "Create a count-resource?" -> POST /tools/count-resources
- "List all create-archive?" -> GET /tools/create-archive
- "Create a create-archive?" -> POST /tools/create-archive
- "Create a create-dicom?" -> POST /tools/create-dicom
- "List all create-media?" -> GET /tools/create-media
- "Create a create-media?" -> POST /tools/create-media
- "List all create-media-extended?" -> GET /tools/create-media-extended
- "Create a create-media-extended?" -> POST /tools/create-media-extended
- "List all default-encoding?" -> GET /tools/default-encoding
- "List all dicom-conformance?" -> GET /tools/dicom-conformance
- "Create a dicom-echo?" -> POST /tools/dicom-echo
- "Create a execute-script?" -> POST /tools/execute-script
- "Create a find?" -> POST /tools/find
- "List all generate-uid?" -> GET /tools/generate-uid
- "Create a invalidate-tag?" -> POST /tools/invalidate-tags
- "List all labels?" -> GET /tools/labels
- "List all log-level?" -> GET /tools/log-level
- "List all log-level-dicom?" -> GET /tools/log-level-dicom
- "List all log-level-generic?" -> GET /tools/log-level-generic
- "List all log-level-http?" -> GET /tools/log-level-http
- "List all log-level-jobs?" -> GET /tools/log-level-jobs
- "List all log-level-lua?" -> GET /tools/log-level-lua
- "List all log-level-plugins?" -> GET /tools/log-level-plugins
- "List all log-level-sqlite?" -> GET /tools/log-level-sqlite
- "Create a lookup?" -> POST /tools/lookup
- "List all metrics?" -> GET /tools/metrics
- "List all metrics-prometheus?" -> GET /tools/metrics-prometheus
- "List all now?" -> GET /tools/now
- "List all now-local?" -> GET /tools/now-local
- "Create a reconstruct?" -> POST /tools/reconstruct
- "Create a reset?" -> POST /tools/reset
- "Create a shutdown?" -> POST /tools/shutdown
- "List all unknown-sop-class-accepted?" -> GET /tools/unknown-sop-class-accepted

## Response Tips
- Check response schemas in references/api-spec.lap for field details
- List endpoints may support pagination; check for limit, offset, or cursor params
- Create/update endpoints typically return the created/updated object

## CLI

```bash
# Update this spec to the latest version
npx @lap-platform/lapsh get orthanc-api -o references/api-spec.lap

# Search for related APIs
npx @lap-platform/lapsh search orthanc-api
```

## References
- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas

> Generated from the official API spec by [LAP](https://lap.sh)
