Skip to content
Get started

Studies

Create a new study
client.viewer.studies.create(StudyCreateParams { severity, studyDescription, studyInstanceUid, 3 more } body, RequestOptionsoptions?): StudyCreateResponse { cancelledAt, createdAt, isCancelled, 11 more }
POST/v1/viewer/studies
List studies with pagination
client.viewer.studies.list(StudyListParams { assignedTo, cursor, expressCustomerId, 5 more } query?, RequestOptionsoptions?): CursorStudies<StudyListResponse { cancelledAt, createdAt, isCancelled, 11 more } >
GET/v1/viewer/studies
Retrieve a study by ID
client.viewer.studies.retrieve(stringstudyID, RequestOptionsoptions?): StudyRetrieveResponse { cancelledAt, createdAt, isCancelled, 11 more }
GET/v1/viewer/studies/{studyId}
Update a study
client.viewer.studies.update(stringstudyID, StudyUpdateParams { assignedTo, metadata, severity, 2 more } body?, RequestOptionsoptions?): StudyUpdateResponse { cancelledAt, createdAt, isCancelled, 11 more }
PATCH/v1/viewer/studies/{studyId}
Cancel a study
client.viewer.studies.cancel(StudyCancelParams { studyId, studyInstanceUid } body?, RequestOptionsoptions?): StudyCancelResponse { success, message }
POST/v1/viewer/studies/cancel
Uncancel a study
client.viewer.studies.uncancel(StudyUncancelParams { studyId, studyInstanceUid } body?, RequestOptionsoptions?): StudyUncancelResponse { success, message }
POST/v1/viewer/studies/uncancel
Generate a viewer reroute URL
client.viewer.studies.rerouteURL(StudyRerouteURLParams { studyId, studyInstanceUid } body?, RequestOptionsoptions?): StudyRerouteURLResponse { url }
POST/v1/viewer/studies/reroute-url
Retrieve a study by DICOM UID
client.viewer.studies.retrieveByUid(stringstudyInstanceUid, RequestOptionsoptions?): StudyRetrieveByUidResponse { cancelledAt, createdAt, isCancelled, 11 more }
GET/v1/viewer/studies/by-uid/{studyInstanceUid}
ModelsExpand Collapse
StudyCreateResponse { cancelledAt, createdAt, isCancelled, 11 more }

A study entity in the Viewer system with viewing status

cancelledAt: string | null

Timestamp when the study was cancelled, null if not cancelled

formatdate-time
createdAt: string | null

Timestamp when the study was created

formatdate-time
isCancelled: boolean

Whether the study has been cancelled

severity: Severity

Priority level of a study. ‘normal’ for routine, ‘high’ for urgent, ‘stat’ for immediate attention.

One of the following:
"normal"
"high"
"stat"
studyDescription: string

Description of the study/scan (e.g., ‘Brain MRI with Contrast’, ‘Chest CT’)

minLength1
studyId: string

Unique study identifier. Format: stu_{32-hex-chars}

studyInstanceUid: string

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

minLength1
studyViewerStatus: StudyViewerStatus

Viewer completion status for a study. ‘incomplete’ = not yet finished in the viewer, ‘complete’ = finished.

One of the following:
"incomplete"
"complete"
updatedAt: string | null

Timestamp when the study was last updated

formatdate-time
assignedTo?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

createdByApiKey?: APIKeyReference { apiKeyId, description, isClinicalContextEnrichmentEnabled, isViewerEnabled } | null

A reference to an API key with basic identifying information

apiKeyId: string

Unique API key identifier (UUIDv4 format)

formatuuid
description: string

Human-readable description of the API key

minLength1
isClinicalContextEnrichmentEnabled?: boolean

Whether this API key has a clinical-context enrichment webhook configured

isViewerEnabled?: boolean

Whether this API key has access to the Viewer product

createdByUser?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

expressCustomer?: ExpressCustomerReference { expressCustomerId, expressCustomerName } | null

A reference to an Express customer with basic identifying information

expressCustomerId: string

Unique Express customer identifier. Format: cus_{32-hex-chars}

expressCustomerName: string

Name of the Express customer

minLength1
metadata?: Record<string, string>

Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars

StudyListResponse { cancelledAt, createdAt, isCancelled, 11 more }

