eESignDocs

Webhooks

Webhooks notify your systems when signing events happen, so you don't have to poll the API. Register an HTTPS endpoint and ESign will POST a JSON event to it.

Events

  • document.sent — a document was sent for signature.
  • recipient.signed — a recipient completed their fields.
  • document.completed — all recipients signed; the sealed PDF is ready.
  • document.declined — a recipient declined to sign.
  • document.expired — the document passed its expiry without completion.

Payload

{
  "id": "evt_...",
  "type": "document.completed",
  "createdAt": "2026-06-17T01:23:45.000Z",
  "data": {
    "documentId": "doc_...",
    "status": "completed"
  }
}

Verifying signatures

Each delivery is signed with your endpoint's secret in an X-ESign-Signature header. Compute the HMAC of the raw request body with your secret and compare it in constant time before trusting the event.

Delivery & retries

  • Respond with 2xx quickly to acknowledge receipt; do heavy work asynchronously.
  • Failed deliveries are retried with exponential backoff.
  • Events may be delivered more than once — use the event id to deduplicate.