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

# The File Object

> Field-level reference for the File object, including accepted Content-Types, file size limits, and linking to documents on the Entity, Application, and User Account objects.

A file is bytes Lead holds plus a small amount of declared metadata, including type. You create a file using `POST /v2/files`. You can read a file's declared metadata with `GET /v2/files/{id}`, however the original file is not available for download. `file_name` and `content_type` are taken from the multipart header. `source` is either `lead_uploaded` or `partner_uploaded`.

```json theme={null}
{
  "id": "file_7RwQ2mK9pL4xT1vN8jS5",
  "source": "partner_uploaded",
  "file_name": "loan_agreement_acct_4471.pdf",
  "type": "loan_agreement",
  "content_type": "application/pdf",
  "size_bytes": 184233,
  "checksum": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "created_at": "2026-09-14T14:22:01Z",
  "updated_at": "2026-09-14T14:22:01Z"
}
```

## Fields

| Field | Type | Description |
| :- | :- | :- |
| `id` | string, `file_*` | Lead-generated identifier of the file. |
| `type` | string (enum) | File type, selected from a list of file type enums. See [The type enum](#the-type-enum). |
| `source` | string (enum) | Who uploaded the file. One of `lead_uploaded` or `partner_uploaded`. |
| `file_name` | string | Taken from the filename header of the multipart file part. Non-empty, ≤ 255 characters, no path separators. A human-readable label only. |
| `content_type` | string | MIME type of the file (e.g., `application/pdf`), taken from the `Content-Type` header of the multipart file part. |
| `size_bytes` | integer | Size of the file in bytes. Maximum 50 MB. |
| `checksum` | string | SHA-256 hex digest of the file bytes, computed by Lead as the file is received. If provided on upload, it matches this value. |
| `created_at` | timestamp | When the last bytes of the file were received. UTC. |
| `updated_at` | timestamp | Always equals `created_at`. |

## Accepted file Content-Types

Lead accepts the following file types: PDF, JPG, JPEG, PNG, and HTML. If the bytes do not match the declared type, the request is rejected.

## Create

Files are sent with `POST /v2/files`. `Content-Type` should be set to `multipart/form-data`. A success response means we have the bytes.

`POST` requires an `Idempotency-Key` header of up to 255 characters. See [Idempotency](/api-reference/using-the-api/idempotency). The request body accepts the following fields:

| Part | Description | Required |
| :- | :- | :- |
| `file` | The file's bytes, sent as the file part of the `multipart/form-data` request. The file part's filename and `Content-Type` headers are recorded as the file's `file_name` and `content_type`. | Required |
| `type` | File type, selected from a list of enums. See [The type enum](#the-type-enum). | Required |
| `checksum` | SHA-256 hex digest of the bytes. | Optional |

<Note>
  Files cannot be modified once created. If you made an error, you must create a new file.
</Note>

## The type enum

Every file has a type that declares what is inside of the file. The type also dictates what objects the file can be linked to. If a file is created with the incorrect type, a new file must be uploaded with the correct type declared.

| Type | Definition | Lead platform object |
| :- | :- | :- |
| `aan` | An adverse action notice. | Application; User Account |
| `ach_authorization` | An authorization for ACH activity. | Application; User Account |
| `autopay_authorization` | An authorization for automatic payments. | Application; User Account |
| `bo_certification` | A beneficial ownership certification. | Application; User Account |
| `cardholder_agreement` | A cardholder agreement. | Application; User Account |
| `consent_to_link_account` | Consent to link an external account. | Application; User Account |
| `consent_to_link_hsa` | Consent to link a health savings account. | Application; User Account |
| `consumer_credit_auth` | An authorization related to consumer credit. | Application; User Account |
| `credit_pull_consent` | Consent to pull credit information. | Application; User Account |
| `credit_score_notice` | A notice describing credit score information. | Application; User Account |
| `decision_maker_document` | A document identifying the decision maker. | Application; User Account |
| `deposit_agreement` | A deposit agreement. | Application; User Account |
| `eft_authorization` | An authorization for electronic funds transfers. | Application; User Account |
| `esign_agreement` | An electronic-signature agreement or consent. | Application; User Account |
| `fcra_notice` | A Fair Credit Reporting Act notice. | Application; User Account |
| `lead_funds_transfer_agreement` | An agreement governing funds transfers with Lead. | Application; User Account |
| `lead_privacy_policy` | Lead’s privacy policy. | Application; User Account |
| `loan_agreement` | A loan agreement governing the application or account. | Application; User Account |
| `loc_agreement` | A line-of-credit agreement governing the application or account. | Application; User Account |
| `missed_payments_policy` | A policy describing treatment of missed payments. | Application; User Account |
| `mla_notice` | A Military Lending Act notice. | Application; User Account |
| `negative_option_consent` | Consent to negative-option terms. | Application; User Account |
| `notice_of_incompleteness` | A notice that an application or submission is incomplete. | Application; User Account |
| `offer_summary` | A summary of a credit or loan offer. | Application; User Account |
| `partner_privacy_policy` | A partner privacy policy. | Application; User Account |
| `patriot_act_notice` | A USA PATRIOT Act notice. | Application; User Account |
| `periodic_statement` | A periodic statement for the applicable account or obligation. | Application; User Account |
| `personal_guarantee` | A personal guarantee of the applicable obligations. | Application; User Account |
| `pre_approval_terms` | Terms associated with a pre-approval. | Application; User Account |
| `prohibited_industry_certification` | A certification that the business does not operate in a prohibited industry. | Application; User Account |
| `tcpa_consent` | Consent under the Telephone Consumer Protection Act. | Application; User Account |
| `terms_of_use` | Terms governing use of the applicable service. | Application; User Account |
| `truth_in_lending_document` | A Truth in Lending disclosure. | Application; User Account |
| `drivers_license` | A driver’s license used for individual identification. | Entity — individual |
| `matriculate_id` | A matriculate identification document. | Entity — individual |
| `military_id` | A military identification document. | Entity — individual |
| `national_id` | A national identification document. | Entity — individual |
| `passport` | A passport used for individual identification. | Entity — individual |
| `permanent_residency_id` | A permanent residency identification document. | Entity — individual |
| `state_or_provincial_id` | A state or provincial identification document. | Entity — individual |
| `certificate_of_good_standing` | A certificate of good standing. | Entity — business/sole\_prop |
| `formation_document` | A document establishing formation of the business or sole proprietorship. | Entity — business/sole\_prop |
| `partnership_agreement` | A partnership agreement. | Entity — business/sole\_prop |
| `proof_of_place_on_stock_exchange` | Evidence that the business is listed on a stock exchange. | Entity — business/sole\_prop |
| `tax_certificate` | A tax certificate for a business or sole proprietorship. | Entity — business/sole\_prop |
| `tax_returns` | Tax returns for a business or sole proprietorship. | Entity — business/sole\_prop |
| `adverse_media` | Adverse media information about the entity. | Entity — individual or business/sole\_prop |
| `bank_statement` | A bank statement supporting the entity. | Entity — individual or business/sole\_prop |
| `financial_statement` | A financial statement for the entity. | Entity — individual or business/sole\_prop |
| `id_selfie` | A selfie used to support identity verification. | Entity — individual or business/sole\_prop |
| `investigation_report` | An investigation report about the entity. | Entity — individual or business/sole\_prop |
| `proof_of_address` | Proof of the entity’s address. | Entity — individual or business/sole\_prop |
| `public_records` | Public records supporting the entity. | Entity — individual or business/sole\_prop |
| `utility_bills` | Utility bills supporting the entity. | Entity — individual or business/sole\_prop |

## Retrieve

`GET /v2/files/{id}` lists the file object's metadata.

## Linking a file to a document

Once a file is created, it can be linked to an Entity, Application, or User Account, using each object's specified document structure. A file's type must match the object's list of allowed types, in order for it to be linked. A file can be linked to an unlimited number of objects, but can only be linked to the same object once. For more information, review each object.

* The Entity Object
* The Application Object
* [The User Account Object](/v2/products/user-accounts/user-account-object#documents)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.