← FlexAPI Documentation / API Calls / SubmitDocument

SubmitDocument

The SubmitDocument method is the core of any SIGNIX integration. It submits a set of documents for secure delivery to, and optional viewing and signature by, a set of end users (signers / parties) under a single cover. Note that despite the term 'Document,' the call is actually used to start an entire SIGNiX transaction. It can be used for multiple documents.

After the SIGNiX system successfully receives the set of submitted documents, it performs additional checks and then may send an email to the first party with a link to click to pick up the documents in order to sign and/or view them (depending on integration use case).

 

SubmitDocument - Request XML

Because the request XML for SubmitDocument is large, an overview of its structure is given below. Only elements that contain other elements are shown here. As in the notation for regular expressions, '+' indicates the element appears once or more than once, and '|' indicates a choice of alternatives. Parentheses indicate optional elements, and indentation indicates embedding.

SubmitDocumentRq
  CustInfo
  Data
    (MemberInfo)+
    (Form)+
      (SignatureLine | InitialLine | View)+

The detailed structure of the request is specified in the XML schema file. An annotated example of the request XML follows. Sample values are placeholders (YOUR_*), and the comments in the sample summarize the field notes in the section below it.

Before you test

  • Include Demo. It is required on SubmitDocument (and only there) and takes yes or no. If it is missing, the error is a vague "Required CustInfo parameter not specified" that does not name the field. Sending Demo on DownloadDocument, GetAccessLink or ConfirmDownload is a schema error. Note that the Demo element is required regardless of environment.
  • Mind the element order. Inside Data the order is: TransactionID and the descriptive elements, SuspendOnStart, ClientPreferences, MemberInfo, MeetingInfo, then Form. Inside MemberInfo, Service comes before MobileNumber. A wrong order produces schema errors that do not mention order.
  • Trim your credentials. Stray spaces in Sponsor, Client, UserId, Pswd or Workgroup cause opaque authentication failures, and Workgroup is case-sensitive.
  • Start small. Get one signer using SelectOneClick, one PDF and SuspendOnStart set to no working first, then add features one at a time.
