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

Users in iinked Sign can create re-usable Templates in the UI that can be used to generate new signing Packages for workflows that are used frequently. You can get a list of the templates and use a template in the creation of a package.

## Request

You can retrieve a list of an organization's member's current templates by calling `templates/list`.

<Tabs>
  <Tab title="Templates">
    ```http Request theme={null}
    POST /templates/list
    {
        "memberId": "e4f0bce5-30fc-43c4-b9ee-364ff5b04dea",
        "search": null,
        "personal": true,
        "shared": null,
        "mostRecent": null,
        "sortBy": "last_used",
        "take": 100,
        "skip": 0
    }
    ```
  </Tab>

  <Tab title="Auto templates">
    ```http Request highlight={4-6} theme={null}
    GET /templates/list
    {
        "memberId": null,
        "types": [
            "auto_template"
        ],
        "take": 100,
        "skip": 0
    }
    ```
  </Tab>
</Tabs>

### Body

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

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

  * Organization API Key
  * User API Key with `Sign Editor` or `Template Editor` role enabled
  * Organization OAuth App

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

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

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

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

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

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

  <Note>
    This performs a full text search on template `name`, `description`, `message`, `category`, `client number`, `matter number`, as well as signer and recipient `first name`, `last name`, `email`, `mobile number`, and `template role`.

    You can use `*` as a wildcard character to perform suffix matching (e.g., `Contract*` matches any template whose name contains a word starting with "Contract").
  </Note>
</ParamField>

<ParamField body="personal" type="boolean">
  When `true`, retrieves members personal templates only.
</ParamField>

<ParamField body="shared" type="boolean">
  When `true`, retrieves organization shared templates only.
</ParamField>

<ParamField body="mostRecent" type="number">
  Filter templates last used within the last X number of days.
</ParamField>

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

  <Expandable title="values" defaultOpen>
    | Value      | Description                               |
    | :--------- | :---------------------------------------- |
    | created    | Date template was created (descending).   |
    | last\_used | Date template was last used (descending). |
  </Expandable>
</ParamField>

<ParamField body="collectionCode" type="string">
  Filter templates by collection code.
</ParamField>

<ParamField body="packageTypes" type="string[]">
  Filter templates 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="types" type="string[]" default={["template"]}>
  Filter templates by template type.

  <Expandable title="values">
    | Value          | Description        |
    | -------------- | ------------------ |
    | template       | Standard template. |
    | auto\_template | Auto template.     |
  </Expandable>
</ParamField>

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

<ParamField body="skip" type="number">
  Number of templates to skip.
</ParamField>

## Response

The response will contain a list of templates that match the provided filter criteria.

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

  <Expandable title="properties">
    <ResponseField name="organizationId" type="string">
      Unique identifier of the organization that owns the template.
    </ResponseField>

    <ResponseField name="templateId" type="string">
      Unique identifier of the template.
    </ResponseField>

    <ResponseField name="templateCode" type="string" post={["nullable"]}>
      Template code used to reference the template.
    </ResponseField>

    <ResponseField name="memberId" type="string">
      Unique identifier of the member that created the template.
    </ResponseField>

    <ResponseField name="teamId" type="string" post={["nullable"]}>
      Unique identifier of the team the template belongs to, if any.
    </ResponseField>

    <ResponseField name="folderId" type="string" post={["nullable"]}>
      Unique identifier of the folder that contains the template, if any.
    </ResponseField>

    <ResponseField name="shared" type="boolean">
      Indicates whether the template is shared across the organization.
    </ResponseField>

    <ResponseField name="timeCreated" type="string">
      Timestamp when the template was created (ISO 8601 format).
    </ResponseField>

    <ResponseField name="timeUpdated" type="string" post={["nullable"]}>
      Timestamp when the template was last updated (ISO 8601 format).
    </ResponseField>

    <ResponseField name="timeLastUsed" type="string" post={["nullable"]}>
      Timestamp when the template was last used (ISO 8601 format).
    </ResponseField>

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

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

    <ResponseField name="packageType" type="string">
      Package type the template is configured for.

      <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="type" type="string">
      Template type.

      <Expandable title="values">
        | Value          | Description        |
        | -------------- | ------------------ |
        | template       | Standard template. |
        | auto\_template | Auto template.     |
      </Expandable>
    </ResponseField>

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

      <Expandable title="values">
        | Value   | Description                |
        | ------- | -------------------------- |
        | active  | Template is active.        |
        | deleted | Template has been deleted. |
      </Expandable>
    </ResponseField>

    <ResponseField name="documents" type="object[]">
      List of documents defined within the template.

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

        <ResponseField name="documentCode" type="string" post={["nullable"]}>
          Document code for the document. (optional)
        </ResponseField>

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

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

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

    <ResponseField name="signers" type="object[]">
      List of signers configured on the template.

      <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="templateRole" type="string" post={["nullable"]}>
          Template role associated to signer. (optional)
        </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>
      </Expandable>
    </ResponseField>

    <ResponseField name="recipients" type="object[]">
      List of recipients configured on the template.

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

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

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

        <ResponseField name="email" type="string">
          Email address of the recipient.
        </ResponseField>

        <ResponseField name="templateRole" type="string" post={["nullable"]}>
          Template role associated to recipient. (optional)
        </ResponseField>

        <ResponseField name="type" type="string">
          Type of the 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>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

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