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
idstringThe event's id, 16 letters and digits. The same event delivered to two endpoints has the same
id.typestringWhat happened. See the events.
One of
pact.sent pact.viewed pact.signed pact.declined pact.voided pact.sealed pact.lapsed pingcreatedstring (date-time)When it happened.
dataobjectWhat it is about.
ShowHide child attributes
pactobjectThe pact as it was at that instant, without
fields and events; get the pact for those. Not on a ping.ShowHide pact attributes
uidstringThe pact's id: 8 letters and digits.
titlestringShown to signers and in emails (150 characters at most).
statusstringSee Pact lifecycle.
One of
draft sent sealed declined voided lapsedmessagestring | nullYour note in the invitation email.
page_countintegerPages in the document.
created_bystringWhere it was created: the dashboard, the API or the MCP server.
One of
web api mcpcurrent_signerinteger | nullThe
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) | nullWhen it was sent.
date_lapsesstring (date-time) | nullWhen it lapses if it is not sealed first.
date_sealedstring (date-time) | nullWhen the last signer signed.
date_updatedstring (date-time)When anything about it last changed.
documents_chargedinteger | nullDocuments it used when it was sent.
null on a draft.documents_costinteger | nullWhat sending this draft will use: one document per 3 signers, rounded up. Only set on a draft.
sent_sha256stringSHA-256 (lowercase hex) of the PDF as sent. The sigil records it too.
signed_sha256string | nullSHA-256 of the signed PDF, once sealed.
recipientsarray of objectsSigners in order, then CCs.
ShowHide recipient attributes
orderintegerPosition, starting at 1. Signers come first, numbered in the order you gave them; CCs follow.
rolestringSigners sign in order; a CC gets the finished copy.
One of
signer ccnamestringThe recipient's name.
emailstringThe recipient's address, lowercased.
statusstringWhere this recipient is.
One of
pending viewed signed declineddate_viewedstring (date-time) | nullWhen they first opened their signing link.
date_signedstring (date-time) | nullWhen they signed.
typed_namestring | nullThe full name they typed when signing.
decline_reasonstring | nullTheir reason, if they declined.
signing_urlstringThe 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.linksobjectWhere to get the files.
recipientobjectThe signer the event is about, as in the pact's
recipients.Only on
pact.viewed, pact.signed and pact.declined.ShowHide recipient attributes
orderintegerPosition, starting at 1. Signers come first, numbered in the order you gave them; CCs follow.
rolestringSigners sign in order; a CC gets the finished copy.
One of
signer ccnamestringThe recipient's name.
emailstringThe recipient's address, lowercased.
statusstringWhere this recipient is.
One of
pending viewed signed declineddate_viewedstring (date-time) | nullWhen they first opened their signing link.
date_signedstring (date-time) | nullWhen they signed.
typed_namestring | nullThe full name they typed when signing.
decline_reasonstring | nullTheir reason, if they declined.
endpointobjectThe endpoint pinged: its
uid and url.Only on a
ping.