## Document Upload Token

- **Type**: `string`
- **Required**: Yes  
  The account holder document upload which to perform the simulation upon.

## Status

- **Type**: `string`
- **Enum**: `UPLOADED`, `ACCEPTED`, `REJECTED`, `PARTIAL_APPROVAL`
- **Required**: Yes  
  An account holder document's upload status for use within the simulation.

## Status Reason

- **Type**: `string`
- **Enum**: `DOCUMENT_MISSING_REQUIRED_DATA`, `DOCUMENT_UPLOAD_TOO_BLURRY`, `FILE_SIZE_TOO_LARGE`, `INVALID_DOCUMENT_TYPE`, `INVALID_DOCUMENT_UPLOAD`, `INVALID_ENTITY`, `DOCUMENT_EXPIRED`, `DOCUMENT_ISSUED_GREATER_THAN_30_DAYS`, `DOCUMENT_TYPE_NOT_SUPPORTED`, `UNKNOWN_FAILURE_REASON`, `UNKNOWN_ERROR`
- **Required**:  Status reason that will be associated with the simulated account holder status. Only required for a `REJECTED` status or `PARTIAL_APPROVAL` status.

## Required Document Uploads

- **Type**: `array of objects`
- **Required**: Yes  
  Represents a single image of the document to upload.

### Required Document Uploads Structure

- **Image Type**
  - **Type**: `string`
  - **Enum**: `FRONT`, `BACK`
  - **Required**: Yes

- **Status**
  - **Type**: `string`
  - **Enum**: `ACCEPTED`, `REJECTED`, `PENDING_UPLOAD`, `UPLOADED`, `PARTIAL_APPROVAL`
  - **Required**: Yes  
  Status of an account holder's document upload.

- **Status Reasons**
  - **Type**: `array of objects`
  - **Required**: Yes  
  Reasons for document image upload status. The status reasons for an account holder document upload that is not ACCEPTED.

- **Upload URL**
  - **Type**: `string`
  - **Required**: Yes  
  URL to upload document image to.

- **Token**
  - **Type**: `uuid`
  - **Required**: Yes  
  Globally unique identifier for the document upload.

- **Accepted Entity Status Reasons**
  - **Type**: `array of strings`
  - **Required**: Yes  
  A list of status reasons associated with a KYB account holder that have been satisfied by the document upload.

- **Rejected Entity Status Reasons**
  - **Type**: `array of strings`
  - **Required**: Yes  
  A list of status reasons associated with a KYB account holder that have not been satisfied by the document upload.

## Dates

- **Created**
  - **Type**: `date-time`
  - **Required**: Yes  
  When the document upload was created.

- **Updated**
  - **Type**: `date-time`
  - **Required**: Yes  
  When the document upload was last updated.

## Example Request

```bash
curl --request POST \
     --url https://sandbox.lithic.com/v1/simulate/account_holders/enrollment_document_review \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{\n  "document_upload_token": "b11cd67b-0a52-4180-8365-314f3def5426",\n  "status": "UPLOADED"\n}'
```

## Example Response

```json
{
  "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "account_holder_token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "document_type": "DRIVERS_LICENSE",
  "entity_token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "required_document_uploads": [
    {
      "image_type": "FRONT",
      "status": "ACCEPTED",
      "status_reasons": [
        "DOCUMENT_MISSING_REQUIRED_DATA"
      ],
      "upload_url": "string",
      "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "accepted_entity_status_reasons": [
        "string"
      ],
      "rejected_entity_status_reasons": [
        "string"
      ],
      "created": "2026-07-18T03:11:39.902Z",
      "updated": "2026-07-18T03:11:39.902Z"
    }
  ]
}
```
