Skip to main content
A submitter is an individual signer within a submission. Each submitter is assigned to a role defined in the template, has their own secure signing link, and progresses through an independent status lifecycle. You can track when they opened, signed, or declined the document, pre-fill their fields, and resend invitations.

Submitter object

The standard submitter object returned by list endpoints:

Full submitter object

When retrieving a single submitter by ID, the response includes additional detail:

Additional fields in the detail response

Status lifecycle

Each submitter progresses through a series of statuses independently from other submitters in the same submission.
In sequential signing order, submitters start in waiting status and move to sent only when the previous submitter completes. In parallel signing, all submitters are sent invitations immediately and skip the waiting state.

Status transitions

The status only moves forward — a submitter cannot go back to a previous status. The possible transitions are:

Listing submitters

Retrieve all submitters across your account, optionally filtered by submission, status, or external ID.

Filter parameters

Response:

Filter by submission

Retrieve all submitters for a specific submission:

Filter by external ID

Find a submitter by your custom identifier:

Retrieving a submitter

Get the full detail for a single submitter:
This returns the full submitter object with values, metadata, preferences, events, and nested template/submission data.

Updating a submitter

Update a submitter’s details before they have completed their form. You can change their name, email, phone, external ID, metadata, and pre-filled values.
Response:

Updatable fields

You cannot update a submitter whose status is completed, declined, or expired. The API returns a 422 Unprocessable Entity error for updates to finalized submitters.

Resending invitations

If a submitter has not received or has lost their invitation email, resend it:
Response:
Resending updates the sent_at timestamp. You can only resend to submitters in sent or opened status. Submitters in waiting status have not yet reached their turn in sequential signing.

External ID mapping

The external_id field lets you associate a submitter with a record in your own system — a CRM contact, a user account, an order ID, or any other identifier.

Setting external IDs at creation

Looking up by external ID

This returns all submitters with the matching external ID across all submissions. Use this to check if a specific contact has any pending or completed signing requests.

Common patterns

Each submitter has a unique signing link constructed from their slug:
For example, submitter with slug r7t2q9v4 signs at https://spitshake.io/s/r7t2q9v4.
  • Embedded flows: Generate the signing URL server-side and redirect the user, or embed it in an iframe.
  • Custom emails: If you handle email delivery yourself (with send_email: false), include this link in your email templates.
  • In-app signing: Open the signing link in a modal or new tab within your application.
For production embedded signing, consider using JWT bearer tokens with the DocuTrust JavaScript SDK instead of raw signing links. JWTs provide scoped access control and do not expose permanent signing URLs.