Plaid · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for The Plaid API

266 actions 266 updates phrasing extends openapi/plaid-plaid-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Plaid's API. It is a proposal applied on top of the contract, not a document Plaid publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 266 · first 16 shown; the file carries all of them

$.info
$.paths['/asset_report/create'].post
$.paths['/asset_report/get'].post
$.paths['/asset_report/pdf/get'].post
$.paths['/asset_report/refresh'].post
$.paths['/asset_report/filter'].post
$.paths['/asset_report/remove'].post
$.paths['/asset_report/audit_copy/create'].post
$.paths['/asset_report/audit_copy/get'].post
$.paths['/asset_report/audit_copy/remove'].post
$.paths['/cra/base_report/get'].post
$.paths['/cra/base_report/create'].post
$.paths['/credit/audit_copy_token/update'].post
$.paths['/cra/bank_income/get'].post
$.paths['/cra/bank_income/create'].post
$.paths['/cra/partner_insights/get'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for The Plaid API
  version: 1.0.0
extends: openapi/plaid-plaid-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-24'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 265
- target: $.paths['/asset_report/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an Asset Report
      effect: write
      questions:
      - 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?
      - Why isn't my new Asset Report available right after I request it?
      instructions:
      - text: Create an Asset Report covering {days_requested} days of history.
        slots:
          days_requested: requestBody.days_requested
      - text: Start an Asset Report for items {access_tokens} with {days_requested} days of history.
        slots:
          access_tokens: requestBody.access_tokens
          days_requested: requestBody.days_requested
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve an Asset Report as JSON
      effect: read
      questions:
      - Where do I fetch a finished Asset Report as JSON?
      - Can the JSON Asset Report include transaction insights?
      - Is there a faster version of an Asset Report that skips some data?
      instructions:
      - text: Get the JSON Asset Report for token {asset_report_token}.
        slots:
          asset_report_token: requestBody.asset_report_token
      - text: Fetch Asset Report {asset_report_token} with insights set to {include_insights}.
        slots:
          asset_report_token: requestBody.asset_report_token
          include_insights: requestBody.include_insights
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/pdf/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Download an Asset Report as a PDF
      effect: read
      questions:
      - 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?
      instructions:
      - text: Download the PDF of Asset Report {asset_report_token}.
        slots:
          asset_report_token: requestBody.asset_report_token
      - text: Save a PDF copy of the asset report {asset_report_token} for the loan file.
        slots:
          asset_report_token: requestBody.asset_report_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/refresh'].post
  update:
    x-apievangelist-phrasing:
      intent: Refresh an existing Asset Report
      effect: write
      questions:
      - 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?
      instructions:
      - text: Refresh Asset Report {asset_report_token} into a new report.
        slots:
          asset_report_token: requestBody.asset_report_token
      - text: Build a refreshed version of Asset Report {asset_report_token} with {days_requested} days of history.
        slots:
          asset_report_token: requestBody.asset_report_token
          days_requested: requestBody.days_requested
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/filter'].post
  update:
    x-apievangelist-phrasing:
      intent: Exclude accounts from an Asset Report
      effect: write
      questions:
      - 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?
      instructions:
      - text: Filter Asset Report {asset_report_token} to exclude accounts {account_ids_to_exclude}.
        slots:
          asset_report_token: requestBody.asset_report_token
          account_ids_to_exclude: requestBody.account_ids_to_exclude
      - text: Drop account {account_ids_to_exclude} from asset report {asset_report_token}.
        slots:
          account_ids_to_exclude: requestBody.account_ids_to_exclude
          asset_report_token: requestBody.asset_report_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete an Asset Report
      effect: destructive
      questions:
      - Is there a way to permanently delete an Asset Report?
      - Does removing an Asset Report also invalidate its audit copies?
      instructions:
      - text: Delete Asset Report {asset_report_token}.
        slots:
          asset_report_token: requestBody.asset_report_token
      - text: Invalidate the asset report token {asset_report_token} so it can no longer be used.
        slots:
          asset_report_token: requestBody.asset_report_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/audit_copy/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Share an Asset Report audit copy with an auditor
      effect: write
      questions:
      - 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?
      instructions:
      - text: Create an audit copy of Asset Report {asset_report_token} for auditor {auditor_id}.
        slots:
          asset_report_token: requestBody.asset_report_token
          auditor_id: requestBody.auditor_id
      - text: Make a shareable audit copy token from asset report {asset_report_token}.
        slots:
          asset_report_token: requestBody.asset_report_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/audit_copy/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve an Asset Report audit copy
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get the Asset Report behind audit copy {audit_copy_token}.
        slots:
          audit_copy_token: requestBody.audit_copy_token
      - text: Open the shared audit copy {audit_copy_token}.
        slots:
          audit_copy_token: requestBody.audit_copy_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/asset_report/audit_copy/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke an Asset Report audit copy
      effect: destructive
      questions:
      - 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?
      instructions:
      - text: Remove Asset Report audit copy {audit_copy_token}.
        slots:
          audit_copy_token: requestBody.audit_copy_token
      - text: Revoke third-party access granted through audit copy token {audit_copy_token}.
        slots:
          audit_copy_token: requestBody.audit_copy_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/base_report/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a consumer Base Report
      effect: read
      questions:
      - How do I pull the Base Report for a user in Plaid Check?
      - What do I pass to read a consumer's Base Report?
      instructions:
      - text: Get the Base Report for user token {user_token}.
        slots:
          user_token: requestBody.user_token
      - text: Retrieve the latest consumer Base Report for {user_token}.
        slots:
          user_token: requestBody.user_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/base_report/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a consumer Base Report
      effect: write
      questions:
      - 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?
      - Which webhook tells me a new Base Report is ready?
      instructions:
      - text: Create a Base Report for {user_token} with {days_requested} days of history for purpose {consumer_report_permissible_purpose}, notifying {webhook}.
        slots:
          user_token: requestBody.user_token
          days_requested: requestBody.days_requested
          consumer_report_permissible_purpose: requestBody.consumer_report_permissible_purpose
          webhook: requestBody.webhook
      - text: Generate a new consumer Base Report for user {user_token} and send the ready webhook to {webhook}.
        slots:
          user_token: requestBody.user_token
          webhook: requestBody.webhook
      method: generated
      generated: '2026-09-24'
- target: $.paths['/credit/audit_copy_token/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Add reports to an audit copy token
      effect: write
      questions:
      - 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?
      instructions:
      - text: Add report tokens {report_tokens} to audit copy token {audit_copy_token}.
        slots:
          report_tokens: requestBody.report_tokens
          audit_copy_token: requestBody.audit_copy_token
      - text: Update audit copy {audit_copy_token} so it includes the reports {report_tokens}.
        slots:
          audit_copy_token: requestBody.audit_copy_token
          report_tokens: requestBody.report_tokens
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/bank_income/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a CRA bank income report
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get the CRA bank income report for {user_token}.
        slots:
          user_token: requestBody.user_token
      - text: Show the income verification bank data for user {user_token}.
        slots:
          user_token: requestBody.user_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/bank_income/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a CRA bank income report
      effect: write
      questions:
      - 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?
      instructions:
      - text: Create a CRA bank income report for {user_token} over {days_requested} days.
        slots:
          user_token: requestBody.user_token
          days_requested: requestBody.days_requested
      - text: Start income verification for {user_token} and send the completion webhook to {webhook}.
        slots:
          user_token: requestBody.user_token
          webhook: requestBody.webhook
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/partner_insights/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve cash flow insights for a user
      effect: read
      questions:
      - How do I get cash flow insights from the accounts a user linked for income checks?
      - Are partner cash flow insights available per user?
      instructions:
      - text: Get partner cash flow insights for {user_token}.
        slots:
          user_token: requestBody.user_token
      - text: Pull the cash flow insights report for user {user_token}.
        slots:
          user_token: requestBody.user_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/loans/applications/register'].post
  update:
    x-apievangelist-phrasing:
      intent: Register loan applications and decisions
      effect: write
      questions:
      - How do I tell Plaid Check which loan applications I approved or declined?
      - Can I report lending decisions back after using a consumer report?
      instructions:
      - text: Register the loan applications and decisions {applications}.
        slots:
          applications: requestBody.applications
      - text: 'Record these credit decisions as registered applications: {applications}.'
        slots:
          applications: requestBody.applications
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/loans/register'].post
  update:
    x-apievangelist-phrasing:
      intent: Register loans to their applicants
      effect: write
      questions:
      - 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?
      instructions:
      - text: Register loans {loans} to their applicants.
        slots:
          loans: requestBody.loans
      - text: Associate the originated loans {loans} with their borrowers.
        slots:
          loans: requestBody.loans
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/loans/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Update registered loan status and payments
      effect: write
      questions:
      - How do I report payment history on a loan I already registered?
      - Can I change the status of a registered loan?
      instructions:
      - text: Update the status and payment history of registered loans {loans}.
        slots:
          loans: requestBody.loans
      - text: Send the latest repayment data for loans {loans}.
        slots:
          loans: requestBody.loans
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cra/loans/unregister'].post
  update:
    x-apievangelist-phrasing:
      intent: Unregister loans that reached a final status
      effect: write
      questions:
      - 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?
      instructions:
      - text: Unregister loans {loans} as final.
        slots:
          loans: requestBody.loans
      - text: Mark loans {loans} closed out with no further updates expected.
        slots:
          loans: requestBody.loans
      method: generated
      generated: '2026-09-24'
- target: $.paths['/consumer_report/pdf/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Download consumer reports as a PDF
      effect: read
      questions:
      - 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?
      instructions:
      - text: Download the consumer report PDF for {user_token}.
        slots:
          user_token: requestBody.user_token
      - text: Get every existing CRA report for user {user_token} in PDF form.
        slots:
          user_token: requestBody.user_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/statements/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List bank statements for an Item
      effect: read
      questions:
      - Which bank statements are available for a linked account?
      - Can I list all statements Plaid has pulled for an Item?
      instructions:
      - text: List all statements for item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Show the available bank statements on {access_token}.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/statements/download'].post
  update:
    x-apievangelist-phrasing:
      intent: Download a single bank statement PDF
      effect: read
      questions:
      - How do I download one bank statement as a PDF?
      - How can I verify a downloaded statement wasn't altered?
      instructions:
      - text: Download statement {statement_id} from item {access_token}.
        slots:
          statement_id: requestBody.statement_id
          access_token: requestBody.access_token
      - text: Fetch the PDF for bank statement {statement_id} using {access_token}.
        slots:
          statement_id: requestBody.statement_id
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/statements/refresh'].post
  update:
    x-apievangelist-phrasing:
      intent: Refresh statements for a date range
      effect: write
      questions:
      - Can I ask Plaid to pull new statements for a specific date range?
      - How do I trigger an on-demand statement extraction?
      instructions:
      - text: Refresh statements for {access_token} from {start_date} to {end_date}.
        slots:
          access_token: requestBody.access_token
          start_date: requestBody.start_date
          end_date: requestBody.end_date
      - text: Pull fresh bank statements between {start_date} and {end_date} for item {access_token}.
        slots:
          start_date: requestBody.start_date
          end_date: requestBody.end_date
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/activity/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List a user's consent history
      effect: read
      questions:
      - 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?
      instructions:
      - text: List consent events for item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Show the next {count} consent activity entries after cursor {cursor}.
        slots:
          count: requestBody.count
          cursor: requestBody.cursor
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/application/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List a user's connected applications
      effect: read
      questions:
      - Which apps has a user connected to their bank account?
      - How do I show a user every application with access to their data?
      instructions:
      - text: List the connected applications for {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Show me which apps can access my linked bank data.
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/application/unlink'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink a user's connected application
      effect: destructive
      questions:
      - How do I cut off an app's access to a user's bank data immediately?
      - What does a user have to do after an application is unlinked?
      instructions:
      - text: Unlink application {application_id} from item {access_token}.
        slots:
          application_id: requestBody.application_id
          access_token: requestBody.access_token
      - text: Revoke app {application_id}'s access to the data on {access_token}.
        slots:
          application_id: requestBody.application_id
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/application/scopes/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Change an application's data access scopes
      effect: write
      questions:
      - Can a consumer change which accounts and products an app can see?
      - How do I update the product access a connected application has?
      instructions:
      - text: Update application {application_id} on {access_token} to scopes {scopes} in context {context}.
        slots:
          application_id: requestBody.application_id
          access_token: requestBody.access_token
          scopes: requestBody.scopes
          context: requestBody.context
      - text: Narrow what app {application_id} can see to {scopes}, context {context}, on item {access_token}.
        slots:
          application_id: requestBody.application_id
          scopes: requestBody.scopes
          context: requestBody.context
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/application/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Look up a Plaid application's details
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get details for application {application_id}.
        slots:
          application_id: requestBody.application_id
      - text: Look up the Plaid client behind app {application_id}.
        slots:
          application_id: requestBody.application_id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Check the status of an Item
      effect: read
      questions:
      - How do I check whether a linked bank connection is healthy?
      - Where do I see an Item's error state and enabled products?
      instructions:
      - text: Get the status of item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Check if the bank connection {access_token} needs attention.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/profile/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a user's permissioned profile
      effect: read
      questions:
      - How do I read the identity and item tokens a user shared through their profile?
      - What does a profile token give me access to?
      instructions:
      - text: Get the profile for {profile_token}.
        slots:
          profile_token: requestBody.profile_token
      - text: Read the identity data and access tokens behind profile {profile_token}.
        slots:
          profile_token: requestBody.profile_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/auth/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Get account and routing numbers
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get the account and routing numbers for {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Pull auth data for item {access_token} so I can set up a transfer.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/transactions/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Get transactions for a date range
      effect: read
      questions:
      - How do I fetch a user's transactions between two dates?
      - Is the date-range transactions endpoint still recommended for new builds?
      instructions:
      - text: Get transactions for {access_token} from {start_date} to {end_date}.
        slots:
          access_token: requestBody.access_token
          start_date: requestBody.start_date
          end_date: requestBody.end_date
      - text: Use the older date-range endpoint to pull activity on {access_token} between {start_date} and {end_date}.
        slots:
          access_token: requestBody.access_token
          start_date: requestBody.start_date
          end_date: requestBody.end_date
      method: generated
      generated: '2026-09-24'
- target: $.paths['/transactions/refresh'].post
  update:
    x-apievangelist-phrasing:
      intent: Refresh transactions on demand
      effect: write
      questions:
      - Can I force Plaid to check for new transactions right now?
      - What happens after I trigger an on-demand transaction refresh?
      instructions:
      - text: Refresh transactions for item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Trigger an immediate extraction of the newest transactions on {access_token}.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/transactions/recurring/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Find recurring expenses and deposits
      effect: read
      questions:
      - How do I detect a user's subscriptions and recurring bills?
      - Can I find regular paychecks in a user's deposits?
      - Can I limit recurring stream detection to certain accounts?
      instructions:
      - text: Get the recurring transaction streams for {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Find recurring inflows and outflows on accounts {account_ids} of item {access_token}.
        slots:
          account_ids: requestBody.account_ids
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/transactions/sync'].post
  update:
    x-apievangelist-phrasing:
      intent: Sync incremental transaction updates
      effect: read
      questions:
      - 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?
      - How many transaction updates can I get per sync page?
      instructions:
      - text: Sync transactions for {access_token} starting from cursor {cursor}.
        slots:
          access_token: requestBody.access_token
          cursor: requestBody.cursor
      - text: Pull the first full batch of transaction changes for item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Get up to {count} transaction updates for {access_token} after cursor {cursor}.
        slots:
          count: requestBody.count
          access_token: requestBody.access_token
          cursor: requestBody.cursor
      method: generated
      generated: '2026-09-24'
- target: $.paths['/transactions/enrich'].post
  update:
    x-apievangelist-phrasing:
      intent: Enrich my own raw transaction data
      effect: read
      questions:
      - 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?
      instructions:
      - text: 'Enrich these {account_type} account transactions: {transactions}.'
        slots:
          account_type: requestBody.account_type
          transactions: requestBody.transactions
      - text: Add merchant and category data to my locally held transactions {transactions} from {account_type} accounts.
        slots:
          transactions: requestBody.transactions
          account_type: requestBody.account_type
      method: generated
      generated: '2026-09-24'
- target: $.paths['/institutions/get'].post
  update:
    x-apievangelist-phrasing:
      intent: List all supported institutions
      effect: read
      questions:
      - Which banks does Plaid support in a given country?
      - How do I page through the full list of supported financial institutions?
      instructions:
      - text: List {count} supported institutions in {country_codes} starting at offset {offset}.
        slots:
          count: requestBody.count
          country_codes: requestBody.country_codes
          offset: requestBody.offset
      - text: Page through every supported bank in {country_codes}, {count} at a time from {offset}.
        slots:
          country_codes: requestBody.country_codes
          count: requestBody.count
          offset: requestBody.offset
      method: generated
      generated: '2026-09-24'
- target: $.paths['/institutions/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search institutions by name
      effect: read
      questions:
      - How do I find a bank by name to check it's supported?
      - Can I search institutions that support a specific product?
      - How many results does an institution search return at most?
      instructions:
      - text: Search institutions named {query} in {country_codes}.
        slots:
          query: requestBody.query
          country_codes: requestBody.country_codes
      - text: Find banks matching {query} in {country_codes} that support {products}.
        slots:
          query: requestBody.query
          country_codes: requestBody.country_codes
          products: requestBody.products
      method: generated
      generated: '2026-09-24'
- target: $.paths['/institutions/get_by_id'].post
  update:
    x-apievangelist-phrasing:
      intent: Get one institution's details by ID
      effect: read
      questions:
      - 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?
      instructions:
      - text: Get institution {institution_id} in {country_codes}.
        slots:
          institution_id: requestBody.institution_id
          country_codes: requestBody.country_codes
      - text: Show the details Plaid has on bank ID {institution_id} for {country_codes}.
        slots:
          institution_id: requestBody.institution_id
          country_codes: requestBody.country_codes
      method: generated
      generated: '2026-09-24'
- target: $.paths['/item/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a linked Item
      effect: destructive
      questions:
      - Can I disconnect a user's bank and stop being billed for it?
      - What happens to processor tokens when an Item is removed?
      instructions:
      - text: Remove item {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Disconnect the linked bank {access_token} and invalidate its tokens.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/accounts/get'].post
  update:
    x-apievangelist-phrasing:
      intent: List accounts on a linked Item
      effect: read
      questions:
      - What bank accounts did a user link?
      - Does the accounts list include closed accounts?
      - Are balances from the accounts list real-time or cached?
      instructions:
      - text: List the accounts on {access_token}.
        slots:
          access_token: requestBody.access_token
      - text: Show the active accounts and cached balances for item {access_token}.
        slots:
          access_token: requestBody.access_token
      method: generated
      generated: '2026-09-24'
- target: $.paths['/categories/get'].post
  update:
    x-apievangelist-phrasing:
      intent: Get the legacy transaction category list
      effect: read
      questions:
      - Where do I get the full list of Plaid transaction categories?
      - Is the legacy category taxonomy still recommended?
      instructions:
      - text: Get the list of transaction categories.
      - text: Download the older category hierarchy used on transactions.
      method: generated
      generated: '2026-09-24'
- target: $.paths['/sandbox/processor_token/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Sandbox processor token
      effect: write
      questions:
      - How do I test a processor integration without going through Link?
      - Can I get a test processor token for any institution in Sandbox?
      instructions:
      - text: Create a Sandbox processor token for institution {institution_id}.
        slots:
          institution_id: requestBody.institution_id
      - text: Make a test Item at {institution_id} and give me its processor token.
        slots:
          institution_id: requestBody.institution_id
      method: generated
      generated: '2026-09-24'


# --- truncated at 32 KB (198 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/overlays/plaid-plaid-api-phrasing-overlay.yaml