Skip to main content

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

EventDescription
document.uploadedFired 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"
}
FieldTypeDescription
eventTypestringThe type of event that occurred.
dataRoomIdstringThe ID of the DataRoom where the event occurred.
documentIdstringThe 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:

AttemptDelay after previous failure
Retry 11 minute
Retry 23 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:

  1. Respond quickly — return an HTTP 2xx status code as soon as the request is received. Perform any heavy processing asynchronously.
  2. Be idempotent — the same event may be delivered more than once in rare cases. Use the documentId and eventType fields to deduplicate if needed.
  3. Fetch up-to-date data — the webhook payload contains identifiers only. Use the GraphQL API with the provided documentId to retrieve full document details after receiving the event.