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

# Checklists & Documents

> Configure document requirements and track collection progress per lead.

Checklists define the documents and information required to complete a process (loan application, onboarding, etc.). The AI automatically works these into the conversation — asking for missing items naturally without bombarding the lead.

## Configure Requirements

`POST /accounts/:id/requirements`

Define what documents or data points need to be collected.

<ParamField body="name" type="string" required>
  Requirement name (e.g., "Government ID")
</ParamField>

<ParamField body="type" type="string" required>
  `document`, `text`, `email`, `phone`, `number`, `date`
</ParamField>

<ParamField body="description" type="string">
  Instructions for the AI on how to collect this
</ParamField>

<ParamField body="required" type="boolean" default="true">
  Whether this is mandatory
</ParamField>

```bash theme={null}
curl -X POST https://api.recoverbiz.com/v1/accounts/acc_8f3a1b2c/requirements \
  -H "X-Partner-Key: pk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "3 Months Bank Statements",
    "type": "document",
    "description": "PDF or photos of the last 3 months of bank statements from primary account",
    "required": true
  }'
```

**Response: `201 Created`**

```json theme={null}
{
  "id": "req_005",
  "name": "3 Months Bank Statements",
  "type": "document",
  "description": "PDF or photos of the last 3 months of bank statements from primary account",
  "required": true,
  "created_at": "2026-02-15T10:30:00Z"
}
```

## List Requirements

`GET /accounts/:id/requirements`

Returns all configured requirements for the account.

```json theme={null}
{
  "requirements": [
    { "id": "req_001", "name": "Government ID", "type": "document", "required": true },
    { "id": "req_002", "name": "3 Months Bank Statements", "type": "document", "required": true },
    { "id": "req_003", "name": "T4 Slip", "type": "document", "required": true },
    { "id": "req_004", "name": "Employment Start Date", "type": "date", "required": false }
  ]
}
```

## Update Requirement

`PATCH /accounts/:id/requirements/:requirement_id`

```bash theme={null}
curl -X PATCH https://api.recoverbiz.com/v1/accounts/acc_8f3a1b2c/requirements/req_001 \
  -H "X-Partner-Key: pk_live_abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Valid government-issued photo ID (passport, driver's license)",
    "required": true
  }'
```

## Delete Requirement

`DELETE /accounts/:id/requirements/:requirement_id`

Removes a requirement from the checklist. Existing collected data for this requirement on leads is preserved.

```bash theme={null}
curl -X DELETE https://api.recoverbiz.com/v1/accounts/acc_8f3a1b2c/requirements/req_005 \
  -H "X-Partner-Key: pk_live_abc123def456..."
```

## Get Lead Checklist

`GET /accounts/:id/leads/:phone/checklist`

Returns the checklist status for a specific lead — which items have been collected, which are still pending.

```json theme={null}
{
  "checklist": [
    {
      "requirement_id": "req_001",
      "name": "Government ID",
      "type": "document",
      "required": true,
      "status": "completed",
      "file_url": "https://storage.recoverbiz.com/docs/id_john_doe.pdf",
      "collected_at": "2026-02-12T14:00:00Z"
    },
    {
      "requirement_id": "req_002",
      "name": "3 Months Bank Statements",
      "type": "document",
      "required": true,
      "status": "completed"
    },
    {
      "requirement_id": "req_003",
      "name": "T4 Slip",
      "type": "document",
      "required": true,
      "status": "pending"
    },
    {
      "requirement_id": "req_004",
      "name": "Employment Start Date",
      "type": "date",
      "required": false,
      "status": "completed",
      "value": "2023-06-15"
    }
  ],
  "completed_count": 3,
  "total_count": 4,
  "progress": 0.75
}
```

## How Document Collection Works Over SMS

<Steps>
  <Step title="Lead receives a message">
    A follow-up sequence message triggers a conversation, or the lead texts in.
  </Step>

  <Step title="AI asks naturally">
    The AI weaves missing checklist items into the conversation naturally — it doesn't dump a list of requirements all at once.
  </Step>

  <Step title="Lead sends documents">
    The lead can text back a photo or PDF. Recover automatically downloads the file and matches it to the correct requirement.
  </Step>

  <Step title="Data extracted automatically">
    Text-based requirements (email, phone, date) are extracted from the conversation automatically — no manual entry needed.
  </Step>

  <Step title="Real-time updates">
    The checklist updates in real-time. The embed and API reflect changes immediately.
  </Step>

  <Step title="Completion webhook">
    When all required items are collected, a `checklist.completed` webhook fires so your system knows the lead is ready.
  </Step>
</Steps>
