Plaid logo
Docs
ALL DOCS

API

  • Overview
  • Libraries
  • API versioning
  • Postman Collection
  • Webhooks
Payments and Funding
  • Auth
  • Balance
  • Identity
  • Signal
  • Transfer
    • Initiating Transfers
    • Reading Transfers
    • Account Linking
    • Recurring Transfers
    • Refunds
    • Platform Payments
    • Plaid Ledger
    • Program Metrics
    • Sandbox
  • Investments Move
  • Payment Initiation
  • Virtual Accounts
Financial Insights
  • Transactions
  • Investments
  • Liabilities
  • Enrich
KYC/AML and anti-fraud
  • Look up Dashboard users
  • Identity Verification
  • Monitor
  • Beacon (beta)
Instant Onboarding
  • Layer
Credit and Underwriting
  • Consumer Report (by Plaid Check)
  • Assets
  • Statements
  • Income
Fundamentals
  • Items
  • Accounts
  • Institutions
  • Sandbox
  • Link
  • Users
  • Consent
  • Network
  • OAuth
Partnerships
  • Processor tokens
  • Processor partners
  • Reseller partners
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
  • How do I fix an Item in ITEM_LOGIN_REQUIRED state?
  • What's the difference between Plaid Identity and IDV?
  • Which countries does Investments support?
Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
Plaid.com
Log in
Get API Keys
Open nav

Transfer Platform Payments

API reference for Transfer Platform Payments endpoints

For how-to guidance, see the Platform Payments documentation.

Platform Payments
/transfer/originator/createCreate a new originator
/transfer/originator/getGet the status of an originator's onboarding
/transfer/originator/listGet the status of all originators' onboarding
/transfer/originator/funding_account/createCreate a new funding account for an originator
/transfer/questionnaire/createGenerate a Plaid-hosted onboarding UI URL

/transfer/originator/create

Create a new originator

Use the /transfer/originator/create endpoint to create a new originator and return an originator_client_id.

transfer/originator/create

Request fields

client_id
stringstring
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
stringstring
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
company_name
requiredstringrequired, string
The company name of the end customer being created. This will be displayed in public-facing surfaces, e.g. Plaid Dashboard.

Min length: 1
Select Language
1const request: TransferOriginatorCreateRequest = {
2 company_name: 'Marketplace of Shannon',
3};
4
5try {
6 const response = await client.transferOriginatorCreate(request);
7} catch (error) {
8 // handle error
9}
transfer/originator/create

Response fields and example

originator_client_id
stringstring
Client ID of the originator. This identifier will be used when creating transfers and should be stored associated with end user information.
company_name
stringstring
The company name of the end customer.
request_id
stringstring
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
1{
2 "originator_client_id": "6a65dh3d1h0d1027121ak184",
3 "company_name": "Marketplace of Shannon",
4 "request_id": "4zlKapIkTm8p5KM"
5}
Was this helpful?

/transfer/originator/get

Get status of an originator's onboarding

The /transfer/originator/get endpoint gets status updates for an originator's onboarding process. This information is also available via the Transfer page on the Plaid dashboard.

transfer/originator/get

Request fields

client_id
stringstring
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
stringstring
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
originator_client_id
requiredstringrequired, string
Client ID of the end customer (i.e. the originator).
Select Language
1const request: TransferOriginatorGetRequest = {
2 originator_client_id: '6a65dh3d1h0d1027121ak184',
3};
4
5try {
6 const response = await client.transferOriginatorGet(request);
7} catch (error) {
8 // handle error
9}
transfer/originator/get

Response fields and example

originator
objectobject
Originator and their status.
client_id
stringstring
Originator’s client ID.
transfer_diligence_status
stringstring
Originator’s diligence status.

Possible values: not_submitted, submitted, under_review, approved, denied, more_information_required
company_name
stringstring
The company name of the end customer.
outstanding_requirements
[object][object]
List of outstanding requirements for scaled platform originators. Only populated when transfer_diligence_status is more_information_required.
requirement_type
stringstring
The type of requirement.
person_id
nullablestringnullable, string
UUID of the person associated with the requirement. Only present for individual-scoped requirements.
request_id
stringstring
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
1{
2 "originator": {
3 "client_id": "6a65dh3d1h0d1027121ak184",
4 "transfer_diligence_status": "approved",
5 "company_name": "Plaid"
6 },
7 "request_id": "saKrIBuEB9qJZno"
8}
Was this helpful?

