Called by Smokeball for matter and file events on the firm's single subscription. Requests must carry a valid signature, timestamp and request id (401 otherwise). Answers 200 without processing while the Smokeball integration is turned off, for changes Hearsay itself made and for duplicate events.
POST
/legal/smokeball/webhook
curl \
--request POST 'http://api.example.com/legal/smokeball/webhook' \
--header "Content-Type: application/json" \
--header "requestid: string" \
--data '{
"type": "string",
"subscriptionId": "string",
"accountId": "string",
"userId": "string",
"source": "string",
"payload": {},
"timestamp": "string"
}'
Request examples
# Headers
requestid: string
# Payload
{
"type": "string",
"subscriptionId": "string",
"accountId": "string",
"userId": "string",
"source": "string",
"payload": {},
"timestamp": "string"
}
Response examples (200)
{
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}