> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iinkedsign.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add

The `/packages/add` endpoint allows you to create a new package within the application.
A package typically contains one or more documents and signers who are required to review and sign those documents.

<Tip>
  In production it is recommended to upload files using the [Files upload API](/v4/api/files/upload) and reference them by `fileId` when adding your documents to a package.
</Tip>

## Request

<Tabs>
  <Tab title="Concurrent">
    ```http Request highlight={4} theme={null}
    POST /packages/add
    {
        "name": "New Package",
        "type": "concurrent",
        "signers": [
            {
                "firstName": "Signer",
                "lastName": "One",
                "email": "signer.one@example.com"
            }
        ],
        "documents": [
            {
                "fileName": "agreement.pdf",
                "fileId": "d29e25e0-624b-4adb-b118-19c4d0125e5e"
            }
        ]
    }
    ```
  </Tab>

  <Tab title="Sequential">
    ```http Request highlight={4} theme={null}
    POST /packages/add
    {
        "name": "New Package",
        "type": "Sequential",
        "signers": [
            {
                "firstName": "Signer",
                "lastName": "One",
                "email": "signer.one@example.com"
            },
            {
                "firstName": "Signer",
                "lastName": "Two",
                "email": "signer.two@example.com"
            }
        ],
        "documents": [
            {
                "fileName": "agreement.pdf",
                "fileId": "d29e25e0-624b-4adb-b118-19c4d0125e5e"
            }
        ]
    }
    ```
  </Tab>

  <Tab title="Video Signing Room">
    ```http Request highlight={4,6-7,14} theme={null}
    POST /packages/add
    {
        "name": "New Package",
        "type": "video_closing_room",
        "meeting": {
            "timeStart": "2024-12-01T15:00:00Z",
            "duration": "PT1H"
        },
        "signers": [
            {
                "firstName": "Host",
                "lastName": "One",
                "email": "host.one@example.com",
                "role": "host"
            },
            {
                "firstName": "Signer",
                "lastName": "One",
                "email": "signer.one@example.com",
                "role": "signer"
            }
            {
                "firstName": "Signer",
                "lastName": "Two",
                "email": "signer.two@example.com",
                "role": "signer"
            }
        ],
        "documents": [
            {
                "fileName": "agreement.pdf",
                "fileId": "d29e25e0-624b-4adb-b118-19c4d0125e5e"
            }
        ]
    }
    ```

    <Tip>
      When using templating tags in a document for a video signing room the host should be referenced as `{{signer_host:signature_1}}`, and the first signer will be referenced as `{{signer_1:signature_1}}`.
    </Tip>

    See the [Package options guide](/v4/guides/package-options#video-signing-room) for more information.
  </Tab>

  <Tab title="In Person">
    ```http Request highlight={4,10} theme={null}
    POST /packages/add
    {
        "name": "New Package",
        "type": "Live Session",
        "signers": [
            {
                "firstName": "Signer",
                "lastName": "Host",
                "email": "signer.host@example.com",
                "role": "host"
            },
            {
                "firstName": "Signer",
                "lastName": "One",
                "email": "signer.one@example.com"
            }
            {
                "firstName": "Signer",
                "lastName": "Two",
                "email": "signer.two@example.com"
            }
        ],
        "documents": [
            {
                "fileName": "agreement.pdf",
                "fileId": "d29e25e0-624b-4adb-b118-19c4d0125e5e"
            }
        ]
    }
    ```

    <Tip>
      When creating an In Person package you need to specify which signer is the host. The host will be the only signer that will receive a notification to sign the package.
    </Tip>
  </Tab>
</Tabs>

### Body

<ParamField body="name" type="string" required>
  Name of the package.
</ParamField>

<ParamField body="description" type="string">
  Description of the package.
</ParamField>

<ParamField body="message" type="string">
  Message to be shared with all signers.
</ParamField>

<ParamField body="type" type="string" default="Sequential">
  Type of package signing workflow.

  <Expandable title="values">
    | Value                | Description                                                                                     |
    | :------------------- | :---------------------------------------------------------------------------------------------- |
    | concurrent           | **Concurrent**: Allows multiple signers to sign the document simultaneously.                    |
    | Sequential           | **Sequential**: Requires signers to sign the document in a specific order.                      |
    | Counterpart          | **Group Send**: Enables group signing, where all signers receive the document at the same time. |
    | video\_closing\_room | **Video Signing Room**: A virtual room for signing documents via video conference.              |
    | Live Session         | **In Person**: An in-person signing session with all parties present.                           |

    <Note>
      Even though the signing workflow names have evolved, the constants used to identify them have remained the same.
    </Note>

    <Tip>
      The package type constants are case-sensitive. Ensure that you use the exact casing as shown in the table above when specifying package types in your API requests.
    </Tip>
  </Expandable>
</ParamField>

<ParamField body="state" type="string" default="open">
  State of the package.

  <Expandable title="values">
    | Value  | Description                                                                                       |
    | :----- | :------------------------------------------------------------------------------------------------ |
    | open   | Package is ready for signing, notifications will be sent to signers (if enabled). `default`       |
    | draft  | Package is not ready to be sent and will appear under Drafts.                                     |
    | add    | Use when embedding the package editor to provide an experience similar to creating a new package. |
    | select | Use when embedding the package editor to let users choose a signing workflow type.                |
  </Expandable>
</ParamField>

<ParamField body="category" type="string">
  Category of the package.
</ParamField>

<ParamField body="clientNumber" type="string">
  Client number associated with the package.
</ParamField>

<ParamField body="matterNumber" type="string">
  Matter number associated with the package.
</ParamField>

<ParamField body="timeSignBy" type="string">
  Date by which the document should be signed. After this date, the package will expire and can no longer be signed unless extended.

  <Note>
    If not specified, the default value is 7 days from the current date.
  </Note>

  <Note>
    The date should be in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
  </Note>
</ParamField>

<ParamField body="meeting" type="object">
  Details about the meeting associated with the package.

  <Note>
    This is only applicable for packages with the `video_closing_room` signing workflow type.
  </Note>

  <Expandable title="properties">
    <ParamField body="timeStart" type="string" required>
      Start time of the meeting in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
    </ParamField>

    <ParamField body="duration" type="string" default="PT1H">
      Duration of the meeting in ISO 8601 format: `PT1H30M`.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="locale" type="string">
  Locale to create the package in.

  <Note>
    If not provided, the package will be created in the organization's default locale.
  </Note>

  <Expandable title="values">
    | Value | Description |
    | :---- | :---------- |
    | en    | English     |
    | fr    | français    |
    | de    | Deutsch     |
    | es    | Español     |
  </Expandable>
</ParamField>

<ParamField body="memberId" type="string">
  Member ID to create the package under.

  <Note>
    If not provided, the package will be created under the current member.
  </Note>

  <Tip>
    You require `Sign Editor` or `Package Editor` role to create a package on behalf of another member.
  </Tip>
</ParamField>

<ParamField body="teamId" type="string">
  Team ID to create the package under.

  <Note>
    If not provided, the package will be created under the given member, or under the current member if none is provided.
  </Note>
</ParamField>

<ParamField body="folderId" type="string">
  Folder ID to create the package under.

  <Note>
    If not provided, the package will be created in the root folder.
  </Note>
</ParamField>

<ParamField body="generateSignerLinks" type="boolean" default={false}>
  Set to `true` to return links for integrating document signing workflows.

  See the [Embed signing guide](/v4/guides/embed-signing) for more information.
</ParamField>

<ParamField body="generateEditLink" type="boolean" default={false}>
  Set to `true` to return a link for integrating document editing workflows.

  See the [Embed editor guide](/v4/guides/embed-editor) for more information.
</ParamField>

<ParamField body="options" type="object">
  Additional options for the package.

  <Expandable title="properties">
    <ParamField body="embedded" type="boolean">
      Enable embedded signing mode.
    </ParamField>

    <ParamField body="embed" type="object">
      Embed options used to customize the embedded package editor.
      <Badge icon="sparkles" size="sm" color="purple">2.8</Badge>

      <Expandable title="properties">
        <ParamField body="disableSend" type="boolean">
          User can only save changes to draft packages; the user will not be able to send it.
        </ParamField>

        <ParamField body="disableProperties" type="boolean">
          User will not be allowed to modify package properties.
        </ParamField>

        <ParamField body="disableVerification" type="boolean">
          User will not be allowed to modify package verification properties.
        </ParamField>

        <ParamField body="disableSigners" type="boolean">
          User will not be allowed to modify package signers.
        </ParamField>

        <ParamField body="disableDocuments" type="boolean">
          User will not be allowed to modify package documents.
        </ParamField>

        <ParamField body="disableEditing" type="boolean">
          User will not be allowed to modify package properties, verification properties, signers, or documents. They will still be allowed to template each document.
        </ParamField>

        <ParamField body="focusTemplating" type="boolean">
          The first document will be focused when the package editor is loaded instead of the package properties.
        </ParamField>

        <ParamField body="returnUrl" type="string">
          User will be redirected back to the returnUrl when they are done editing the package.
        </ParamField>

        <ParamField body="returnState" type="string">
          Will be included in a `state` query string parameter appended to the `returnUrl`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="brandId" type="string">
      Show custom brand when signing package.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="addDocumentIdentifier" type="boolean">
      Add document identifier to each page (QR code).
    </ParamField>

    <ParamField body="allowReview" type="boolean">
      Allow VSR participants to review documents before a meeting via a Review Documents link added to email meeting invitation.
      <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>
    </ParamField>

    <ParamField body="allowForwardSignings" type="boolean">
      Allow signers to forward the signing to another email address.
      <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>
    </ParamField>

    <ParamField body="enhancedPrivacy" type="boolean">
      Enabled to not share email addresses between signers.
      <Badge icon="sparkles" size="sm" color="purple">2.11</Badge>

      <Note>
        Supported in the following package types:

        * Concurrent (`concurrent`)
        * Sequential (`Sequential`)
        * Group Send (`Counterparts`)
      </Note>
    </ParamField>

    <ParamField body="formDisabled" type="boolean">
      Do not allow signers to fill AcroForm fields during signing.
      <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
    </ParamField>

    <ParamField body="formReadOnly" type="boolean">
      Do not allow signers to modify AcroForm fields during signing.
      <Badge icon="sparkles" size="sm" color="purple">3.6</Badge>
    </ParamField>

    <ParamField body="formFlattening" type="string">
      Control how Acroform fields are flattened after signing a document.
      <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>

      <Expandable title="values" defaultOpen>
        | Value  | Description                          |
        | :----- | :----------------------------------- |
        | none   | Do not flatten fields                |
        | filled | Flatten only fields filled by signer |
        | all    | Flatten all fields `default`         |
      </Expandable>
    </ParamField>

    <ParamField body="styleInkColor" type="string">
      Override the default ink color `#0000FF` for Ink to Sign signatures and initials with a valid #-hexadecimal RGB color value.
      <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
    </ParamField>

    <ParamField body="defaultMark" type="string">
      Set preferred default mark type.
      <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>

      <Expandable title="values" defaultOpen>
        | Value           | Description |
        | :-------------- | :---------- |
        | touch\_to\_sign | iink It     |
        | type\_to\_sign  | Type It     |
        | click\_to\_sign | Accept It   |
      </Expandable>
    </ParamField>

    <ParamField body="retentionPeriod" type="string">
      Add a retention period to the package to prevent deletion. (ISO 8601 duration)
      <Badge icon="sparkles" size="sm" color="purple">1.11</Badge>
    </ParamField>

    <ParamField body="templateParseTags" type="boolean">
      Parse document for templating tags. Defaults to true.
    </ParamField>

    <ParamField body="templateParseMergeDataTags" type="boolean">
      Parse merger data templating tags. Defaults to false.
      <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>
    </ParamField>

    <ParamField body="templateUnusedSignerTags" type="string">
      Control how unused signer tags are handled.
      <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>

      <Expandable title="values" defaultOpen>
        | Value  | Description                      |
        | :----- | :------------------------------- |
        | keep   | Leave unused tags in document    |
        | hide   | Move unused tags to hidden layer |
        | remove | Remove unused tags `default`     |
      </Expandable>
    </ParamField>

    <ParamField body="cac" type="string">
      Control which document(s) within a package have the CAC page appended to them.
      <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>

      <Expandable title="values" defaultOpen>
        | Value           | Description                         |
        | :-------------- | :---------------------------------- |
        | document\_all   | Append to all documents in package  |
        | document\_first | Append to first document in package |
        | document\_last  | Append to last document in package  |
      </Expandable>
    </ParamField>

    <ParamField body="cacSignerIdentification" type="boolean">
      When enabled will add a signer identification placeholder for each signer on the CAC page.
      <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>
    </ParamField>

    <ParamField body="cacText" type="string">
      Add a custom disclaimer to the top of the Compliance Audit Certificate.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="securityCode" type="boolean">
      Enabled 2FA security code.

      <Tip>
        All signers will require a valid mobile phone number to enable mobile MFA.
      </Tip>
    </ParamField>

    <ParamField body="securityPassphrase" type="boolean">
      Enabled 2FA security passphrase.

      <Tip>
        You must also set a passphrase as part of add or update request to enabled 2FA security passphrase.

        ```json theme={null}
        {
            "options": {
                "securityPassphrase": true,
                ...
            },
            "securityPassphrase": "mySecretPassphrase"
        }
        ```
      </Tip>
    </ParamField>

    <ParamField body="markAll" type="boolean">
      Enable all mark types.
    </ParamField>

    <ParamField body="markClickToSign" type="boolean">
      Enabled click to sign `Accept It`.
    </ParamField>

    <ParamField body="markTypeToSign" type="boolean">
      Enabled type to sign `Type It`.
    </ParamField>

    <ParamField body="markTouchToSign" type="boolean">
      Enabled touch to sign `Ink It`.
    </ParamField>

    <ParamField body="allowMarkTouchToSignMouse" type="boolean">
      Allows signer to use desktop mouse to draw signature via touch to sign.
    </ParamField>

    <ParamField body="meetingVideoRecordingAuto" type="boolean">
      Automatically starts video recording after host starts meeting and first attendee joins.
    </ParamField>

    <ParamField body="meetingVideoRecordingDisabled" type="boolean">
      Disables video recording feature preventing host from recording signing session.
    </ParamField>

    <ParamField body="meetingVideoRetentionPeriod" type="string">
      Add a retention period to all package videos to prevent deletion. (ISO 8601 duration)
      <Badge icon="sparkles" size="sm" color="purple">1.11</Badge>
    </ParamField>

    <ParamField body="masterFileShareMeetings" type="boolean">
      Share meeting details and videos with guest signers via MasterFile.
    </ParamField>

    <ParamField body="notificationsOff" type="boolean">
      Prevent all package notifications from being sent to signers. This option will override other notify options. This option will not prevent Document Accessed (notifyAccessed) notifications if enabled.
      <Badge icon="sparkles" size="sm" color="purple">1.10.4</Badge>
    </ParamField>

    <ParamField body="notifyAttachments" type="boolean">
      Set to false to not include signed documents as attachments in executed email notifications.
      <Badge icon="sparkles" size="sm" color="purple">2.5</Badge>
    </ParamField>

    <ParamField body="notifyConfirmation" type="boolean">
      Send email notification to owner to confirm package was created.
    </ParamField>

    <ParamField body="notifyAccessed" type="boolean">
      Send email notification to owner whenever a signer opens a document (limited to once every hour).
    </ParamField>

    <ParamField body="notifyPackageSign" type="boolean">
      Send email notification to each signer when it is their turn to sign.
    </ParamField>

    <ParamField body="notifySigners" type="boolean">
      Send email notification to each signer to notify them that they are waiting their turn to sign.
    </ParamField>

    <ParamField body="notifyMeeting" type="boolean">
      Send email notification to each signer when Video Signing Room meeting is scheduled.
    </ParamField>

    <ParamField body="notifyMeetingIcsAttachment" type="boolean">
      Include ICS compatible meeting invitation with email notification to schedule meeting date and time in recipients' calendar.
    </ParamField>

    <ParamField body="notifyDocumentSigned" type="boolean">
      Send email notification to signer after they sign each document.
      <Badge icon="sparkles" size="sm" color="purple">2.5</Badge>
    </ParamField>

    <ParamField body="notifyDocumentNextAll" type="boolean">
      For Sequential packages, the next signer notification is only sent after the current signer has signed all of their documents.
      <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
    </ParamField>

    <ParamField body="notifyDocumentExecuted" type="boolean">
      Send email to owner to notify them when all signers have signed each document.
    </ParamField>

    <ParamField body="notifyDocumentExecutedAll" type="boolean">
      Don't send document executed email until all documents in the package have been fully signed.
      <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
    </ParamField>

    <ParamField body="notifyDocumentExecutedOwner" type="boolean">
      `Counterparts` Send document executed notification TO package owner and CC signer.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="notifyDocumentExecutedAttachRevision" type="boolean">
      Send signers fully executed document with CAC page appended to end of document.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="notifyDocumentExecutedAttachExecuted" type="boolean">
      Send signers fully executed document without CAC page appended to end of document.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="notifyDocumentExecutedAttachCac" type="boolean">
      Send signers separated CAC page as an additional attachment.
      <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
    </ParamField>

    <ParamField body="allowSignerTools" type="boolean">
      Allow signer to add additional fields while signing documents. Customize signerTools to control what fields the signer can add.
    </ParamField>

    <ParamField body="allowSignerDeleteFields" type="boolean">
      Allow signer to delete any templated fields while signing a document. This is default behavior for VSR and In Person package types. It is recommended to use optional fields instead for Concurrent, Sequential, and Group Send package types.
      <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
    </ParamField>

    <ParamField body="signerTools" type="object">
      Customize signer toolbar options.

      <Expandable title="properties">
        <ParamField body="sign" type="boolean">
          Enable sign.
        </ParamField>

        <ParamField body="annotateMobile" type="boolean">
          Enable annotations (ink) on mobile devices.
        </ParamField>

        <ParamField body="annotateDesktop" type="boolean">
          Enable annotations (ink) on desktop.
        </ParamField>

        <ParamField body="text" type="boolean">
          Enable text.
        </ParamField>

        <ParamField body="note" type="boolean">
          Enable note.
        </ParamField>

        <ParamField body="forms" type="boolean">
          Enable forms.
        </ParamField>

        <ParamField body="autoForms" type="boolean">
          Auto highlight form fields.
        </ParamField>

        <ParamField body="image" type="boolean">
          Enable image.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="requestGeoLocation" type="boolean">
      Request Signers Geolocation while signing documents, joining VSR meetings, performing IDV, and connecting to a mobile signature pad.
    </ParamField>

    <ParamField body="geoLocationOptions" type="object">
      Customize how Geolocation is collected.
      <Badge icon="sparkles" size="sm" color="purple">3.6</Badge>

      <Expandable title="properties">
        <ParamField body="required" type="boolean">
          Require geolocation to be shared before allowing the signer to continue.
        </ParamField>

        <ParamField body="requiredSign" type="boolean">
          Require geolocation to be shared before the signer can sign documents.
          (`required` must also be set to `true`)
        </ParamField>

        <ParamField body="requiredSignaturePad" type="boolean">
          Require geolocation to be shared before the signer can use signature pad.
          (`required` must also be set to `true`)
        </ParamField>

        <ParamField body="requiredMeeting" type="boolean">
          Require geolocation to be shared before the signer can join VSR meetings.
          (`required` must also be set to `true`)
        </ParamField>

        <ParamField body="requiredVerification" type="boolean">
          Require geolocation to be shared before the signer can verify their identity.
          (`required` must also be set to `true`)
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="pdfSecurity" type="boolean">
      Enable custom PDF security options.
      <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
    </ParamField>

    <ParamField body="pdfSecurityOptions" type="object">
      Customize PDF security options.
      <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>

      <Expandable title="properties">
        <ParamField body="allowAssembly" type="boolean">
          Allow PDF merge operations.
        </ParamField>

        <ParamField body="allowCopy" type="boolean">
          Allow copying PDF content.
        </ParamField>

        <ParamField body="allowDegradedPrinting" type="boolean">
          Allow only degraded PDF printing.
        </ParamField>

        <ParamField body="allowFillIn" type="boolean">
          Allow PDF AcroForms fields to be filled in (when formFlattening option is not set to "all").
        </ParamField>

        <ParamField body="allowModifyAnnotations" type="boolean">
          Allow PDF annotations.
        </ParamField>

        <ParamField body="allowModifyContents" type="boolean">
          Allow PDF editing.
        </ParamField>

        <ParamField body="allowPrinting" type="boolean">
          Allow PDF printing.
        </ParamField>

        <ParamField body="allowScreenReaders" type="boolean">
          Allow screen readers.
        </ParamField>

        <Warning>
          PDF security options are enforced only when the PDF is opened in a PDF viewer that supports the PDF security settings. Not all PDF viewers support these settings.
        </Warning>
      </Expandable>
    </ParamField>

    <ParamField body="verificationOptions" type="object">
      Set identity verification options.
      <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>

      <Expandable title="properties">
        <ParamField body="policyId" type="string">
          The policy ID of the custom Identity Verification Policy to use during signer identity verification. (Custom IDV policies currently must be created by our Support Team for your organization.)
        </ParamField>

        <ParamField body="policyCode" type="string">
          The code of one of our standard Identity Verification Policy to use during signer identity verification.

          <Expandable title="Verification policies">
            | Policy Code                              | Pass-To-Sign | Region | Retries |
            | :--------------------------------------- | :----------: | :----: | :-----: |
            | trulioo3\_document                       |     false    |   Any  |    2    |
            | trulioo3\_document\_required             |     true     |   Any  |    2    |
            | trulioo3\_document\_ca\_strict           |     false    |   CA   |    2    |
            | trulioo3\_document\_ca\_strict\_required |     true     |   CA   |    2    |

            <Tip>
              **Pass-To-Sign** indicates whether the signer must successfully complete identity verification before they can sign their documents.
            </Tip>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="reminderOptions" type="object">
      Set package `Remind Me Later` options.
      <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>

      <Expandable title="properties">
        <ParamField body="reminderDays" type="number">
          Number of days, from today, to send a reminder notification to the package owner.
        </ParamField>

        <ParamField body="reminderMessage" type="string">
          Message that will be sent with the reminder notification to package owner.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="signers" type="object[]">
  List of signers for the package.

  <Expandable title="properties">
    <ParamField body="firstName" type="string" required>
      Signer's first name.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Signer's last name.
    </ParamField>

    <ParamField body="email" type="string" required>
      Signer's email. (used to send notifications)
    </ParamField>

    <ParamField body="mobileNumber" type="string">
      Signer's mobile number. (used for 2FA and mobile signatures)
    </ParamField>

    <ParamField body="role" type="string" default="signer">
      Role of signer.

      <Expandable title="values">
        | Value  | Description                                                             |
        | :----- | :---------------------------------------------------------------------- |
        | signer | Signer                                                                  |
        | guest  | Guest of VSR or In Person signing that is not a signer of any documents |
        | host   | Host of VSR or In Person signing                                        |
      </Expandable>
    </ParamField>

    <ParamField body="verify" type="boolean">
      Set to `true` to request signer identity verification.

      <Note>
        Requires a verification policy to be assigned to package.
      </Note>
    </ParamField>

    <ParamField body="signCac" type="boolean" default={true}>
      Set to `true` to include the signer in the CAC page.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="recipients" type="object[]">
  List of recipients for the package.

  <Expandable title="properties">
    <ParamField body="firstName" type="string" required>
      Recipient's first name.
    </ParamField>

    <ParamField body="lastName" type="string" required>
      Recipient's last name.
    </ParamField>

    <ParamField body="email" type="string" required>
      Recipient's email. (used to send notifications)
    </ParamField>

    <ParamField body="mobileNumber" type="string">
      Recipient's mobile number. (used for 2FA if enabled)
    </ParamField>

    <ParamField body="type" type="string" default="cc">
      Type of recipient.

      <Expandable title="values">
        | Value | Description                                                    |
        | :---- | :------------------------------------------------------------- |
        | cc    | Recipient that will be **CC** on package email notifications.  |
        | bcc   | Recipient that will be **BCC** on package email notifications. |
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="documents" type="object[]">
  List of documents for the package.

  <Expandable title="properties">
    <ParamField body="name" type="string">
      Friendly file name shown to signers. (defaults to `fileName` if not specified)
    </ParamField>

    <ParamField body="fileName" type="string" required>
      Filename including extension.
    </ParamField>

    <ParamField body="fileData" type="string">
      Base64 encoding of file.
    </ParamField>

    <ParamField body="fileUrl" type="string">
      URL of file. (must be https and publicly accessible)
    </ParamField>

    <ParamField body="fileId" type="string">
      Unique file ID of an existing file added via [Files upload API](/v4/api/files/upload.mdx).

      <Tip>
        Either `fileData`, `fileUrl`, or `fileId` is required. We recommend using `fileId` to avoid exceeding per request size limits.
      </Tip>
    </ParamField>

    <ParamField body="collectionCode" type="string">
      The template collection that will be searched to automatically apply any matching templates.

      <Tip>
        Use this when you want to utilize auto-templates but do not know the specific template or document to apply. This will look for any matching auto-templates in the specified collection.
      </Tip>
    </ParamField>

    <ParamField body="autoTemplateCode" type="string">
      The full auto-template code `{templateCode}:{documentCode}` that will be used to automatically apply an existing auto-template document.

      <Tip>
        Use this when you know the specific auto-template and document you want to apply.
      </Tip>
    </ParamField>

    <ParamField body="templateDocumentId" type="string">
      The template document ID to apply to this document.

      <Tip>
        Use this when you want to apply a specific document template from the template passed via `templateId` in the parent object.
      </Tip>
    </ParamField>

    <ParamField body="templateData" type="Map<string, object>">
      Set of key/value pairs of data used to pre-populate templated fields with. The key must match a unique data ID assigned to a template field.

      ```json theme={null}
          ...
          "templateData": {
              "field1": "value1",
              "field2": "value2"
          },
          ...
      ```
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="packageId" type="string">
  Unique identifier for the package.
</ResponseField>

<ResponseField name="package" type="object">
  Full package object, returned when `returnPackage` is set to `true` on the request.

  <Expandable title="properties">
    <ResponseField name="packageId" type="string">
      Unique identifier for the package.
    </ResponseField>

    <ResponseField name="organizationId" type="string">
      Unique identifier for the organization that owns the package.
    </ResponseField>

    <ResponseField name="memberId" type="string">
      Identifier for the member who created/owns the package.
    </ResponseField>

    <ResponseField name="teamId" type="string" post={["nullable"]}>
      Team identifier associated with the package. (optional)
    </ResponseField>

    <ResponseField name="folderId" type="string" post={["nullable"]}>
      Folder identifier where the package is stored. (optional)
    </ResponseField>

    <ResponseField name="shared" type="boolean">
      Set to `true` if the package is shared.
    </ResponseField>

    <ResponseField name="meetingId" type="string" post={["nullable"]}>
      Current scheduled meeting ID for the package (if applicable).
    </ResponseField>

    <ResponseField name="templateId" type="string" post={["nullable"]}>
      ID of the template the package was created from (if applicable).
    </ResponseField>

    <ResponseField name="formId" type="string" post={["nullable"]}>
      ID of the form the package was created from (if applicable).
    </ResponseField>

    <ResponseField name="keyId" type="string" post={["nullable"]}>
      ID of the API key used to create the package (if created via API key).
    </ResponseField>

    <ResponseField name="name" type="string">
      Display name of the package.
    </ResponseField>

    <ResponseField name="category" type="string" post={["nullable"]}>
      Category for the package. (optional)
    </ResponseField>

    <ResponseField name="clientNumber" type="string" post={["nullable"]}>
      Client reference number. (optional)
    </ResponseField>

    <ResponseField name="matterNumber" type="string" post={["nullable"]}>
      Matter reference number. (optional)
    </ResponseField>

    <ResponseField name="description" type="string" post={["nullable"]}>
      Description of the package. (optional)
    </ResponseField>

    <ResponseField name="message" type="string" post={["nullable"]}>
      Message included when the package was sent. (optional)
    </ResponseField>

    <ResponseField name="rescindMessage" type="string" post={["nullable"]}>
      Message explaining why the package was rescinded. (optional)
    </ResponseField>

    <ResponseField name="reminderMessage" type="string" post={["nullable"]}>
      Reminder message for signers. (optional)
    </ResponseField>

    <ResponseField name="timeCreated" type="string">
      Creation time (ISO 8601 date-time).
    </ResponseField>

    <ResponseField name="timeReminder" type="string" post={["nullable"]}>
      Reminder time (ISO 8601 date-time).
    </ResponseField>

    <ResponseField name="timeRetention" type="string" post={["nullable"]}>
      Retention expiry time (ISO 8601 date-time).
    </ResponseField>

    <ResponseField name="timeRescinded" type="string" post={["nullable"]}>
      Time the package was rescinded (ISO 8601).
    </ResponseField>

    <ResponseField name="timeDeleted" type="string" post={["nullable"]}>
      Time the package was deleted (ISO 8601).
    </ResponseField>

    <ResponseField name="timeSignBy" type="string">
      Deadline for signing (ISO 8601 date-time).
    </ResponseField>

    <ResponseField name="timeLastModified" type="string">
      Last modification time (ISO 8601 date-time).
    </ResponseField>

    <ResponseField name="options" type="object">
      Package options.

      <Expandable title="properties">
        <ParamField body="embedded" type="boolean">
          Enable embedded signing mode.
        </ParamField>

        <ParamField body="embed" type="object">
          Embed options used to customize the embedded package editor.
          <Badge icon="sparkles" size="sm" color="purple">2.8</Badge>

          <Expandable title="properties">
            <ParamField body="disableSend" type="boolean">
              User can only save changes to draft packages; the user will not be able to send it.
            </ParamField>

            <ParamField body="disableProperties" type="boolean">
              User will not be allowed to modify package properties.
            </ParamField>

            <ParamField body="disableVerification" type="boolean">
              User will not be allowed to modify package verification properties.
            </ParamField>

            <ParamField body="disableSigners" type="boolean">
              User will not be allowed to modify package signers.
            </ParamField>

            <ParamField body="disableDocuments" type="boolean">
              User will not be allowed to modify package documents.
            </ParamField>

            <ParamField body="disableEditing" type="boolean">
              User will not be allowed to modify package properties, verification properties, signers, or documents. They will still be allowed to template each document.
            </ParamField>

            <ParamField body="focusTemplating" type="boolean">
              The first document will be focused when the package editor is loaded instead of the package properties.
            </ParamField>

            <ParamField body="returnUrl" type="string">
              User will be redirected back to the returnUrl when they are done editing the package.
            </ParamField>

            <ParamField body="returnState" type="string">
              Will be included in a `state` query string parameter appended to the `returnUrl`.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="brandId" type="string">
          Show custom brand when signing package.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="addDocumentIdentifier" type="boolean">
          Add document identifier to each page (QR code).
        </ParamField>

        <ParamField body="allowReview" type="boolean">
          Allow VSR participants to review documents before a meeting via a Review Documents link added to email meeting invitation.
          <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>
        </ParamField>

        <ParamField body="allowForwardSignings" type="boolean">
          Allow signers to forward the signing to another email address.
          <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>
        </ParamField>

        <ParamField body="enhancedPrivacy" type="boolean">
          Enabled to not share email addresses between signers.
          <Badge icon="sparkles" size="sm" color="purple">2.11</Badge>

          <Note>
            Supported in the following package types:

            * Concurrent (`concurrent`)
            * Sequential (`Sequential`)
            * Group Send (`Counterparts`)
          </Note>
        </ParamField>

        <ParamField body="formDisabled" type="boolean">
          Do not allow signers to fill AcroForm fields during signing.
          <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
        </ParamField>

        <ParamField body="formReadOnly" type="boolean">
          Do not allow signers to modify AcroForm fields during signing.
          <Badge icon="sparkles" size="sm" color="purple">3.6</Badge>
        </ParamField>

        <ParamField body="formFlattening" type="string">
          Control how Acroform fields are flattened after signing a document.
          <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>

          <Expandable title="values" defaultOpen>
            | Value  | Description                          |
            | :----- | :----------------------------------- |
            | none   | Do not flatten fields                |
            | filled | Flatten only fields filled by signer |
            | all    | Flatten all fields `default`         |
          </Expandable>
        </ParamField>

        <ParamField body="styleInkColor" type="string">
          Override the default ink color `#0000FF` for Ink to Sign signatures and initials with a valid #-hexadecimal RGB color value.
          <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
        </ParamField>

        <ParamField body="defaultMark" type="string">
          Set preferred default mark type.
          <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>

          <Expandable title="values" defaultOpen>
            | Value           | Description |
            | :-------------- | :---------- |
            | touch\_to\_sign | iink It     |
            | type\_to\_sign  | Type It     |
            | click\_to\_sign | Accept It   |
          </Expandable>
        </ParamField>

        <ParamField body="retentionPeriod" type="string">
          Add a retention period to the package to prevent deletion. (ISO 8601 duration)
          <Badge icon="sparkles" size="sm" color="purple">1.11</Badge>
        </ParamField>

        <ParamField body="templateParseTags" type="boolean">
          Parse document for templating tags. Defaults to true.
        </ParamField>

        <ParamField body="templateParseMergeDataTags" type="boolean">
          Parse merger data templating tags. Defaults to false.
          <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>
        </ParamField>

        <ParamField body="templateUnusedSignerTags" type="string">
          Control how unused signer tags are handled.
          <Badge icon="sparkles" size="sm" color="purple">2.6</Badge>

          <Expandable title="values" defaultOpen>
            | Value  | Description                      |
            | :----- | :------------------------------- |
            | keep   | Leave unused tags in document    |
            | hide   | Move unused tags to hidden layer |
            | remove | Remove unused tags `default`     |
          </Expandable>
        </ParamField>

        <ParamField body="cac" type="string">
          Control which document(s) within a package have the CAC page appended to them.
          <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>

          <Expandable title="values" defaultOpen>
            | Value           | Description                         |
            | :-------------- | :---------------------------------- |
            | document\_all   | Append to all documents in package  |
            | document\_first | Append to first document in package |
            | document\_last  | Append to last document in package  |
          </Expandable>
        </ParamField>

        <ParamField body="cacSignerIdentification" type="boolean">
          When enabled will add a signer identification placeholder for each signer on the CAC page.
          <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>
        </ParamField>

        <ParamField body="cacText" type="string">
          Add a custom disclaimer to the top of the Compliance Audit Certificate.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="securityCode" type="boolean">
          Enabled 2FA security code.

          <Tip>
            All signers will require a valid mobile phone number to enable mobile MFA.
          </Tip>
        </ParamField>

        <ParamField body="securityPassphrase" type="boolean">
          Enabled 2FA security passphrase.

          <Tip>
            You must also set a passphrase as part of add or update request to enabled 2FA security passphrase.

            ```json theme={null}
            {
                "options": {
                    "securityPassphrase": true,
                    ...
                },
                "securityPassphrase": "mySecretPassphrase"
            }
            ```
          </Tip>
        </ParamField>

        <ParamField body="markAll" type="boolean">
          Enable all mark types.
        </ParamField>

        <ParamField body="markClickToSign" type="boolean">
          Enabled click to sign `Accept It`.
        </ParamField>

        <ParamField body="markTypeToSign" type="boolean">
          Enabled type to sign `Type It`.
        </ParamField>

        <ParamField body="markTouchToSign" type="boolean">
          Enabled touch to sign `Ink It`.
        </ParamField>

        <ParamField body="allowMarkTouchToSignMouse" type="boolean">
          Allows signer to use desktop mouse to draw signature via touch to sign.
        </ParamField>

        <ParamField body="meetingVideoRecordingAuto" type="boolean">
          Automatically starts video recording after host starts meeting and first attendee joins.
        </ParamField>

        <ParamField body="meetingVideoRecordingDisabled" type="boolean">
          Disables video recording feature preventing host from recording signing session.
        </ParamField>

        <ParamField body="meetingVideoRetentionPeriod" type="string">
          Add a retention period to all package videos to prevent deletion. (ISO 8601 duration)
          <Badge icon="sparkles" size="sm" color="purple">1.11</Badge>
        </ParamField>

        <ParamField body="masterFileShareMeetings" type="boolean">
          Share meeting details and videos with guest signers via MasterFile.
        </ParamField>

        <ParamField body="notificationsOff" type="boolean">
          Prevent all package notifications from being sent to signers. This option will override other notify options. This option will not prevent Document Accessed (notifyAccessed) notifications if enabled.
          <Badge icon="sparkles" size="sm" color="purple">1.10.4</Badge>
        </ParamField>

        <ParamField body="notifyAttachments" type="boolean">
          Set to false to not include signed documents as attachments in executed email notifications.
          <Badge icon="sparkles" size="sm" color="purple">2.5</Badge>
        </ParamField>

        <ParamField body="notifyConfirmation" type="boolean">
          Send email notification to owner to confirm package was created.
        </ParamField>

        <ParamField body="notifyAccessed" type="boolean">
          Send email notification to owner whenever a signer opens a document (limited to once every hour).
        </ParamField>

        <ParamField body="notifyPackageSign" type="boolean">
          Send email notification to each signer when it is their turn to sign.
        </ParamField>

        <ParamField body="notifySigners" type="boolean">
          Send email notification to each signer to notify them that they are waiting their turn to sign.
        </ParamField>

        <ParamField body="notifyMeeting" type="boolean">
          Send email notification to each signer when Video Signing Room meeting is scheduled.
        </ParamField>

        <ParamField body="notifyMeetingIcsAttachment" type="boolean">
          Include ICS compatible meeting invitation with email notification to schedule meeting date and time in recipients' calendar.
        </ParamField>

        <ParamField body="notifyDocumentSigned" type="boolean">
          Send email notification to signer after they sign each document.
          <Badge icon="sparkles" size="sm" color="purple">2.5</Badge>
        </ParamField>

        <ParamField body="notifyDocumentNextAll" type="boolean">
          For Sequential packages, the next signer notification is only sent after the current signer has signed all of their documents.
          <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
        </ParamField>

        <ParamField body="notifyDocumentExecuted" type="boolean">
          Send email to owner to notify them when all signers have signed each document.
        </ParamField>

        <ParamField body="notifyDocumentExecutedAll" type="boolean">
          Don't send document executed email until all documents in the package have been fully signed.
          <Badge icon="sparkles" size="sm" color="purple">3.3</Badge>
        </ParamField>

        <ParamField body="notifyDocumentExecutedOwner" type="boolean">
          `Counterparts` Send document executed notification TO package owner and CC signer.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="notifyDocumentExecutedAttachRevision" type="boolean">
          Send signers fully executed document with CAC page appended to end of document.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="notifyDocumentExecutedAttachExecuted" type="boolean">
          Send signers fully executed document without CAC page appended to end of document.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="notifyDocumentExecutedAttachCac" type="boolean">
          Send signers separated CAC page as an additional attachment.
          <Badge icon="sparkles" size="sm" color="purple">1.10</Badge>
        </ParamField>

        <ParamField body="allowSignerTools" type="boolean">
          Allow signer to add additional fields while signing documents. Customize signerTools to control what fields the signer can add.
        </ParamField>

        <ParamField body="allowSignerDeleteFields" type="boolean">
          Allow signer to delete any templated fields while signing a document. This is default behavior for VSR and In Person package types. It is recommended to use optional fields instead for Concurrent, Sequential, and Group Send package types.
          <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
        </ParamField>

        <ParamField body="signerTools" type="object">
          Customize signer toolbar options.

          <Expandable title="properties">
            <ParamField body="sign" type="boolean">
              Enable sign.
            </ParamField>

            <ParamField body="annotateMobile" type="boolean">
              Enable annotations (ink) on mobile devices.
            </ParamField>

            <ParamField body="annotateDesktop" type="boolean">
              Enable annotations (ink) on desktop.
            </ParamField>

            <ParamField body="text" type="boolean">
              Enable text.
            </ParamField>

            <ParamField body="note" type="boolean">
              Enable note.
            </ParamField>

            <ParamField body="forms" type="boolean">
              Enable forms.
            </ParamField>

            <ParamField body="autoForms" type="boolean">
              Auto highlight form fields.
            </ParamField>

            <ParamField body="image" type="boolean">
              Enable image.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="requestGeoLocation" type="boolean">
          Request Signers Geolocation while signing documents, joining VSR meetings, performing IDV, and connecting to a mobile signature pad.
        </ParamField>

        <ParamField body="geoLocationOptions" type="object">
          Customize how Geolocation is collected.
          <Badge icon="sparkles" size="sm" color="purple">3.6</Badge>

          <Expandable title="properties">
            <ParamField body="required" type="boolean">
              Require geolocation to be shared before allowing the signer to continue.
            </ParamField>

            <ParamField body="requiredSign" type="boolean">
              Require geolocation to be shared before the signer can sign documents.
              (`required` must also be set to `true`)
            </ParamField>

            <ParamField body="requiredSignaturePad" type="boolean">
              Require geolocation to be shared before the signer can use signature pad.
              (`required` must also be set to `true`)
            </ParamField>

            <ParamField body="requiredMeeting" type="boolean">
              Require geolocation to be shared before the signer can join VSR meetings.
              (`required` must also be set to `true`)
            </ParamField>

            <ParamField body="requiredVerification" type="boolean">
              Require geolocation to be shared before the signer can verify their identity.
              (`required` must also be set to `true`)
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="pdfSecurity" type="boolean">
          Enable custom PDF security options.
          <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>
        </ParamField>

        <ParamField body="pdfSecurityOptions" type="object">
          Customize PDF security options.
          <Badge icon="sparkles" size="sm" color="purple">2.10</Badge>

          <Expandable title="properties">
            <ParamField body="allowAssembly" type="boolean">
              Allow PDF merge operations.
            </ParamField>

            <ParamField body="allowCopy" type="boolean">
              Allow copying PDF content.
            </ParamField>

            <ParamField body="allowDegradedPrinting" type="boolean">
              Allow only degraded PDF printing.
            </ParamField>

            <ParamField body="allowFillIn" type="boolean">
              Allow PDF AcroForms fields to be filled in (when formFlattening option is not set to "all").
            </ParamField>

            <ParamField body="allowModifyAnnotations" type="boolean">
              Allow PDF annotations.
            </ParamField>

            <ParamField body="allowModifyContents" type="boolean">
              Allow PDF editing.
            </ParamField>

            <ParamField body="allowPrinting" type="boolean">
              Allow PDF printing.
            </ParamField>

            <ParamField body="allowScreenReaders" type="boolean">
              Allow screen readers.
            </ParamField>

            <Warning>
              PDF security options are enforced only when the PDF is opened in a PDF viewer that supports the PDF security settings. Not all PDF viewers support these settings.
            </Warning>
          </Expandable>
        </ParamField>

        <ParamField body="verificationOptions" type="object">
          Set identity verification options.
          <Badge icon="sparkles" size="sm" color="purple">3.2</Badge>

          <Expandable title="properties">
            <ParamField body="policyId" type="string">
              The policy ID of the custom Identity Verification Policy to use during signer identity verification. (Custom IDV policies currently must be created by our Support Team for your organization.)
            </ParamField>

            <ParamField body="policyCode" type="string">
              The code of one of our standard Identity Verification Policy to use during signer identity verification.

              <Expandable title="Verification policies">
                | Policy Code                              | Pass-To-Sign | Region | Retries |
                | :--------------------------------------- | :----------: | :----: | :-----: |
                | trulioo3\_document                       |     false    |   Any  |    2    |
                | trulioo3\_document\_required             |     true     |   Any  |    2    |
                | trulioo3\_document\_ca\_strict           |     false    |   CA   |    2    |
                | trulioo3\_document\_ca\_strict\_required |     true     |   CA   |    2    |

                <Tip>
                  **Pass-To-Sign** indicates whether the signer must successfully complete identity verification before they can sign their documents.
                </Tip>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="reminderOptions" type="object">
          Set package `Remind Me Later` options.
          <Badge icon="sparkles" size="sm" color="purple">4.0</Badge>

          <Expandable title="properties">
            <ParamField body="reminderDays" type="number">
              Number of days, from today, to send a reminder notification to the package owner.
            </ParamField>

            <ParamField body="reminderMessage" type="string">
              Message that will be sent with the reminder notification to package owner.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ResponseField>

    <ResponseField name="hasSecurityPassphrase" type="boolean">
      Set to `true` if the package is protected by a security passphrase.
    </ResponseField>

    <ResponseField name="locale" type="string">
      Language/locale for the package.
    </ResponseField>

    <ResponseField name="timeZone" type="string">
      Time zone for package date/time presentation.
    </ResponseField>

    <ResponseField name="format" type="object">
      Formatting options for dates and presentation.

      <Expandable title="properties">
        <ResponseField name="locale" type="string" post={["nullable"]}>
          Locale code used for formatting. (optional)

          <Note>
            Inherits from the package locale if not specified.
          </Note>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="revisionsSigned" type="number">
      Number of signed revisions across package documents.
    </ResponseField>

    <ResponseField name="revisionsCount" type="number">
      Total number of revisions across package documents.
    </ResponseField>

    <ResponseField name="restrictedType" type="string" post={["nullable"]}>
      Restriction type applied to the package. (optional)
    </ResponseField>

    <ResponseField name="api" type="boolean">
      Set to `true` if the package was created via the API.
    </ResponseField>

    <ResponseField name="type" type="string">
      Package type identifier.

      <Expandable title="values">
        | Value                | Description                                                                                     |
        | :------------------- | :---------------------------------------------------------------------------------------------- |
        | concurrent           | **Concurrent**: Allows multiple signers to sign the document simultaneously.                    |
        | Sequential           | **Sequential**: Requires signers to sign the document in a specific order.                      |
        | Counterpart          | **Group Send**: Enables group signing, where all signers receive the document at the same time. |
        | video\_closing\_room | **Video Signing Room**: A virtual room for signing documents via video conference.              |
        | Live Session         | **In Person**: An in-person signing session with all parties present.                           |

        <Note>
          Even though the signing workflow names have evolved, the constants used to identify them have remained the same.
        </Note>

        <Tip>
          The package type constants are case-sensitive. Ensure that you use the exact casing as shown in the table above when specifying package types in your API requests.
        </Tip>
      </Expandable>
    </ResponseField>

    <ResponseField name="state" type="string">
      Current state of the package.

      <Expandable title="values">
        <Tip>
          New package states may be added in future releases. It is recommended that you always validate your integration against the sandbox before new releases are deployed into production.
        </Tip>

        <Note>
          Release 4.0 introduces two new package states, `executed` and `expired`. In 3.6 both executed and expired packages were in an `open` state.
        </Note>

        | Value     | Version | Description                                                                                                                                                                                                                                                                                                          |
        | :-------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
        | draft     | 1.0     | Package will be added in a draft state. Notifications will not be sent to the signer(s). You must call the send API, or the package owner must manually send the package from within iinked Sign.                                                                                                                    |
        | open      | 1.0     | The package will be ready for signing, and notifications will be sent to the signer(s) if enabled.                                                                                                                                                                                                                   |
        | executed  | 4.0     | The package has been fully executed by all signers.                                                                                                                                                                                                                                                                  |
        | expired   | 4.0     | The package was not signed by the sign by date and has now expired. VSR packages will expire 7 days after their scheduled meeting date.                                                                                                                                                                              |
        | rescinded | 3.5     | The package was rescinded and is no longer available for signing.                                                                                                                                                                                                                                                    |
        | select    | 3.6     | Use the select state only when the package will be opened in the **embedded package editor** and you want the workflow to prompt the user to choose a package type. Packages in the select state will be automatically deleted if not converted to draft or open within 24 hours.                                    |
        | add       | 2.9     | Use the add state only when the package will be opened in the **embedded package editor** and you want the workflow to function as if you're creating a new package, rather than editing an existing one. Packages in the add state will be automatically deleted if not converted to draft or open within 24 hours. |
      </Expandable>
    </ResponseField>

    <ResponseField name="externalData" type="Map<string, object>" post={["nullable"]}>
      Arbitrary external data attached to the package.
    </ResponseField>

    <ResponseField name="version" type="string">
      Package version or timestamp (ISO 8601).
    </ResponseField>

    <ResponseField name="meeting" type="object" post={["nullable"]}>
      If the package is scheduled for a meeting, the meeting details.

      <Expandable title="properties">
        <ResponseField name="meetingId" type="string">
          Unique identifier for the meeting.
        </ResponseField>

        <ResponseField name="organizationId" type="string">
          Organization associated with the meeting.
        </ResponseField>

        <ResponseField name="packageId" type="string">
          Package associated with the meeting.
        </ResponseField>

        <ResponseField name="timeStart" type="string">
          Meeting start time (ISO 8601 date-time).
        </ResponseField>

        <ResponseField name="duration" type="string">
          Meeting duration (ISO 8601 duration string).
        </ResponseField>

        <ResponseField name="isPrivate" type="boolean">
          Set to `true` if the meeting is private.
        </ResponseField>

        <ResponseField name="type" type="string">
          Meeting type identifier.
        </ResponseField>

        <ResponseField name="state" type="string">
          Current state of the meeting.

          <Expandable title="values">
            | Value       | Description          |
            | :---------- | :------------------- |
            | scheduled   | Scheduled meeting.   |
            | rescheduled | Rescheduled meeting. |
            | cancelled   | Cancelled meeting.   |
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="documents" type="object[]">
      Documents that belong to the package.

      <Expandable title="properties">
        <ResponseField name="documentId" type="string">
          Unique identifier for the document.
        </ResponseField>

        <ResponseField name="packageId" type="string">
          Identifier of the package this document belongs to.
        </ResponseField>

        <ResponseField name="fileId" type="string">
          Unique identifier for the file associated with the document.
        </ResponseField>

        <ResponseField name="autoTemplateId" type="string" post={["nullable"]}>
          Auto-template identifier (if created from an auto-template).
        </ResponseField>

        <ResponseField name="autoTemplateDocumentId" type="string" post={["nullable"]}>
          Auto-template document identifier (if applicable).
        </ResponseField>

        <ResponseField name="externalId" type="string" post={["nullable"]}>
          External identifier for the document. (optional)
        </ResponseField>

        <ResponseField name="index" type="number">
          Order/index of the document within the package.
        </ResponseField>

        <ResponseField name="name" type="string">
          Document display name.
        </ResponseField>

        <ResponseField name="fileName" type="string">
          Original filename uploaded.
        </ResponseField>

        <ResponseField name="fileType" type="string">
          File extension or type identifier.
        </ResponseField>

        <ResponseField name="fileSize" type="number">
          Size of the file in bytes.
        </ResponseField>

        <ResponseField name="numberPages" type="number">
          Number of pages in the document.
        </ResponseField>

        <ResponseField name="timeUploaded" type="string">
          Upload time (ISO 8601 date-time).
        </ResponseField>

        <ResponseField name="timeLastModified" type="string">
          Last modified time (ISO 8601 date-time).
        </ResponseField>

        <ResponseField name="revisionsSigned" type="number">
          Number of signed revisions for this document.
        </ResponseField>

        <ResponseField name="revisionsCount" type="number">
          Total number of revisions for this document.
        </ResponseField>

        <ResponseField name="description" type="string" post={["nullable"]}>
          Description of the document. (optional)
        </ResponseField>

        <ResponseField name="cac" type="boolean">
          Set to `true` if a CAC (Compliance Audit Certificate) has been appended to the document.
        </ResponseField>

        <ResponseField name="cacPages" type="number">
          Number of CAC pages if `cac` is `true`.
        </ResponseField>

        <ResponseField name="state" type="string">
          Current state of the document.

          <Expandable title="values">
            <Tip>
              Most document states are used internally. All documents included in a returned package will always be in the open state.
            </Tip>

            | Values | Description                                          |
            | :----- | :--------------------------------------------------- |
            | open   | The document is open and can be interacted with.     |
            | failed | The document failed to process and cannot be signed. |
          </Expandable>
        </ResponseField>

        <ResponseField name="revisions" type="object[]">
          Revision history for the document. Typically includes one revision per signer.

          <Expandable title="properties">
            <ResponseField name="documentId" type="string">
              ID of the document this revision belongs to.
            </ResponseField>

            <ResponseField name="revisionId" type="string">
              Unique identifier for the revision.
            </ResponseField>

            <ResponseField name="revisionNumber" type="number">
              Revision number (incrementing integer).
            </ResponseField>

            <ResponseField name="revisionBeforeId" type="string" post={["nullable"]}>
              Identifier of the previous revision this revision replaced. (optional)
            </ResponseField>

            <ResponseField name="timeLastOpened" type="string" post={["nullable"]}>
              Last opened time for the revision (ISO 8601).
            </ResponseField>

            <ResponseField name="signerId" type="string">
              Signer who is associated with this revision.
            </ResponseField>

            <ResponseField name="isSigned" type="boolean">
              Set to `true` if this revision has been signed.
            </ResponseField>

            <ResponseField name="timeSigned" type="string" post={["nullable"]}>
              Time the revision was signed (ISO 8601).
            </ResponseField>

            <ResponseField name="address" type="string" post={["nullable"]}>
              Address metadata captured on sign. (optional)
            </ResponseField>

            <ResponseField name="latitude" type="string" post={["nullable"]}>
              Latitude coordinate captured on sign. (optional)
            </ResponseField>

            <ResponseField name="longitude" type="string" post={["nullable"]}>
              Longitude coordinate captured on sign. (optional)
            </ResponseField>

            <ResponseField name="state" type="string">
              State of the revision (for example: signed, pending).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="signers" type="object[]">
          Signers associated with this document.

          <Expandable title="properties">
            <ResponseField name="signerId" type="string">
              Identifier for the signer associated with the document.
            </ResponseField>

            <ResponseField name="signerKey" type="string">
              Internal signer key used to map fields/tags.
            </ResponseField>

            <ResponseField name="name" type="string">
              Full name for the signer on this document.
            </ResponseField>

            <ResponseField name="initials" type="string">
              Signer initials.
            </ResponseField>

            <ResponseField name="email" type="string">
              Email for the signer on this document.
            </ResponseField>

            <ResponseField name="mobileNumber" type="string" post={["nullable"]}>
              Mobile number for the signer on this document. (optional)
            </ResponseField>

            <ResponseField name="hasSigned" type="boolean">
              Set to `true` if the signer has signed this document.
            </ResponseField>

            <ResponseField name="isNext" type="boolean">
              Set to `true` if this signer is next in the signing order for this document.
            </ResponseField>

            <ResponseField name="templateRole" type="string" post={["nullable"]}>
              Template role name if the signer was created from a template role. (optional)
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="signers" type="object[]">
      Signers for the package.

      <Expandable title="properties">
        <ResponseField name="signerId" type="string">
          Unique identifier for the signer.
        </ResponseField>

        <ResponseField name="packageId" type="string">
          Package identifier the signer belongs to.
        </ResponseField>

        <ResponseField name="memberId" type="string" post={["nullable"]}>
          Member identifier when the signer is an organization member. (optional)
        </ResponseField>

        <ResponseField name="signerTag" type="string">
          Tag associated with the signer. (optional)
        </ResponseField>

        <ResponseField name="timeCreated" type="string">
          When the signer record was created (ISO 8601).
        </ResponseField>

        <ResponseField name="timeDeclined" type="string" post={["nullable"]}>
          Time the signer declined (if applicable).
        </ResponseField>

        <ResponseField name="timeUpdated" type="string">
          Last update time for the signer record.
        </ResponseField>

        <ResponseField name="index" type="number">
          Signing order index.
        </ResponseField>

        <ResponseField name="locale" type="string" post={["nullable"]}>
          Locale for the signer. (optional)
        </ResponseField>

        <ResponseField name="signCac" type="boolean">
          Set to `true` if signer requires CAC signing.
        </ResponseField>

        <ResponseField name="verify" type="boolean">
          Set to `true` if signer requires identity verification before signing.
        </ResponseField>

        <ResponseField name="firstName" type="string">
          First name of the signer.
        </ResponseField>

        <ResponseField name="lastName" type="string">
          Last name of the signer.
        </ResponseField>

        <ResponseField name="email" type="string">
          Email address for the signer.
        </ResponseField>

        <ResponseField name="mobileNumberCountryCode" type="string" post={["nullable"]}>
          Country code for the mobile number. (optional)
        </ResponseField>

        <ResponseField name="mobileNumberOriginal" type="string" post={["nullable"]}>
          Original mobile number provided.
        </ResponseField>

        <ResponseField name="mobileNumber" type="string" post={["nullable"]}>
          Normalized mobile number (E.164) when available.
        </ResponseField>

        <ResponseField name="declineMessage" type="string" post={["nullable"]}>
          Message left by the signer when declining (if any).
        </ResponseField>

        <ResponseField name="declineReason" type="string" post={["nullable"]}>
          Reason code for decline (if applicable).
        </ResponseField>

        <ResponseField name="next" type="boolean">
          Set to `true` if this signer is next in signing order across the package.
        </ResponseField>

        <ResponseField name="revisionsSigned" type="number">
          Number of revisions the signer has signed.
        </ResponseField>

        <ResponseField name="revisionsCount" type="number">
          Number of revisions assigned to the signer.
        </ResponseField>

        <ResponseField name="role" type="string">
          Role of the signer.

          <Expandable title="values">
            | Value  | Description                                                             |
            | :----- | :---------------------------------------------------------------------- |
            | signer | Signer                                                                  |
            | guest  | Guest of VSR or In Person signing that is not a signer of any documents |
            | host   | Host of VSR or In Person signing                                        |
          </Expandable>
        </ResponseField>

        <ResponseField name="type" type="string">
          Type of signer.

          <Expandable title="values">
            | Value  | Description                                                               |
            | :----- | :------------------------------------------------------------------------ |
            | signer | Signer                                                                    |
            | guest  | Signer that was added by the host during VSR or In Person signing session |
          </Expandable>
        </ResponseField>

        <ResponseField name="state" type="string">
          Current state of the signer.

          <Expandable title="values">
            | Value    | Description                                                     |
            | :------- | :-------------------------------------------------------------- |
            | active   | Signer that is actively participating in the signing process.   |
            | declined | Signer that has declined to participate in the signing process. |
            | deleted  | Signer that has been removed from the package.                  |
          </Expandable>
        </ResponseField>

        <ResponseField name="verification" type="object" post={["nullable"]}>
          Signer verification status. (if any)

          <Expandable title="properties">
            <ResponseField name="verificationId" type="string">
              Identifier for the verification record.
            </ResponseField>

            <ResponseField name="signerId" type="string">
              Signer identifier associated with this verification.
            </ResponseField>

            <ResponseField name="canSign" type="boolean">
              Set to `true` if the signer is can sign documents after verification.
            </ResponseField>

            <ResponseField name="canJoin" type="boolean">
              Set to `true` if the signer can join VSR after verification.
            </ResponseField>

            <ResponseField name="canRetry" type="boolean">
              Set to `true` if the signer may retry verification on failure.
            </ResponseField>

            <ResponseField name="hasSigned" type="boolean">
              Set to `true` if the signer has successfully signed after verification.
            </ResponseField>

            <ResponseField name="isLocked" type="boolean">
              Set to `true` if the verification is currently locked.
            </ResponseField>

            <ResponseField name="attempts" type="number">
              Number of verification attempts made.
            </ResponseField>

            <ResponseField name="errors" type="number">
              Number of errors encountered during verification.
            </ResponseField>

            <ResponseField name="continue" type="boolean">
              Whether the verification flow should continue to next step.
            </ResponseField>

            <ResponseField name="continueOnError" type="boolean">
              Whether to continue the flow when verification errors occur.
            </ResponseField>

            <ResponseField name="error" type="string" post={["nullable"]}>
              Current verification error code (if any).
            </ResponseField>

            <ResponseField name="state" type="string">
              Current state of the verification.

              <Expandable title="values">
                | State                | Description                                                                                     |
                | -------------------- | ----------------------------------------------------------------------------------------------- |
                | not\_started         | Signer has not started identity verification.                                                   |
                | start                | Signer is on start step.                                                                        |
                | consent              | Signer is on consent step.                                                                      |
                | consent\_processing  | Server is processing consent.                                                                   |
                | identity             | Signer is on identity verification step.                                                        |
                | identity\_processing | Server is processing identity verification.                                                     |
                | kba                  | Signer is on KBA verification step.                                                             |
                | kba\_processing      | Server is processing KBA verification.                                                          |
                | document             | Signer is on document verification step.                                                        |
                | document\_processing | Server is processing document verification.                                                     |
                | end                  | Server is finalizing identity verification result.                                              |
                | passed               | Identity verification has passed.                                                               |
                | failed               | Identity verification has failed and can be retried by signer.                                  |
                | failed\_reset        | Identity verification has failed and must be reset by package owner for signer to retry.        |
                | failed\_locked       | Identity verification has failed and is now locked and can no longer be reset by package owner. |
                | error                | A server error has occurred and can be retried by signer.                                       |
                | error\_reset         | A server error has occurred and must be reset by package owner for signer to retry.             |
                | error\_locked        | A server error has occurred and can no longer be reset by package owner.                        |
                | cancelled            | Identity verification has been cancelled.                                                       |
                | cancelled\_reset     | Identity verification has been cancelled due to package owner resetting signer's verification.  |
                | invalid              | Identity verification is in an invalid state and cannot be processed.                           |
              </Expandable>
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="recipients" type="object[]">
      Recipients related to the package (additional recipients beyond signers).

      <Expandable title="properties">
        <ResponseField name="recipientId" type="string">
          Unique identifier for the recipient.
        </ResponseField>

        <ResponseField name="packageId" type="string">
          Identifier of the package the recipient belongs to.
        </ResponseField>

        <ResponseField name="timeCreated" type="string">
          Creation time for the recipient record (ISO 8601).
        </ResponseField>

        <ResponseField name="timeUpdated" type="string" post={["nullable"]}>
          Last update time for the recipient record (ISO 8601).
        </ResponseField>

        <ResponseField name="firstName" type="string">
          Recipient first name.
        </ResponseField>

        <ResponseField name="lastName" type="string">
          Recipient last name.
        </ResponseField>

        <ResponseField name="email" type="string">
          Recipient email address.
        </ResponseField>

        <ResponseField name="mobileNumberCountryCode" type="string" post={["nullable"]}>
          Recipient mobile number country code. (optional)
        </ResponseField>

        <ResponseField name="mobileNumberOriginal" type="string" post={["nullable"]}>
          Original recipient mobile number provided.
        </ResponseField>

        <ResponseField name="mobileNumber" type="string" post={["nullable"]}>
          Normalized recipient mobile number. (optional)
        </ResponseField>

        <ResponseField name="locale" type="string" post={["nullable"]}>
          Recipient locale. (optional)
        </ResponseField>

        <ResponseField name="type" type="string">
          Recipient type.
        </ResponseField>

        <ResponseField name="state" type="string">
          Current state of the recipient record.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="verifications" type="object[]">
      Verification records associated with the package.

      <Expandable title="properties">
        <ResponseField name="verificationId" type="string">
          Identifier for the verification record.
        </ResponseField>

        <ResponseField name="signerId" type="string">
          Signer identifier associated with this verification.
        </ResponseField>

        <ResponseField name="canSign" type="boolean">
          Set to `true` if the signer is can sign documents after verification.
        </ResponseField>

        <ResponseField name="canJoin" type="boolean">
          Set to `true` if the signer can join VSR after verification.
        </ResponseField>

        <ResponseField name="canRetry" type="boolean">
          Set to `true` if the signer may retry verification on failure.
        </ResponseField>

        <ResponseField name="hasSigned" type="boolean">
          Set to `true` if the signer has successfully signed after verification.
        </ResponseField>

        <ResponseField name="isLocked" type="boolean">
          Set to `true` if the verification is currently locked.
        </ResponseField>

        <ResponseField name="attempts" type="number">
          Number of verification attempts made.
        </ResponseField>

        <ResponseField name="errors" type="number">
          Number of errors encountered during verification.
        </ResponseField>

        <ResponseField name="continue" type="boolean">
          Whether the verification flow should continue to next step.
        </ResponseField>

        <ResponseField name="continueOnError" type="boolean">
          Whether to continue the flow when verification errors occur.
        </ResponseField>

        <ResponseField name="error" type="string" post={["nullable"]}>
          Current verification error code (if any).
        </ResponseField>

        <ResponseField name="state" type="string">
          Current state of the verification.

          <Expandable title="values">
            | State                | Description                                                                                     |
            | -------------------- | ----------------------------------------------------------------------------------------------- |
            | not\_started         | Signer has not started identity verification.                                                   |
            | start                | Signer is on start step.                                                                        |
            | consent              | Signer is on consent step.                                                                      |
            | consent\_processing  | Server is processing consent.                                                                   |
            | identity             | Signer is on identity verification step.                                                        |
            | identity\_processing | Server is processing identity verification.                                                     |
            | kba                  | Signer is on KBA verification step.                                                             |
            | kba\_processing      | Server is processing KBA verification.                                                          |
            | document             | Signer is on document verification step.                                                        |
            | document\_processing | Server is processing document verification.                                                     |
            | end                  | Server is finalizing identity verification result.                                              |
            | passed               | Identity verification has passed.                                                               |
            | failed               | Identity verification has failed and can be retried by signer.                                  |
            | failed\_reset        | Identity verification has failed and must be reset by package owner for signer to retry.        |
            | failed\_locked       | Identity verification has failed and is now locked and can no longer be reset by package owner. |
            | error                | A server error has occurred and can be retried by signer.                                       |
            | error\_reset         | A server error has occurred and must be reset by package owner for signer to retry.             |
            | error\_locked        | A server error has occurred and can no longer be reset by package owner.                        |
            | cancelled            | Identity verification has been cancelled.                                                       |
            | cancelled\_reset     | Identity verification has been cancelled due to package owner resetting signer's verification.  |
            | invalid              | Identity verification is in an invalid state and cannot be processed.                           |
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="contacts" type="object[]">
  List of contacts created during package creation, returned when `addSignersToContacts` is set to `true` on the request.
</ResponseField>
