Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spitshake.io/llms.txt

Use this file to discover all available pages before exploring further.

Preferences control signing behavior at three levels. When the same key exists at multiple levels, the submission preference wins, then template, then account settings.
Submission preference  →  Template preference  →  Account setting
     (highest)                                       (lowest)

Template preferences

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

Signing behavior

KeyTypeDefaultDescription
quick_sign_modestring"normal"Signing UX mode. See Quick sign modes.
redirect_urlstringnullURL to redirect signers after completion.
disable_start_screenbooleanfalseSkip the “Welcome” start page and go directly to signing.
start_screen_titlestringnullCustom title for the start page (e.g. “Review Your Agreement”).
start_screen_messagestringnullCustom message body for the start page.
skip_start_when_prefilledbooleanfalseAuto-skip the start page when all required fields are pre-filled or auto-generatable.
auto_prefill_signaturesbooleantrueAuto-generate typed signatures and initials from the submitter’s name.
require_email_2fabooleanfalseRequire email verification code before the signer can access the document.

Branding

KeyTypeDefaultDescription
primary_button_colorstringAccount defaultHex color for buttons and accents (e.g. "#3A9191"). Overrides the account-level setting.

ESIGN disclosure

KeyTypeDefaultDescription
esign_disclosure_enabledbooleantrueShow the ESIGN Act consent modal before signing. Required for legal compliance in most cases.
esign_disclosure_titlestring"Consent to Electronic Records & Signatures"Custom modal title.
esign_disclosure_bodystringFederal default textCustom disclosure body. Leave blank for the built-in federally-compliant text.
esign_disclosure_agree_button_textstring"I Agree & Continue"Custom button label.
esign_disclosure_bypass_acknowledgedbooleanfalseB2B acknowledgment that the sender takes responsibility for bypassing the disclosure. Both this AND esign_disclosure_enabled: false must be set to suppress the modal.

Variables

KeyTypeDefaultDescription
variablesarray[]Template variables for dynamic content. Each entry: { "key": "company_name", "label": "Company Name" }.

Example

PUT /api/templates/tpl_7VQhP2tM9xA1kR8bN
{
  "preferences": {
    "quick_sign_mode": "confirmation_modal",
    "redirect_url": "https://yourapp.com/thank-you",
    "disable_start_screen": true,
    "auto_prefill_signatures": true,
    "primary_button_color": "#3A9191",
    "esign_disclosure_enabled": true,
    "esign_disclosure_title": "Electronic Signature Consent",
    "esign_disclosure_body": "By proceeding, you consent to electronic signing."
  }
}

Submission preferences

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

Signing behavior

KeyTypeDefaultDescription
quick_sign_modestringTemplate defaultOverride the template’s quick sign mode for this submission.
completed_redirect_urlstringTemplate defaultOverride the post-completion redirect URL.

Email customization

KeyTypeDefaultDescription
message_subjectstringAccount defaultCustom email subject. Supports placeholders.
message_bodystringAccount defaultCustom email body. Supports placeholders.
reply_tostringnullReply-to email address for invitation emails.
bcc_completedstringnullBCC email address for completion notifications.
Available placeholders: {{template.name}}, {{submitter.name}}, {{submitter.email}}, {{submitter.link}}, {{account.name}}

Variable values

KeyTypeDefaultDescription
variable_valuesobject{}Key-value pairs for template variables. Keys must match variables defined in the template preferences.

Pre-fill behavior

Pass as a top-level prefill_behavior parameter (not inside preferences):
KeyTypeDefaultDescription
skip_if_prefilledbooleantruePre-filled fields are skipped in the field-by-field navigation (but still rendered as read-only overlays on the document).
editable_if_prefilledbooleanfalseWhether signers can edit pre-filled values.

Example

POST /api/submissions
{
  "template_id": "tpl_7VQhP2tM9xA1kR8bN",
  "send_email": true,
  "submitters": [{
    "email": "signer@example.com",
    "name": "Jane Smith",
    "values": {
      "Client Legal Name": "Acme Corp",
      "Effective Date": "2026-04-21"
    }
  }],
  "preferences": {
    "quick_sign_mode": "confirmation_modal",
    "completed_redirect_url": "https://yourapp.com/done",
    "message_subject": "{{account.name}} — Please sign {{template.name}}",
    "message_body": "Hi {{submitter.name}}, your documents are ready."
  },
  "prefill_behavior": {
    "skip_if_prefilled": true,
    "editable_if_prefilled": false
  }
}

Account settings

Set via PUT /api/settings in the settings object. These are the lowest-priority defaults — overridden by template and submission preferences.
KeyTypeDescription
company_namestringOrganization name shown in emails and signing page header.
logo_urlstringLogo URL for emails and signing page (recommended: 200x50px).
primary_button_colorstringDefault brand color for all templates.
completion_messagestringCustom message shown on the signing page after completion. Falls back to default if blank.
redirect_urlstringDefault redirect URL for all templates.
signature_id_enabledbooleanShow signature ID on signed documents.
download_enabledbooleanAllow signers to download signed documents.
show_confettibooleanShow confetti animation on completion.
show_brandingbooleanShow “Powered by SpitShake” attribution.
cache_signatures_locallybooleanCache signature drawings in the browser for reuse.

Priority resolution

When the same concept is configurable at multiple levels:
SettingSubmissionTemplateAccount
Quick sign modepreferences.quick_sign_modepreferences.quick_sign_mode
Redirect URLpreferences.completed_redirect_urlpreferences.redirect_urlsettings.redirect_url
Button colorpreferences.primary_button_colorsettings.primary_button_color
ESIGN disclosurepreferences.esign_disclosure_*
Completion messagesettings.completion_message
Email subject/bodypreferences.message_subject/bodysettings.email_templates
The signing page resolves each setting top-down: submission first, then template, then account. The first non-null value wins.