A study entity in the Viewer system with viewing status

cancelledAt: string | null

Timestamp when the study was cancelled, null if not cancelled

formatdate-time
createdAt: string | null

Timestamp when the study was created

formatdate-time
isCancelled: boolean

Whether the study has been cancelled

severity: Severity

Priority level of a study. ‘normal’ for routine, ‘high’ for urgent, ‘stat’ for immediate attention.

One of the following:
"normal"
"high"
"stat"
studyDescription: string

Description of the study/scan (e.g., ‘Brain MRI with Contrast’, ‘Chest CT’)

minLength1
studyId: string

Unique study identifier. Format: stu_{32-hex-chars}

studyInstanceUid: string

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

minLength1
studyViewerStatus: StudyViewerStatus

Viewer completion status for a study. ‘incomplete’ = not yet finished in the viewer, ‘complete’ = finished.

One of the following:
"incomplete"
"complete"
updatedAt: string | null

Timestamp when the study was last updated

formatdate-time
assignedTo?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

createdByApiKey?: APIKeyReference { apiKeyId, description, isClinicalContextEnrichmentEnabled, isViewerEnabled } | null

A reference to an API key with basic identifying information

apiKeyId: string

Unique API key identifier (UUIDv4 format)

formatuuid
description: string

Human-readable description of the API key

minLength1
isClinicalContextEnrichmentEnabled?: boolean

Whether this API key has a clinical-context enrichment webhook configured

isViewerEnabled?: boolean

Whether this API key has access to the Viewer product

createdByUser?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

expressCustomer?: ExpressCustomerReference { expressCustomerId, expressCustomerName } | null

A reference to an Express customer with basic identifying information

expressCustomerId: string

Unique Express customer identifier. Format: cus_{32-hex-chars}

expressCustomerName: string

Name of the Express customer

minLength1
metadata?: Record<string, string>

Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars

StudyRetrieveResponse { cancelledAt, createdAt, isCancelled, 11 more }

A study entity in the Viewer system with viewing status

cancelledAt: string | null

Timestamp when the study was cancelled, null if not cancelled

formatdate-time
createdAt: string | null

Timestamp when the study was created

formatdate-time
isCancelled: boolean

Whether the study has been cancelled

severity: Severity

Priority level of a study. ‘normal’ for routine, ‘high’ for urgent, ‘stat’ for immediate attention.

One of the following:
"normal"
"high"
"stat"
studyDescription: string

Description of the study/scan (e.g., ‘Brain MRI with Contrast’, ‘Chest CT’)

minLength1
studyId: string

Unique study identifier. Format: stu_{32-hex-chars}

studyInstanceUid: string

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

minLength1
studyViewerStatus: StudyViewerStatus

Viewer completion status for a study. ‘incomplete’ = not yet finished in the viewer, ‘complete’ = finished.

One of the following:
"incomplete"
"complete"
updatedAt: string | null

Timestamp when the study was last updated

formatdate-time
assignedTo?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

createdByApiKey?: APIKeyReference { apiKeyId, description, isClinicalContextEnrichmentEnabled, isViewerEnabled } | null

A reference to an API key with basic identifying information

apiKeyId: string

Unique API key identifier (UUIDv4 format)

formatuuid
description: string

Human-readable description of the API key

minLength1
isClinicalContextEnrichmentEnabled?: boolean

Whether this API key has a clinical-context enrichment webhook configured

isViewerEnabled?: boolean

Whether this API key has access to the Viewer product

createdByUser?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

expressCustomer?: ExpressCustomerReference { expressCustomerId, expressCustomerName } | null

A reference to an Express customer with basic identifying information

expressCustomerId: string

Unique Express customer identifier. Format: cus_{32-hex-chars}

expressCustomerName: string

Name of the Express customer

minLength1
metadata?: Record<string, string>

Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars

StudyUpdateResponse { cancelledAt, createdAt, isCancelled, 11 more }

A study entity in the Viewer system with viewing status

cancelledAt: string | null

Timestamp when the study was cancelled, null if not cancelled

formatdate-time
createdAt: string | null

Timestamp when the study was created

formatdate-time
isCancelled: boolean

Whether the study has been cancelled

severity: Severity

