EaserixDocs
DevelopersAPI referenceSignDocuments

The tokenised signing URL for one recipient (owner only)

Returns the link a recipient received by email, so the owner can hand it over another way. Restricted to the document's owner and never included in the document payload: the token in this URL is the recipient's authority to sign, and org sharing widens read access, so exposing it on the document would let any teammate who can view the envelope sign in a recipient's name. Retrieval is written to the audit trail as signing_link_copied. For a signer-group slot (EAS-125), url/email mirror the first still-live member and members lists every member with an active (not yet declined or invalidated) link.

View as Markdown
GET
/v1/documents/{id}/recipients/{rid}/signing-link
AuthorizationBearer <token>

In: header

Path Parameters

id*string
rid*string

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/documents/string/recipients/string/signing-link"
{  "url": "http://example.com",  "recipientId": "string",  "email": "[email protected]",  "members": [    {      "memberId": "string",      "name": "string",      "email": "[email protected]",      "url": "http://example.com"    }  ]}

Copy a document into a new draft

Creates a fresh draft owned by the caller with the same file, recipients and field placements, and none of the signing state — no tokens, signatures, or viewed/signed timestamps, and filled values dropped. The file blob is copied rather than shared, so deleting either document cannot affect the other. For re-running an agreement without rebuilding its layout.

Suggest recipients as the sender types

The recipient picker's memory. Merges two sources and de-duplicates them by lowercased email: people the caller has sent to before, read out of the recipients of documents the caller may READ (their own, plus documents a teammate shared with the workspace — a teammate's PRIVATE document never contributes), and the members of the caller's workspace, which the auth service owns and is asked for with the caller's own bearer token. Document-agnostic on purpose: the editor already knows who is on the document in front of it, so filtering out people already added is the client's job. Ranking puts email matches ahead of name matches and prefixes ahead of infixes, then someone already sent to ahead of a colleague who hasn't been, then most recently used. An empty q returns the most recently used recipients, newest first, with workspace members filling the remainder. Degrades rather than fails: if the auth service is slow or unreachable the response is still 200 with send history alone, so the field the caller is typing into never breaks. Not paginated, deliberately. limit is a ceiling, not a window: there is no cursor and no offset, and a larger limit is capped rather than paged. Send history is stored as one row per time someone was added to a document, so an offset would skip rows rather than people and a second page would mostly repeat the first after de-duplication — and the member half has no cursor to page at all. Narrow with q instead. Browsing the full contact list is a separate surface, not a page of this one. kind=group switches this same endpoint to a different resource entirely: previously-used signer-group labels (EAS-125+) instead of people, matched by label text only. There is no workspace-roster merge for this kind — a label isn't an identity — so the response is shaped differently (GroupLabelSuggestion, not RecipientSuggestion): each entry also carries the member roster from that label's most recent use, offered as one-click additions once the new group exists, never added by this endpoint itself. Same tenancy boundary as the person path: a label (and its roster) is only ever suggested from a document the caller may read.