# Webhooks ## Unwrap `webhooks.unwrap()` **** `` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) client.webhooks.unwrap() ``` ## Unsafe Unwrap `webhooks.unsafe_unwrap()` **** `` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) client.webhooks.unsafe_unwrap() ``` ## Domain Types ### Report Delivered Event - `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} - `data: Data` Event payload containing report and study information - `presigned_url: str` Presigned URL for PDF download. Time-limited, typically valid for 1 hour. - `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 - `"report.delivered"` ### Report Delivered Response - `class ReportDeliveredResponse: …` Response expected by Avara for report delivery webhook. Simple acknowledgment. - `success: bool` Acknowledgment of receipt. Return true to confirm delivery. ### Study Access Requested Event - `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} - `data: Data` 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 - `"study.access_requested"` ### Study Access Requested Response - `class StudyAccessRequestedResponse: …` Response expected by Avara for study access webhook. Provide presigned URLs for DICOM images. - `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 ### Webhook Event - `WebhookEvent` Union of all Avara webhook event types. Use the 'type' field to discriminate between event types. Events: study.access_requested (synchronous), report.delivered (asynchronous). - `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} - `data: Data` 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 - `"study.access_requested"` - `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} - `data: Data` Event payload containing report and study information - `presigned_url: str` Presigned URL for PDF download. Time-limited, typically valid for 1 hour. - `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 - `"report.delivered"` ### Unsafe Unwrap Webhook Event - `UnsafeUnwrapWebhookEvent` 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. - `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} - `data: Data` 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 - `"study.access_requested"` - `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} - `data: Data` Event payload containing report and study information - `presigned_url: str` Presigned URL for PDF download. Time-limited, typically valid for 1 hour. - `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 - `"report.delivered"` ### Unwrap Webhook Event - `UnwrapWebhookEvent` 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. - `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} - `data: Data` 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 - `"study.access_requested"` - `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} - `data: Data` Event payload containing report and study information - `presigned_url: str` Presigned URL for PDF download. Time-limited, typically valid for 1 hour. - `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 - `"report.delivered"`