Priority level of a study. ‘normal’ for routine, ‘high’ for urgent, ‘stat’ for immediate attention.

One of the following:
"normal"
"high"
"stat"
studyDescription: string

Description of the study/scan (e.g., ‘Brain MRI with Contrast’, ‘Chest CT’)

minLength1
studyId: string

Unique study identifier. Format: stu_{32-hex-chars}

studyInstanceUid: string

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

minLength1
studyViewerStatus: StudyViewerStatus

Viewer completion status for a study. ‘incomplete’ = not yet finished in the viewer, ‘complete’ = finished.

One of the following:
"incomplete"
"complete"
updatedAt: string | null

Timestamp when the study was last updated

formatdate-time
assignedTo?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

createdByApiKey?: APIKeyReference { apiKeyId, description, isClinicalContextEnrichmentEnabled, isViewerEnabled } | null

A reference to an API key with basic identifying information

apiKeyId: string

Unique API key identifier (UUIDv4 format)

formatuuid
description: string

Human-readable description of the API key

minLength1
isClinicalContextEnrichmentEnabled?: boolean

Whether this API key has a clinical-context enrichment webhook configured

isViewerEnabled?: boolean

Whether this API key has access to the Viewer product

createdByUser?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

expressCustomer?: ExpressCustomerReference { expressCustomerId, expressCustomerName } | null

A reference to an Express customer with basic identifying information

expressCustomerId: string

Unique Express customer identifier. Format: cus_{32-hex-chars}

expressCustomerName: string

Name of the Express customer

minLength1
metadata?: Record<string, string>

Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars

StudyCancelResponse { success, message }

Response for cancelling a study in Viewer

success: boolean
message?: string
StudyUncancelResponse { success, message }

Response for uncancelling a study in Viewer

success: boolean
message?: string
StudyRerouteURLResponse { url }

Response containing the generated reroute URL for a study in Viewer

url: string
StudyRetrieveByUidResponse { cancelledAt, createdAt, isCancelled, 11 more }

A study entity in the Viewer system with viewing status

cancelledAt: string | null

Timestamp when the study was cancelled, null if not cancelled

formatdate-time
createdAt: string | null

Timestamp when the study was created

formatdate-time
isCancelled: boolean

Whether the study has been cancelled

severity: Severity

Priority level of a study. ‘normal’ for routine, ‘high’ for urgent, ‘stat’ for immediate attention.

One of the following:
"normal"
"high"
"stat"
studyDescription: string

Description of the study/scan (e.g., ‘Brain MRI with Contrast’, ‘Chest CT’)

minLength1
studyId: string

Unique study identifier. Format: stu_{32-hex-chars}

studyInstanceUid: string

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

minLength1
studyViewerStatus: StudyViewerStatus

Viewer completion status for a study. ‘incomplete’ = not yet finished in the viewer, ‘complete’ = finished.

One of the following:
"incomplete"
"complete"
updatedAt: string | null

Timestamp when the study was last updated

formatdate-time
assignedTo?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

createdByApiKey?: APIKeyReference { apiKeyId, description, isClinicalContextEnrichmentEnabled, isViewerEnabled } | null

A reference to an API key with basic identifying information

apiKeyId: string

Unique API key identifier (UUIDv4 format)

formatuuid
description: string

Human-readable description of the API key

minLength1
isClinicalContextEnrichmentEnabled?: boolean

Whether this API key has a clinical-context enrichment webhook configured

isViewerEnabled?: boolean

Whether this API key has access to the Viewer product

createdByUser?: UserReference { email, userId, firstName, 4 more } | null

A reference to a user with basic identifying information

email: string

User’s email address

userId: string

Unique user identifier. Format: usr_{32-hex-chars}

firstName?: string

User’s first name

lastName?: string

User’s last name

middleName?: string

User’s middle name

suffix1?: string

Name suffix (e.g., ‘MD’, ‘Jr.’)

suffix2?: string

Additional name suffix

expressCustomer?: ExpressCustomerReference { expressCustomerId, expressCustomerName } | null

A reference to an Express customer with basic identifying information

expressCustomerId: string

Unique Express customer identifier. Format: cus_{32-hex-chars}

expressCustomerName: string

Name of the Express customer

minLength1
metadata?: Record<string, string>

Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars