Skip to main content
Preferences control signing behavior at three levels. When the same key exists at multiple levels, the submission preference wins, then template, then account settings.
Branding keys have two extra layers — a named brand and the sending custom domain. See Priority resolution.

Template preferences

Set via PUT /api/templates/:id in the preferences object.

Signing behavior

Branding

Everything the signer sees in the signing page header — and in the invitation, reminder and completion emails — resolves key by key through submission › submission’s brand › template › template’s brand › custom domain › account (full rules in Priority resolution). A brand is a named set of these keys saved on the account and selected with brand_id, for accounts that sign on behalf of more than one brand. The custom-domain level is the branding of the domain the submission is sent on, so choosing a domain brings its look with it.

Domain

ESIGN disclosure

Variables

Example


Submission preferences

Set via POST /api/submissions in the preferences object. These override template-level preferences for the specific submission.

Signing behavior

Branding

Same keys as the template Branding table — display_title, logo_url, favicon_url, company_name, primary_button_color, header_color, show_branding and brand_id — each overriding the template and account for this submission only. Use these to brand a document for the signer’s counterparty (e.g. "display_title": "Acme Legal Retainer"). A submission’s brand_id replaces the template’s brand: the template’s brand is not used at all, even for keys the submission’s brand leaves unset (the template’s own branding keys still apply). A submission brand_id that is not one of your brands is ignored, and the template’s brand is still not used.

Domain

An unknown or inactive domain is rejected before anything is sent. The message lists your active domains (or says “none yet”):

Email customization

Available placeholders: {{template.name}}, {{submitter.name}}, {{submitter.email}}, {{submitter.link}}, {{account.name}}

Variable values

Pre-fill behavior

Pass as a top-level prefill_behavior parameter (not inside preferences):

Example


Account settings

Set via PUT /api/settings in the settings object. These are the lowest-priority defaults — overridden by template and submission preferences.

Priority resolution

When the same concept is configurable at multiple levels: The signing page resolves each setting top-down: submission first, then template, then account. The first non-null value wins. The redirect is the exception: it has no account level (see below). Branding is resolved per key through six layers, and the first non-empty value (null and "" are skipped) wins:
A submission’s brand_id replaces the template’s brand rather than being merged with it, and any brand outranks the custom domain. An unknown or deleted brand_id contributes nothing. See Brands.

Redirect after signing

The signer is sent to the first absolute http(s) URL in this list:
The account’s settings.redirect_url is not part of the chain. With none set, the signer stays on the completion screen. When the signer finishes, they see the completion screen and are then redirected (the whole tab when the signing page is embedded in an iframe). A signer who opens the link again later, or who still has the form open in another tab, gets an Already Completed page instead. It shows a Continue link to the same URL (opened in the top window) and does not redirect on its own, so the destination is not visited twice. Writes from a stale tab are refused with 422 and "code": "already_completed", and the page reloads to show Already Completed.