Skip to content
Developer API

Webhooks

Receive real-time HTTP notifications when documents are viewed, signed, completed, or declined.

Last updated April 15, 2026

Overview

Webhooks send HTTP POST requests to your endpoint whenever document events occur. This lets you build real-time integrations without polling the API.

Setting Up Webhooks

Via Dashboard

  1. Go to Dashboard → Developer APIs → Webhooks tab
  2. Click Create Webhook
  3. Enter your endpoint URL (must be HTTPS)
  4. Select the events you want to receive
  5. Copy the Webhook Secret for signature verification

Via API


Event Types

EventTriggered When
document.createdA new document is created
document.sentA document is sent for signature
document.viewedA signer opens the document
document.signedA signer completes their signature fields
document.completedAll signers have signed the document
document.declinedA signer declines to sign
document.voidedThe sender voids (cancels) the document
document.expiredThe signing period expires

Webhook Payload

All webhooks share a common payload structure:


Signature Verification

Every webhook request includes an X-Webhook-Signature header. Verify it to ensure the request is authentic:



Retry Policy

If your endpoint returns a non-2xx status code or times out (30 seconds), ZiaSign retries with exponential backoff:

AttemptDelay
1st retry1 minute
2nd retry5 minutes
3rd retry30 minutes
4th retry2 hours
5th retry12 hours
6th retry24 hours

After 6 failed attempts, the delivery is marked as failed and you receive an email notification. You can view and manually retry failed deliveries in the dashboard.

Testing Webhooks

Use the Test button in the dashboard to send a sample event to your endpoint. You can also use the sandbox environment to trigger real events without affecting production data.

Frequently asked questions

How do I verify webhook signatures?

Each webhook includes an X-Webhook-Signature header containing an HMAC-SHA256 signature. Verify it using your webhook secret to confirm the request came from ZiaSign.

What happens if my endpoint is down?

ZiaSign retries webhook deliveries with exponential backoff: 1 min, 5 min, 30 min, 2 hours, 12 hours, 24 hours. After 6 failed attempts, the delivery is marked as failed.

Can I receive webhooks for specific events only?

Yes. When creating a webhook subscription, you select which events to subscribe to. You can update the event list at any time.

Related documentation