Webhook Notifications
Several operations of the Evidence Manager API run asynchronously: the HTTP request only starts the process, and the API notifies you through a webhook once it finishes. You can configure one or more callback URLs to receive these notifications.
Every notification is sent as an HTTP POST request with a JSON body with the
following shape:
{
"operation": "EVIDENCE_GROUP_CLOSED",
"result": "OK",
"data": {
"evidenceGroupId": "4c33124e-d444-4e97-bbaa-50375c364aca",
"caseFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
operation: identifies the event that triggered the notification. Possible values: EVIDENCE_CREATION, EVIDENCE_DELETE, EVIDENCE_GROUP_CLOSED, REPORT_CREATION and SIGNATURE_CREATION.result: currently always OK.data: contains the details of the event. Its content depends on the value ofoperation, as described below.
Evidence created
operation: "EVIDENCE_CREATION". Sent when an "Evidence" finishes its registration
process (hash timestamping and, for internally custodied files, the upload to storage).
{
"operation": "EVIDENCE_CREATION",
"result": "OK",
"data": {
"evidenceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"evidenceGroupId": "4c33124e-d444-4e97-bbaa-50375c364aca",
"caseFileId": "57081c08-08e7-4d7e-b10a-8a98d7b1b3bd"
}
}
evidenceGroupId and caseFileId are only present when the "Evidence" was
registered within an "Evidence Group" / "Case file".
Evidence deleted
operation: "EVIDENCE_DELETE". Sent when the file of an "Evidence" has been fully
deleted from storage.
{
"operation": "EVIDENCE_DELETE",
"result": "OK",
"data": {
"evidenceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
Evidence Group closed
operation: "EVIDENCE_GROUP_CLOSED". Sent when an "Evidence Group" reaches the
CLOSED status after a close
request.
{
"operation": "EVIDENCE_GROUP_CLOSED",
"result": "OK",
"data": {
"evidenceGroupId": "4c33124e-d444-4e97-bbaa-50375c364aca",
"caseFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
Report generated
operation: "REPORT_CREATION". Sent when a signed report has
been generated and timestamped.
{
"operation": "REPORT_CREATION",
"result": "OK",
"data": {
"reportId": "1d6d735d-0383-42d1-bfb9-6d4cf71aa739",
"reportName": "example-report",
"reportUrl": "https://example.com/reports/example-report.pdf",
"evidencePackageUrl": "https://example.com/reports/example-report.zip"
}
}
Sign file completed
operation: "SIGNATURE_CREATION". Sent when the Embed company seal to
pdf process finishes.
{
"operation": "SIGNATURE_CREATION",
"result": "OK",
"data": {
"processId": "1d6d735d-0383-42d1-bfb9-6d4cf71aa739",
"fileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "FILE_SIGNED_FINISHED",
"url": "https://example.com/signed/example-report.pdf"
}
}
Configuration & Security
Webhook notifications are configured per tenant. You can provide one or more callback URLs; when more than one URL is configured, every URL receives every notification.
Every webhook request includes an Authorization header with the token agreed with
your Legal App platform contact:
Authorization: Bearer <your_token>
This lets your endpoint verify the authenticity of the request by checking the token.
Delivery and retries
A notification is considered delivered when your endpoint responds with 200,
201, 204, 404 or 422. Any other response
(including 400 or 401, or a connection error) is retried automatically
with increasing delays, up to a limited number of attempts; after that, the notification is
discarded. Because of this, your endpoint should be idempotent and should not assume
notifications arrive strictly once or in order.