Template preferences
Set viaPUT /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 withbrand_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 viaPOST /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-levelprefill_behavior parameter (not inside preferences):
Example
Account settings
Set viaPUT /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:
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 absolutehttp(s) URL in this list:
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.
