# Read a deal's document checklist

What one record was ASKED for and where each paper stands — the expected set, what has arrived and what is missing. The expected set comes from the FORM the merchant filled in (a form's file fields are the documents it asks for, unioned across every submission filed against the record), never from a list of required documents this service does not have. A record no form created answers `formBorn: false` and lists only its open asks and the typed files already on it — nothing is missing when nobody asked.

Access class: `def:read`.

## Endpoint

`GET /v1/definitions/{key}/rows/{rowId}/documents/checklist`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| key | path | string | Yes |
| rowId | path | string | Yes |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "complete": true,
    "dealType": "string",
    "dealTypeLabel": "string",
    "formBorn": true,
    "items": [
      {
        "documentType": "string",
        "fileIds": [
          "string"
        ],
        "label": "string",
        "requestId": "",
        "severity": "string",
        "source": "string",
        "state": "string",
        "waived": true,
        "waivedReason": "string"
      }
    ],
    "judged": true
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
