Webhook Logs

Overview

Webhook logs allow you to inspect recent webhook delivery attempts sent by QuicklySign. This is useful for debugging callback failures, verifying delivery, and reviewing the order of events.


List Webhook Callback Logs

Endpoint:

GET /v1/webhook_callback_logs?client_id={{client_id}}&client_secret={{client_secret}}

Optional Query Parameters

ParameterDescription
entity_keyFilter logs by the document pack key you subscribed to.
webhook_keyFilter logs to a specific webhook subscription.

You can include only one of these parameters.


Example Response

{
  "status": { "status_code": 200 },
  "data": {
    "webhook_callback_logs": [
      {
        "key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2ciQLEhdTdWJzY3JpcHRpb25DYWxsYmFja0xvZxiAgICAgMirCgw",
        "entity_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chULEghEb2N1bWVudBiAgICAgMDvCww",
        "callback_event": "document_status_changed",
        "log": "Successful call to url https://yourapp.com/callback. Received 200 response",
        "subscriber_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chgLEgtBcHBsaWNhdGlvbhiAgICAgICgCAw",
        "subscription_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chkLEgxTdWJzY3JpcHRpb24YgICAgIDI0woM",
        "date_created": 1401652689892,
        "date_updated": 1401652689892
      },
      {
        "key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2ciQLEhdTdWJzY3JpcHRpb25DYWxsYmFja0xvZxiAgICAgMirCAw",
        "entity_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chULEghEb2N1bWVudBiAgICAgMDvCww",
        "callback_event": "document_status_changed",
        "log": "Calling callback url https://yourapp.com/callback.",
        "subscriber_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chgLEgtBcHBsaWNhdGlvbhiAgICAgICgCAw",
        "subscription_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chkLEgxTdWJzY3JpcHRpb24YgICAgIDI0woM",
        "date_created": 1401652689860,
        "date_updated": 1401652689860
      }
    ]
  }
}

Understanding Log Entries

Each log entry provides a detailed outcome of a webhook delivery attempt.

FieldDescription
keyUnique identifier for this log entry
entity_keyDocument pack key associated with the webhook
callback_eventEvent that triggered the webhook (e.g., document_status_changed)
logDetailed delivery message including callback URL, response code, and errors
subscriber_keyInternal key identifying your subscription to this webhook
subscription_keyLegacy field from V0 subscriptions
date_createdTimestamp of when the delivery attempt was created
date_updatedTimestamp of the last update for this attempt
_idOptional internal identifier

Example Log Entry

{
  "key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2ciQLEhdTdWJzY3JpcHRpb25DYWxsYmFja0xvZxiAgICAgMirCgw",
  "entity_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chULEghEb2N1bWVudBiAgICAgMDvCww",
  "callback_event": "signatory_updated",
  "log": "Calling callback url https://yourapp.com/callback.",
  "subscriber_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chgLEgtBcHBsaWNhdGlvbhiAgICAgICgCAw",
  "subscription_key": "ahNkZXZ-cXVpY2tseXNpZ24tZGV2chkLEgxTdWJzY3JpcHRpb24YgICAgIDI0woM",
  "date_created": 1750167875566.343,
  "date_updated": 1750167875566.346,
  "_id": "your_id"
}

FAQ


1. Can I filter logs by webhook or document pack?

Yes, use entity_key to filter by document pack, or webhook_key to filter by a specific webhook subscription.


2. What does the log field contain?

It shows the result of each webhook attempt: callback URL, response code, and any error messages.


3. Are logs chronological?

Yes, entries are returned in order of creation: oldest first, newest last.


4. How do I debug failed deliveries?

Inspect the log field for each entry.

QuicklySign automatically retries failed deliveries using exponential backoff.