> ## 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.

# List

You can retrieve a list of an organization members' current packages by calling the `packages/list` endpoint.

## Request

```http Request theme={null}
POST /packages/list
{
  "memberId": "e4f0bce5-30fc-43c4-b9ee-364ff5b04dea",
  "search": null,
  "types": null,
  "states": null,
  "isExecuted": true,
  "sortBy": "created",
  "take": 50,
  "skip": 0
}
```

### Body

<Note>
  Some filters are restricted based on the authentication method used or permissions of the organization member.

  To filter packages for other members, you must use one of the following authentication methods:

  <ul>
    <li>Organization API Key</li>
    <li>User API Key with `Sign Editor` or `Package Editor` role enabled</li>
    <li>Organization OAuth App</li>
  </ul>

  To filter packages for teams, the authenticated member must belong to the specified team.
</Note>

<ParamField body="memberId" type="string">
  The member ID to retrieve packages for.
</ParamField>

<ParamField body="teamId" type="string">
  The team ID to retrieve packages for.
</ParamField>

<ParamField body="folderId" type="string">
  Filter packages by folder ID.
</ParamField>

<ParamField body="allMembers" type="boolean">
  When true, retrieves packages for all members in the organization.
</ParamField>

<ParamField body="search" type="string">
  Filter packages by search terms.

  <Note>
    This performs a full text search on package `name`, `description`, `message`, `category`, `client number`, `matter number`, as well as signer and recipient `first name`, `last name`, `email`, and `mobile number`.
    You can use `*` as a wildcard character to perform suffix matching (e.g., `Contract*` matches any package whose name contains a word starting with "Contract").
  </Note>
</ParamField>

<ParamField body="types" type="string[]">
  Filter packages by package type.

  <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="states" type="string[]">
  Filter packages by package state.

  <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>
</ParamField>

<ParamField body="isExecuted" type="boolean">
  When `true` will only return executed packages, when `false` will only return non-executed packages. Leave null to not apply any executed filter.
</ParamField>

<ParamField body="days" type="number" max={365}>
  Filter packages whose sign by date is within the next X days.

  <Note>
    For example, setting `days` to `7` will return packages whose sign by date is within the next 7 days.
  </Note>

  <Tip>
    You can use a negative value to filter packages whose sign by date is in the past.
  </Tip>
</ParamField>

<ParamField body="sortBy" type="string" default="created">
  Sort results by one of the following:

  <Expandable title="values" defaultOpen>
    | Value               | Description                                          |
    | :------------------ | :--------------------------------------------------- |
    | created             | Date package was created (descending).               |
    | last\_modified      | Date package was last modified (descending).         |
    | reminder            | Date of scheduled reminder (descending).             |
    | signed              | Date package was signed by last signer (descending). |
    | sign\_by            | Date package is to be signed by (descending).        |
    | sign\_by\_ascending | Date package is to be signed by (ascending).         |
  </Expandable>
</ParamField>

<ParamField body="take" type="number" max={100} default={50}>
  Number of packages to return.
</ParamField>

<ParamField body="skip" type="number">
  Number of packages to skip. Used for pagination or infinite scroll.
</ParamField>

## Response

<ResponseField name="items" type="object[]">
  Array of packages returned.

  <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="timeCreated" type="string">
      Creation time (ISO 8601 date-time).
    </ResponseField>

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

    <ResponseField name="timeSignBy" type="string">
      Deadline for signing (ISO 8601 date-time).
    </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="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="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="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="isExecuted" type="boolean">
          Set to `true` if the document has been executed.
        </ResponseField>

        <ResponseField name="timeExecuted" type="string" post={["nullable"]}>
          Execution time (ISO 8601 date-time).
        </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="index" type="number">
          Signing order index.
        </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 of 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 the 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="verify" type="boolean">
          Set to `true` if signer requires identity verification before signing.
        </ResponseField>

        <ResponseField name="isVerified" type="boolean">
          Set to `true` if the signer has been verified.
        </ResponseField>

        <ResponseField name="isNext" type="boolean">
          Set to `true` if the signer is the next in line to sign.
        </ResponseField>

        <ResponseField name="isExecuted" type="boolean">
          Set to `true` if the signer has executed all documents in the signing package.
        </ResponseField>

        <ResponseField name="timeExecuted" type="string" post={["nullable"]}>
          Execution time (ISO 8601 date-time).
        </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="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="type" type="string">
          Recipient type.

          <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>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="isExecuted" type="boolean">
      Set to `true` if the package has been executed.
    </ResponseField>

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

<ResponseField name="total" type="number">
  Total number of packages that match filter criteria.
</ResponseField>

<ResponseField name="take" type="number">
  Number of packages returned per request.
</ResponseField>

<ResponseField name="skip" type="number">
  Number of packages skipped.
</ResponseField>
