MCP tool
resend_pact
Email the current signer a fresh link. Free; the old link stops working.
Makes changes
What the model sees
The tool's own description, which is how the assistant decides when to use it:
Emails a fresh signing link to the signer whose turn it is. The previous link stops working.
Arguments
uidstringrequiredThe pact's uid (8 characters).
Returns
The pact. It comes back as a single text content item holding this JSON.
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.
fieldsarray of objectsThe pact's own copy of the fields, with values as signers fill them in.
Single-pact responses only.
ShowHide field attributes
idinteger | nullThe field's id on a pact.
null on a template.recipientintegerThe signer the field belongs to: the number in its glyph (
\s2\ → 2), or the signer it was given to in the website's field editor.typestringWhat the signer provides.
One of
signature initials name date text checkboxpageintegerThe page it is on, starting at 1.
xnumberDistance from the page's left edge, in PDF points (1/72 inch).
ynumberDistance from the top of the page to the box's bottom edge, in points: the glyph's text baseline. Signatures stand on that line.
widthnumberThe box's width in points: set by the field type for a glyph, as drawn for a field placed by hand on the website.
heightnumberThe box's height in points: set by the field type for a glyph, as drawn for a field placed by hand on the website.
labelstring | nullThe label from the glyph, such as
Company in \t1:Company\, or the one typed in the field editor.requiredbooleanfalse when the glyph ends in ! (\t1:Phone!\, \c1!\), or when the field was made optional in the field editor.valuestring | nullWhat was filled in, once that signer has signed: text as typed,
"1" or "0" for a checkbox, the typed name for name, and the signing date (MM/dd/yyyy, UTC) for date. Signatures and initials are images on the PDF, so they stay null.eventsarray of objectsThe audit trail, oldest first.
Single-pact responses only.
ShowHide event attributes
eventstringWhat happened.
One of
created fields sent emailed email_failed viewed consented signed declined sealed copy_emailed copy_email_failed voided reissuedatstring (date-time)When it happened.
bystring | nullWho did it: your email address, or the signer's.
null for what the system does on its own, such as sealing.tostring | nullWho an email went to, for
emailed, email_failed, reissued, copy_emailed and copy_email_failed.notestring | nullDetail, such as
signer 2, the consent version, or the reason given for voiding or declining.warningstringSet when an invitation email could not be delivered. The action still happened: resend the link, or check the address.
Only on create (with
send), send and resend responses, and only when an email failed.Errors
A failure comes back as a tool result with isError: true whose text is An error occurred invoking 'resend_pact': followed by the message, so the assistant can read it and tell you. The messages include:
No pact '{uid}'.This pact is not waiting on a signature.This pact has lapsed. Create a new one from the same template.