Docs

Objects

The event body

What a webhook endpoint receives: one POST per event, with a JSON body that names the event and carries the pact as it was at that moment.

The same body is kept as the delivery's payload, so what you see in Get a delivery is byte for byte what was posted and signed. The headers that come with it are described in the guide.

Attributes

idstring
The event's id, 16 letters and digits. The same event delivered to two endpoints has the same id.
typestring
What happened. See the events.
One of pact.sent pact.viewed pact.signed pact.declined pact.voided pact.sealed pact.lapsed ping
createdstring (date-time)
When it happened.
dataobject
What it is about.
ShowHide child attributes
pactobject
The pact as it was at that instant, without fields and events; get the pact for those. Not on a ping.
ShowHide pact attributes
uidstring
The pact's id: 8 letters and digits.
titlestring
Shown to signers and in emails (150 characters at most).
statusstring
See Pact lifecycle.
One of draft sent sealed declined voided lapsed
messagestring | null
Your note in the invitation email.
page_countinteger
Pages in the document.
created_bystring
Where it was created: the dashboard, the API or the MCP server.
One of web api mcp
current_signerinteger | null
The order of the signer whose turn it is while the pact is sent; otherwise null.
date_createdstring (date-time)
When the draft was created.
date_sentstring (date-time) | null
When it was sent.
date_lapsesstring (date-time) | null
When it lapses if it is not sealed first.
date_sealedstring (date-time) | null
When the last signer signed.
date_updatedstring (date-time)
When anything about it last changed.
documents_chargedinteger | null
Documents it used when it was sent. null on a draft.
documents_costinteger | null
What sending this draft will use: one document per 3 signers, rounded up. Only set on a draft.
sent_sha256string
SHA-256 (lowercase hex) of the PDF as sent. The sigil records it too.
signed_sha256string | null
SHA-256 of the signed PDF, once sealed.
recipientsarray of objects
Signers in order, then CCs.
ShowHide recipient attributes
orderinteger
Position, starting at 1. Signers come first, numbered in the order you gave them; CCs follow.
rolestring
Signers sign in order; a CC gets the finished copy.
One of signer cc
namestring
The recipient's name.
emailstring
The recipient's address, lowercased.
statusstring
Where this recipient is.
One of pending viewed signed declined
date_viewedstring (date-time) | null
When they first opened their signing link.
date_signedstring (date-time) | null
When they signed.
typed_namestring | null
The full name they typed when signing.
decline_reasonstring | null
Their reason, if they declined.
signing_urlstring
The private link for the signer whose turn it is. Anyone with it can sign as that person, so only give it to them.
Only with include_links=1, and only on the waiting signer.
linksobject
Where to get the files.
ShowHide child attributes
documentstring (URL)
The document as sent (download).
signedstring (URL) | null
The signed PDF, once sealed (download).
sigilstring (URL) | null
The sigil (certificate of completion), once sealed (download).
dashboardstring (URL)
The pact's page on the dashboard (needs a login).
recipientobject
The signer the event is about, as in the pact's recipients.
Only on pact.viewed, pact.signed and pact.declined.
ShowHide recipient attributes
orderinteger
Position, starting at 1. Signers come first, numbered in the order you gave them; CCs follow.
rolestring
Signers sign in order; a CC gets the finished copy.
One of signer cc
namestring
The recipient's name.
emailstring
The recipient's address, lowercased.
statusstring
Where this recipient is.
One of pending viewed signed declined
date_viewedstring (date-time) | null
When they first opened their signing link.
date_signedstring (date-time) | null
When they signed.
typed_namestring | null
The full name they typed when signing.
decline_reasonstring | null
Their reason, if they declined.
endpointobject
The endpoint pinged: its uid and url.
Only on a ping.