Skip to content
Get started

Webhooks

Unwrap
webhooks.unwrap()
Function
Unsafe Unwrap
webhooks.unsafe_unwrap()
Function
ModelsExpand Collapse
class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

is_critical: bool

Whether the report was marked critical at sign-off.

presigned_url: str

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
report_id: str

Avara report ID. Format: rep_{32-hex-chars}

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

plain_text: Optional[str]

Report plain text content (optional). Contains the full report text.

type: Literal["report.delivered"]

Event type identifier

class ReportDeliveredEventData:

Event payload containing report and study information

is_critical: bool

Whether the report was marked critical at sign-off.

presigned_url: str

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
report_id: str

Avara report ID. Format: rep_{32-hex-chars}

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

plain_text: Optional[str]

Report plain text content (optional). Contains the full report text.

class ReportDeliveredResponse:

Response expected by Avara for report delivery webhook. Simple acknowledgment.

success: bool

Acknowledgment of receipt. Return true to confirm delivery.

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

series_instance_uid: Optional[str]

DICOM Series Instance UID generated for the new secondary capture series (when available).

sop_instance_uid: Optional[str]

DICOM SOP Instance UID generated for the new secondary capture object (when available).

type: Literal["secondary_capture.access_requested"]

Event type identifier

class SecondaryCaptureAccessRequestedEventData:

Event payload containing study + (optional) series/SOP information for a secondary capture upload

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

series_instance_uid: Optional[str]

DICOM Series Instance UID generated for the new secondary capture series (when available).

sop_instance_uid: Optional[str]

DICOM SOP Instance UID generated for the new secondary capture object (when available).

class SecondaryCaptureAccessRequestedResponse:

Response expected by Avara for the secondary capture webhook. Provide presigned PUT URLs the viewer will upload the DICOM to.

authorized: bool

Whether the secondary capture upload is authorized for this study

upload_urls: List[str]

Presigned PUT URLs for uploading the secondary capture DICOM. The viewer uploads the same object to every URL.

content_creator_name: Optional[str]

Optional content creator name. Avara derives this server-side; this field is ignored if provided.

error: Optional[str]

Error message if authorization failed or upload URLs cannot be provided

class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

type: Literal["study.access_requested"]

Event type identifier

class StudyAccessRequestedEventData:

Event payload containing study information

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

class StudyAccessRequestedMediaURL:

Presigned URL for non-DICOM media (images, PDFs, videos)

mime_type: str

MIME type of the media file (e.g., application/pdf, image/jpeg, video/mp4)

url: str

Presigned URL to download the media file

formaturi
file_name: Optional[str]

Optional display name for the media file

class StudyAccessRequestedResponse:

Response expected by Avara for study access webhook. Provide presigned URLs for DICOM images and optionally for non-DICOM media.

authorized: bool

Whether access is authorized for this study

urls: List[str]

Flat list of presigned URLs for DICOM images. Include all image URLs for the study.

error: Optional[str]

Error message if authorization failed or URLs cannot be provided

media_urls: Optional[List[StudyAccessRequestedMediaURL]]

Optional presigned URLs for non-DICOM media (images, PDFs, videos) associated with the study.

mime_type: str

MIME type of the media file (e.g., application/pdf, image/jpeg, video/mp4)

url: str

Presigned URL to download the media file

formaturi
file_name: Optional[str]

Optional display name for the media file

Union of all Avara webhook event types. Use the 'type' field to discriminate between event types. Events: study.access_requested (synchronous), report.delivered (asynchronous), secondary_capture.access_requested (synchronous).

Accepts one of the following:
class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

type: Literal["study.access_requested"]

Event type identifier

class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

is_critical: bool

Whether the report was marked critical at sign-off.

presigned_url: str

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
report_id: str

Avara report ID. Format: rep_{32-hex-chars}

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

plain_text: Optional[str]

Report plain text content (optional). Contains the full report text.

type: Literal["report.delivered"]

Event type identifier

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

series_instance_uid: Optional[str]

DICOM Series Instance UID generated for the new secondary capture series (when available).

sop_instance_uid: Optional[str]

DICOM SOP Instance UID generated for the new secondary capture object (when available).

type: Literal["secondary_capture.access_requested"]

Event type identifier

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

Accepts one of the following:
class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

type: Literal["study.access_requested"]

Event type identifier

class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

is_critical: bool

Whether the report was marked critical at sign-off.

presigned_url: str

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
report_id: str

Avara report ID. Format: rep_{32-hex-chars}

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

plain_text: Optional[str]

Report plain text content (optional). Contains the full report text.

type: Literal["report.delivered"]

Event type identifier

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

id: str

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

study_id: str

Avara study ID. Format: stu_{32-hex-chars}

study_instance_uid: str

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

series_instance_uid: Optional[str]

DICOM Series Instance UID generated for the new secondary capture series (when available).

sop_instance_uid: Optional[str]

DICOM SOP Instance UID generated for the new secondary capture object (when available).

type: Literal["secondary_capture.access_requested"]

Event type identifier