Skip to main content
Every delivery has the same envelope. event is one of the names below and data is that event’s payload.
string
required
The event name.
string
required
When the event was raised, ISO 8601 in UTC.
object
required
Event-specific payload, documented per event below.
Package events describe the package as a whole. Session events describe one recipient’s turn on a package. A recipient’s recipientName and recipientEmail are nullable because a session can exist before the recipient is known. Every event also carries the package’s custom field values:
object
required
The package’s custom field values, keyed by the custom field’s key. Only fields with a value appear; {} when none are set. Keys are managed under Settings → Custom fields.
The same schemas are published in the OpenAPI spec as WebhookPayload_<EVENT> components, so you can generate types for your listener.

Package events

PACKAGE_SENT

Raised once when a package is sent and its signing sessions are created.
string
required
string
required
integer
required
Number of recipients who must act on the package.
integer
required
Number of sessions invited immediately. Lower than signerCount when recipients sign in order.

PACKAGE_COMPLETED

Raised when the last recipient finishes and the package becomes COMPLETED.
string
required
string
required
string
required
ISO 8601 timestamp.

PACKAGE_DECLINED

Raised when a recipient’s decline ends the package as DECLINED.
string
required
string
required
string | null
required
The reason the recipient gave, if any.

PACKAGE_VOIDED

Raised when a package is voided by a member or through the API.
string
required
string
required
Email address of the member who voided it, or system.

PACKAGE_EXPIRED

Raised when a package passes its expiry date unsigned.
string
required
string
required

Session events

All session events share these fields:
string
required
string
required
Matches recipientSessions[].id on GET /api/v1/packages/{packageId}.
string | null
required
string | null
required

SESSION_SENT

Raised when a recipient’s invitation is sent. In a sequential package this happens when it becomes their turn.
string
required

SESSION_OPENED

Raised when the recipient opens their session. Carries the shared fields only.

SESSION_COMPLETED

Raised when the recipient finishes their session.
string
required

SESSION_DECLINED

Raised when the recipient declines to sign. A PACKAGE_DECLINED event follows when the decline ends the package.
string
required
string | null
required
The reason the recipient gave, if any.