___ __ / (_) /____ _ ______ ____ _ / / / __/ _ \ | / / __ \/ __ `/ / / / /_/ __/ |/ / / / / /_/ / /_/_/\__/\___/|___/_/ /_/\__,_/
Once you have created an account and logged in, you can create an image store. Each image store has a unique label across all image stores, not just the ones owned by you.
All images stores share a common dicomweb root at https://litevna.app/dicomweb.
Creating API Keys
Log in to your account at https://litevna.app, navigate to your image store, and create an API key. When creating an API key, you can configure:
Creating Scoped Tokens (Optional)
You can derive short-lived, scoped tokens from your API keys using the POST /image-stores/{label}/tokens/create endpoint:
POST /image-stores/{label}/tokens/create Content-Type: application/json { // API key from which to derive the token "api_key_value": "eyJhbGc...", "ttl": 3600, // optional "scopes": { "study_ids": ["1.2.3.4.5"], "patient_ids": ["P12345"] } }
Tokens:
All requests must include valid authentication. The [token] in the examples below can be either:
Five authentication methods are supported:
1. Authorization Header (Bearer)
Authorization: Bearer [token]
Standard OAuth 2.0 Bearer token format.
2. Authorization Header (Basic)
Use username "litevna" with the token as password:
Authorization: Basic [base64(litevna:token)]
Useful for tools that support Basic auth but not custom headers.
3. URL Path Prefix
Embed the token in the URL path before /dicomweb:
https://litevna.app/key_[token]/dicomweb/studies
Useful for direct links without header support (e.g., image tags, embedding in viewers).
4. Cookie
Set a cookie named litevna-token with the token value.
Automatically set when creating tokens via the web UI.
5. Query Parameter
Add the token as a query parameter:
https://litevna.app/dicomweb/studies?_auth_token=[token]
Enables "simple" cross-origin requests without CORS preflight. Query param excluded from cache key.
To issue a QIDO request, use a path such as: https://litevna.app/dicomweb/studies?limit=100
To issue a WADO request, use a path with the pattern:
https://litevna.app/dicomweb/studies/[studyUID]/series/[seriesUID]/metadata
or
https://litevna.app/dicomweb/studies/[StudyInstanceUID]/series/[SeriesInstanceUID]/instances/[SOPInstanceUID]/frame/1
To download dicom part 10 file, set the Accept header to "application/dicom" on an instance level request, like:
GET https://litevna.app/dicomweb/studies/[StudyInstanceUID]/series/[SeriesInstanceUID]/instances/[SOPInstanceUID] Accept: application/dicom
To store a dicom file (STOW), send a POST request to:
https://litevna.app/dicomweb/studies
To delete a study, series, or instance and all child objects, send a DELETE request to the corresponding url, such as:
DELETE https://litevna.app/dicomweb/studies/[StudyInstanceUID]
DELETE https://litevna.app/dicomweb/studies/[StudyInstanceUID]/series/[SeriesInstanceUID]/instances/[SOPInstanceUID]