---
title: "Upload transfer diligence document on behalf of the originator"
method: POST
path: "/transfer/diligence/document/upload"
tags: ["plaid"]
---

# Upload transfer diligence document on behalf of the originator

`POST /transfer/diligence/document/upload`

Third-party sender customers can use the `/transfer/diligence/document/upload` endpoint to upload a document on behalf of their end customer (i.e. originator) to Plaid. You'll need to send a request of type `multipart/form-data`.
You must provide the `client_id` in the `PLAID-CLIENT-ID` header and `secret` in the `PLAID-SECRET` header.

## Request body

- TransferDiligenceDocumentUploadRequest — Defines the request schema for `/transfer/diligence/document/upload`
  - `originator_client_id` string, required — The Client ID of the originator whose document that you want to upload.
  - `file` string, binary, required — A file to upload. The file size must be less than 20MB. Supported file extensions: .pdf.
  - `purpose` 'DUE_DILIGENCE', required — Specifies the purpose of the uploaded file. `"DUE_DILIGENCE"` - The transfer due diligence document of the originator.

## Response `200`

OK

- TransferDiligenceDocumentUploadResponse — Defines the response schema for `/transfer/diligence/document/upload`
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

## Changes

- **2026-07-22** `a1bbca018160` — 13 warning
  - added the new `ASSETS_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CRA_MONITORING_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CREDIT_PROFILE_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `ENCOMPASS_ERROR` enum value to the `error_type` response property for the response status `default`
  - …9 more
- **2026-06-25** `80d23bfdc2e5` — 1 warning
  - added the new `IDEMPOTENCY_ERROR` enum value to the `error_type` response property for the response status `default`
- **2026-06-10** `fb8c3f188d8b` — 1 warning
  - added the new `BASE_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
- **2025-12-11** `465584b48c99` — 2 info
  - added the optional property `provided_account_subtypes` to the response with the `default` status
  - added the optional property `required_account_subtypes` to the response with the `default` status
- **2025-11-19** `4abee1c56929` — 1 info
  - removed the `IDENTITY_ERROR` enum value from the `error_type` response property for the response status `default`

[Full history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/transfer/diligence/document/upload/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/e536704a333f/schema)
