Plaid API
The Plaid REST API — the aggregator surface for bank-account, identity, transactions, income, assets, liabilities, investments, transfer, payment initiation, virtual accounts, signal, beacon, monitor and identity-verification products. 360 paths / 351 operations at version 2020-09-14_1.740.1, published verbatim by Plaid at github.com/plaid/plaid-openapi.
Operations 361
Showing the first 250 of 361. The full set is in the contract, and via get_provider_operations.
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“How do I pull the Base Report for a user in Plaid Check?”
“What do I pass to read a consumer's Base Report?”
Tell an agent
Get the Base Report for user token {user_token}.
Retrieve the latest consumer Base Report for {user_token}.
Ask an LLM
“How do I generate a Base Report from a user's most recently linked bank?”
“Do I have to state a permissible purpose when creating a Base Report?”
Tell an agent
Create a Base Report for {user_token} with {days_requested} days of history for purpose {consumer_report_permissible_purpose}, notifying {webhook}.
Generate a new consumer Base Report for user {user_token} and send the ready webhook to {webhook}.
POST
/cra/bank_income/get
Retrieve a CRA bank income report · Plaid Retrieve information from the bank accounts used for income verification
#
Ask an LLM
“How do I read the bank income report for a user after income verification?”
“Where do I get the bank accounts used to verify someone's income?”
Tell an agent
Get the CRA bank income report for {user_token}.
Show the income verification bank data for user {user_token}.
POST
/cra/bank_income/create
Create a CRA bank income report · Plaid Create a CRA report for income verification
#
Ask an LLM
“How do I start a consumer report that verifies income from bank deposits?”
“Can I choose how many days of bank history an income report uses?”
Tell an agent
Create a CRA bank income report for {user_token} over {days_requested} days.
Start income verification for {user_token} and send the completion webhook to {webhook}.
POST
/cra/partner_insights/get
Retrieve cash flow insights for a user · Plaid Retrieve cash flow insights from the bank accounts used for income…
#
Ask an LLM
“How do I get cash flow insights from the accounts a user linked for income checks?”
“Are partner cash flow insights available per user?”
Tell an agent
Get partner cash flow insights for {user_token}.
Pull the cash flow insights report for user {user_token}.
POST
/cra/loans/applications/register
Register loan applications and decisions · Plaid Register loan applications and decisions
#
Ask an LLM
“How do I tell Plaid Check which loan applications I approved or declined?”
“Can I report lending decisions back after using a consumer report?”
Tell an agent
Register the loan applications and decisions {applications}.
Record these credit decisions as registered applications: {applications}.
POST
/cra/loans/register
Register loans to their applicants · Plaid Register a list of loans to their applicants
#
Ask an LLM
“How do I link funded loans to the applicants they were issued to?”
“What do I send when a new loan is originated for a consumer report user?”
Tell an agent
Register loans {loans} to their applicants.
Associate the originated loans {loans} with their borrowers.
Ask an LLM
“How do I report payment history on a loan I already registered?”
“Can I change the status of a registered loan?”
Tell an agent
Update the status and payment history of registered loans {loans}.
Send the latest repayment data for loans {loans}.
POST
/cra/loans/unregister
Unregister loans that reached a final status · Plaid Unregister a list of loans
#
Ask an LLM
“How do I tell Plaid a loan is paid off and won't get more updates?”
“What should I do when a registered loan reaches its final status?”
Tell an agent
Unregister loans {loans} as final.
Mark loans {loans} closed out with no further updates expected.
Ask an LLM
“How do I help a user move their paycheck direct deposit to a new account?”
“Which account receives the switched direct deposit?”
Tell an agent
Create a deposit switch into account {target_account_id} of {target_access_token}.
Start moving a user's payroll deposit to account {target_account_id} on item {target_access_token} in {country_code}.
POST
/deposit_switch/token/create
Create a Link token for a deposit switch · Plaid Create a deposit switch token
#
Ask an LLM
“How do I open Link so a user can finish their direct deposit switch?”
“How long does a deposit switch token last?”
Tell an agent
Create a deposit switch token for {deposit_switch_id}.
Get a one-time token to launch Link for deposit switch {deposit_switch_id}.
Ask an LLM
“How do I see how a user split their paycheck in a direct deposit switch?”
“Can I check whether a deposit switch completed?”
Tell an agent
Get deposit switch {deposit_switch_id}.
Show the payroll allocation and state of switch {deposit_switch_id}.
POST
/deposit_switch/alt/create
Create a deposit switch without Plaid Exchange · Create a deposit switch without using Plaid Exchange
#
Ask an LLM
“Can I start a direct deposit switch without a Plaid Exchange integration?”
“What account and user details does the alternative deposit switch need?”
Tell an agent
Create an alt deposit switch to account {target_account} for user {target_user}.
Start a payroll switch into {target_account} for {target_user} in {country_code} without Plaid Exchange.
POST
/link/profile/eligibility/check
Check if a user's saved profile is eligible · Plaid Check profile eligibility
#
Ask an LLM
“Can I tell whether a returning user's saved Plaid profile meets my requirements?”
“How do I check profile eligibility by phone number?”
Tell an agent
Check profile eligibility for user {user} in Link session {link_session_id}.
See whether the phone number in {user} has a qualifying saved profile for session {link_session_id}.
Ask an LLM
“What do I need to initialize Plaid Link in my app?”
“Can I set a webhook and redirect URI when creating a Link token?”
Tell an agent
Create a Link token for {client_name} in {language} for {country_codes} and user {user}.
Make a {language} link_token for app {client_name}, user {user}, countries {country_codes}, products {products}.
Ask an LLM
“How do I debug a Link token I created earlier?”
“Can I see the Link sessions and results tied to a link_token?”
Tell an agent
Get details for Link token {link_token}.
Look up how {link_token} was configured and what happened with it.
POST
/link/oauth/correlation_id/exchange
Exchange an OAuth correlation ID for a Link token · Plaid Exchange the Link Correlation Id for a Link Token
#
Ask an LLM
“After an OAuth redirect in a payment flow, how do I recover the Link token?”
“Where does the link_correlation_id come from?”
Tell an agent
Exchange correlation ID {link_correlation_id} for its Link token.
Recover the link_token for OAuth redirect {link_correlation_id}.
Ask an LLM
“Can I generate an Asset Report of a borrower's bank accounts for underwriting?”
“How many days of account history can an Asset Report cover?”
Tell an agent
Create an Asset Report covering {days_requested} days of history.
Start an Asset Report for items {access_tokens} with {days_requested} days of history.
Ask an LLM
“Where do I fetch a finished Asset Report as JSON?”
“Can the JSON Asset Report include transaction insights?”
Tell an agent
Get the JSON Asset Report for token {asset_report_token}.
Fetch Asset Report {asset_report_token} with insights set to {include_insights}.
Ask an LLM
“Can I get an Asset Report as a PDF for an underwriter?”
“What do I need before I can download the PDF version of an Asset Report?”
Tell an agent
Download the PDF of Asset Report {asset_report_token}.
Save a PDF copy of the asset report {asset_report_token} for the loan file.
Ask an LLM
“How do I get up-to-date data on an Asset Report I created weeks ago?”
“Does refreshing an Asset Report change the original report?”
Tell an agent
Refresh Asset Report {asset_report_token} into a new report.
Build a refreshed version of Asset Report {asset_report_token} with {days_requested} days of history.
Ask an LLM
“Can I leave some of a user's accounts out of an Asset Report?”
“What happens to the original Asset Report when I filter out accounts?”
Tell an agent
Filter Asset Report {asset_report_token} to exclude accounts {account_ids_to_exclude}.
Drop account {account_ids_to_exclude} from asset report {asset_report_token}.
Ask an LLM
“Is there a way to permanently delete an Asset Report?”
“Does removing an Asset Report also invalidate its audit copies?”
Tell an agent destructive · confirm first
Delete Asset Report {asset_report_token}.
Invalidate the asset report token {asset_report_token} so it can no longer be used.
POST
/asset_report/audit_copy/create
Share an Asset Report audit copy with an auditor · Create Asset Report Audit Copy
#
Ask an LLM
“How do I give a lender or auditor their own copy of an Asset Report?”
“Can I send an Asset Report straight to a Day 1 Certainty auditor?”
Tell an agent
Create an audit copy of Asset Report {asset_report_token} for auditor {auditor_id}.
Make a shareable audit copy token from asset report {asset_report_token}.
POST
/asset_report/audit_copy/get
Retrieve an Asset Report audit copy · Retrieve an Asset Report Audit Copy
#
Ask an LLM
“As an auditor, how do I read an Asset Report someone shared with me?”
“What token do I need to open a shared Asset Report audit copy?”
Tell an agent
Get the Asset Report behind audit copy {audit_copy_token}.
Open the shared audit copy {audit_copy_token}.
POST
/asset_report/audit_copy/remove
Revoke an Asset Report audit copy · Remove Asset Report Audit Copy
#
Ask an LLM
“How do I stop an auditor from accessing an Asset Report I shared?”
“Does removing an audit copy cut off third parties holding its token?”
Tell an agent destructive · confirm first
Remove Asset Report audit copy {audit_copy_token}.
Revoke third-party access granted through audit copy token {audit_copy_token}.
POST
/credit/audit_copy_token/update
Add reports to an audit copy token · Update an Audit Copy Token
#
Ask an LLM
“Can I add more reports to an audit copy token I already shared?”
“What happens if an audit copy token already holds a report of the same type?”
Tell an agent
Add report tokens {report_tokens} to audit copy token {audit_copy_token}.
Update audit copy {audit_copy_token} so it includes the reports {report_tokens}.
POST
/cra/check_report/cashflow_insights/get
Retrieve cash flow insights from your user's banking data
#
Ask an LLM
“Can I get a consumer's Base and Bank Income reports as a single PDF?”
“What format does the consumer report PDF come back in?”
Tell an agent
Download the consumer report PDF for {user_token}.
Get every existing CRA report for user {user_token} in PDF form.
POST
/statements/list
List bank statements for an Item · Retrieve a list of all statements associated with an Item
#
Ask an LLM
“Which bank statements are available for a linked account?”
“Can I list all statements Plaid has pulled for an Item?”
Tell an agent
List all statements for item {access_token}.
Show the available bank statements on {access_token}.
Ask an LLM
“How do I download one bank statement as a PDF?”
“How can I verify a downloaded statement wasn't altered?”
Tell an agent
Download statement {statement_id} from item {access_token}.
Fetch the PDF for bank statement {statement_id} using {access_token}.
Ask an LLM
“Can I ask Plaid to pull new statements for a specific date range?”
“How do I trigger an on-demand statement extraction?”
Tell an agent
Refresh statements for {access_token} from {start_date} to {end_date}.
Pull fresh bank statements between {start_date} and {end_date} for item {access_token}.
POST
/item/activity/list
List a user's consent history · List a historical log of user consent events
#
Ask an LLM
“How do I see the history of consent events for a user's bank connection?”
“Can I page through past consent changes on an Item?”
Tell an agent
List consent events for item {access_token}.
Show the next {count} consent activity entries after cursor {cursor}.
POST
/item/application/list
List a user's connected applications · List a user's connected applications
#
Ask an LLM
“Which apps has a user connected to their bank account?”
“How do I show a user every application with access to their data?”
Tell an agent
List the connected applications for {access_token}.
Show me which apps can access my linked bank data.
POST
/item/application/unlink
Unlink a user's connected application · Unlink a user's connected application
#
Ask an LLM
“How do I cut off an app's access to a user's bank data immediately?”
“What does a user have to do after an application is unlinked?”
Tell an agent destructive · confirm first
Unlink application {application_id} from item {access_token}.
Revoke app {application_id}'s access to the data on {access_token}.
POST
/item/application/scopes/update
Change an application's data access scopes · Update the scopes of access for a particular application
#
Ask an LLM
“Can a consumer change which accounts and products an app can see?”
“How do I update the product access a connected application has?”
Tell an agent
Update application {application_id} on {access_token} to scopes {scopes} in context {context}.
Narrow what app {application_id} can see to {scopes}, context {context}, on item {access_token}.
POST
/application/get
Look up a Plaid application's details · Retrieve information about a Plaid application
#
Ask an LLM
“As a bank, how do I find out about an app that my customers connect through Plaid?”
“What information is available about a Plaid client application?”
Tell an agent
Get details for application {application_id}.
Look up the Plaid client behind app {application_id}.
Ask an LLM
“How do I check whether a linked bank connection is healthy?”
“Where do I see an Item's error state and enabled products?”
Tell an agent
Get the status of item {access_token}.
Check if the bank connection {access_token} needs attention.
Ask an LLM
“How do I get a user's account and routing numbers to set up ACH?”
“Which accounts return bank numbers from Auth, checking and savings only?”
Tell an agent
Get the account and routing numbers for {access_token}.
Pull auth data for item {access_token} so I can set up a transfer.
Ask an LLM
“How do I fetch a user's transactions between two dates?”
“Is the date-range transactions endpoint still recommended for new builds?”
Tell an agent
Get transactions for {access_token} from {start_date} to {end_date}.
Use the older date-range endpoint to pull activity on {access_token} between {start_date} and {end_date}.
Ask an LLM
“Can I force Plaid to check for new transactions right now?”
“What happens after I trigger an on-demand transaction refresh?”
Tell an agent
Refresh transactions for item {access_token}.
Trigger an immediate extraction of the newest transactions on {access_token}.
POST
/transactions/recurring/get
Find recurring expenses and deposits · Fetch recurring transaction streams
#
Ask an LLM
“How do I detect a user's subscriptions and recurring bills?”
“Can I find regular paychecks in a user's deposits?”
Tell an agent
Get the recurring transaction streams for {access_token}.
Find recurring inflows and outflows on accounts {account_ids} of item {access_token}.
POST
/transactions/sync
Sync incremental transaction updates · Get incremental transaction updates on an Item
#
Ask an LLM
“What's the recommended way to keep a user's transactions up to date?”
“How do I get only the transactions added, modified or removed since my last pull?”
Tell an agent
Sync transactions for {access_token} starting from cursor {cursor}.
Pull the first full batch of transaction changes for item {access_token}.
POST
/transactions/enrich
Enrich my own raw transaction data · Enrich locally-held transaction data
#
Ask an LLM
“Can Plaid clean up and categorize transactions that didn't come from Plaid?”
“How do I add merchant names and categories to my own banking transactions?”
Tell an agent
Enrich these {account_type} account transactions: {transactions}.
Add merchant and category data to my locally held transactions {transactions} from {account_type} accounts.
POST
/institutions/get
List all supported institutions · Get details of all supported institutions
#
Ask an LLM
“Which banks does Plaid support in a given country?”
“How do I page through the full list of supported financial institutions?”
Tell an agent
List {count} supported institutions in {country_codes} starting at offset {offset}.
Page through every supported bank in {country_codes}, {count} at a time from {offset}.
Ask an LLM
“How do I find a bank by name to check it's supported?”
“Can I search institutions that support a specific product?”
Tell an agent
Search institutions named {query} in {country_codes}.
Find banks matching {query} in {country_codes} that support {products}.
Ask an LLM
“How do I look up details for a bank when I already have its institution ID?”
“Can I see which products a specific institution supports?”
Tell an agent
Get institution {institution_id} in {country_codes}.
Show the details Plaid has on bank ID {institution_id} for {country_codes}.
Ask an LLM
“Can I disconnect a user's bank and stop being billed for it?”
“What happens to processor tokens when an Item is removed?”
Tell an agent destructive · confirm first
Remove item {access_token}.
Disconnect the linked bank {access_token} and invalidate its tokens.
Ask an LLM
“What bank accounts did a user link?”
“Does the accounts list include closed accounts?”
Tell an agent
List the accounts on {access_token}.
Show the active accounts and cached balances for item {access_token}.
POST
/categories/get
Get the legacy transaction category list · (Deprecated) Get legacy categories
#
Ask an LLM
“Where do I get the full list of Plaid transaction categories?”
“Is the legacy category taxonomy still recommended?”
Tell an agent
Get the list of transaction categories.
Download the older category hierarchy used on transactions.
POST
/sandbox/processor_token/create
Create a Sandbox processor token · Create a test Item and processor token
#
Ask an LLM
“How do I test a processor integration without going through Link?”
“Can I get a test processor token for any institution in Sandbox?”
Tell an agent
Create a Sandbox processor token for institution {institution_id}.
Make a test Item at {institution_id} and give me its processor token.
Ask an LLM
“How do I create a test bank connection in Sandbox without the Link UI?”
“Which products can a Sandbox test Item start with?”
Tell an agent
Create a Sandbox public token at {institution_id} with products {initial_products}.
Spin up a test Item for institution {institution_id} initialized for {initial_products}.
Ask an LLM
“How do I test that my server handles Plaid webhooks correctly?”
“Which webhook codes can I trigger for a Sandbox Item?”
Tell an agent
Fire webhook {webhook_code} for Sandbox item {access_token}.
Send a test {webhook_type} webhook with code {webhook_code} for {access_token}.
Ask an LLM
“Can I check a user's live balance before pulling money?”
“Why are balances here fresher than the regular accounts list?”
Tell an agent
Get real-time balances for {access_token}.
Force a live balance check on every account in item {access_token}.
Ask an LLM
“How do I get the name, email and address the bank has on file for an account owner?”
“Which identity fields are guaranteed to come back from the bank?”
Tell an agent
Get identity data for {access_token}.
Show the account holder names, phones and addresses on item {access_token}.
POST
/identity/documents/uploads/get
Get identity from uploaded documents · Returns uploaded document identity
#
Ask an LLM
“How do I retrieve identity data a user supplied by uploading documents?”
“Where do document-uploaded identity results come back?”
Tell an agent
Get document-uploaded identity for {access_token}.
Retrieve the identity documents a user uploaded on item {access_token}.
Ask an LLM
“How do I check that the name and address a user gave me match their bank's records?”
“What does the identity match score tell me?”
Tell an agent
Match user details {user} against the account holder on {access_token}.
Get an identity match score for item {access_token}.
Ask an LLM
“Can I force Plaid to fetch the latest identity info from the bank?”
“Is refreshing identity data required or optional?”
Tell an agent
Refresh identity data for {access_token}.
Start an on-demand identity extraction for item {access_token}.
Ask an LLM
“How do I look up one of my team's Plaid Dashboard users?”
“What details can I see about a dashboard user?”
Tell an agent
Get dashboard user {dashboard_user_id}.
Show the Dashboard account details for {dashboard_user_id}.
Ask an LLM
“Who on my team has access to the Plaid Dashboard?”
“Can I page through all dashboard users on my account?”
Tell an agent
List all dashboard users.
Continue listing dashboard users from cursor {cursor}.
POST
/identity_verification/create
Start an Identity Verification · Create a new Identity Verification
#
Ask an LLM
“Can I start a KYC identity check for a new customer?”
“Do I need the user's consent before creating an identity verification?”
Tell an agent
Create an identity verification for {client_user_id} using template {template_id}, shareable {is_shareable}, consent given {gave_consent}.
Start KYC on template {template_id} for user {user}, consent {gave_consent}, shareable link {is_shareable}.
POST
/identity_verification/get
Retrieve an Identity Verification · Retrieve Identity Verification
#
Ask an LLM
“How do I check the result of a customer's identity verification?”
“Can I see which verification steps passed or failed?”
Tell an agent
Get identity verification {identity_verification_id}.
Show the outcome of KYC session {identity_verification_id}.
POST
/identity_verification/list
List Identity Verifications for a user · List Identity Verifications
#
Ask an LLM
“How do I see every identity verification attempt for one customer?”
“Can I filter identity verifications by template?”
Tell an agent
List identity verifications for {client_user_id} on template {template_id}.
Show all KYC attempts by user {client_user_id} under template {template_id}, from cursor {cursor}.
POST
/identity_verification/retry
Let a customer retry identity verification · Retry an Identity Verification
#
Ask an LLM
“Can I let a customer try their identity verification again after failing?”
“Can a retry reset only certain verification steps?”
Tell an agent
Retry identity verification for {client_user_id} on template {template_id} with strategy {strategy}.
Give user {client_user_id} another KYC attempt on {template_id}, rerunning steps {steps} using strategy {strategy}.
POST
/watchlist_screening/entity/create
Screen a business against watchlists · Create a watchlist screening for an entity
#
Ask an LLM
“Can I check a company against sanctions and watchlists?”
“Will a business I screen keep being monitored after the first check?”
Tell an agent
Screen the business {search_terms} against entity watchlists.
Create an entity watchlist screening for company {search_terms} tied to customer {client_user_id}.
POST
/watchlist_screening/entity/get
Retrieve an entity watchlist screening · Get an entity screening
#
Ask an LLM
“How do I check the status of a sanctions screening on a business?”
“What does an entity screening record contain?”
Tell an agent
Get entity screening {entity_watchlist_screening_id}.
Show the business watchlist check {entity_watchlist_screening_id}.
POST
/watchlist_screening/entity/history/list
List edit history of an entity screening · List history for entity watchlist screenings
#
Ask an LLM
“How do I audit changes made to a business screening over time?”
“Why is the change history empty for a company screening?”
Tell an agent
List the change history of entity screening {entity_watchlist_screening_id}.
Show past edits to business screening {entity_watchlist_screening_id}, newest first.
POST
/watchlist_screening/entity/hit/list
List watchlist hits for a business · List hits for entity watchlist screenings
#
Ask an LLM
“Which watchlist matches came up for a company I screened?”
“How do I page through potential sanctions hits on a business?”
Tell an agent
List hits for entity screening {entity_watchlist_screening_id}.
Show the potential watchlist matches found for business {entity_watchlist_screening_id}.
POST
/watchlist_screening/entity/list
List entity screenings in a program · List entity watchlist screenings
#
Ask an LLM
“How do I list all businesses screened under one watchlist program?”
“Can I filter business screenings by status or assigned reviewer?”
Tell an agent
List entity screenings in program {entity_watchlist_program_id}.
Show {status} business screenings assigned to {assignee} in program {entity_watchlist_program_id}.
POST
/watchlist_screening/entity/program/get
Get an entity watchlist program · Get entity watchlist screening program
#
Ask an LLM
“How do I see which watchlists a business screening program checks?”
“Where are the settings for an entity screening program?”
Tell an agent
Get entity watchlist program {entity_watchlist_program_id}.
Show the configuration of business screening program {entity_watchlist_program_id}.
POST
/watchlist_screening/entity/program/list
List entity watchlist programs · List entity watchlist screening programs
#
Ask an LLM
“What business screening programs do I have set up?”
“Can I list every program used to screen companies?”
Tell an agent
List my entity watchlist programs.
Show the business screening programs after cursor {cursor}.
POST
/watchlist_screening/entity/review/create
Review hits on an entity screening · Create a review for an entity watchlist screening
#
Ask an LLM
“How do I record which watchlist hits on a business are real and which are false positives?”
“Can I add a comment when I clear matches on a company screening?”
Tell an agent
Review entity screening {entity_watchlist_screening_id}: confirm {confirmed_hits}, dismiss {dismissed_hits}.
File a compliance review on business screening {entity_watchlist_screening_id} dismissing {dismissed_hits}, confirming {confirmed_hits}, noting {comment}.
POST
/watchlist_screening/entity/review/list
List reviews of an entity screening · List reviews for entity watchlist screenings
#
Ask an LLM
“Who reviewed the watchlist hits on a business and what did they decide?”
“How do I see past compliance reviews for a company screening?”
Tell an agent
List reviews for entity screening {entity_watchlist_screening_id}.
Show the compliance decisions recorded on business screening {entity_watchlist_screening_id}.
Ask an LLM
“How do I reassign or change the status of a business screening?”
“Can I correct a company's details on an existing screening?”
Tell an agent
Update entity screening {entity_watchlist_screening_id} to status {status}.
Assign business screening {entity_watchlist_screening_id} to reviewer {assignee}.
POST
/watchlist_screening/individual/create
Screen a person against watchlists · Create a watchlist screening for a person
#
Ask an LLM
“Is it possible to check a customer against sanctions and PEP lists?”
“What information do I need to screen an individual?”
Tell an agent
Screen the person {search_terms} against watchlists.
Create an individual watchlist screening for {search_terms} as customer {client_user_id}.
POST
/watchlist_screening/individual/get
Retrieve an individual watchlist screening · Retrieve an individual watchlist screening
#
Ask an LLM
“Where do I find a person's watchlist screening result?”
“Can I see the current status of a customer's sanctions check?”
Tell an agent
Get individual screening {watchlist_screening_id}.
Show the person's watchlist check {watchlist_screening_id}.
POST
/watchlist_screening/individual/history/list
List edit history of a person's screening · List history for individual watchlist screenings
#
Ask an LLM
“How do I see what changed on a customer's watchlist screening?”
“Does an unedited person screening have any history?”
Tell an agent
List the change history of individual screening {watchlist_screening_id}.
Show past edits to person screening {watchlist_screening_id} in reverse order.
POST
/watchlist_screening/individual/hit/list
List watchlist hits for a person · List hits for individual watchlist screening
#
Ask an LLM
“Which sanctions or PEP matches did Plaid find for a customer?”
“How do I page through potential hits on an individual screening?”
Tell an agent
List hits for individual screening {watchlist_screening_id}.
Show the potential watchlist matches found for person {watchlist_screening_id}.
POST
/watchlist_screening/individual/list
List individual screenings in a program · List Individual Watchlist Screenings
#
Ask an LLM
“How do I list every person screened under a watchlist program?”
“Can I filter people screenings to the ones awaiting review?”
Tell an agent
List individual screenings in program {watchlist_program_id}.
Show people screenings with status {status} for reviewer {assignee} in program {watchlist_program_id}.
POST
/watchlist_screening/individual/program/get
Get an individual watchlist program · Get individual watchlist screening program
#
Ask an LLM
“Which lists does my program for screening people check against?”
“Where do I see the settings of an individual screening program?”
Tell an agent
Get individual watchlist program {watchlist_program_id}.
Show how person screening program {watchlist_program_id} is configured.
POST
/watchlist_screening/individual/program/list
List individual watchlist programs · List individual watchlist screening programs
#
Ask an LLM
“What programs do I have for screening individual customers?”
“Can I see all my people screening programs in one list?”
Tell an agent
List my individual watchlist programs.
Show the person screening programs after cursor {cursor}.
POST
/watchlist_screening/individual/review/create
Review hits on a person's screening · Create a review for an individual watchlist screening
#
Ask an LLM
“How do I clear false-positive sanctions hits on a customer?”
“Can I confirm some matches on a person's screening and dismiss others?”
Tell an agent
Review individual screening {watchlist_screening_id}: confirm {confirmed_hits}, dismiss {dismissed_hits}.
Record a compliance decision on person screening {watchlist_screening_id}, dismissing {dismissed_hits} and confirming {confirmed_hits} with note {comment}.
POST
/watchlist_screening/individual/review/list
List reviews of a person's screening · List reviews for individual watchlist screenings
#
Ask an LLM
“How do I see who reviewed a customer's watchlist hits?”
“Can I audit past review decisions on an individual screening?”
Tell an agent
List reviews for individual screening {watchlist_screening_id}.
Show the review decisions logged against person screening {watchlist_screening_id}.
POST
/watchlist_screening/individual/update
Update an individual screening · Update individual watchlist screening
#
Ask an LLM
“How do I correct a customer's details on their watchlist screening?”
“Can I assign a person's screening to a specific reviewer?”
Tell an agent
Update individual screening {watchlist_screening_id} to status {status}.
Assign person screening {watchlist_screening_id} to {assignee} for review.
POST
/beacon/account_risk/v1/evaluate
Evaluate the risk of a linked bank account · (Deprecated) Evaluate risk of a bank account
#
Ask an LLM
“How do I check whether a newly linked bank account looks risky or fraudulent?”
“Can I pass device data when assessing a bank account's risk?”
Tell an agent
Evaluate account risk for item {access_token}.
Run a Beacon risk check on {access_token} for reason {evaluation_reason}.
Ask an LLM
“How do I check a new signup against the Beacon fraud network?”
“What checks run when I add a user to a Beacon program?”
Tell an agent
Create Beacon user {client_user_id} in program {program_id} with details {user}.
Scan applicant {user} against Beacon program {program_id} as {client_user_id}.
Ask an LLM
“How do I see whether a Beacon user was flagged by fraud or duplicate checks?”
“What information comes back for a Beacon user?”
Tell an agent
Get Beacon user {beacon_user_id}.
Show the fraud check status for Beacon user {beacon_user_id}.
Ask an LLM
“How do I clear or reject a Beacon user after manual review?”
“Are there rules on which Beacon status changes are allowed?”
Tell an agent
Set Beacon user {beacon_user_id} to status {status}.
Mark reviewed Beacon user {beacon_user_id} as {status}.
Ask an LLM
“How do I report that a user committed fraud to the Beacon network?”
“Can I include the amount lost when filing a fraud report?”
Tell an agent
File a {type} fraud report for Beacon user {beacon_user_id} dated {fraud_date}.
Report {fraud_amount} lost to {type} fraud by Beacon user {beacon_user_id} on {fraud_date}.
POST
/beacon/report/list
List fraud reports I filed on a Beacon user · (Deprecated) List Beacon Reports for a Beacon User
#
Ask an LLM
“How do I see the fraud reports my team created for a user?”
“Does the report list include reports other companies filed?”
Tell an agent
List Beacon reports I created for user {beacon_user_id}.
Show my own fraud reports on Beacon user {beacon_user_id} from cursor {cursor}.
POST
/beacon/report_syndication/list
List network fraud reports matching a user · (Deprecated) List Beacon Report Syndications for a Beacon User
#
Ask an LLM
“Has anyone else in the Beacon network reported fraud on this user?”
“How do I see fraud reports syndicated to one of my users?”
Tell an agent
List report syndications for Beacon user {beacon_user_id}.
Show network-shared fraud reports that matched Beacon user {beacon_user_id}.
Ask an LLM
“How do I look up a fraud report I filed by its ID?”
“What details are stored on a Beacon report?”
Tell an agent
Get Beacon report {beacon_report_id}.
Open fraud report {beacon_report_id}.
POST
/beacon/report_syndication/get
Get a syndicated Beacon fraud report · (Deprecated) Get a Beacon Report Syndication
#
Ask an LLM
“How do I read the details of a fraud report shared from the network?”
“What does a report syndication record point to?”
Tell an agent
Get report syndication {beacon_report_syndication_id}.
Show the network fraud report behind syndication {beacon_report_syndication_id}.
POST
/beacon/user/update
Update a Beacon user's identity data · (Deprecated) Update the identity data of a Beacon User
#
Ask an LLM
“How do I update a Beacon user's address or phone number?”
“Does changing a Beacon user's details rerun the fraud checks?”
Tell an agent
Update Beacon user {beacon_user_id} with identity data {user}.
Correct the PII on Beacon user {beacon_user_id} to {user} and rescan.
Ask an LLM
“How do I see two Beacon users flagged as possible duplicates?”
“What does a Beacon duplicate record compare?”
Tell an agent
Get Beacon duplicate {beacon_duplicate_id}.
Compare the two similar user records in duplicate {beacon_duplicate_id}.
POST
/identity_verification/autofill/create
Autofill an Identity Verification · Create autofill for an Identity Verification
#
Ask an LLM
“Can Plaid prefill a user's identity details from their phone number and birth date?”
“How do I speed up KYC by autofilling the user's information?”
Tell an agent
Autofill identity verification {identity_verification_id}.
Try to prefill the KYC details on session {identity_verification_id}.
POST
/beacon/user/history/list
List a Beacon user's change history · (Deprecated) List a Beacon User's history
#
Ask an LLM
“How do I see every change made to a Beacon user over time?”
“Can I page through a Beacon user's past revisions?”
Tell an agent
List history for Beacon user {beacon_user_id}.
Show earlier revisions of Beacon user {beacon_user_id}, newest first.
Ask an LLM
“As a payment processor, how do I get the account and routing number behind a processor token?”
“Which account types return bank numbers to a processor?”
Tell an agent
Get auth numbers for processor token {processor_token}.
Look up the routing and account number behind {processor_token}.
POST
/processor/account/get
Get the account behind a processor token · Retrieve the account associated with a processor token
#
Ask an LLM
“Which bank account does a processor token point to?”
“Is the balance on a processor token's account cached or live?”
Tell an agent
Get the account for processor token {processor_token}.
Show the cached account details tied to {processor_token}.
POST
/processor/transactions/get
Get transactions by date range as a processor · Get transaction data
#
Ask an LLM
“As a processor, how do I pull a user's transactions for a date window?”
“Which account types return transactions through a processor token?”
Tell an agent
Get transactions for processor token {processor_token} from {start_date} to {end_date}.
Use the older date-range processor endpoint for {processor_token} between {start_date} and {end_date}.
POST
/processor/transactions/sync
Sync transaction updates for a processor token · Get incremental transaction updates on a processor token
#
Ask an LLM
“As a processor, how do I keep transactions current with a cursor?”
“What replaces the date-range transactions call for processors?”
Tell an agent
Sync transactions for processor token {processor_token} from cursor {cursor}.
Get the first page of transaction changes for {processor_token}.
POST
/processor/transactions/refresh
Refresh transactions for a processor token · Refresh transaction data
#
Ask an LLM
“Can a processor force a fresh pull of the newest transactions?”
“Is the processor transactions refresh required?”
Tell an agent
Refresh transactions for processor token {processor_token}.
Kick off an on-demand transaction extraction for {processor_token}.
POST
/processor/transactions/recurring/get
Find recurring streams for a processor token · Fetch recurring transaction streams
#
Ask an LLM
“As a processor, how do I spot subscriptions and paychecks on an account?”
“Can a processor get recurring inflow and outflow summaries?”
Tell an agent
Get recurring transaction streams for processor token {processor_token}.
Summarize the regular deposits and bills on {processor_token}.
POST
/processor/signal/evaluate
Score ACH return risk as a processor · Evaluate a planned ACH transaction
#
Ask an LLM
“As a processor, how do I check how likely an ACH debit is to be returned?”
“What risk tier and signals come back for a planned transfer?”
Tell an agent
Evaluate ACH transaction {client_transaction_id} for {amount} on processor token {processor_token}.
Get a Signal return-risk score for a {amount} debit from {processor_token}, reference {client_transaction_id}.
POST
/processor/signal/decision/report
Report a Signal decision as a processor · Report whether you initiated an ACH transaction
#
Ask an LLM
“After scoring, how does a processor tell Plaid whether it went ahead with the ACH?”
“Can I report how long funds were held on a processed transfer?”
Tell an agent
Report that transaction {client_transaction_id} on {processor_token} was initiated: {initiated}.
Send the processor decision for {client_transaction_id} on {processor_token}: initiated {initiated}, held {days_funds_on_hold} days.
POST
/processor/signal/return/report
Report an ACH return as a processor · Report a return for an ACH transaction
#
Ask an LLM
“As a processor, how do I tell Plaid a scored ACH payment came back?”
“Does reporting returns improve the Signal model?”
Tell an agent
Report return {return_code} on transaction {client_transaction_id} for processor token {processor_token}.
Log that processor payment {client_transaction_id} on {processor_token} was returned with code {return_code} at {returned_at}.
POST
/processor/signal/prepare
Opt a processor token into Signal · Opt-in a processor token to Signal
#
Ask an LLM
“How do I improve Signal scores for a processor token that wasn't set up with Signal?”
“What happens if I skip preparing a processor token for Signal?”
Tell an agent
Prepare processor token {processor_token} for Signal.
Opt {processor_token} into Signal data collection.
POST
/processor/bank_transfer/create
Create a bank transfer as a processor · (Deprecated) Create a bank transfer as a processor
#
Ask an LLM
“As a processor, how do I start an ACH bank transfer?”
“Which networks and currencies can a processor bank transfer use?”
Tell an agent
Create a {type} bank transfer of {amount} {iso_currency_code} over {network} on {processor_token} for {user}, described {description}, key {idempotency_key}.
As processor, move {amount} {iso_currency_code} via {network} ({type}) for {user} on {processor_token}, memo {description}, key {idempotency_key}.
POST
/processor/liabilities/get
Get loan and credit details as a processor · Retrieve Liabilities data
#
Ask an LLM
“As a processor, how do I read a user's loan or credit card details?”
“Which countries have liabilities data through a processor token?”
Tell an agent
Get liabilities for processor token {processor_token}.
Show the loan and credit card balances behind {processor_token}.
Ask an LLM
“As a processor, how do I get the account owner's name and address?”
“What identity fields can a processor token return?”
Tell an agent
Get identity data for processor token {processor_token}.
Show the account owner's names, emails and addresses via {processor_token}.
POST
/processor/identity/match
Score identity match as a processor · Retrieve identity match score
#
Ask an LLM
“As a processor, can I check that a customer's details match the bank's records?”
“What match scores does a processor identity match return?”
Tell an agent
Get an identity match score for processor token {processor_token}.
Compare user details {user} to the bank's owner info on {processor_token}.
Ask an LLM
“As a processor, how do I check a live balance before debiting?”
“Does the processor balance call hit the bank in real time?”
Tell an agent
Get the real-time balance for processor token {processor_token}.
Force a live balance refresh on {processor_token}.
Ask an LLM
“How do I point a linked Item's webhooks to a new URL?”
“Will I get a confirmation webhook after changing the URL?”
Tell an agent
Update the webhook for item {access_token} to {webhook}.
Send future notifications for {access_token} to {webhook}.
Ask an LLM
“What should I do to rotate an access token I think leaked?”
“Do Plaid access tokens expire on their own?”
Tell an agent destructive · confirm first
Invalidate access token {access_token} and issue a new one.
Rotate the credential {access_token}.
POST
/webhook_verification_key/get
Get the key to verify webhook signatures · Get webhook verification key
#
Ask an LLM
“How do I verify that a webhook really came from Plaid?”
“Where do I get the public key named in a webhook's JWT header?”
Tell an agent
Get webhook verification key {key_id}.
Fetch the signing public key with ID {key_id} so I can check a webhook JWT.
Ask an LLM
“How do I get a user's student loan, mortgage and credit card details?”
“Is liabilities data available outside the US?”
Tell an agent
Get liabilities for item {access_token}.
Show the due dates and APRs on the loans and cards in {access_token}.
Ask an LLM
“How do I add a payee before initiating a payment in Europe or the UK?”
“Can a recipient use a UK sort code instead of an IBAN?”
Tell an agent
Create a payment recipient named {name} with IBAN {iban}.
Add payee {name} with BACS details {bacs} at address {address}.
Ask an LLM
“How do I refund a payment that settled into my Plaid virtual account?”
“Can I refund only part of an initiated payment?”
Tell an agent destructive · confirm first
Reverse payment {payment_id} with reference {reference}, key {idempotency_key}.
Refund {amount} of settled payment {payment_id}, reference {reference}, idempotency key {idempotency_key}.
Ask an LLM
“How do I look up the bank details of a payee I already created?”
“What details are stored on a payment recipient?”
Tell an agent
Get payment recipient {recipient_id}.
Show the account details on payee {recipient_id}.
Ask an LLM
“Which payees have I set up for payment initiation?”
“Can I see every payment recipient I created?”
Tell an agent
List my payment recipients.
Show all payees I've added for bank payments.
Ask an LLM
“How do I start a bank payment to a recipient in the UK or Europe?”
“Can I set up a recurring standing order instead of a one-time payment?”
Tell an agent
Create a payment of {amount} to recipient {recipient_id} with reference {reference}.
Set up a standing order of {amount} to {recipient_id} on schedule {schedule}, reference {reference}.
POST
/payment_initiation/payment/token/create
Create a payment token (deprecated) · Create payment token
#
Ask an LLM
“Is the old payment token flow still available to new customers?”
“What is the legacy payment token used for with Link?”
Tell an agent
Create a legacy payment token for payment {payment_id}.
Use the deprecated token endpoint to open Link for payment {payment_id}.
Ask an LLM
“How do I get a user's standing permission to make payments on their behalf?”
“What limits can I put on a payment consent?”
Tell an agent
Create a payment consent to recipient {recipient_id} with scopes {scopes}, constraints {constraints}, reference {reference}.
Set up variable recurring payment consent for {recipient_id} capped by {constraints}, scopes {scopes}, reference {reference}.
Ask an LLM
“Has the user authorised the payment consent I created?”
“How do I see a consent's recipient and limits?”
Tell an agent
Get payment consent {consent_id}.
Check whether consent {consent_id} is authorised.
Ask an LLM
“How do I cancel a payment consent so no more payments can be made?”
“Can a revoked payment consent be used again?”
Tell an agent destructive · confirm first
Revoke payment consent {consent_id}.
Cancel consent {consent_id} to stop future payments.
POST
/payment_initiation/consent/payment/execute
Make a payment using a consent · Execute a single payment using consent
#
Ask an LLM
“How do I charge a user under a consent they already granted?”
“Do consent payments need an idempotency key?”
Tell an agent
Execute a payment of {amount} under consent {consent_id} with key {idempotency_key}.
Pay {amount} using consent {consent_id}, reference {reference}, idempotency key {idempotency_key}.
POST
/sandbox/item/reset_login
Force a Sandbox Item into login-required · Force a Sandbox Item into an error state
#
Ask an LLM
“How do I test Link update mode in Sandbox?”
“Can I simulate an expired bank login?”
Tell an agent
Reset login on Sandbox item {access_token}.
Put test item {access_token} into ITEM_LOGIN_REQUIRED.
POST
/sandbox/item/application/seed
Seed a connected application for a Permissions Manager sandbox item
#
POST
/sandbox/item/set_verification_status
Set micro-deposit verification status in Sandbox · Set verification status for Sandbox account
#
Ask an LLM
“How do I test automated micro-deposit verification in Sandbox?”
“Can I make a Sandbox account's verification pass or expire?”
Tell an agent
Set verification status of account {account_id} on {access_token} to {verification_status}.
Simulate micro-deposit result {verification_status} for Sandbox account {account_id} in item {access_token}.
POST
/item/public_token/exchange
Exchange a public token for an access token · Exchange public token for an access token
#
Ask an LLM
“What do I do with the public token Link gives me after a user connects their bank?”
“How long is a Link public token valid before I must exchange it?”
Tell an agent
Exchange public token {public_token} for an access token.
Turn the Link onSuccess token {public_token} into a permanent access token.
POST
/item/public_token/create
Create a public token for an Item (deprecated) · (Deprecated) Create public token
#
Ask an LLM
“Can I still create a public token from an existing access token?”
“What replaced the old public token flow for update mode?”
Tell an agent
Create a public token from access token {access_token}.
Use the deprecated endpoint to get a Link public token for item {access_token}.
Ask an LLM
“How do I create a Plaid user before starting an income or consumer report flow?”
“Should I create more than one user token per customer?”
Tell an agent
Create a user token for {client_user_id}.
Register end user {client_user_id} with consumer report identity {consumer_report_user_identity}.
Ask an LLM
“How do I change the identity details stored on an existing user token?”
“What happens if I update a user token that doesn't exist?”
Tell an agent
Update user {user_token} with identity {consumer_report_user_identity}.
Correct the consumer report identity on existing user token {user_token}.
POST
/credit/sessions/get
List a user's completed Link sessions · Retrieve Link sessions for your user
#
Ask an LLM
“How do I see the results of every Link session a user finished?”
“Where can I check what happened in a user's income verification sessions?”
Tell an agent
Get the Link sessions for user {user_token}.
Show the completed Link flow results for {user_token}.
Ask an LLM
“How do I find out whether a bank payment I initiated went through?”
“Can I see the amount and recipient of a payment I created?”
Tell an agent
Get payment {payment_id}.
Check the status of initiated payment {payment_id}.
Ask an LLM
“Which bank payments have I initiated so far?”
“Can I list only payments made under one consent?”
Tell an agent
List my {count} most recent initiated payments.
Show payments made under consent {consent_id}.
Ask an LLM
“How do I see the stocks and funds a user holds in their brokerage account?”
“Which account types return investment holdings?”
Tell an agent
Get investment holdings for {access_token}.
Show the securities and positions held in item {access_token}.
POST
/investments/transactions/get
Get investment transactions for a date range · Get investment transactions
#
Ask an LLM
“How do I pull buys, sells and dividends from a user's investment accounts?”
“How far back can investment transaction history go?”
Tell an agent
Get investment transactions for {access_token} from {start_date} to {end_date}.
List brokerage trades on item {access_token} between {start_date} and {end_date}.
Ask an LLM
“Can I force an update of a user's holdings and investment transactions?”
“Is refreshing investments data optional?”
Tell an agent
Refresh investments data for {access_token}.
Start an on-demand pull of the newest holdings on item {access_token}.
POST
/investments/auth/get
Get data to authorize a holdings transfer · Get data needed to authorize an investments transfer
#
Ask an LLM
“What data do I need to move a user's brokerage holdings to another account?”
“How do I get account numbers for an investment account transfer?”
Tell an agent
Get investments auth data for {access_token}.
Pull the details needed to transfer holdings out of item {access_token}.
Ask an LLM
“How do I share a user's linked account with a payment processor partner?”
“Which processors can receive a Plaid processor token?”
Tell an agent
Create a processor token for {processor} on account {account_id} of {access_token}.
Hand account {account_id} from item {access_token} to partner {processor}.
POST
/processor/token/permissions/set
Restrict a processor's product access · Control a processor's access to products
#
Ask an LLM
“Can I limit which Plaid products a processor can use on my user's account?”
“By default, what can a processor access with a token?”
Tell an agent
Limit processor token {processor_token} to products {products}.
Set the allowed products on {processor_token} to {products}.
POST
/processor/token/permissions/get
See a processor token's product permissions · Get a processor token's product permissions
#
Ask an LLM
“Which products is a processor allowed to call with a given token?”
“What does an empty products list mean on a processor token?”
Tell an agent
Get permissions for processor token {processor_token}.
Show which products {processor_token} can access.
POST
/processor/token/webhook/update
Change a processor token's webhook URL · Update a processor token's webhook URL
#
Ask an LLM
“As a processor, how do I point a token's webhooks to a new URL?”
“Is there a confirmation after a processor updates its webhook?”
Tell an agent
Update the webhook for processor token {processor_token} to {webhook}.
Route {processor_token} notifications to {webhook}.
POST
/processor/stripe/bank_account_token/create
Create a one-time bank account token for payments · Create Stripe bank account token
#
Ask an LLM
“How do I get a single-use bank account token for my card-and-ACH payments partner integration?”
“Can a partner bank account token be reused?”
Tell an agent
Create a one-time bank account token for account {account_id} on {access_token}.
Generate a single-use btok for account {account_id} in item {access_token}.
POST
/processor/apex/processor_token/create
Create an Apex processor token · Create Apex processor token
#
Ask an LLM
“How do I connect a linked account to Apex Clearing?”
“What token does the Apex integration need?”
Tell an agent
Create an Apex token for account {account_id} on {access_token}.
Send account {account_id} from item {access_token} to Apex.
Ask an LLM
“How do I create an Item without Link using my Plaid Exchange integration?”
“What user credentials does an Item import need?”
Tell an agent
Import an item for products {products} with user auth {user_auth}.
Create an access token through Plaid Exchange using {user_auth}, enabling {products}.
Ask an LLM
“What's the current status of a Plaid Transfer I sent?”
“Can I tell whether a transfer is still cancellable?”
Tell an agent
Get transfer {transfer_id}.
Show the status of transfer {transfer_id} for originator {originator_client_id}.
Ask an LLM
“How do I see the schedule and status of a recurring transfer?”
“Which transfers has a recurring transfer created so far?”
Tell an agent
Get recurring transfer {recurring_transfer_id}.
Show the schedule for repeating transfer {recurring_transfer_id}.
Ask an LLM
“How do I check a bank transfer made with the older Bank Transfers product?”
“Where do I see details of a legacy bank_transfer?”
Tell an agent
Get bank transfer {bank_transfer_id}.
Look up legacy bank transfer {bank_transfer_id}.
POST
/transfer/authorization/create
Authorize a transfer before creating it · Create a transfer authorization
#
Ask an LLM
“What must I do before creating a Plaid Transfer?”
“Why might a transfer authorization be declined?”
Tell an agent
Authorize a {type} of {amount} over {network} from account {account_id} on {access_token} for {user}.
Check if a {amount} {network} {type} for {user} on account {account_id} of {access_token} is approved.
POST
/transfer/authorization/cancel
Cancel an unused transfer authorization · Cancel a transfer authorization
#
Ask an LLM
“Can I cancel a transfer authorization I no longer need?”
“When is a transfer authorization no longer cancellable?”
Tell an agent destructive · confirm first
Cancel transfer authorization {authorization_id}.
Void unused authorization {authorization_id}.
POST
/transfer/balance/get
Get a balance held with Plaid (deprecated) · (Deprecated) Retrieve a balance held with Plaid
#
Ask an LLM
“Is the old Plaid-held balance endpoint still supported?”
“How did I view my prefunded balance before Plaid Ledger?”
Tell an agent
Get the deprecated transfer balance.
Show the {type} balance held with Plaid for originator {originator_client_id} using the old endpoint.
POST
/transfer/capabilities/get
Check RTP eligibility for an account · Get RTP eligibility information of a transfer
#
Ask an LLM
“Can this user's bank account receive instant RTP payments?”
“How do I test real-time payment eligibility in Sandbox?”
Tell an agent
Check RTP capabilities for account {account_id} on {access_token}.
See if account {account_id} in item {access_token} supports instant payouts.
POST
/transfer/configuration/get
View transfer product configuration · Get transfer product configuration
#
Ask an LLM
“What are my transfer limits and configuration?”
“Can I see the transfer settings for one of my originators?”
Tell an agent
Get my transfer configuration.
Show transfer configuration for originator {originator_client_id}.
Ask an LLM
“How much money is available in my Plaid Ledger?”
“Can I see the ledger balance for a specific originator?”
Tell an agent
Get my Plaid Ledger balance.
Show the ledger balance for originator {originator_client_id}.
POST
/transfer/ledger/distribute
Move ledger balance between platform and originator · Move available balance between ledgers
#
Ask an LLM
“As a platform, how do I move funds from my ledger to an originator's ledger?”
“Does moving money between ledgers need an idempotency key?”
Tell an agent
Distribute {amount} from ledger {from_client_id} to {to_client_id} with key {idempotency_key}.
Shift {amount} of available balance from {from_client_id} to originator {to_client_id}, noting {description}, key {idempotency_key}.
POST
/transfer/ledger/deposit
Deposit funds into Plaid Ledger · Deposit funds into a Plaid Ledger balance
#
Ask an LLM
“Can I top up my Plaid Ledger balance from my bank?”
“Which network can I use to fund my ledger?”
Tell an agent
Deposit {amount} into my Plaid Ledger over {network} with key {idempotency_key}.
Fund the ledger with {amount} from funding account {funding_account_id} via {network}, key {idempotency_key}.
POST
/transfer/ledger/withdraw
Withdraw funds from Plaid Ledger · Withdraw funds from a Plaid Ledger balance
#
Ask an LLM
“How do I pull money out of my Plaid Ledger to my bank?”
“Can I withdraw ledger funds to a specific funding account?”
Tell an agent
Withdraw {amount} from my Plaid Ledger over {network} with key {idempotency_key}.
Sweep {amount} out of the ledger to funding account {funding_account_id} via {network}, key {idempotency_key}.
POST
/transfer/originator/funding_account/update
Update an originator's funding account · Update the funding account associated with the originator
#
Ask an LLM
“How do I change the bank account an originator uses to fund transfers?”
“Can a platform update an originator's funding account?”
Tell an agent
Update originator {originator_client_id}'s funding account to {funding_account}.
Switch the funding bank for originator {originator_client_id} to {funding_account}.
Ask an LLM
“How much transfer volume have I used against my limits?”
“Where can I see return rates and usage for Plaid Transfer?”
Tell an agent
Get my transfer usage metrics.
Show transfer metrics for originator {originator_client_id}.
Ask an LLM
“How do I actually move money once a transfer is authorized?”
“What description shows on the user's bank statement for a transfer?”
Tell an agent
Create a transfer from authorization {authorization_id} on account {account_id} of {access_token}, described {description}.
Execute authorized transfer {authorization_id} for {amount} from {account_id} on {access_token} with memo {description}.
Ask an LLM
“How do I set up a weekly or monthly ACH debit?”
“Is recurring transfer available to Transfer UI customers?”
Tell an agent
Create a recurring {type} of {amount} via {network} on {schedule} for {account_id} on {access_token}, user {user}, memo {description}, key {idempotency_key}.
Schedule {amount} {type} on {schedule} via {network} from {account_id} ({access_token}) for {user}, {description}, key {idempotency_key}.
Ask an LLM
“How do I start a transfer with the older Bank Transfers product?”
“Does a legacy bank transfer require an idempotency key?”
Tell an agent
Create a legacy {type} bank transfer, {amount} {iso_currency_code} via {network}, {account_id} on {access_token}, {user}, {description}, {idempotency_key}.
Use the old bank_transfer API to send {amount} {iso_currency_code} {type} on {network}, {account_id}/{access_token}, {user}, {description}, {idempotency_key}.
Ask an LLM
“What transfers have I made with Plaid Transfer, and what state are they in?”
“Can I list transfers within a date range?”
Tell an agent
List my transfers.
List transfers from {start_date} to {end_date}, {count} at a time from offset {offset}.
Ask an LLM
“What recurring transfers do I have set up?”
“Can I page through recurring transfers created in a time window?”
Tell an agent
List my recurring transfers.
Show recurring transfers created between {start_time} and {end_time}.
Ask an LLM
“How do I list transfers made with the older Bank Transfers product?”
“Can I filter legacy bank transfers by direction?”
Tell an agent
List my legacy bank transfers.
Show {direction} bank transfers from {start_date} to {end_date} using the old API.
Ask an LLM
“Can I stop a Plaid Transfer after I've created it?”
“How do I know if a transfer can still be cancelled?”
Tell an agent destructive · confirm first
Cancel transfer {transfer_id}.
Stop pending transfer {transfer_id} before it's sent.
Ask an LLM
“How do I stop a recurring ACH schedule?”
“What happens to scheduled transfers when I cancel a recurring transfer?”
Tell an agent destructive · confirm first
Cancel recurring transfer {recurring_transfer_id}.
End the repeating payment schedule {recurring_transfer_id}.
Ask an LLM
“Can I cancel a transfer made with the older Bank Transfers product?”
“When is a legacy bank transfer cancelable?”
Tell an agent destructive · confirm first
Cancel bank transfer {bank_transfer_id}.
Stop legacy bank_transfer {bank_transfer_id}.
Ask an LLM
“How do I see when my transfers were posted, settled or returned?”
“Can I filter transfer events by type or sweep?”
Tell an agent
List transfer events for transfer {transfer_id}.
Show {event_types} transfer events from {start_date} to {end_date}.
Ask an LLM
“How do I track events on transfers from the older Bank Transfers product?”
“Can I see micro-deposit events for Auth here?”
Tell an agent
List events for legacy bank transfer {bank_transfer_id}.
Show {event_types} bank_transfer events between {start_date} and {end_date} on the old API.
Ask an LLM
“How do I make sure I never miss a transfer event?”
“How many transfer events can I fetch per sync call?”
Tell an agent
Sync transfer events after event {after_id}.
Get the next {count} transfer events following ID {after_id}.
Ask an LLM
“How do I stream events from the older Bank Transfers product without gaps?”
“Can I sync micro-deposit bank transfer events by event ID?”
Tell an agent
Sync legacy bank transfer events after {after_id}.
Fetch up to {count} bank_transfer events since event {after_id} from the old API.
Ask an LLM
“How do I see the details of a sweep that moved my transfer funds?”
“What does a Plaid Transfer sweep record show?”
Tell an agent
Get transfer sweep {sweep_id}.
Show the settlement sweep {sweep_id} for my transfers.
POST
/bank_transfer/sweep/get
Retrieve a legacy bank transfer sweep · (Deprecated) Retrieve a sweep
#
Ask an LLM
“How do I look up a sweep from the older Bank Transfers product?”
“Where do I find a legacy bank transfer sweep by ID?”
Tell an agent
Get legacy bank transfer sweep {sweep_id}.
Look up bank_transfer sweep {sweep_id} on the old API.
Ask an LLM
“How do I list the sweeps that settled my transfers?”
“Can I filter sweeps by status, amount or the transfer they include?”
Tell an agent
List my transfer sweeps.
Show sweeps with status {status} between {start_date} and {end_date}.
Ask an LLM
“How do I list sweeps from the older Bank Transfers product?”
“Can I filter legacy sweeps by origination account?”
Tell an agent
List my legacy bank transfer sweeps.
Show bank_transfer sweeps from {start_time} to {end_time} for origination account {origination_account_id}.
POST
/bank_transfer/balance/get
Get legacy Bank Transfers account balance · (Deprecated) Get balance of your Bank Transfer account
#
Ask an LLM
“What's the available balance in my Bank Transfers account?”
“When do debit transfers show up in my legacy bank transfer balance?”
Tell an agent
Get my Bank Transfers balance.
Show the available balance on origination account {origination_account_id} in the old Bank Transfers product.
POST
/bank_transfer/migrate_account
Migrate known account numbers into Bank Transfers · (Deprecated) Migrate account into Bank Transfers
#
Ask an LLM
“Can I use account and routing numbers I already have with the older Bank Transfers product instead of Link?”
“What can't a migrated legacy Item be used for?”
Tell an agent
Migrate {account_type} account {account_number} at routing {routing_number} into Bank Transfers.
Create a legacy bank_transfer Item from account {account_number}, routing {routing_number}, type {account_type}.
POST
/transfer/migrate_account
Migrate known account numbers into Transfer · Migrate account into Transfers
#
Ask an LLM
“How do I use Plaid Transfer with account and routing numbers I collected myself?”
“Do I need a wire routing number to send wires to a migrated account?”
Tell an agent
Migrate {account_type} account {account_number}, routing {routing_number}, into Transfer.
Set up a Transfer Item for account {account_number} with ACH routing {routing_number} and wire routing {wire_routing_number}, type {account_type}.
POST
/transfer/intent/create
Create a transfer intent for Transfer UI · Create a transfer intent object to invoke the Transfer UI
#
Ask an LLM
“How do I let Plaid's hosted Transfer UI collect a payment?”
“Can the Transfer UI both pay out and collect?”
Tell an agent
Create a {mode} transfer intent for {amount} for {user}, described {description}.
Start Transfer UI to {mode} {amount} with {user}, memo {description}, network {network}.
POST
/transfer/intent/get
Retrieve a transfer intent · Retrieve more information about a transfer intent
#
Ask an LLM
“How do I check what happened with a Transfer UI session?”
“Did the transfer intent lead to an authorized transfer?”
Tell an agent
Get transfer intent {transfer_intent_id}.
Show the outcome of Transfer UI intent {transfer_intent_id}.
Documentation
📖
Documentation
https://plaid.com/docs/auth/
📖
Documentation
https://plaid.com/docs/balance/
📖
Documentation
https://plaid.com/docs/identity/
📖
Documentation
https://plaid.com/docs/identity-verification/
📖
Documentation
https://plaid.com/docs/monitor/
📖
Documentation
https://plaid.com/docs/beacon/
📖
Documentation
https://plaid.com/docs/signal/
📖
Documentation
https://plaid.com/docs/transfer/
📖
Documentation
https://plaid.com/docs/transactions/
📖
Documentation
https://plaid.com/docs/investments/
📖
Documentation
https://plaid.com/docs/liabilities/
📖
Documentation
https://plaid.com/docs/assets/
📖
Documentation
https://plaid.com/docs/income/
📖
Documentation
https://plaid.com/docs/check/
📖
Documentation
https://plaid.com/docs/statements/
📖
Documentation
https://plaid.com/docs/payment-initiation/
📖
Documentation
https://plaid.com/docs/api/products/virtual-accounts/
📖
Documentation
https://plaid.com/docs/api/institutions/
📖
Documentation
https://plaid.com/docs/api/items/
📖
Documentation
https://plaid.com/docs/link/
📖
Documentation
https://plaid.com/docs/api/processor-partners/
📖
Documentation
https://plaid.com/docs/api/partner/
📖
Documentation
https://plaid.com/docs/sandbox/
📖
Documentation
https://plaid.com/docs/
📖
Documentation
https://plaid.com/docs/api/
Specifications
⚙
OpenAPI
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/openapi/plaid-plaid-api-openapi.yml
⚙
OpenAPI
https://raw.githubusercontent.com/plaid/plaid-openapi/master/2020-09-14.yml
Schemas & Data
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-link-token-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-partner-customer-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-signal-evaluate-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-transfer-authorization-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-beta-partner-customer-v1-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/json-schema/plaid-processor-signal-evaluate-request-schema.json