EaserixDocs
DevelopersAPI referenceSignDocuments

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.

View as Markdown
GET
/v1/recipients/suggest
AuthorizationBearer <token>

In: header

Query Parameters

q?string

What the sender has typed. Matched case-insensitively against email and name (kind=person, the default) or against the label alone (kind=group). Omit or leave blank for the most recently used.

limit?integer

Maximum suggestions to return. A larger value is accepted and silently capped at 25 — the ceiling is the server's, so no maximum is declared here that would make a spec-validating client refuse to send what the server handles.

Range1 <= value
Default10
kind?string

person (default) suggests people. group suggests previously-used signer-group labels instead — see the endpoint description.

Default"person"

Value in

  • "person"
  • "group"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/recipients/suggest"
{  "suggestions": [    {      "email": "[email protected]",      "name": "string",      "source": "history",      "lastUsedAt": "2019-08-24T14:15:22Z"    }  ]}