Webhook System
Overview
The Ansarada webhook system allows third-party applications to receive real-time event notifications when activity occurs within a DataRoom. Instead of polling the API for changes, your application receives an HTTP POST request to your registered URL whenever a relevant event is triggered.
Supported Events
| Event | Description |
|---|---|
document.uploaded | Fired when a new document is created or an existing document's content is updated. |
Webhook Payload
When an event occurs, Ansarada sends an HTTP POST request to your registered URL with a JSON body in the following format:
{
"eventType": "document.uploaded",
"dataRoomId": "RGF0YVJvb206MjI5ODM=",
"documentId": "RGF0YVJvb21Eb2N1bWVudDoyMjk4MzoyNDI2NTk3"
}
| Field | Type | Description |
|---|---|---|
eventType | string | The type of event that occurred. |
dataRoomId | string | The ID of the DataRoom where the event occurred. |
documentId | string | The ID of the document involved in the event. |
Registering Your Webhook URL
Webhook registration is currently handled manually by the Ansarada team. To register your endpoint, contact us with the following information:
Company Details
- Company Name
DataRoom Info
- DataRoom ID
- DataRoom Name
- User ID — the Admin user who grants your company permission to receive webhooks
Endpoint URLs (at least one required)
- Dev URL (optional)
- Staging URL (optional)
- Production URL (optional)
You may register up to three URLs, one per environment (Dev, Staging, Production). Ansarada will deliver webhook events to the URL corresponding to the environment where the event originated.
Retry Policy
If your endpoint fails to respond with an HTTP 2xx status code, Ansarada will automatically retry the delivery:
| Attempt | Delay after previous failure |
|---|---|
| Retry 1 | 1 minute |
| Retry 2 | 3 minutes |
After two retries without a successful response, the event is dropped and no further attempts are made. Ensure your endpoint is reliable and returns 2xx promptly to avoid missed events.
Handling Webhooks
Your endpoint should:
- Respond quickly — return an HTTP
2xxstatus code as soon as the request is received. Perform any heavy processing asynchronously. - Be idempotent — the same event may be delivered more than once in rare cases. Use the
documentIdandeventTypefields to deduplicate if needed. - Fetch up-to-date data — the webhook payload contains identifiers only. Use the GraphQL API with the provided
documentIdto retrieve full document details after receiving the event.