SubmitDocument - annotated request
<?xml version="1.0" ?>
<SubmitDocumentRq xmlns="urn:com:signix:schema:sdddc-1-1">

  <CustInfo> <!-- Occurs once only -->

    <!-- Assigned by SIGNiX when the Client is set up. All case sensitive. -->
    <Sponsor>YOUR_SPONSOR</Sponsor>
    <Client>YOUR_CLIENT</Client>
    <UserId>YOUR_USER</UserId>
    <Pswd>YOUR_PASSWORD</Pswd>

    <!-- Identifies the billing party. Appears on SIGNiX billing reports. Optional, but recommended
         when different integrator clients may be billed per transaction. Can be left blank.
         Max length 50. -->
    <BillingRef>SmithRealty</BillingRef>

    <!-- Workgroup that will have access to this transaction. Case-specific. Optional, defaults to "SDD". -->
    <Workgroup>YOUR_WORKGROUP</Workgroup>

    <!-- Required. 'yes' for demo/test, 'no' for a real transaction. Must be 'yes' on a demo/test
         server (see Web Service URL). Demo identities and documents are flagged to avoid confusion
         with real ones. -->
    <Demo>yes</Demo>

    <!-- Optional. Number of days after ConfirmDownload that the documents of a completed
         transaction are deleted. Cannot be zero. SIGNiX recommends keeping it under 180 days.
         Takes effect only if DownloadDocument sets UseConfirmDownload to true, ConfirmDownload is
         called, and SIGNiX has enabled document deletion for your account (otherwise it is
         ignored). Valid only in CustInfo. See Retention and deletion on the DownloadDocument
         page. -->
    <DelDocsAfter>90</DelDocsAfter>

    <!-- Message added to the pickup email. Not the whole email body, just a specific message to the
         signer. Length 1..10000. Allowed characters: a-zA-Z0-9 ' , . - _ : ( )
         NOT allowed: $ # @ ! % * & ^ / and backslash. -->
    <EmailContent>Your loan documents are available.</EmailContent>

  </CustInfo>

  <Data> <!-- Occurs once only -->

    <!-- Required. A unique identifier you choose for this set of documents. Exactly 36 characters.
         Resubmitting an existing TransactionID returns SC_DOCUMENT_SET_ALREADY_SUBMITTED
         (see the notes below the sample). -->
    <TransactionID>aefd45aa-6a36-4ab5-8cc8-4dc6e895fa21</TransactionID>

    <!-- Required. Length 1..100. Title of the transaction, shown on reports, audit trails and in the
         Document Center / Dashboard, so make it identifiable among other transactions (for example,
         include the primary party's name). Avoid generic titles like "Car Loan". Same character
         rules as EmailContent. -->
    <DocSetDescription>Car Loan: John Smith</DocSetDescription>

    <!-- Optional, max length 255. File name used when the end user downloads the whole set
         (Download All). Returned by DownloadDocument if provided. Should end in .zip -->
    <FileName>J-Smith_02242005_032557.zip</FileName>

    <!-- Required, max length 50. Notified when the set is completed or needs attention. Also ties the
         transaction to a user for license billing, so use a unique address for each submitter user.
         While testing, use a real address, not a fake one. -->
    <SubmitterEmail>YOUR_SUBMITTER_EMAIL</SubmitterEmail>

    <!-- Required, max length 50 total (30 per name part). Used for license billing. Must reference a
         single person, in the format FirstName LastName separated by a space. Not a single word and
         not a combination of names. -->
    <SubmitterName>Samuel Submitter</SubmitterName>

    <!-- Optional, max length 1000. Shown in emails and in signing UI popups. If omitted, SIGNiX uses
         "If you have any questions, please contact your representative at [SubmitterEmail]." -->
    <ContactInfo>If you need assistance, call 1-800-000-0000.</ContactInfo>

    <!-- Required. Legacy parameter. -->
    <DeliveryType>SDDDC</DeliveryType>

    <!-- Optional, defaults to 'no'. 'yes' suspends the transaction instead of notifying the first
         party. Set to 'yes' only if the Submitter will edit the transaction (via GetAccessLink-
         Submitter). If it goes straight to signing by email or GetAccessLink-Signer, use 'no' or
         omit. -->
    <SuspendOnStart>yes</SuspendOnStart>

    <!-- Optional. Text for the distribution (CC) email sent when the transaction completes. That
         email carries the signed documents as attachments. Use with DistributionEmailList and/or
         DistributeToSubmitter. -->
    <DistributionEmailContent>Fully executed documents attached.</DistributionEmailContent>

    <!-- Optional. Semicolon-separated addresses for the distribution (CC) email. WARNING: these
         emails carry plaintext attachments of the signed PDFs with no login. Do not use if the
         documents contain personal information. -->
    <DistributionEmailList>a@example.com; c@example.com</DistributionEmailList>

    <!-- Optional, defaults to "no". Sends the Submitter a copy of the distribution email, using
         SubmitterEmail. The same plaintext-attachment warning applies. -->
    <DistributeToSubmitter>yes</DistributeToSubmitter>

    <!-- Optional, repeating. Overrides a Client Preference for this transaction. See the Client
         Preference Overrides section below the request field notes for names and allowed values. -->
    <ClientPreference name="DateSignedTimeZone">GMT</ClientPreference>

    <!-- Optional. Overrides the notification schedule: a comma-separated list in curly braces,
         followed by units (days, hours or minutes). This example sends reminders at 10 and 60
         minutes and expires the transaction at 180 minutes. The last number is always the
         expiration. A single number means no reminders. The default schedule is {3,5,7,10} days. -->
    <ClientPreference name="NotificationSchedule">{10,60,180}minutes</ClientPreference>

    <!-- One MemberInfo per party (someone who signs or views). The order of the MemberInfo elements
         affects the workflow sequence. -->
    <MemberInfo>

      <!-- Optional, max length 50. Your identifier for this member, returned in reports. -->
      <RefID>MemberID-1</RefID>

      <!-- Optional. Signing order, starting at 1 and sequential (1,2,3). Parties sharing a number
           are parallel signers: all are notified at once, anyone may sign first, one at a time.
           The transaction moves on when the whole group has signed. -->
      <WorkflowOrder>1</WorkflowOrder>

      <!-- Identity data. SSN and DOB are always required, but real values are used only if the
           chosen Service needs them. Otherwise use the dummy values 910000000 and 00/00/0000. -->
      <SSN>910000000</SSN> <!-- Required. Format 123456789 -->
      <DOB>00/00/0000</DOB> <!-- Required. Format mm/dd/yyyy -->
      <FirstName>John</FirstName> <!-- Required. Max length 30. Do not put an email address in any name element (error as of Release 174.3). -->
      <MiddleName>Q</MiddleName> <!-- Optional. Max length 30. Can be an initial -->
      <LastName>Smith</LastName> <!-- Required. Max length 30 -->

      <!-- Required, max length 50, one per party. Must be a real address because SIGNiX will attempt
           delivery. One email per party picks up the whole set, not one per document. -->
      <Email>YOUR_SIGNER_EMAIL</Email>

      <!-- Address fields are optional, but mandatory if using KBAOneClick or KYC (Apartment only if
           it applies). -->
      <Street>1313 Mockingbird Ln</Street> <!-- Max length 30 -->
      <Apartment>Unit 604</Apartment> <!-- Max length 30 -->
      <City>Anytown</City> <!-- Max length 30 -->
      <State>NJ</State> <!-- Format AA (USPS 2-letter code) -->
      <Zipcode>07036</Zipcode> <!-- Format 12345 or 12345-6789 -->

      <!-- Required, case sensitive. Level of authentication for this party in this transaction.
           SelectOneClick is commonly used for initial testing: the signer creates a Signing
           Password but has no other authentication factor. Letting submitters choose stronger
           Services is a required part of any SIGNiX integration. See Signer Authentication. -->
      <Service>SelectOneClick</Service>

      <!-- Required for SMSNoPassword or other SMS-based services, otherwise not required. For those
           Services, a real mobile number must follow Service. No spaces. Hyphens are allowed. -->
      <MobileNumber>1112223333</MobileNumber>

    </MemberInfo>

    <!-- Additional MemberInfo elements, if needed, appear here. -->

    <!-- One Form per document. The order determines the order users see them in lists and in the
         default workflow. Maximum 99 documents (50-75 suggested). SIGNiX recommends no more than
         50-75MB in total. Per-document size limits may also apply. -->
    <Form>

      <RefID>FormID-1</RefID> <!-- Optional. Max length 50. Your identifier, returned in reports -->
      <Desc>Express Application #1</Desc> <!-- Title shown in the signing interface. Max length 100 -->
      <FileName>JSmith_Application_Form.pdf</FileName> <!-- Optional. Max length 255. Name used for the end-user download. Must be unique in the transaction and match MimeType. Returned by DownloadDocument -->
      <MimeType>application/pdf</MimeType> <!-- Max length 100. PDF: application/pdf. FDF: application/vnd.fdf (its F entry must point to a PDF, and the FDF is merged into that PDF) -->
      <FormPassword>YOUR_FORM_PASSWORD</FormPassword> <!-- Optional, defaults to blank. Owner password if the document has one. Omit otherwise -->

      <!-- Who signs or views this document. At least one SignatureLine, InitialLine or View is
           required. Parties not referenced here cannot view the document. For a given party use
           SignatureLine or View, not both. Order affects the workflow: here the first party signs,
           then the second party views. -->

      <SignatureLine> <!-- Use InitialLine instead for initials -->
        <!-- Which member signs, by position in the MemberInfo list, starting at 1. Within a Form,
             member numbers must go in increasing order. The same member may sign more than once in
             a Form by repeating the line. -->
        <MemberInfoNumber>1</MemberInfoNumber>
        <SignField>Signix_Sig_A_Signature1</SignField> <!-- Name of the PDF signature field. Max 1024, no special characters such as double quotes -->
        <DateSignedField>Signix_Sig_A_Signature1_Date</DateSignedField> <!-- Optional. Max 1024. PDF text field filled in automatically with the signing date and time -->
        <DateSignedFormat>EEE, MMM d, yyyy, h:mm a z</DateSignedFormat> <!-- Required if DateSignedField is present. Max 100. Java SimpleDateFormat. Ending with z (time zone) is strongly recommended -->
        <DateSignedTimeZone>US/Pacific</DateSignedTimeZone> <!-- Optional, default US/Eastern. Also US/Central, US/Mountain, US/Alaska, US/Hawaii, GMT, UTC -->
        <PrintedName>Signix_Sig_A_Signature1_PrintedName</PrintedName> <!-- Optional. Max 1024. PDF text field filled in with the signer's printed name -->
        <SignatureIsOptional>no</SignatureIsOptional> <!-- Optional. If used, the signer must Opt Out to skip, recorded in the audit trail. Omit if optional signatures are uncommon in your process -->
      </SignatureLine>

      <!-- Additional SignatureLine and/or InitialLine elements appear here (max 99 total). -->

      <!-- A party who must or can view the document. Cannot be combined with a signature or
           initial on the same Form for the same party. Use only when that party has none. -->
      <View>
        <MemberInfoNumber>2</MemberInfoNumber> <!-- Refers to a MemberInfo above -->
        <!-- Optional. "no" = available to read. "yes" or "must-view" = must acknowledge.
             "must-agree" = must agree. Omit if the party already has another task on the
             document. Any of the three values (rather than omitting) prevents adding drag-and-drop
             tasks in the Wizard via GetAccessLink-Submitter, unless the submitter removes the task
             with the Document Fields button. -->
        <ViewIsRequired>yes</ViewIsRequired>
      </View>

      <!-- Additional View elements appear here (max 99 total). -->

      <!-- Provide the document either as Base64 (Length and Data) or by DocumentURL. The PDF must
           be consistent with this request, for example every SignField must exist in the PDF. -->
      <Length>PDF_BYTE_LENGTH</Length> <!-- Length of the DECODED file in bytes, not of the Base64 string -->
      <Data>BASE64_PDF</Data> <!-- The entire document, Base64 encoded -->

      <!-- Alternative: a URL SIGNiX uses to fetch the document. Must begin with http:// or
           https://. Only approved sites are allowed, so contact SIGNiX before using a new one. If
           present, omit Length and Data. Client authentication is possible: see the guide
           "Authenticating SIGNiX as an HTTP/HTTPS Client". -->
      <DocumentURL>https://www.example.com/form1.pdf</DocumentURL>

    </Form>

    <!-- Additional Form elements, if needed, appear here. -->

  </Data>

</SubmitDocumentRq>

Replace the YOUR_* placeholders before sending. Comments summarize the field notes below; they are safe to remove.

SubmitDocument - Request field notes

The comments in the sample above are short summaries. The full detail behind them is here.

Transaction identity and titles

TransactionID. Identifies the set of documents submitted in this request. The value is selected by the integrator and must be a unique identifier. If a document set with the given TransactionID has already been submitted by this Client, SIGNiX returns an error (SC_DOCUMENT_SET_ALREADY_SUBMITTED). This rule addresses the possible problem of duplicate deliveries: if a communication error stops the OEM application from receiving the "success" result from SubmitDocument, the application may retry the call later. The rule may not be enforced if the transaction has already been completed and the post-completion availability period has expired, because after that time SIGNiX may scrub the transaction ID from its database. This should not present a problem, since retries after communication errors should happen in a short timeframe compared to the much longer lifetime of the transaction.

DocSetDescription. Used as the title of this transaction. Because this title is displayed on reports, audit trails, and in the Document Center / Dashboard, it is important that it be identifiable among a list of transactions. Do not, for example, set it to a generic title like "Car Loan". It is common practice to include the name of the primary party.

Allowed characters (DocSetDescription and EmailContent): a-zA-Z0-9 ' , . - _ : ( ). Not allowed: $ # @ ! % * & ^ / and backslash.

EmailContent. Adds a message to the pickup email. It is not intended to be the entire body of the email, but a specific message to the signer. Broader email content changes can be made via Account Administration.

DelDocsAfter. Optional, and valid only in CustInfo, where it goes after Demo and before EmailContent. It sets a retention policy: the number of days after ConfirmDownload that the documents of a completed transaction are deleted. The value cannot be zero, and SIGNiX recommends keeping it under 180 days. It takes effect only when ALL of the following are true: the DownloadDocument request sets UseConfirmDownload to 'true', your application calls ConfirmDownload after the download, and SIGNiX has enabled document deletion for your account. If the account is not enabled, DelDocsAfter is ignored. See Retention and deletion on the DownloadDocument page.

Warning: the deletion countdown starts at ConfirmDownload, so call ConfirmDownload only after your application has stored the downloaded documents. If you confirm too early, the documents can be deleted while your system still has no durable copy.

FileName (Data level). Used as the file name when the end user downloads the whole set of documents (Download All). If provided, it is returned in the response for the DownloadDocument method. The extension should be .ZIP.

Submitter

SubmitterEmail. Used to notify the submitter when the document set is completed or needs attention. While testing, please use a real email address, not a fake one, because the SIGNiX system will send an email and a fake address can affect email sending reputation and workflow. This email is also used to tie a transaction to a particular user and for license billing purposes, so it should be a unique email address assigned to the submitter user.

SubmitterName. Also used to tie a transaction to a particular user and for license billing. It must (a) reference a single person; (b) include a full name in the format FirstName LastName, separated by a space; (c) not be a single word (for example 'Tom'); and (d) not be a combination of multiple names (for example 'Thomas/Smith/Vivant'). Maximum 50 characters in total, and not more than 30 for each of the first, middle and last names.

ContactInfo. Text to display on emails as well as various Signing UI popups to signers. If no value is present, SIGNiX uses the default 'If you have any questions, please contact your representative at [SubmitterEmail].'

Suspending a transaction

SuspendOnStart. Indicates whether transaction preprocessing should suspend the transaction instead of notifying the first party upon submission. Suspension is typically used ONLY in embedded scenarios where the SIGNiX interface will be accessed via GetAccessLink. To resume a suspended transaction, the submitter can use a 60-second access link (see GetAccessLink - Submitter), reach the transaction's dashboard to make desired edits and Resume, or use an AJAX API call (see here) to send a Resume call.

IMPORTANT: only set to 'yes' if you plan on the Submitter editing the document (that is, via GAL-Submitter). If the transaction will go straight to signing via email or GAL-Signer, set this to 'no' or omit the parameter entirely.

Distribution (CC) emails

DistributionEmailContent is the text included in the distribution (aka CC) email sent when the transaction completes. That email also includes an attachment of the signed document(s). If distribution is desired, indicate to whom the email should be sent using DistributionEmailList and/or DistributeToSubmitter.

Security warning: distribution emails contain plaintext attachments of the signed PDFs. There is no security around the emails and no login requirement. If your transactions contain documents/PDFs with personal information, these elements should not be used.

Client preferences and notification schedule

Some "Client Preference" settings in your service configuration can optionally be overridden for individual transactions by adding one or more ClientPreference elements to the request. The full list of preferences and their allowed values is in Client Preference Overrides, below.

NotificationSchedule is a ClientPreference that controls reminders and expiration. Transactions expire according to the Notification Schedule coded in the SIGNiX application. The default is {3,5,7,10}: signing reminders are emailed to the current party on days 3, 5 and 7, and on day 10 the transaction expires. The schedule can be customized by default for a specific Client, or per transaction with the ClientPreference parameter. In the sample, SIGNiX sends the first notification email at 10 minutes, another at 60 minutes, and expires the transaction after 180 minutes. The last number is always the time of expiration. If only one number is provided, no notifications are sent and the transaction expires at that time. The value is a comma-separated list in curly braces, immediately followed by the units: 'days', 'hours' or 'minutes'.

Parties (MemberInfo)

Each MemberInfo identifies a party to the transaction, someone who signs or views the documents. The order of the MemberInfo elements affects the workflow sequence. The RefID is returned in reports that include member information.

WorkflowOrder. Determines the order in which this signer will sign. If present, integers must start with 1 and be sequential (1, 2, 3). If the same WorkflowOrder integer is used for multiple signers, they are 'parallel' signers: they receive the notifications to sign at the same time. Anyone in the group can sign first, but only one can sign at a time. Once all members of the signing group have signed, the transaction moves to the next workflow order entry.

Identity data. This data is used to check whether the person has a SIGNiX identity and to create the identity. The user may have to provide additional information during registration if optional elements are not provided.

  • IMPORTANT: the SSN and DOB elements are always required, but real values for SSN/DOB are ONLY used if the chosen authentication service requires it. Otherwise, use the dummy values SSN = 910000000 and DOB = 00/00/0000.
  • Email must be a real email address. Do not enter a random email address, because SIGNiX will attempt delivery.
  • Do not send an email address as part of the FirstName, MiddleName or LastName elements. This will result in an error. (Added in Release 174.3 - July 2024.)

Email. Only one email is sent to a party to pick up the whole set of documents, not one per document.

Service. Specifies the level of authentication required for this party in this transaction. See the Signer Authentication page for the currently available values. SelectOneClick is commonly used as a base value for initial testing: signers are asked to create a Signing Password, which secures their signature and documents from access by others but provides no other factor of authentication. Providing end users (that is, submitters) with the ability to choose stronger forms of authentication (Services) is a required part of any SIGNiX integration.

MobileNumber. For additional security, the Service can be changed to 'SMSNoPassword' or another SMS-based service, which sends an SMS/text message with a one-time password (OTP) to the party's mobile phone. If used, the Service element must be followed by the real, valid mobile phone number to use. Do not use spaces. Hyphens can be used.

Documents (Form)

Each Form describes one of the documents in the set. The order of the Form elements determines the order users see them in lists and in the default workflow. A maximum of 99 documents can be submitted, but SIGNiX suggests 50-75 documents as an ideal maximum. SIGNiX also recommends submission sizes no larger than 50-75 MB in total. Maximum sizes per document may also apply (see Limitations below).

FileName (Form level). Used as the file name when the end user downloads the document. If provided, it is returned in the response for the DownloadDocument method. The extension should be appropriate for the specified MimeType, and the file name must be unique among the set of documents for this transaction.

MimeType. The following types are supported: PDF - 'application/pdf', and FDF - 'application/vnd.fdf'. The F entry of the FDF dictionary must point to a PDF. The FDF will be merged into the referenced PDF to form the document.

FormPassword. Owner password if the document has one. Omit for documents without an owner password.

Locked. Optional. Set to true to prevent the submitter from deleting, reordering or modifying this document during a GetAccessLink - Submitter session. Place the element in the Form just before the Length element. By default, documents are NOT locked. (Added in Release 183.) See GetAccessLink - Submitter Request for the dialog the submitter sees.

Choosing a tagging approach

Each Form uses one of three ways to tell SIGNiX where signatures and fields go. Use one approach per Form.

ApproachForm elementsBest when
AcroFormSignatureLine with SignField (and optional DateSignedField)The PDF already has named form fields, or you can generate PDFs with stable field names.
Text tagsTextTagField and TextTagSignature, located by AnchorTextDocuments are dynamic, you are migrating from another e-signature product that uses text anchors, or you cannot manipulate the PDF structure.
Fixed positioningFixedPositioningField and FixedPositioningSignature, placed by Page, XPosition and YPositionLayouts are static, or you generate PDFs at runtime and already know the coordinates.

Rules that apply to every approach:

  • Put non-signature fields (date, text, checkbox, notary seal) BEFORE the signature and initial elements.
  • The element that sets the kind of a field is Type, not FieldType.
  • MemberInfoNumber goes only on the signature (or SignatureLine), never on a date, text or seal field.
  • To fill in a date when a party signs, give the date field a TagName and reference it from the signature with DateSignedTagName. Notary seals work the same way, through NotarySealTagName.

Approach-specific tips:

  • AcroForm: field names must match the PDF exactly. Some PDF libraries show a synthetic FieldName.1 for a field's widget. It is the same field, so always use the real field name.
  • Text tags: anchor text should be unique within the document. If unique visible text is not possible, use white-on-white anchors so signers do not see them.
  • Fixed positioning: the page origin (0,0) is the upper-left corner, X increases to the right and Y increases downward, in PDF points (1/72 inch; a Letter page is about 612 by 792). XPosition and YPosition give the lower-left corner of the field box, and Width and Height extend from it. A field placed outside the page produces an error naming the Form and field.

For details on Editable Fields such as text boxes, check boxes and radio buttons, see that page. For text anchor tags (aka text tags, white text tags) in a SubmitDocument call, as opposed to PDF AcroForm fields, see that page. For coordinate-based (x,y) tags in a SubmitDocument call, see that page.

Signing and viewing tasks (SignatureLine, InitialLine, View)

A sequence of SignatureLine and/or View elements describes which parties can or must sign the document. Parties who are not referred to in this section cannot view the document. There must be at least one SignatureLine or View element. It is not necessary to add BOTH SignatureLine and View elements for the same party on the same document; choose one or the other, or neither. The order of these elements affects the workflow sequence. In the sample, the first party must sign and then the second party must view.

SignatureLine / InitialLine. Indicates that a party must or can sign the document. To format the signature line for initials, replace SignatureLine with InitialLine. A maximum of 99 are allowed in total.

MemberInfoNumber. Indicates which member will sign this line. Refer to a MemberInfo above by the order it appears, starting at 1. Within a Form, the MemberInfoNumber values specified by the SignatureLine and View elements should always go in increasing order. For example, it is not possible to have the first document signed by the primary applicant and then the spouse, but the second document signed by the spouse and then the primary. Mixing up the order would require some parties to get control of the workflow more than once. Within a Form, the SignatureLine element may be repeated multiple times with the same MemberInfoNumber so that the same party may sign the same document multiple times in different places.

SignField. Name of the PDF signature field to be signed by this member. Field names may not exceed 1024 characters, nor include special characters such as double quotes.

DateSignedField, DateSignedFormat, DateSignedTimeZone. The PDF text field named in DateSignedField is filled in automatically with the date and time the signature is created. DateSignedFormat specifies how to format it; for the specifics, refer to the Java 2 Platform Std. Ed. class java.text.SimpleDateFormat. It is strongly recommended that the format end with "z" in order to explicitly list the time zone. DateSignedTimeZone specifies the time zone in which to report the signing date and time: US/Eastern (the default), US/Central, US/Mountain, US/Pacific, US/Alaska, US/Hawaii, GMT or UTC.

PrintedName. PDF text field that is filled in automatically with the printed name of the signer.

SignatureIsOptional. An optional element used to indicate that the party can optionally sign. If optional signatures are not common in your process, simply omit it. If included, the signer must take an action to 'Opt Out' of the signature / initial during the signing process. The Opt Out is recorded on the audit trail.

View. Indicates that a party must view or can view the document. IMPORTANT: this task cannot co-exist with Signature/Initial on the same Form for the same party, and is required ONLY when there is no signature or initial on that document for that party.

ViewIsRequired. Optional: "no", "yes", "must-view" or "must-agree". "no" = Available to Read; "yes" or "must-view" = Must Acknowledge; "must-agree" = Must Agree. If the party already has a signature or other task on the document, omit this parameter. Choosing "no" allows the party to view the document if they have no other tasks to complete on it. The latter three require the party to click an Agree or Acknowledge button at the end of this specific Form/Document, and they CANNOT be combined with a signature or initial task on the same document. The action is reported in the transactional audit trail. Choosing ANY of these options, and not omitting the parameter, will prevent the addition of drag-and-drop tasks in the Wizard via the GetAccessLink - Submitter API call, unless the submitter removes the task using the Document Fields button.

Supplying the PDF

For each Form, the document may be encoded in Base64 and included in the request, or referenced via URL. PDF documents that are submitted must be consistent with the data in the request XML. For example, digital signature fields named by SignField elements must exist.

  • Length is the length of the data, when decoded, in bytes. This is the length of the DECODED file, not of the encoded Base64 string. If the length is wrong, the error message normally states the byte count SIGNiX expected, which confirms the cause.
  • Data holds the bytes of the entire document, encoded in Base64.
  • DocumentURL optionally references the document instead, and SIGNiX will use the URL to retrieve it. The URL must begin with 'http://' or 'https://'. SIGNiX will only download documents from approved sites, so please contact SIGNiX before using a new download site. If this element is present, Length and Data must be omitted. If desired, requests to the URL can require client authentication using any of the methods described in the SIGNiX guide titled "Authenticating SIGNiX as an HTTP/HTTPS Client".

Client Preference Overrides

The ClientPreference request element allows service configuration parameters to be overridden for a specific transaction. Each parameter is specified as a name/value pair, in this format:

<ClientPreference name="NAME">VALUE</ClientPreference>

There are other preferences that SIGNiX can configure outside of a specific transactional context. Please contact SIGNiX for more details if additional customization options are required.

The available parameters are shown in the following table.

Name / MeaningAllowed Values
AllowSignatureGraphic
Determines whether a user can draw their signature when they register. If set to required, they will not be allowed to use a font-based signature.
yes
no
required
AuditTrailWithCC
The audit trail of the transaction will be included as a PDF attachment to the CC (Carbon Copy) email.
yes
no
BrowserAutofill
Toggles the browser's autocomplete attribute of HTML form input fields.
yes
no
DateSignedFormat
Sets the format of the date field associated with a signature line.
MM/dd/yyyy hh:mm a z
MMMM dd, yyyy hh:mm a z
dd MMMM yyyy hh:mm a z
dd/MMM/yyyy hh:mm a z
dd/MM/yy hh:mm a z
dd/MM/yyyy hh:mm a z
DateSignedTimeZone
This preference sets the default time zone for the Wizard's date field Properties Dialog.
GMT
US/Eastern
US/Central
US/Mountain
US/Pacific
US/Alaska
US/Aleutian
US/Hawaii
EmailFromName
Allows all transaction emails (pickup, reminder, expiration) to feature a custom 'friendly' from name in the From email address.
50 characters
MiddleName
Determines how middle names appear.
no preference
as submitted
middle initial
full middle name
NextPartyLink
This preference determines whether the party completion page supports immediate login by the next party. When a party finishes all their signatures and other actions in a transaction, a completion page appears. If there is a next party, the next party is authenticated via interactive questions, and this preference is set to "yes", then the completion page will contain a link that the next party can click on to log in to the transaction. Otherwise, the completion page just indicates that the next party has been notified, but does not provide a login link.
yes
no

SubmitDocument - Additional Options & Capabilities

Document Subsets

SIGNiX can provide additional 'folder' hierarchy within a transaction to allow integrated applications to present groups (aka subsets) of documents that may be mandatory or optional. If this seems pertinent to your use case, please contact SIGNiX for additional details.

Notarization - Notary Party

Notaries are included in transactions via the MemberInfo element of SubmitDocument. Currently transactions can contain only ONE eNotary, and the eNotary MUST be the last signer.

The notary must already be registered in SIGNiX. If your notary party is not registered in SIGNiX with a configured eNotary Profile, SIGNiX will not recognize that party as a notary and the elements below will generate an error upon request. This allows the transaction to pull the appropriate commission information, etc. from the notary's profile. If a registered notary is found with the given email address, the system will use them as the notary and pick up all the other necessary information, including Service, from their account. If no matching notary is registered at SIGNiX, the SubmitDocument request will return an error and the error message will indicate why the match failed.

The notary's email must match a registered eNotary. There is currently no method available to check a notary's status in advance, so a mismatch is discovered only when SubmitDocument returns an error. Do not invent notary credentials to get around it.

The following example shows how to create a notary party. A notary MemberInfo must contain only the elements shown, in the order shown. Do not paste a full signer MemberInfo (SSN, Service, MobileNumber and so on) onto the notary.

Notary party (MemberInfo)
<MemberInfo>

  <!-- Optional, max length 50. Your identifier for this party, returned in reports that include party information. -->
  <RefID>MemberID-1</RefID>

  <!-- Optional. If WorkflowOrder is used, the eNotary must have the highest number and must be
       the only party with that number. -->
  <WorkflowOrder>2</WorkflowOrder>

  <!-- Required. Must be the email address of a registered eNotary. -->
  <Email>YOUR_NOTARY_EMAIL</Email>

  <!-- Required for an eNotary. true marks this party as the notary: every signature associated
       with this party is a notarization signature. -->
  <NotaryInfoAdded>true</NotaryInfoAdded>

</MemberInfo>

A notary MemberInfo contains only these elements, in this order.

Notarization - Notary Signature & Stamp

Notary signatures are specified in SubmitDocument the same way as any other party signature, except that they must contain a NotaryStampField element specifying the name of a field to display the notary's stamp. The stamp field must be an empty PDF multi-line text field that is already present in the document when it is uploaded. The document designer is responsible for ensuring that this field is present and is appropriately sized and placed.

IMPORTANT: the notary stamp field must be set to multi-line (Ff flag set to 4096), or the under-seal notary vendor text will not display properly. SIGNiX will not validate anything about this field other than its existence. A stamp field can only be associated with one signature.

When a transaction starts, every field that a notary signs must have a unique notary stamp field associated with it. Therefore, every SignatureLine for a notary must either specify a NotaryStampField, or the transaction must be marked SuspendOnStart so that the missing stamp fields can be added in the Wizard.

Using GetAccessLink to display the 'wizard' tagging UI to the submitter is another way the notary signature and stamp can be applied to the document via drag-and-drop (see the GetAccessLink - Submitter Request section).

Notary signature line with stamp field
<SignatureLine>
  <MemberInfoNumber>2</MemberInfoNumber> <!-- Refers to a MemberInfo by position, starting at 1 -->
  <SignField>Signature2</SignField>
  <DateSignedField>Signature2Date</DateSignedField>
  <DateSignedFormat>MMMM dd, yyyy hh:mm a z</DateSignedFormat>
  <!-- Optional. Name of an empty, multi-line PDF text field (Ff flag 4096) already in the document,
       used to display the notary's stamp. One stamp field per signature. Required for each notary
       signature unless the transaction uses SuspendOnStart. -->
  <NotaryStampField>Signature2NotaryStamp</NotaryStampField>
</SignatureLine>

Notarization - Hold Email

Commonly, notaries prefer that signers receive their links to sign only when the notary is ready to host/launch the Zoom meeting and is engaged with the signers / principals. For this case, SIGNiX can set a notary transaction to 'hold' the signer emails until the notary releases them. Note that this 'release' requires the integration to display the Status page to the notary using the GetAccessLink - Submitter call. To initiate the hold email function, add the following element after the SuspendOnStart parameter. (Added in Release 174.1 - June 2024.)

HoldEmail (placed after SuspendOnStart)
<!-- ... other CustInfo and Data elements ... -->
<SuspendOnStart>yes</SuspendOnStart>

<!-- Holds the signer emails until the notary releases them. Releasing requires showing the Status
     page to the notary through GetAccessLink - Submitter. Added in Release 174.1 (June 2024). -->
<HoldEmail>yes</HoldEmail>

<!-- ... -->

Notarization - Schedule Meeting

A critical part of the remote online notarization process is the audio/visual meeting. SIGNiX integrates with Zoom to meet this requirement. Typically, meetings are scheduled via a prompt in the manual MyDoX process, or via the GAL-Submitter API call, but not all use cases require that. In those scenarios, use the element below, placed after the MemberInfo section and before the Form section. (Added in Release 170.)

The meeting start must be in the future, and it must fall within the transaction's expiry window. That window is set by the last number in the NotificationSchedule, or by the account default when you omit it. Validate the time before you submit, so you do not schedule a meeting for after the transaction would already have expired.

MeetingInfo (between MemberInfo and Form)
<!-- ... MemberInfo elements ... -->

<MeetingInfo>
  <Date>02/03/2022</Date> <!-- Required -->
  <Time>12:01 PM</Time> <!-- Required. 12-hour hh:mm format. A single-digit hour is not allowed -->
  <Timezone>US/Eastern</Timezone> <!-- Required. Use one of the time zones listed below this sample -->
  <Duration>30</Duration> <!-- Optional. 15, 30, 45 or 60 minutes. Defaults to 60. Added in Release 184 -->
</MeetingInfo>

<!-- ... Form elements ... -->

Acceptable time zones for the Timezone element are: US/Eastern, GMT, US/Central, US/Mountain, US/Pacific, US/Alaska, US/Aleutian, US/Hawaii, Canada/Atlantic, Africa/Lagos, Europe/London, Europe/Paris, Europe/Athens, Asia/Qatar, Europe/Moscow, Asia/Karachi, Asia/Kolkata, Asia/Bangkok, Asia/Shanghai, Asia/Tokyo, Australia/Sydney and Pacific/Auckland.

The SubmitDocument response includes additional details when MeetingInfo has been added, including the meeting date and time, the MeetingUUID (which can be useful for other API calls), and the meeting URLs used to join the meeting as either a host (submitter/notary) or a participant (signer/witness). An example response including these elements follows.

SubmitDocument response with meeting details
<SubmitDocumentRs xmlns="urn:com:signix:schema:sdddc-1-1">
  <Status>
    <StatusCode>0</StatusCode>
    <StatusDesc>success</StatusDesc>
  </Status>
  <Data>
    <DocumentSetID>19fb31fb51e:-6d7c:-1ebac6ee:2sbe52</DocumentSetID>
    <PickupToken>IeCAsVBUv0ImkEStJuyDPd</PickupToken>
    <PickupLink>https://webtest.signix.biz/enter.jsp?m=102&amp;i=IeJqfcA5fP...</PickupLink>

    <!-- Meeting details, returned only when MeetingInfo was sent. -->
    <SubmitterMeetingLink>https://signix.zoom.us/s/8590...</SubmitterMeetingLink> <!-- Host link (submitter / notary) -->
    <SignerMeetingLink>https://signix.zoom.us/j/85904...</SignerMeetingLink> <!-- Participant link (signer / witness) -->
    <MeetingUUID>ecm0P3+pQr...</MeetingUUID> <!-- Can be useful for other API calls -->
    <MeetingDateTime>08/01/2026 06:30 AM US/Eastern</MeetingDateTime>
  </Data>
</SubmitDocumentRs>

Signer Attachments

By using the parameters below, an integrated application can prompt a signer to add supplemental documents to be returned to the integrated application. These documents are not signed; this is simply a way to ask signers to send back a copy of their utility bill, for example, or some other documentation. The attachment controls also let the submitting application customize the instructions shown to the signer, the number and type of documents / files requested, and whether the attachments are mandatory.

NOTE: if attachments are made mandatory, the transaction will not be complete until that signer attaches the minimum number of files requested. The transaction remains 'in-process' until the attachments are added.

Place these parameters at the very bottom of the SubmitDocument XML, below the last Form element. If more than one signer will be prompted to add attachments, use different values for RefID and Title, and update or remove any name-specific language. All elements and parameters are required unless otherwise stated.

The Title appears at the top of the screen (shown below as '1') and the Description is the informational text displayed to the signer (shown below as '2').

Signer attachments screen with the Title marked 1 and the Description marked 2
UserAttachments (below the last Form)
<Data>

  <!-- ... Form elements ... -->

  <UserAttachments>

    <!-- Required. If more than one signer will be prompted to add attachments, use a different value for each. -->
    <RefID>ATT01</RefID>
    <MemberInfoNumber>1</MemberInfoNumber>

    <!-- Optional, but recommended. Title at the top of the screen (marked 1 in the screenshot). -->
    <Title>Jack's Attachments</Title>

    <!-- Optional, but recommended. Informational text shown to the signer about the requested
         attachments (marked 2 in the screenshot). -->
    <Description>This is a description of Jack's Attachments</Description>

    <FileSet>

      <!-- Required. Must the signer add an attachment to sign? '1' = mandatory, '0' = optional. -->
      <Min>1</Min>

      <!-- Required. If more than one document may be needed, choose the maximum allowed. Otherwise '1'. -->
      <Max>2</Max>

      <!-- Required. 'yes' lets the signer sign without attaching. Otherwise 'no'. -->
      <AcceptFewerThanMin>no</AcceptFewerThanMin>

      <!-- Optional, but recommended. Message shown if the signer does not attach all required documents. -->
      <FewerThanMinChallenge>You have to attach something</FewerThanMinChallenge>

      <!-- Required. Choose the types your company can store, from this SIGNiX-compatible set:
           PDF, JPG, JPEG, DOC, DOCX, XLS, XLSX, TIF, TIFF. -->
      <AcceptableTypes>PDF,JPG</AcceptableTypes>

      <!-- Required. 'Primary' lets the user capture pictures or scans on a mobile device at the
           time of attachment. -->
      <CapturePriority>Primary</CapturePriority>

    </FileSet>

  </UserAttachments>

</Data>

SIGNiX Digital Billboard™

Released in November 2024, the Digital Billboard feature lets you use the screen space shown to the signer after they complete the signing process, on the Thank You for Signing page. You can specify a unique image to show to each individual signer, a separate hover image, alt text, and a link that opens in a new tab when the signer clicks it. You can also control whether the image appears above or below the text on the screen, and the relative width of the image on the page. This could be a call-to-action to link to a promotion, another company, your own portal or other resources available to the signer.

Use the elements below, placed at the end of any signer's MemberInfo section. 

PostSignatureImageLink (Digital Billboard)
<MemberInfo>

  <!-- ... other MemberInfo elements ... -->

  <PostSignatureImageLink>
    <ImageURL>YOUR_IMAGE_URL</ImageURL> <!-- Required. URL of the image to display to the signer -->
    <TargetURL>YOUR_TARGET_URL</TargetURL> <!-- Required. Link that opens in a new tab when the signer clicks the image -->
    <ImageAltText>Post Signature Image Link</ImageAltText> <!-- Required. Alt text shown to the signer -->
    <ImageHoverURL>YOUR_HOVER_IMAGE_URL</ImageHoverURL> <!-- Optional. Image shown when the signer hovers over the image -->
    <IsImageLocationAboveText>yes</IsImageLocationAboveText> <!-- Required. Whether the image is displayed above the 'Thank you' text on the page -->
    <ImageHeight>1</ImageHeight> <!-- Optional, but required if ImageWidth is used. An integer is required, but it is NOT used to size the image, which is why this example uses 1. Aspect ratio is always maintained -->
    <ImageWidth>250</ImageWidth> <!-- Optional. Width in pixels. Aspect ratio is always maintained when the image is made larger or smaller -->
  </PostSignatureImageLink>

</MemberInfo>

SubmitDocument - Response XML

An annotated example of the response XML follows. See Status Codes on the main API page for the possible values and meanings of the StatusCode and StatusDesc elements.

Handle the response in this order:

  • An HTTP 200 does not mean success. A business error also arrives as a valid XML response, with a non-zero StatusCode.
  • Parse the XML with an XML library rather than regular expressions, then check that StatusCode is 0 before reading anything else. Log StatusDesc on failure, and never log the CustInfo credentials.
  • On success, store the DocumentSetID. DownloadDocument, ConfirmDownload, GetAccessLink and SubmitAjax all use it. Also keep your own TransactionID.
  • If no PickupLink is returned, call GetAccessLink for the first party.
SubmitDocument - annotated response
<?xml version="1.0" ?>
<SubmitDocumentRs xmlns="urn:com:signix:schema:sdddc-1-1">

  <Status> <!-- Occurs once only -->
    <StatusCode>0</StatusCode> <!-- One of the numeric SC_* values -->
    <StatusDesc>success</StatusDesc> <!-- Human-readable version of StatusCode -->
  </Status>

  <Data>

    <!-- The SIGNiX identifier for the transaction. -->
    <DocumentSetID>-5cb1ea45:119ddcc67bb:-7ad7-hkq0ep</DocumentSetID>

    <!-- Pickup token. Present when a PickupLink is present. Length 22 characters. -->
    <PickupToken>IeCAsVBUv0ImkEStJuyDPd</PickupToken>

    <!-- Pickup link for the first party. -->
    <PickupLink>https://webtest.signix.biz/enter.jsp?m=102&amp;i=IeCA...yDPd</PickupLink>

  </Data>

</SubmitDocumentRs>

SubmitDocument - Limitations

When creating and sending a transaction via SIGNiX, it is important to be aware of certain file size and document limitations. These limits are in place to ensure a good signer experience and to ensure smooth operation of various API flows.

Transactions are limited to a maximum of 99 unique documents and 99 parties, though SIGNiX recommends no more than 50-75 of each per transaction for the best results.

Each document in a transaction is also governed by file size limitations. In general, each document is limited to 10 MB, though customers can discuss with SIGNiX provisions to expand that size up to 25 MB in certain use cases. SIGNiX recommends file sizes no larger than 5 MB.

Documents generated from a scanner before being sent through SIGNiX should be reviewed carefully for optimization (dpi, images, etc.) to reduce file size and improve rendering for the signer.

If the CC function or DistributionEmailList is used, SIGNiX cannot guarantee delivery by email of completed documents to those recipients if the documents are larger than 5 MB.

Back to top