Docs

Pacts

List pacts

Your pacts, most recently updated first, filtered by status and paged.

GET/v1/pacts

List items carry recipients and links but not fields or events; get the pact for those. Pacts past their date_lapses are marked lapsed before the list is read.

Authorization

Authorizationstringheaderrequired
Bearer followed by your API key: Bearer sgk_…. The key also works in an X-Api-Key header. See Authentication.

Query parameters

statusstringquerydefault: all
all, active (drafts and sent pacts), or one status.
One of all active draft sent sealed declined voided lapsed
limitintegerquerydefault: 50
Pacts per page, 1 to 200.
offsetintegerquerydefault: 0
How many to skip.

Response

200 OKOne page of pacts.
dataarray of objects
The pacts, without fields and events.
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).
totalinteger
Pacts matching status, across all pages.
limitinteger
The page size used.
offsetinteger
The offset used.

Errors

StatusWhen
400 Bad RequestUnknown status, or limit or offset out of range.
401 UnauthorizedThe API key is missing, wrong or revoked.
403 ForbiddenThe account's plan does not include API access (Pro and Business do).

Every error body is { "error": "message" }. See Errors.