/transfer/originator/list

Get status of all originators' onboarding

The /transfer/originator/list endpoint gets status updates for all of your originators' onboarding. This information is also available via the Plaid dashboard.

transfer/originator/list

Request fields

client_id
stringstring
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
stringstring
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
count
integerinteger
The maximum number of originators to return.

Maximum: 25
Minimum: 1
Default: 25
offset
integerinteger
The number of originators to skip before returning results.

Minimum: 0
Default: 0
Select Language
1const request: TransferOriginatorListRequest = {
2 count: 14,
3 offset: 2,
4};
5
6try {
7 const response = await client.transferOriginatorList(request);
8} catch (error) {
9 // handle error
10}
transfer/originator/list

Response fields and example

originators
[object][object]
client_id
stringstring
Originator’s client ID.
transfer_diligence_status
stringstring
Originator’s diligence status.

Possible values: not_submitted, submitted, under_review, approved, denied, more_information_required
request_id
stringstring
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
1{
2 "originators": [
3 {
4 "client_id": "6a65dh3d1h0d1027121ak184",
5 "transfer_diligence_status": "approved"
6 },
7 {
8 "client_id": "8g89as4d2k1d9852938ba019",
9 "transfer_diligence_status": "denied"
10 }
11 ],
12 "request_id": "4zlKapIkTm8p5KM"
13}
Was this helpful?

/transfer/originator/funding_account/create

Create a new funding account for an originator

Use the /transfer/originator/funding_account/create endpoint to create a new funding account for the originator.

transfer/originator/funding_account/create

Request fields

client_id
stringstring
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
stringstring
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
originator_client_id
requiredstringrequired, string
The Plaid client ID of the transfer originator.
funding_account
requiredobjectrequired, object
The originator's funding account, linked with Plaid Link or /transfer/migrate_account.
access_token
requiredstringrequired, string
The access token associated with the Item data is being requested for.
account_id
requiredstringrequired, string
The Plaid account_id for the newly created Item.
display_name
stringstring
The name for the funding account that is displayed in the Plaid dashboard.
Select Language
1const request: TransferOriginatorFundingAccountCreateRequest = {
2 originator_client_id: '6a65dh3d1h0d1027121ak184',
3 funding_account: {
4 access_token: 'access-sandbox-71e02f71-0960-4a27-abd2-5631e04f2175',
5 account_id: '3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr',
6 display_name: "New Funding Account",
7 },
8};
9
10try {
11 const response = await client.transferOriginatorFundingAccountCreate(request);
12} catch (error) {
13 // handle error
14}
transfer/originator/funding_account/create

Response fields and example

funding_account_id
stringstring
The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.
request_id
stringstring
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
1{
2 "funding_account_id": "8945fedc-e703-463d-86b1-dc0607b55460",
3 "request_id": "saKrIBuEB9qJZno"
4}
Was this helpful?

/transfer/questionnaire/create

Generate a Plaid-hosted onboarding UI URL.

The /transfer/questionnaire/create endpoint generates a Plaid-hosted onboarding UI URL. Redirect the originator to this URL to provide their due diligence information and agree to Plaid’s terms for ACH money movement.

transfer/questionnaire/create

Request fields

client_id
stringstring
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
stringstring
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
originator_client_id
requiredstringrequired, string
Client ID of the end customer.
redirect_uri
requiredstringrequired, string
URL the end customer will be redirected to after completing questions in Plaid-hosted onboarding flow.
Select Language
1const request: TransferQuestionnaireCreateRequest = {
2 originator_client_id: '6a65dh3d1h0d1027121ak184',
3 redirect_uri: 'https://example.com',
4};
5
6try {
7 const response = await client.transferQuestionnaireCreate(request);
8} catch (error) {
9 // handle error
10}
transfer/questionnaire/create

Response fields and example

onboarding_url
stringstring
Plaid-hosted onboarding URL that you will redirect the end customer to.
request_id
stringstring
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
1{
2 "onboarding_url": "https://plaid.com/originator/hIFGXx1zM5pFerygu7lw",
3 "request_id": "saKrIBuEB9qJZno"
4}
Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Discord
Discord