Plaid API

The Plaid API from Plaid — 256 operation(s) for plaid.

Operations 265

Showing the first 250 of 265. 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

POST /asset_report/create Create an Asset Report · Plaid Create an Asset Report #
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.
POST /asset_report/get Retrieve an Asset Report as JSON · Plaid Retrieve an Asset Report #
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}.
POST /asset_report/pdf/get Download an Asset Report as a PDF · Plaid Retrieve a PDF Asset Report #
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.
POST /asset_report/refresh Refresh an existing Asset Report · Plaid Refresh an Asset Report #
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.
POST /asset_report/filter Exclude accounts from an Asset Report · Plaid Filter Asset Report #
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}.
POST /asset_report/remove Delete an Asset Report · Plaid Delete an Asset Report #
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 · Plaid 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 · Plaid 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 · Plaid 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 /cra/base_report/get Retrieve a consumer Base Report · Plaid Retrieve a Base Report #
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}.
POST /cra/base_report/create Create a consumer Base Report · Plaid Create a Base Report #
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 /credit/audit_copy_token/update Add reports to an audit copy token · Plaid 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/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.
POST /cra/loans/update Update registered loan status and payments · Plaid Updates loan data #
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.
POST /consumer_report/pdf/get Download consumer reports as a PDF · Plaid Retrieve a PDF Reports #
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 · Plaid 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}.
POST /statements/download Download a single bank statement PDF · Plaid Retrieve a single statement #
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}.
POST /statements/refresh Refresh statements for a date range · Plaid Refresh statements data #
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 · Plaid 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 · Plaid 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/scopes/update Change an application's data access scopes · Plaid 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}.
POST /item/get Check the status of an Item · Plaid Retrieve an Item #
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.
POST /profile/get Retrieve a user's permissioned profile · Plaid Retrieve a Profile #
Ask an LLM
“How do I read the identity and item tokens a user shared through their profile?”
“What does a profile token give me access to?”
Tell an agent
Get the profile for {profile_token}.
Read the identity data and access tokens behind profile {profile_token}.
POST /auth/get Get account and routing numbers · Plaid Retrieve auth data #
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.
POST /transactions/get Get transactions for a date range · Plaid Get transaction data #
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}.
POST /transactions/refresh Refresh transactions on demand · Plaid Refresh transaction data #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /institutions/search Search institutions by name · Plaid Search institutions #
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}.
POST /institutions/get_by_id Get one institution's details by ID · Plaid Get details of an institution #
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}.
POST /item/remove Remove a linked Item · Plaid Remove an Item #
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.
POST /accounts/get List accounts on a linked Item · Plaid Retrieve accounts #
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 · Plaid Get 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 · Plaid 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.
POST /sandbox/public_token/create Create a Sandbox test Item · Plaid Create a test Item #
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}.
POST /sandbox/item/fire_webhook Fire a test webhook in Sandbox · Plaid Fire a test webhook #
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}.
POST /accounts/balance/get Get real-time account balances · Plaid Retrieve real-time balance data #
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}.
POST /identity/get Get account holder identity data · Plaid Retrieve identity data #
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 · Plaid 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}.
POST /identity/match Score identity data against bank records · Plaid Retrieve identity match score #
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}.
POST /identity/refresh Refresh identity data on demand · Plaid Refresh identity data #
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}.
POST /dashboard_user/get Retrieve a dashboard user · Plaid Retrieve a dashboard user #
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}.
POST /dashboard_user/list List dashboard users on my account · Plaid List dashboard users #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /watchlist_screening/entity/update Update an entity screening · Plaid Update an entity screening #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /beacon/user/create Create and scan a Beacon user · Plaid Create a Beacon User #
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}.
POST /beacon/user/get Get a Beacon user and fraud status · Plaid Get a Beacon User #
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}.
POST /beacon/user/review Set a Beacon user's review status · Plaid Review a Beacon User #
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}.
POST /beacon/report/create Report fraud for a Beacon user · Plaid Create a Beacon Report #
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 · Plaid 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 · Plaid 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}.
POST /beacon/report/get Get a Beacon fraud report · Plaid Get a Beacon Report #
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 · Plaid 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 · Plaid 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.
POST /beacon/duplicate/get Get a Beacon duplicate user pair · Plaid Get a Beacon Duplicate #
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 · Plaid 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 · Plaid 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.
POST /processor/auth/get Get account and routing numbers as a processor · Plaid Retrieve Auth data #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /processor/identity/get Get account holder identity as a processor · Plaid Retrieve Identity data #
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 · Plaid 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}.
POST /processor/balance/get Get real-time balance as a processor · Plaid Retrieve Balance data #
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}.
POST /item/webhook/update Change an Item's webhook URL · Plaid Update Webhook URL #
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}.
POST /item/access_token/invalidate Rotate an Item's access token · Plaid Invalidate access_token #
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 · Plaid 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.
POST /liabilities/get Get loan and credit card details · Plaid Retrieve Liabilities data #
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}.
POST /payment_initiation/recipient/create Create a payment recipient · Plaid Create payment recipient #
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}.
POST /payment_initiation/payment/reverse Refund a settled payment · Plaid Reverse an existing payment #
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}.
POST /payment_initiation/recipient/get Get a payment recipient · Plaid Get payment recipient #
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}.
POST /payment_initiation/recipient/list List payment recipients · Plaid List payment recipients #
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.
POST /payment_initiation/payment/create Create a payment to a recipient · Plaid Create a payment #
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) · Plaid 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}.
POST /payment_initiation/consent/create Create a payment consent · Plaid Create payment consent #
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}.
POST /payment_initiation/consent/get Check a payment consent's status · Plaid Get payment consent #
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.
POST /payment_initiation/consent/revoke Revoke a payment consent · Plaid Revoke payment consent #
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 · Plaid 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 · Plaid 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/set_verification_status Set micro-deposit verification status in Sandbox · Plaid 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 · Plaid 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) · Plaid 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}.
POST /user/create Create a user token for an end user · Plaid Create user #
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}.
POST /user/update Update a user's consumer report identity · Plaid Update user information #
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 · Plaid 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}.
POST /payment_initiation/payment/get Check an initiated payment's status · Plaid Get payment details #
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}.
POST /payment_initiation/payment/list List initiated payments · Plaid List payments #
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}.
POST /investments/holdings/get Get investment holdings · Plaid Get Investment holdings #
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 · Plaid 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}.
POST /investments/refresh Refresh investment data on demand · Plaid Refresh investment data #
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 · Plaid 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}.
POST /processor/token/create Create a processor token for a partner · Plaid Create processor 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid Create Apex bank account 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.
POST /deposit_switch/create Create a direct deposit switch · Plaid Create a deposit switch #
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 /item/import Import an Item from Plaid Exchange · Plaid Import Item #
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}.
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}.
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}.
POST /link/token/create Create a Link token to launch Link · Plaid Create Link Token #
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}.
POST /link/token/get Inspect a Link token · Plaid Get Link Token #
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}.
POST /deposit_switch/get Retrieve a deposit switch · Plaid Retrieve a deposit switch #
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 /transfer/get Retrieve a transfer · Plaid Retrieve a transfer #
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}.
POST /transfer/recurring/get Retrieve a recurring transfer · Plaid Retrieve a recurring transfer #
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}.
POST /bank_transfer/get Retrieve a legacy bank transfer · Plaid Retrieve a bank transfer #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /transfer/ledger/get View Plaid Ledger balance · Retrieve Plaid Ledger balance #
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 · Plaid Move available balance between the ledgers of the platform and one of its… #
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 · Plaid 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}.
POST /transfer/metrics/get View transfer usage metrics · Plaid Get transfer product usage metrics #
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}.
POST /transfer/create Create a transfer from an authorization · Plaid Create a transfer #
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}.
POST /transfer/recurring/create Create a recurring transfer · Plaid Create a recurring transfer #
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}.
POST /bank_transfer/create Create a legacy bank transfer · Plaid Create a bank transfer #
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}.
POST /transfer/list List transfers · Plaid List transfers #
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}.
POST /transfer/recurring/list List recurring transfers · Plaid List recurring transfers #
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}.
POST /bank_transfer/list List legacy bank transfers · Plaid List bank transfers #
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.
POST /transfer/cancel Cancel a transfer · Plaid Cancel a transfer #
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.
POST /transfer/recurring/cancel Cancel a recurring transfer · Plaid Cancel a recurring transfer #
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}.
POST /bank_transfer/cancel Cancel a legacy bank transfer · Plaid Cancel a bank transfer #
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}.
POST /transfer/event/list List transfer events · Plaid List transfer events #
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}.
POST /bank_transfer/event/list List legacy bank transfer events · Plaid List bank transfer events #
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.
POST /transfer/event/sync Sync transfer events after an event ID · Plaid Sync transfer events #
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}.
POST /bank_transfer/event/sync Sync legacy bank transfer events · Plaid Sync bank transfer events #
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.
POST /transfer/sweep/get Retrieve a transfer sweep · Plaid Retrieve a sweep #
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 · Plaid 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.
POST /transfer/sweep/list List transfer sweeps · Plaid List sweeps #
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}.
POST /bank_transfer/sweep/list List legacy bank transfer sweeps · Plaid List sweeps #
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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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 · Plaid 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}.
POST /transfer/repayment/list List guarantee repayments · Plaid Lists historical repayments #
Ask an LLM
“How do I see the repayments Plaid made for guaranteed transfer returns?”
“In what order are repayments listed?”
Tell an agent
List my transfer repayments.
Show repayments between {start_date} and {end_date}.
POST /transfer/repayment/return/list List returns included in a repayment · Plaid List the returns included in a repayment #
Ask an LLM
“Which returned transfers were batched into a given repayment?”
“Do the returns in a repayment add up to its amount?”
Tell an agent
List returns in repayment {repayment_id}.
Show the returned transfers covered by repayment {repayment_id}.
POST /transfer/originator/create Create a transfer originator · Plaid Create a new originator #
Ask an LLM
“As a platform, how do I add a new business customer who will send transfers?”
“What do I get back when I create an originator?”
Tell an agent
Create an originator for {company_name}.
Onboard business {company_name} as a new transfer originator.
POST /transfer/questionnaire/create Get a hosted onboarding link for an originator · Generate a Plaid-hosted onboarding UI URL #
Ask an LLM
“How do I send an originator to a Plaid-hosted form for their due diligence?”
“Where does the originator land after finishing the onboarding questionnaire?”
Tell an agent
Create an onboarding questionnaire URL for originator {originator_client_id} returning to {redirect_uri}.
Generate the hosted due diligence page for {originator_client_id}, redirecting to {redirect_uri}.
POST /transfer/diligence/submit Submit due diligence for an originator · Plaid Submit transfer diligence on behalf of the originator #
Ask an LLM
“Can I submit an originator's KYB information through the API instead of the hosted UI?”
“What happens after I submit transfer diligence for a customer?”
Tell an agent
Submit diligence {originator_diligence} for originator {originator_client_id}.
Send business verification details {originator_diligence} on behalf of {originator_client_id}.
POST /transfer/diligence/document/upload Upload a diligence document for an originator · Plaid Upload transfer diligence document on behalf of the originator #
Ask an LLM
“How do I upload a supporting document for an originator's onboarding?”
“What request format does the diligence document upload need?”
Tell an agent
Upload {file} as {purpose} for originator {originator_client_id}.
Attach document {file} with purpose {purpose} to {originator_client_id}'s diligence.
POST /transfer/originator/get Check an originator's onboarding status · Plaid Get status of an originator's onboarding #
Ask an LLM
“Has my business customer finished transfer onboarding?”
“Where do I see an originator's diligence status?”
Tell an agent
Get originator {originator_client_id}.
Check onboarding progress for originator {originator_client_id}.
POST /transfer/originator/list List originators and onboarding status · Plaid Get status of all originators' onboarding #
Ask an LLM
“How do I see onboarding status for all my originators at once?”
“Can I page through my list of originators?”
Tell an agent
List all my originators.
Show {count} originators starting at offset {offset}.
POST /transfer/refund/create Refund a transfer · Plaid Create a refund #
Ask an LLM
“How do I refund money I collected with Plaid Transfer?”
“How old can a transfer be and still be refunded?”
Tell an agent
Refund {amount} of transfer {transfer_id} with key {idempotency_key}.
Send {amount} back to the payer of transfer {transfer_id}, idempotency key {idempotency_key}.
POST /transfer/refund/get Retrieve a transfer refund · Plaid Retrieve a refund #
Ask an LLM
“How do I check the status of a refund on a transfer?”
“What does a transfer refund record include?”
Tell an agent
Get refund {refund_id}.
Check where transfer refund {refund_id} stands.
POST /transfer/refund/cancel Cancel a transfer refund · Plaid Cancel a refund #
Ask an LLM
“Can I cancel a refund before it goes out?”
“When is it too late to cancel a transfer refund?”
Tell an agent destructive · confirm first
Cancel refund {refund_id}.
Stop transfer refund {refund_id} before it's submitted to the network.
POST /sandbox/bank_transfer/simulate Simulate a legacy bank transfer event · Plaid Simulate a bank transfer event in Sandbox #
Ask an LLM
“How do I test a bank transfer being posted or failing in Sandbox?”
“Can I simulate a failure reason on a legacy bank transfer?”
Tell an agent
Simulate event {event_type} on Sandbox bank transfer {bank_transfer_id}.
Make test bank_transfer {bank_transfer_id} fail with {event_type} and reason {failure_reason}.
POST /sandbox/transfer/sweep/simulate Simulate a transfer sweep in Sandbox · Plaid Simulate creating a sweep #
Ask an LLM
“How do I test sweeps settling my transfers in Sandbox?”
“What happens to swept transfers when I simulate a sweep?”
Tell an agent
Simulate a transfer sweep in Sandbox.
Run a Sandbox sweep on test clock {test_clock_id}.
POST /sandbox/transfer/simulate Simulate a transfer event in Sandbox · Plaid Simulate a transfer event in Sandbox #
Ask an LLM
“How do I test a transfer being posted, settled or returned in Sandbox?”
“Does simulating a transfer event also fire a webhook?”
Tell an agent
Simulate {event_type} on Sandbox transfer {transfer_id}.
Mark test transfer {transfer_id} as {event_type} with failure reason {failure_reason}.
POST /sandbox/transfer/refund/simulate Simulate a refund event in Sandbox · Plaid Simulate a refund event in Sandbox #
Ask an LLM
“How do I test a transfer refund posting or failing in Sandbox?”
“Can I simulate a refund event on a test clock?”
Tell an agent
Simulate {event_type} on Sandbox refund {refund_id}.
Make test refund {refund_id} go to {event_type} with reason {failure_reason}.
POST /sandbox/transfer/ledger/simulate_available Make pending ledger balance available in Sandbox · Plaid Simulate converting pending balance to available balance #
Ask an LLM
“How do I turn pending ledger funds into available funds while testing?”
“Does simulating available balance apply to all originators?”
Tell an agent
Convert pending ledger balance to available in Sandbox.
Release pending Sandbox ledger funds on test clock {test_clock_id}.
POST /sandbox/transfer/ledger/deposit/simulate Simulate a ledger deposit event in Sandbox · Plaid Simulate a ledger deposit event in Sandbox #
Ask an LLM
“How do I test a ledger deposit settling or failing?”
“Which sweep does a simulated ledger deposit event apply to?”
Tell an agent
Simulate {event_type} on ledger deposit sweep {sweep_id}.
Make Sandbox deposit sweep {sweep_id} fail as {event_type} because {failure_reason}.
POST /sandbox/transfer/ledger/withdraw/simulate Simulate a ledger withdrawal event in Sandbox · Plaid Simulate a ledger withdraw event in Sandbox #
Ask an LLM
“How do I test a ledger withdrawal going through in Sandbox?”
“Can I simulate a failed withdrawal from my ledger?”
Tell an agent
Simulate {event_type} on ledger withdrawal sweep {sweep_id}.
Fail Sandbox withdrawal sweep {sweep_id} with event {event_type} and reason {failure_reason}.
POST /sandbox/transfer/repayment/simulate Trigger a repayment in Sandbox · Plaid Trigger the creation of a repayment #
Ask an LLM
“How do I test repayments for returned guaranteed transfers?”
“What goes into a simulated repayment?”
Tell an agent
Simulate a repayment in Sandbox.
Create a test repayment covering all unreimbursed guaranteed returns.
POST /sandbox/transfer/fire_webhook Fire a Transfer events webhook in Sandbox · Plaid Manually fire a Transfer webhook #
Ask an LLM
“How do I test my handler for transfer event webhooks?”
“Which webhook does the Sandbox transfer trigger send?”
Tell an agent
Fire a TRANSFER_EVENTS_UPDATE webhook to {webhook}.
Send a test transfer events notification to URL {webhook}.
POST /sandbox/transfer/test_clock/create Create a Sandbox test clock · Plaid Create a test clock #
Ask an LLM
“How do I simulate the passage of time for recurring transfers?”
“Can I start a test clock at a specific virtual time?”
Tell an agent
Create a test clock.
Create a Sandbox test clock starting at {virtual_time}.
POST /sandbox/transfer/test_clock/advance Advance a Sandbox test clock · Plaid Advance a test clock #
Ask an LLM
“How do I move a test clock forward to trigger scheduled transfers?”
“Can I jump a test clock to a chosen time?”
Tell an agent
Advance test clock {test_clock_id} to {new_virtual_time}.
Move Sandbox clock {test_clock_id} forward to {new_virtual_time}.
POST /sandbox/transfer/test_clock/get Get a Sandbox test clock · Plaid Get a test clock #
Ask an LLM
“What virtual time is my test clock at?”
“How do I look up a single test clock?”
Tell an agent
Get test clock {test_clock_id}.
Show the current virtual time of clock {test_clock_id}.
POST /sandbox/transfer/test_clock/list List Sandbox test clocks · Plaid List test clocks #
Ask an LLM
“What test clocks exist in my Sandbox?”
“Can I list test clocks within a virtual time range?”
Tell an agent
List my test clocks.
List test clocks with virtual time between {start_virtual_time} and {end_virtual_time}.
POST /sandbox/payment_profile/reset_login Reset a Payment Profile login in Sandbox · Plaid Reset the login of a Payment Profile #
Ask an LLM
“How do I test update mode for a Payment Profile?”
“Can I make a Sandbox Payment Profile's login invalid?”
Tell an agent
Reset login for payment profile {payment_profile_token}.
Force Sandbox Payment Profile {payment_profile_token} into a login-required state.
POST /employers/search Search employers for Deposit Switch · Plaid Search employer database #
Ask an LLM
“How do I check if a user's employer is supported for switching direct deposit?”
“Can I look up an employer by name?”
Tell an agent
Search employers named {query} for products {products}.
Find employer {query} in the {products} employer database.
POST /income/verification/create Start an income verification (deprecated) · Plaid (Deprecated) Create an income verification instance #
Ask an LLM
“How did the older income verification flow get started?”
“Can I use a precheck ID when starting the legacy income verification?”
Tell an agent
Create a legacy income verification notifying {webhook}.
Start deprecated income verification with precheck {precheck_id} and webhook {webhook}.
POST /income/verification/paystubs/get Get paystub data from income verification · Plaid (Deprecated) Retrieve information from the paystubs used for income… #
Ask an LLM
“How do I read the paystub details from the older income verification?”
“When is paystub data available after verification?”
Tell an agent
Get paystubs for income verification {income_verification_id}.
Pull the verified paystub data on item {access_token} via the deprecated endpoint.
POST /income/verification/documents/download Download income verification source documents · Plaid (Deprecated) Download the original documents used for income verification #
Ask an LLM
“Can I download the original paystubs or tax forms a user provided for income verification?”
“Can I download just one of the source documents?”
Tell an agent
Download documents for income verification {income_verification_id}.
Download source document {document_id} from income verification {income_verification_id}.
POST /income/verification/taxforms/get Get tax form data from income verification · Plaid (Deprecated) Retrieve information from the tax documents used for income… #
Ask an LLM
“How do I read W-2 or tax form data from the older income verification?”
“Is tax form data returned before verification completes?”
Tell an agent
Get tax forms for income verification {income_verification_id}.
Pull the verified tax document data on item {access_token} using the deprecated endpoint.
POST /income/verification/precheck Precheck digital income verification eligibility · Plaid (Deprecated) Check digital income verification eligibility and optimize… #
Ask an LLM
“Can I check whether a user is likely to succeed at digital income verification before opening Link?”
“What details help the income precheck?”
Tell an agent
Precheck income verification for user {user} at employer {employer}.
Check digital income eligibility for {user} with payroll provider {payroll_institution}.
POST /employment/verification/get Get verified employment summary (deprecated) · Plaid (Deprecated) Retrieve a summary of an individual's employment information #
Ask an LLM
“How did I get a user's verified employers with the older employment endpoint?”
“What replaced the deprecated employment verification call?”
Tell an agent
Get employment verification for {access_token}.
List payroll-verified employers on item {access_token} using the deprecated endpoint.
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 /credit/audit_copy_token/create Create an audit copy token for reports · Plaid Create Asset or Income Report Audit Copy Token #
Ask an LLM
“How do I share Asset and Income Reports with a GSE lender?”
“Can one audit copy token cover multiple report types?”
Tell an agent
Create an audit copy token for reports {report_tokens}.
Bundle report tokens {report_tokens} into one shareable audit copy.
POST /credit/audit_copy_token/remove Remove a credit audit copy token · Plaid Remove an Audit Copy token #
Ask an LLM
“How do I revoke an audit copy token I shared for income or asset reports?”
“Does removing a credit audit copy token cut off third parties?”
Tell an agent destructive · confirm first
Remove credit audit copy token {audit_copy_token}.
Invalidate the shared income and asset audit copy {audit_copy_token}.
POST /credit/asset_report/freddie_mac/get Get an Asset Report in Freddie Mac format · Plaid Retrieve an Asset Report with Freddie Mac format. #
Ask an LLM
“Can I get an Asset Report formatted for Freddie Mac?”
“What token do I use to pull the Freddie Mac Asset Report?”
Tell an agent
Get the Freddie Mac Asset Report for audit copy {audit_copy_token}.
Pull asset data in Freddie Mac JSON using {audit_copy_token}.
POST /credit/freddie_mac/reports/get Get Freddie Mac VOA and VOE reports · Plaid Retrieve an Asset Report with Freddie Mac format (aka VOA - Verification… #
Ask an LLM
“How do I get Verification of Assets and Employment reports for Freddie Mac?”
“Does the Freddie Mac reports call include employment verification?”
Tell an agent
Get Freddie Mac VOA and VOE reports for {audit_copy_token}.
Retrieve verification of assets and employment for audit copy {audit_copy_token}.
POST /beta/credit/v1/bank_employment/get Get employment reports from bank data · Plaid Retrieve information from the bank accounts used for employment… #
Ask an LLM
“Can I verify a user's employer from their bank deposits?”
“How do I get the bank-derived employment report for a user?”
Tell an agent
Get bank employment reports for {user_token}.
Show employers detected in the bank transactions of user {user_token}.
POST /credit/bank_income/get Get Bank Income reports for a user · Plaid Retrieve information from the bank accounts used for income verification #
Ask an LLM
“How do I retrieve the Bank Income report for a user in the income product?”
“Can I get more than one Bank Income report for a user?”
Tell an agent
Get Bank Income for user {user_token}.
Show income streams derived from linked bank accounts for {user_token} in Plaid Income.
POST /credit/bank_income/pdf/get Download a Bank Income report as a PDF · Plaid Retrieve information from the bank accounts used for income verification… #
Ask an LLM
“Can I get a user's latest Bank Income report as a PDF?”
“Which Bank Income report does the PDF download return?”
Tell an agent
Download the Bank Income PDF for {user_token}.
Save the most recent bank income report for user {user_token} as a PDF.
POST /credit/bank_income/refresh Refresh a user's Bank Income data · Plaid Refresh a user's bank income information #
Ask an LLM
“How do I update a user's Bank Income report with newer transactions?”
“Can I re-run Bank Income without sending the user back through Link?”
Tell an agent
Refresh Bank Income for {user_token}.
Regenerate the bank income report data for user {user_token}.
POST /credit/bank_income/webhook/update Subscribe a user to income change webhooks · Plaid Subscribe and unsubscribe to proactive notifications for a user's income… #
Ask an LLM
“Can I be notified automatically when a user's income changes significantly?”
“Are users subscribed to income webhooks by default?”
Tell an agent
Set income webhooks for {user_token} to {enable_webhooks}.
Turn proactive bank income notifications for user {user_token} on or off: {enable_webhooks}.
POST /credit/payroll_income/parsing_config/update Update document income parsing configuration · Plaid Update the parsing configuration for a document income verification #
Ask an LLM
“Can I change how uploaded income documents are parsed for a user?”
“How do I set the parsing configuration for document income verification?”
Tell an agent
Update the parsing config for {user_token} to {parsing_config}.
Set document parsing {parsing_config} for user {user_token} on item {item_id}.
POST /credit/bank_statements/uploads/get Get parsed data from uploaded bank statements · Plaid Retrieve data for a user's uploaded bank statements #
Ask an LLM
“How do I read the data from bank statements a user uploaded for Document Income?”
“Do I need Document Parsing enabled to get uploaded statement data?”
Tell an agent
Get uploaded bank statement data for {user_token}.
Show the parsed statements user {user_token} uploaded during Document Income.
POST /credit/payroll_income/get Get a user's payroll income · Plaid Retrieve a user's payroll information #
Ask an LLM
“How do I get a user's pay history from their payroll provider or uploaded paystubs?”
“Does payroll income include data from documents the user uploaded?”
Tell an agent
Get payroll income for {user_token}.
Show the pay periods and earnings verified for user {user_token}.
POST /credit/payroll_income/risk_signals/get Check uploaded income documents for fraud · Plaid Retrieve fraud insights for a user's manually uploaded document(s) #
Ask an LLM
“Can I tell if a paystub a user uploaded was tampered with?”
“What risk score comes back for an uploaded income document?”
Tell an agent
Get document fraud signals for {user_token}.
Score the pay documents uploaded by user {user_token} for tampering.
POST /credit/payroll_income/precheck Precheck payroll income verification eligibility · Plaid Check income verification eligibility and optimize conversion #
Ask an LLM
“Will a user's employer work with digital payroll income verification?”
“What should I pass to improve the income precheck result?”
Tell an agent
Precheck payroll income for {user_token} at employer {employer}.
See whether user {user_token} with payroll provider {payroll_institution} is supported before opening Link.
POST /credit/employment/get Get a user's verified employment · Plaid Retrieve a summary of an individual's employment information #
Ask an LLM
“How do I confirm where a user works from their payroll account?”
“What employment details does the payroll check return?”
Tell an agent
Get employment information for {user_token}.
List the payroll-verified employers of user {user_token}.
POST /credit/payroll_income/refresh Refresh digital payroll income · Plaid Refresh a digital payroll income verification #
Ask an LLM
“How do I pull the latest paystubs for a user I already verified?”
“Can I refresh a digital payroll income verification?”
Tell an agent
Refresh payroll income for {user_token}.
Re-pull the payroll data connected by user {user_token}.
POST /credit/relay/create Share reports with a partner via relay token · Plaid Create a relay token to share an Asset Report with a partner client #
Ask an LLM
“How do I share an Asset Report with another Plaid customer like a lender?”
“Is the relayed report a copy or the same Asset Report?”
Tell an agent
Create a relay token for reports {report_tokens} to client {secondary_client_id}.
Relay {report_tokens} to partner {secondary_client_id} and notify {webhook}.
POST /credit/relay/get Retrieve reports shared through a relay token · Plaid Retrieve the reports associated with a relay token that was shared with… #
Ask an LLM
“As a partner, how do I read a report someone relayed to me?”
“Can I include insights when reading a relayed report?”
Tell an agent
Get the {report_type} report for relay token {relay_token}.
Open the relayed {report_type} report at {relay_token} with insights {include_insights}.
POST /credit/relay/pdf/get Download a relayed report as a PDF · Plaid Retrieve the pdf reports associated with a relay token that was shared… #
Ask an LLM
“Can a partner download a report shared with them as a PDF?”
“Which report types can be fetched as PDF through a relay?”
Tell an agent
Download the {report_type} PDF for relay token {relay_token}.
Get a PDF copy of the relayed {report_type} report via {relay_token}.
POST /credit/relay/refresh Refresh a relayed report · Plaid Refresh a report of a relay token #
Ask an LLM
“As a partner, can I get updated data on a report someone relayed to me?”
“Does refreshing a relayed report reuse the original settings?”
Tell an agent
Refresh the {report_type} report on relay token {relay_token}.
Create a newer {report_type} report from relay {relay_token} and notify {webhook}.
POST /credit/relay/remove Revoke a relay token · Plaid Remove relay token #
Ask an LLM
“How do I stop a partner from accessing reports I relayed?”
“Does removing a relay token delete the original report?”
Tell an agent destructive · confirm first
Remove relay token {relay_token}.
Cut off the partner's access granted by {relay_token}.
POST /sandbox/bank_transfer/fire_webhook Fire a legacy Bank Transfers webhook in Sandbox · Plaid Manually fire a Bank Transfer webhook #
Ask an LLM
“How do I test my webhook handler for the older Bank Transfers product?”
“Can I trigger a bank transfers webhook on demand?”
Tell an agent
Fire a Bank Transfers webhook to {webhook}.
Send a test legacy bank_transfer notification to {webhook}.
POST /sandbox/income/fire_webhook Fire a payroll or document income webhook · Plaid Manually fire an Income webhook #
Ask an LLM
“How do I test Payroll Income webhooks in Sandbox?”
“Can I simulate a document income verification status change?”
Tell an agent
Fire income webhook {webhook_code} for item {item_id} to {webhook}.
Send test payroll webhook {webhook_code} with status {verification_status} for {item_id} to {webhook}.
POST /sandbox/bank_income/fire_webhook Fire a Bank Income webhook in Sandbox · Plaid Manually fire a bank income webhook in sandbox #
Ask an LLM
“How do I test Bank Income refresh or change webhooks?”
“Can I override the URL a Sandbox bank income webhook goes to?”
Tell an agent
Fire bank income webhook {webhook_code} with fields {webhook_fields}.
Send test Bank Income {webhook_code} carrying {webhook_fields} to {webhook_override}.
POST /sandbox/oauth/select_accounts Select accounts for the Sandbox OAuth bank · Plaid Save the selected accounts when connecting to the Platypus Oauth… #
Ask an LLM
“How do I pick accounts when testing the Platypus OAuth institution?”
“Can I save account selection for a Sandbox OAuth connection?”
Tell an agent
Select accounts {accounts} for OAuth state {oauth_state_id}.
Save Platypus OAuth account choices {accounts} for {oauth_state_id}.
POST /signal/evaluate Score ACH return risk on a linked account · Plaid Evaluate a planned ACH transaction #
Ask an LLM
“How likely is an ACH debit from a user's linked account to bounce?”
“Can I use a risk profile when scoring a planned ACH payment?”
Tell an agent
Evaluate a {amount} ACH debit {client_transaction_id} from account {account_id} on {access_token}.
Score return risk for payment {client_transaction_id} of {amount} on item {access_token}, account {account_id}, profile {risk_profile_key}.
POST /signal/decision/report Report whether you initiated a scored ACH · Plaid Report whether you initiated an ACH transaction #
Ask an LLM
“After a Signal score, how do I report whether I went ahead with the payment?”
“Should I report my decision if I use Plaid Transfer?”
Tell an agent
Report decision for transaction {client_transaction_id}: initiated {initiated}.
Tell Signal I initiated {client_transaction_id} ({initiated}) with outcome {decision_outcome}.
POST /signal/return/report Report an ACH return to Signal · Plaid Report a return for an ACH transaction #
Ask an LLM
“How do I tell Plaid a payment I scored with Signal was returned?”
“Which return code do I send when reporting an ACH return?”
Tell an agent
Report return code {return_code} for transaction {client_transaction_id}.
Log that ACH {client_transaction_id} came back as {return_code} on {returned_at}.
POST /signal/prepare Opt an Item into Signal · Plaid Opt-in an Item to Signal #
Ask an LLM
“How do I start Signal data collection on an Item that wasn't linked with Signal?”
“Is it harmful to prepare an Item that already has Signal?”
Tell an agent
Prepare item {access_token} for Signal.
Opt linked item {access_token} into Signal scoring.
POST /wallet/create Create an e-wallet · Plaid Create an e-wallet #
Ask an LLM
“How do I open a virtual e-wallet for payouts?”
“Which currency does a new e-wallet hold?”
Tell an agent
Create an e-wallet in {iso_currency_code}.
Open a new {iso_currency_code} virtual account wallet.
POST /wallet/get Get an e-wallet and its balance · Plaid Fetch an e-wallet #
Ask an LLM
“What's the current balance of my e-wallet?”
“How do I look up one e-wallet's details?”
Tell an agent
Get e-wallet {wallet_id}.
Show the balance of wallet {wallet_id}.
POST /wallet/list List e-wallets · Plaid Fetch a list of e-wallets #
Ask an LLM
“Which e-wallets do I have?”
“Can I list only e-wallets in one currency?”
Tell an agent
List my e-wallets.
List {iso_currency_code} e-wallets, {count} per page.
POST /wallet/transaction/execute Pay out from an e-wallet · Plaid Execute a transaction using an e-wallet #
Ask an LLM
“How do I send money from my e-wallet to a counterparty?”
“How do I avoid sending a duplicate e-wallet payout?”
Tell an agent
Pay {amount} from wallet {wallet_id} to {counterparty}, reference {reference}, key {idempotency_key}.
Debit e-wallet {wallet_id} by {amount} to credit {counterparty} with reference {reference} and idempotency key {idempotency_key}.
POST /wallet/transaction/get Get an e-wallet transaction · Plaid Fetch an e-wallet transaction #
Ask an LLM
“How do I check the status of a single e-wallet payout?”
“What details are on an e-wallet transaction?”
Tell an agent
Get e-wallet transaction {transaction_id}.
Show the status of wallet payment {transaction_id}.
POST /wallet/transaction/list List an e-wallet's transactions · Plaid List e-wallet transactions #
Ask an LLM
“How do I see recent transactions in one of my e-wallets?”
“In what order are e-wallet transactions returned?”
Tell an agent
List transactions for wallet {wallet_id}.
Show the latest {count} payments in e-wallet {wallet_id}.
POST /beta/transactions/v1/enhance Enhance raw transactions (beta) · Plaid enhance locally-held transaction data #
Ask an LLM
“Is there a beta endpoint to enhance transaction data I send directly?”
“What does the beta transaction enhance product add?”
Tell an agent
Enhance {account_type} transactions {transactions} with the beta endpoint.
Run the beta enhancer over raw {account_type} records {transactions}.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/plaid-plaid-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

plaid-plaid-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: The Plaid API
  version: 2020-09-14_1.517.0
  description: The Plaid REST API. Please see https://plaid.com/docs/api for more details.
  contact:
    name: Plaid Developer Team
    url: https://plaid.com
  termsOfService: https://plaid.com/legal/
servers:
- description: Production
  url: https://production.plaid.com
- description: Development
  url: https://development.plaid.com
- description: Sandbox
  url: https://sandbox.plaid.com
security:
- clientId: []
  secret: []
  plaidVersion: []
tags:


# --- truncated at 32 KB (1880 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/openapi/plaid-plaid-api-openapi.yml