Skip to main content

Webhooks

Event catalog

7event types cover the envelope lifecycle and each signer's progress through it.

On this page

Supported events

Use the event_type value below as the eventType field when subscribing. An unrecognized value is rejected with 400.

Event typeDescriptionTrigger
envelope.sentEnvelope was sent to signers.after envelope creation and first email dispatch
envelope.completedAll signers signed and the final PDF is available.after last signer signs successfully
envelope.voidedEnvelope was voided by the sender.when envelope status transitions to Voided
signer.openedA signer opened the envelope for the first time.signer's first email link click
signer.signedA single signer completed signing (mid-flow, not final).each signer's completion
signer.declinedA signer declined to sign the envelope.when signer clicks Decline
signer.delegatedA signer delegated their slot to another person.when signer submits the delegation form

envelope.completed vs signer.signed

signer.signed fires for each signer as they finish, mid-flow. envelope.completed fires once, after the last signer, and is the event to listen for when you want the final PDF.

Test events

One further event type never comes from a subscription: inkfree.test, dispatched by the test endpoint. It creates a real delivery record and exercises the full signing path, so it is the reliable way to check a receiver before going live.

Fetching the catalog

The catalog is also served as JSON, with no authentication, so an integration can populate an event picker at runtime rather than hardcoding the list:

curl
curl "https://api-uat.softsages.com/core/public/inkfree/webhooks/events"
200 response
{
  "version": "1.0",
  "events": [
    {
      "event_type": "envelope.sent",
      "description": "Envelope was sent to signers.",
      "trigger": "after envelope creation and first email dispatch"
    },
    {
      "event_type": "envelope.completed",
      "description": "All signers signed and the final PDF is available.",
      "trigger": "after last signer signs successfully"
    },
    {
      "event_type": "envelope.voided",
      "description": "Envelope was voided by the sender.",
      "trigger": "when envelope status transitions to Voided"
    },
    {
      "event_type": "signer.opened",
      "description": "A signer opened the envelope for the first time.",
      "trigger": "signer's first email link click"
    },
    {
      "event_type": "signer.signed",
      "description": "A single signer completed signing (mid-flow, not final).",
      "trigger": "each signer's completion"
    },
    {
      "event_type": "signer.declined",
      "description": "A signer declined to sign the envelope.",
      "trigger": "when signer clicks Decline"
    },
    {
      "event_type": "signer.delegated",
      "description": "A signer delegated their slot to another person.",
      "trigger": "when signer submits the delegation form"
    }
  ]
}