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

# Data

After the signers have signed their documents and the package has been finalized you can retrieve the values of all fields in the package by calling the `/packages/{packageId}/data` endpoint.

## Request

```http Request theme={null}
GET /packages/{packageId}/data
```

### Parameters

<ParamField path="packageId" type="string" required>
  The unique identifier of the package you want to retrieve field data for.
</ParamField>

## Response

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

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

<ResponseField name="type" type="string">
  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>
</ResponseField>

<ResponseField name="state" type="string">
  Current workflow 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>">
  Arbitrary external data attached to the package.
</ResponseField>

<ResponseField name="documents" type="object[]">
  List of documents along with their captured field values.

  <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="name" type="string">
      Document display name.
    </ResponseField>

    <ResponseField name="fileName" type="string">
      Original filename uploaded for the document.
    </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="data" type="object[]">
      Field values captured for the document.

      <Expandable title="properties">
        <ResponseField name="id" type="string">
          Unique identifier for the field instance (for example: signer\_1-text\_1).
        </ResponseField>

        <ResponseField name="dataId" type="string" post={["nullable"]}>
          Data identifier from the template or field definition. (optional)
        </ResponseField>

        <ResponseField name="signerId" type="string" post={["nullable"]}>
          Signer identifier associated with this field value. (optional)
        </ResponseField>

        <ResponseField name="source" type="string">
          Origin of the value (for example: template, user).
        </ResponseField>

        <ResponseField name="type" type="string">
          Field type (for example: text, multiline, checkbox).
        </ResponseField>

        <ResponseField name="value" type="string" post={["nullable"]}>
          Captured value for the field.
        </ResponseField>

        <ResponseField name="pageNumber" type="number">
          Page number within the document where the field appears.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
