diff --git a/404.html b/404.html index 03186ee..57136f6 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/e7lUYrqIkKJczfJPMrurk/_buildManifest.js b/_next/static/WZ1aUqnWDzgel8eEbQrTZ/_buildManifest.js similarity index 98% rename from _next/static/e7lUYrqIkKJczfJPMrurk/_buildManifest.js rename to _next/static/WZ1aUqnWDzgel8eEbQrTZ/_buildManifest.js index d144b1c..ea7e528 100644 --- a/_next/static/e7lUYrqIkKJczfJPMrurk/_buildManifest.js +++ b/_next/static/WZ1aUqnWDzgel8eEbQrTZ/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(s,e,i,t,a){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,"static/chunks/pages/index-f1df4ee4139bc9bd.js"],"/_error":["static/chunks/pages/_error-2280fa386d040b66.js"],"/_tmp":[s,"static/chunks/pages/_tmp-6bea2b8d35943a28.js"],"/_tmp/api-versions":[s,"static/chunks/pages/_tmp/api-versions-bec8438263641258.js"],"/_tmp/api-versions/five-dot-one":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-one-f85311f5244efad6.js"],"/_tmp/api-versions/five-dot-three":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-three-b60e97a7fe80ff35.js"],"/_tmp/api-versions/five-dot-two":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-two-781da308077818c3.js"],"/_tmp/api-versions/five-dot-zero":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-zero-bc63a7c5ea14f86e.js"],"/_tmp/api-versions/four-dot-six":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/four-dot-six-884ed98b7d244314.js"],"/_tmp/api-versions/six-dot-zero":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/six-dot-zero-61c6a52ced002b57.js"],"/_tmp/authentication":[s,"static/chunks/pages/_tmp/authentication-a13c149541ea4382.js"],"/_tmp/changelist":[s,"static/chunks/pages/_tmp/changelist-5d0e072c166778cf.js"],"/_tmp/example":[s,"static/chunks/pages/_tmp/example-64312c231fe77452.js"],"/_tmp/implementation-checklists":[s,"static/chunks/pages/_tmp/implementation-checklists-2b705ce0e858bc99.js"],"/_tmp/user-experience":[s,"static/chunks/pages/_tmp/user-experience-1e7249c1584602b4.js"],"/api-versions":[s,"static/chunks/pages/api-versions-44139504b5b8eebb.js"],"/api-versions/five-dot-one":[s,"static/chunks/pages/api-versions/five-dot-one-75e22c12890415ce.js"],"/api-versions/five-dot-three":[s,"static/chunks/pages/api-versions/five-dot-three-dd2a604780c23e87.js"],"/api-versions/five-dot-two":[s,"static/chunks/pages/api-versions/five-dot-two-a30b8d30be9e480d.js"],"/api-versions/five-dot-zero":[s,"static/chunks/pages/api-versions/five-dot-zero-50c54fa28ebc2de0.js"],"/api-versions/four-dot-six":[s,"static/chunks/pages/api-versions/four-dot-six-5ae3a063b003a603.js"],"/api-versions/six-dot-zero":[s,"static/chunks/pages/api-versions/six-dot-zero-f471f7731293f00e.js"],"/authentication":[s,"static/chunks/pages/authentication-ff5b0fea352c10a8.js"],"/changelist":[s,"static/chunks/pages/changelist-036744cee99c3312.js"],"/example":[s,"static/chunks/pages/example-42b9f7849dab7d7f.js"],"/implementation-checklists":[s,"static/chunks/pages/implementation-checklists-a62395597ce4c476.js"],"/user-experience":[s,"static/chunks/pages/user-experience-0f57ada03caf8012.js"],sortedPages:["/","/_app","/_error","/_tmp","/_tmp/api-versions","/_tmp/api-versions/five-dot-one","/_tmp/api-versions/five-dot-three","/_tmp/api-versions/five-dot-two","/_tmp/api-versions/five-dot-zero","/_tmp/api-versions/four-dot-six","/_tmp/api-versions/six-dot-zero","/_tmp/authentication","/_tmp/changelist","/_tmp/example","/_tmp/implementation-checklists","/_tmp/user-experience","/api-versions","/api-versions/five-dot-one","/api-versions/five-dot-three","/api-versions/five-dot-two","/api-versions/five-dot-zero","/api-versions/four-dot-six","/api-versions/six-dot-zero","/authentication","/changelist","/example","/implementation-checklists","/user-experience"]}}("static/chunks/839-b93a52da2b5ff45d.js","static/chunks/b19b3968-b8e0be8680e7a876.js","static/chunks/e82996df-95f350db17b0d318.js","static/chunks/534-3558d567ae999b3f.js","static/chunks/254-a19b1b9f37c577c5.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(s,e,i,t,a){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,"static/chunks/pages/index-f1df4ee4139bc9bd.js"],"/_error":["static/chunks/pages/_error-2280fa386d040b66.js"],"/_tmp":[s,"static/chunks/pages/_tmp-6bea2b8d35943a28.js"],"/_tmp/api-versions":[s,"static/chunks/pages/_tmp/api-versions-bec8438263641258.js"],"/_tmp/api-versions/five-dot-one":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-one-f85311f5244efad6.js"],"/_tmp/api-versions/five-dot-three":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-three-b60e97a7fe80ff35.js"],"/_tmp/api-versions/five-dot-two":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-two-781da308077818c3.js"],"/_tmp/api-versions/five-dot-zero":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/five-dot-zero-bc63a7c5ea14f86e.js"],"/_tmp/api-versions/four-dot-six":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/four-dot-six-884ed98b7d244314.js"],"/_tmp/api-versions/six-dot-zero":[e,i,s,t,a,"static/chunks/pages/_tmp/api-versions/six-dot-zero-61c6a52ced002b57.js"],"/_tmp/authentication":[s,"static/chunks/pages/_tmp/authentication-a13c149541ea4382.js"],"/_tmp/changelist":[s,"static/chunks/pages/_tmp/changelist-5d0e072c166778cf.js"],"/_tmp/example":[s,"static/chunks/pages/_tmp/example-64312c231fe77452.js"],"/_tmp/implementation-checklists":[s,"static/chunks/pages/_tmp/implementation-checklists-2b705ce0e858bc99.js"],"/_tmp/user-experience":[s,"static/chunks/pages/_tmp/user-experience-1e7249c1584602b4.js"],"/api-versions":[s,"static/chunks/pages/api-versions-44139504b5b8eebb.js"],"/api-versions/five-dot-one":[s,"static/chunks/pages/api-versions/five-dot-one-75e22c12890415ce.js"],"/api-versions/five-dot-three":[s,"static/chunks/pages/api-versions/five-dot-three-dd2a604780c23e87.js"],"/api-versions/five-dot-two":[s,"static/chunks/pages/api-versions/five-dot-two-a30b8d30be9e480d.js"],"/api-versions/five-dot-zero":[s,"static/chunks/pages/api-versions/five-dot-zero-50c54fa28ebc2de0.js"],"/api-versions/four-dot-six":[s,"static/chunks/pages/api-versions/four-dot-six-5ae3a063b003a603.js"],"/api-versions/six-dot-zero":[s,"static/chunks/pages/api-versions/six-dot-zero-f471f7731293f00e.js"],"/authentication":[s,"static/chunks/pages/authentication-ff5b0fea352c10a8.js"],"/changelist":[s,"static/chunks/pages/changelist-036744cee99c3312.js"],"/example":[s,"static/chunks/pages/example-42b9f7849dab7d7f.js"],"/implementation-checklists":[s,"static/chunks/pages/implementation-checklists-a62395597ce4c476.js"],"/user-experience":[s,"static/chunks/pages/user-experience-0f57ada03caf8012.js"],sortedPages:["/","/_app","/_error","/_tmp","/_tmp/api-versions","/_tmp/api-versions/five-dot-one","/_tmp/api-versions/five-dot-three","/_tmp/api-versions/five-dot-two","/_tmp/api-versions/five-dot-zero","/_tmp/api-versions/four-dot-six","/_tmp/api-versions/six-dot-zero","/_tmp/authentication","/_tmp/changelist","/_tmp/example","/_tmp/implementation-checklists","/_tmp/user-experience","/api-versions","/api-versions/five-dot-one","/api-versions/five-dot-three","/api-versions/five-dot-two","/api-versions/five-dot-zero","/api-versions/four-dot-six","/api-versions/six-dot-zero","/authentication","/changelist","/example","/implementation-checklists","/user-experience"]}}("static/chunks/839-b93a52da2b5ff45d.js","static/chunks/b19b3968-b8e0be8680e7a876.js","static/chunks/e82996df-95f350db17b0d318.js","static/chunks/534-3558d567ae999b3f.js","static/chunks/254-538145b602b05f65.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/e7lUYrqIkKJczfJPMrurk/_middlewareManifest.js b/_next/static/WZ1aUqnWDzgel8eEbQrTZ/_middlewareManifest.js similarity index 100% rename from _next/static/e7lUYrqIkKJczfJPMrurk/_middlewareManifest.js rename to _next/static/WZ1aUqnWDzgel8eEbQrTZ/_middlewareManifest.js diff --git a/_next/static/e7lUYrqIkKJczfJPMrurk/_ssgManifest.js b/_next/static/WZ1aUqnWDzgel8eEbQrTZ/_ssgManifest.js similarity index 100% rename from _next/static/e7lUYrqIkKJczfJPMrurk/_ssgManifest.js rename to _next/static/WZ1aUqnWDzgel8eEbQrTZ/_ssgManifest.js diff --git a/_next/static/chunks/254-a19b1b9f37c577c5.js b/_next/static/chunks/254-538145b602b05f65.js similarity index 98% rename from _next/static/chunks/254-a19b1b9f37c577c5.js rename to _next/static/chunks/254-538145b602b05f65.js index 8200b58..00c88c5 100644 --- a/_next/static/chunks/254-a19b1b9f37c577c5.js +++ b/_next/static/chunks/254-538145b602b05f65.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[254],{3095:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var i=n(5893),o=n(2933),a=n(1132),s=n.n(a),r=n(5697),c=n.n(r),p=n(6261),d={4.6:{openapi:"3.0.3",info:{version:"4.6.0",title:"FDX V4.6",description:"## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n",contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v4",description:"Financial Data Exchange V4.6 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n\n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n\n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n\n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n\n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/Timestamp",description:"Date loan originated\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Due date of next payment\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Last payment date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},maturityDate:{$ref:"#/components/schemas/Timestamp",description:"Maturity date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Due date of next payment\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Last payment date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/Timestamp",description:"Last statement date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/Timestamp",description:"Current unit price as of date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},state:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Account Payment Network List entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_FEDWIREFedwire Funds Service.
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},"5.0":{openapi:"3.0.3",info:{version:"5.0.0",title:"FDX V5.0",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.0.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.0 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n\n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n\n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n\n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n\n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_FEDWIREFedwire Funds Service.
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},5.1:{openapi:"3.0.3",info:{version:"5.1.0",title:"FDX V5.1",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.1.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.1 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n\n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n\n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n\n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},5.2:{openapi:"3.0.3",info:{version:"5.2.0",title:"FDX V5.2",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.2.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.2 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"}}}},5.3:{openapi:"3.0.3",info:{version:"5.3.2",title:"FDX V5.3.2",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.3 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},CommercialAccountDescriptor:{description:"A commercial account. For example, a business deposit account. The `accountType` field for commercial accounts may be set to any of the [account types](#commercial-account-types) listed below\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/CommercialAccountType"}},required:["accountType"]}]},CommercialAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"COMMERCIALLOAN",enum:["COMMERCIALDEPOSIT","COMMERCIALINVESTMENT","COMMERCIALLOAN","COMMERCIALLINEOFCREDIT"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"}}}},"6.0":{openapi:"3.0.3",info:{version:"6.0.0",title:"FDX V6.0.0",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/asset-transfer-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v6",description:"Financial Data Exchange V6.0 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"},{name:"Asset Transfer Networks Information",description:"Search and view asset transfer networks networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions"},example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}},"/accounts/{accountId}/asset-transfer-networks":{get:{operationId:"getAccountAssetTransferNetworks",tags:["Asset Transfer Networks Information"],description:"Get asset transfer networks supported by an account. For example, Automated Customer Account Transfer Service (ACATS).\nFor more information about how Plaid uses this information, see the [Plaid Investments Move API](https://plaid.com/docs/api/products/investments-move/#investmentsauthget).\n",summary:"Get asset transfer details for this account",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute an asset transfer transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AssetTransferNetworkList"},example:{assetTransferNetworks:[{identifier:"23348817826",identifierType:"TOKENIZED_ACCOUNT_NUMBER",institutionName:"First Plaidypus Bank",institutionId:"FPB",type:"US_ACATS",jointAccount:!0}]}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["DEPOSIT_ACCOUNT"]},accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType","accountCategory"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOAN_ACCOUNT"]},accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType","accountCategory"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LineOfCreditAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOC_ACCOUNT"]},accountType:{$ref:"#/components/schemas/LineOfCreditAccountType"}},required:["accountType","accountCategory"]}]},LineOfCreditAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["INVESTMENT_ACCOUNT"]},accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType","accountCategory"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["INSURANCE_ACCOUNT"]},accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType","accountCategory"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["ANNUITY_ACCOUNT"]},accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType","accountCategory"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},CommercialAccountDescriptor:{description:"A commercial account. For example, a business deposit account. The `accountType` field for commercial accounts may be set to any of the [account types](#commercial-account-types) listed below\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["COMMERCIAL_ACCOUNT"]},accountType:{$ref:"#/components/schemas/CommercialAccountType"}},required:["accountType","accountCategory"]}]},CommercialAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"COMMERCIALLOAN",enum:["COMMERCIALDEPOSIT","COMMERCIALINVESTMENT","COMMERCIALLOAN","COMMERCIALLINEOFCREDIT"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",discriminator:{propertyName:"accountCategory",mapping:{DEPOSIT_ACCOUNT:"#/components/schemas/DepositAccount",INVESTMENT_ACCOUNT:"#/components/schemas/InvestmentAccount",LOAN_ACCOUNT:"#/components/schemas/LoanAccount",LOC_ACCOUNT:"#/components/schemas/LineOfCreditAccount"}},oneOf:[{$ref:"#/components/schemas/DepositAccount"},{$ref:"#/components/schemas/LoanAccount"},{$ref:"#/components/schemas/LineOfCreditAccount"},{$ref:"#/components/schemas/InvestmentAccount"}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LineOfCreditAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LineOfCreditAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityIds:{description:"Array of security identifiers\n",type:"array",items:{$ref:"#/components/schemas/SecurityId"}},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},SecurityId:{title:"Security ID entity",description:"Unique identifier for a security\n",type:"object",properties:{id:{$ref:"#/components/schemas/Identifier"},idType:{$ref:"#/components/schemas/SecurityIdType"}}},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","PRIMARY_JOINT_TENANTS","SECONDARY","SECONDARY_BORROWER","SECONDARY_JOINT","SECONDARY_JOINT_TENANTS","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDNOWFederal Reserve Instant Payment System.
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["CA_ACSS","CA_LVTS","US_ACH","US_CHIPS","US_FEDNOW","US_FEDWIRE","US_RTP"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{discriminator:{propertyName:"accountCategory",mapping:{DEPOSIT_ACCOUNT:"#/components/schemas/DepositTransaction",INVESTMENT_ACCOUNT:"#/components/schemas/InvestmentTransaction",LOAN_ACCOUNT:"#/components/schemas/LoanTransaction",LOC_ACCOUNT:"#/components/schemas/LineOfCreditTransaction"}},oneOf:[{$ref:"#/components/schemas/DepositTransaction"},{$ref:"#/components/schemas/InvestmentTransaction"},{$ref:"#/components/schemas/LineOfCreditTransaction"},{$ref:"#/components/schemas/LoanTransaction"}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",discriminator:{propertyName:"accountCategory"},properties:{accountCategory:{$ref:"#/components/schemas/AccountCategory"},transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["DEPOSIT_ACCOUNT"]},payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}},required:["accountCategory"]}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["INVESTMENT_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType","accountCategory"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOAN_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/LoanTransactionType"}},required:["accountCategory"]}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LineOfCreditTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOC_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/LineOfCreditTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}},required:["accountCategory"]}]},LineOfCreditTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL","PURCHASE"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"},AssetTransferNetworkList:{title:"Asset Transfer Networks",description:"A paginated array of asset transfer networks for the account\n",type:"object",properties:{assetTransferNetworks:{type:"array",description:"A paginated array of asset transfer networks for the account\n",items:{$ref:"#/components/schemas/AssetTransferNetwork"}}}},AssetTransferNetwork:{title:"Asset Transfer Network",description:"Information required to facilitate asset transfer from this account\n",type:"object",properties:{identifier:{type:"string",description:"The number used to identify the account within the asset transfer network.\nIf identifierType is ACCOUNT_NUMBER, this is the account number;\nif identifierType is TOKENIZED_ACCOUNT_NUMBER, this is a tokenized account number\n"},identifierType:{$ref:"#/components/schemas/PaymentNetworkIdentifierType"},institutionName:{description:"The name of the institution holding the account\n",type:"string"},institutionId:{description:"Institution identifier used by the asset transfer network ie. the Depository Trust and\nClearing Corporation code for the institution holding the account\n",type:"string"},type:{$ref:"#/components/schemas/AssetTransferType"},jointAccount:{description:"Whether this account has joint owners\n",type:"boolean"}},required:["identifier","institutionId","type"]},PaymentNetworkIdentifierType:{title:"Payment Network Identifier Type",description:"The type of identifier used to identify the account in the payment network\n",type:"string",enum:["ACCOUNT_NUMBER","TOKENIZED_ACCOUNT_NUMBER"]},AssetTransferType:{title:"Asset Transfer Type",description:"The type of asset transfer\n",type:"string",enum:["CA_ATON","US_ACATS","US_DTC"]}}}}},l=function(e){return(0,i.jsx)("div",{className:"no-top-margin",children:(0,i.jsx)("div",{className:"api-container",children:(0,i.jsx)(s(),{full:!0,children:(0,i.jsx)(o.RedocStandalone,{spec:d[e.version],options:{nativeScrollbars:!0,hideDownloadButton:!0,disableSearch:!0,theme:{sidebar:{width:"0px"}}},onLoaded:function(){var e=window.location.hash;""!==e&&p.OK.scrollTo(e.slice(1),{offset:-100})}})})})})};l.propTypes={version:c().oneOf(["4.6","5.0","5.1","5.2","5.3","6.0"])};var u=l},4033:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i,o,a=n(5893),s=n(1071),r=n(7294);function c(){return c=Object.assign||function(e){for(var t=1;t\n
  • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
  • \n
  • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
  • \n
  • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
  • \n\n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/Timestamp",description:"Date loan originated\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Due date of next payment\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Last payment date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},maturityDate:{$ref:"#/components/schemas/Timestamp",description:"Maturity date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Due date of next payment\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/Timestamp",description:"Last payment date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/Timestamp",description:"Last statement date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/Timestamp",description:"Current unit price as of date\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},state:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Account Payment Network List entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_FEDWIREFedwire Funds Service.
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},"5.0":{openapi:"3.0.3",info:{version:"5.0.0",title:"FDX V5.0",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.0.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.0 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_FEDWIREFedwire Funds Service.
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},5.1:{openapi:"3.0.3",info:{version:"5.1.0",title:"FDX V5.1",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.1.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.1 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]}}}},5.2:{openapi:"3.0.3",info:{version:"5.2.0",title:"FDX V5.2",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Mock server\n\nSee the [mock server postman collection](/core-exchange/example) for Core Exchange v5.2.\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.2 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","COMMERCIALDEPOSIT","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","COMMERCIALLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","COMMERCIALLINEOFCREDIT","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COMMERCIALINVESTMENT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"}}}},5.3:{openapi:"3.0.3",info:{version:"5.3.2",title:"FDX V5.3.2",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v5",description:"Financial Data Exchange V5.3 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions",example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LocAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/LocAccountType"}},required:["accountType"]}]},LocAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},CommercialAccountDescriptor:{description:"A commercial account. For example, a business deposit account. The `accountType` field for commercial accounts may be set to any of the [account types](#commercial-account-types) listed below\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountType:{$ref:"#/components/schemas/CommercialAccountType"}},required:["accountType"]}]},CommercialAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"COMMERCIALLOAN",enum:["COMMERCIALDEPOSIT","COMMERCIALINVESTMENT","COMMERCIALLOAN","COMMERCIALLINEOFCREDIT"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",oneOf:[{type:"object",title:"Deposit Account",properties:{depositAccount:{$ref:"#/components/schemas/DepositAccount"}},required:["depositAccount"],additionalProperties:!1},{type:"object",title:"Loan Account",properties:{loanAccount:{$ref:"#/components/schemas/LoanAccount"}},required:["loanAccount"],additionalProperties:!1},{type:"object",title:"Line of Credit Account",properties:{locAccount:{$ref:"#/components/schemas/LocAccount"}},required:["locAccount"],additionalProperties:!1},{type:"object",title:"Investment Account",properties:{investmentAccount:{$ref:"#/components/schemas/InvestmentAccount"}},required:["investmentAccount"],additionalProperties:!1}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LocAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LocAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityId:{description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n",type:"string"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY_JOINT_TENANTS","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","SECONDARY","SECONDARY_JOINT_TENANTS","SECONDARY_BORROWER","SECONDARY_JOINT","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["US_ACH","US_FEDWIRE","US_CHIPS","US_RTP","CA_ACSS","CA_LVTS"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{minItems:1,oneOf:[{type:"object",title:"Deposit Transaction",properties:{depositTransaction:{$ref:"#/components/schemas/DepositTransaction"}},required:["depositTransaction"],additionalProperties:!1},{type:"object",title:"Investment Transaction",properties:{investmentTransaction:{$ref:"#/components/schemas/InvestmentTransaction"}},required:["investmentTransaction"],additionalProperties:!1},{type:"object",title:"Loan Transaction",properties:{loanTransaction:{$ref:"#/components/schemas/LoanTransaction"}},required:["loanTransaction"],additionalProperties:!1},{type:"object",title:"Line of Credit Transaction",properties:{locTransaction:{$ref:"#/components/schemas/LocTransaction"}},required:["locTransaction"],additionalProperties:!1}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",properties:{transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LoanTransactionType"}}}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LocTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{transactionType:{$ref:"#/components/schemas/LocTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}}}]},LocTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"}}}},"6.0":{openapi:"3.0.3",info:{version:"6.0.0",title:"FDX V6.0.0",description:'## FDX compliance\n\nThe Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/asset-transfer-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Error responses\n\nAn error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: Message used to debug the root cause of the error. Contents should not be used in consumer\'s business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n "code": 705,\n "message": "Account is closed",\n "debugMessage": "Operation is not supported by the closed account"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n',contact:{name:"Plaid support",url:"https://plaid.com/data-connectivity-core-exchange/",email:"dataconnectivity@plaid.com"}},servers:[{url:"https://api.your-organization.com/fdx/v6",description:"Financial Data Exchange V6.0 Core API"}],tags:[{name:"Personal Information",description:"Search and view customer or customers"},{name:"Account Information",description:"Search and view customer accounts"},{name:"Account Statements",description:"Search and retrieve account statements"},{name:"Account Transactions",description:"Search and view account transactions"},{name:"Payment Networks Information",description:"Search and view account payment networks"},{name:"Asset Transfer Networks Information",description:"Search and view asset transfer networks networks"}],paths:{"/accounts":{get:{operationId:"searchForAccounts",tags:["Account Information"],summary:"List all accounts",description:"Search and view customer accounts\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)\n\n**Note:** Each object in the accounts array is expected to contain at least one account type.\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Accounts"},example:{page:{nextOffset:"25"},accounts:[{depositAccount:{accountId:"depositAccount0000001",accountType:"CHECKING",accountNumberDisplay:"5820",productName:"Checking",nickname:"Main Checking",status:"OPEN",currency:{currencyCode:"USD"}}},{loanAccount:{accountId:"loanAccount0000001",accountType:"LOAN",accountNumberDisplay:"4704",productName:"Loan",nickname:"Primary Loan",status:"OPEN",currency:{currencyCode:"USD"}}},{locAccount:{accountId:"locAccount0000001",accountType:"LINEOFCREDIT",accountNumberDisplay:"8200",productName:"Line of Credit",nickname:"First plaidypus LOC",status:"OPEN",currency:{currencyCode:"USD"}}},{investmentAccount:{accountId:"investmentAccount0000001",accountType:"TAXABLE",accountNumberDisplay:"1050",productName:"Brokerage Account",nickname:"First plaidypus Brokerage",status:"OPEN",currency:{currencyCode:"USD"}}}]}}}}}}},"/accounts/{accountId}":{get:{operationId:"getAccount",tags:["Account Information"],summary:"Get detailed information for a specific account",description:"Get account balances, liabilities, and other information. Plaid uses this endpoint to:\n\n
      \n
    • Get account balances for deposit accounts. For example, `CHECKING` or `SAVINGS`. For more information about how Plaid uses this information, see [Plaid Balance API](https://plaid.com/docs/api/products/balance/).
    • \n
    • Get account liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts. For more information about how Plaid uses this information, see [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/).
    • \n
    • Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see [Plaid Investments API](https://plaid.com/docs/investments/).
    • \n
    \n\nSee the response schema below for a full list of possible parameters for each account type.\n",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"}],responses:{200:{description:"The full details of an investment, loan, deposit, or line of credit account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountWithDetails"}}}}}}},"/accounts/{accountId}/contact":{get:{operationId:"getAccountContact",tags:["Personal Information"],description:"Get contact information on the account.\n\n\nPlaid links contact information to accounts, rather than to users.\nPlaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information.\nFor more information about Plaid's identity model, see [Plaid Identity API](https://plaid.com/docs/api/products/identity/).\n",summary:"Get an account's contact information",parameters:[{$ref:"#/components/parameters/AccountIdPath"}],security:[{openIdConnect:["Customer"]},{oauth2:["Customer"]}],responses:{200:{description:"Details used to verify an account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountContact"}}}}}}},"/accounts/{accountId}/payment-networks":{get:{operationId:"getAccountPaymentNetworks",tags:["Payment Networks Information"],description:"Get payment networks supported by an account, for example ACH (Automated Clearing House).\nFor more information about how Plaid uses this information, see the [Plaid Auth API](https://plaid.com/docs/api/products/auth/).\n",summary:"Get payment networks supported by the account",security:[{openIdConnect:["Account"]},{oauth2:["Account"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute a payment transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AccountPaymentNetworkList"},example:{page:{nextOffset:25},paymentNetworks:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}}}}}}},"/accounts/{accountId}/transactions":{get:{operationId:"searchForAccountTransactions",tags:["Account Transactions"],description:"List all account transactions.\nPlaid always queries this endpoint using a `startTime` and an `endTime`, for example, `/accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30`,\nand expects the time filters to be based on the `postedTimestamp`.\n\n\nPlaid consumes data from this endpoint for the following account types only:\n\n
      \n
    • Loan
    • \n
    • Investment
    • \n
    • Deposit
    • \n
    • Line of credit (LOC)
    • \n
    \n",summary:"Search for account transactions",security:[{openIdConnect:["Transactions"]},{oauth2:["Transactions"]}],parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated collection of transactions. Plaid consumes the following transaction types:\nInvestmentTransaction, DepositTransaction, LoanTransaction, or LocTransaction\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Transactions"},example:{page:{nextOffset:"qwer123454q2f"},transactions:[{depositTransaction:{transactionType:"CHECK",checkNumber:1234,payee:"ACME llc",transactionId:"depositTransaction000000001",postedTimestamp:"2022-04-06T00:00:00.000Z",transactionTimestamp:"2022-04-05T00:00:00.000Z",description:"check for latest ACME invoice",debitCreditMemo:"DEBIT",status:"PENDING",amount:400}},{depositTransaction:{transactionType:"ADJUSTMENT",transactionId:"depositTransaction000000002",postedTimestamp:"2022-04-07T00:00:00.000Z",transactionTimestamp:"2022-04-07T00:00:00.000Z",description:"reconciliation/adjustment of bank statement error",debitCreditMemo:"DEBIT",status:"POSTED",amount:.8}},{depositTransaction:{transactionType:"ATMDEPOSIT",transactionId:"depositTransaction000000003",postedTimestamp:"2022-04-08T00:00:00.000Z",transactionTimestamp:"2022-04-08T00:00:00.000Z",description:"ATM cash deposit location #1234",debitCreditMemo:"CREDIT",status:"POSTED",amount:101.8}}]}}}}}}},"/customers/current":{get:{operationId:"getCustomerInfo",tags:["Personal Information"],description:"Get the ID of the customer within the authorization scope.\n\n**Note:**\n\n
      \n
    • If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC `id_token` response.
    • \n
    • If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
    • \n
    \n",summary:"Get current authenticated customer ID",security:[{openIdConnect:[]},{oauth2:[]}],responses:{200:{description:"Data describing current authenticated customer\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Customer"},example:{customerId:"someLongTermUniqueIDString"}}}}}}},"/accounts/{accountId}/statements":{get:{operationId:"searchForAccountStatements",tags:["Account Statements"],description:"Get account statements.\n",summary:"Search for statements",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"},{$ref:"#/components/parameters/StartTimeQuery"},{$ref:"#/components/parameters/EndTimeQuery"}],responses:{200:{description:"Paginated list of available statements\n",content:{"application/json":{schema:{$ref:"#/components/schemas/Statements"},example:{page:{nextOffset:"2",total:3},statements:[{accountId:"10001",statementId:"20001",links:[{href:"/accounts/1111/statements?offSet=2&limit=10"}]}]}}}}}}},"/accounts/{accountId}/statements/{statementId}":{get:{operationId:"getAccountStatement",tags:["Account Statements"],description:"Get account statement PDF\n",summary:"Get account statement",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/StatementIdPath"}],responses:{200:{description:"A pdf of an account statement\n",content:{"application/pdf":{schema:{$ref:"#/components/schemas/StatementPDF"}}}}}}},"/accounts/{accountId}/asset-transfer-networks":{get:{operationId:"getAccountAssetTransferNetworks",tags:["Asset Transfer Networks Information"],description:"Get asset transfer networks supported by an account. For example, Automated Customer Account Transfer Service (ACATS).\nFor more information about how Plaid uses this information, see the [Plaid Investments Move API](https://plaid.com/docs/api/products/investments-move/#investmentsauthget).\n",summary:"Get asset transfer details for this account",parameters:[{$ref:"#/components/parameters/AccountIdPath"},{$ref:"#/components/parameters/OffsetQuery"},{$ref:"#/components/parameters/LimitQuery"}],responses:{200:{description:"Information required to execute an asset transfer transaction against this account\n",content:{"application/json":{schema:{$ref:"#/components/schemas/AssetTransferNetworkList"},example:{assetTransferNetworks:[{identifier:"23348817826",identifierType:"TOKENIZED_ACCOUNT_NUMBER",institutionName:"First Plaidypus Bank",institutionId:"FPB",type:"US_ACATS",jointAccount:!0}]}}}}}}}},components:{securitySchemes:{openIdConnect:{type:"openIdConnect",description:"This API uses an [OpenID Connect (OIDC) authentication flow](/core-exchange/authentication) and accepts the resulting [access token](/core-exchange/authentication#response-parameters) as a bearer token. For example, `curl -H 'Authorization: Bearer \n
  • `CHECKING`: A deposit account held at a financial institution that allows withdrawals and deposits.
  • \n
  • `SAVINGS`: An interest-bearing deposit account held at a bank or other financial institution.
  • \n
  • `CD`: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time.
  • \n
  • `COMMERCIALDEPOSIT`: A deposit account for commercial customers, for example a business trust account.
  • \n
  • `ESCROW`: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties.
  • \n
  • `MONEYMARKET`: A deposit account that pays interest based on current interest rates in the money markets.
  • \n
  • `OTHERDEPOSIT`: Use when none of the listed enums apply.
  • \n\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["DEPOSIT_ACCOUNT"]},accountType:{$ref:"#/components/schemas/DepositAccountType"}},required:["accountType","accountCategory"]}]},DepositAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"SAVINGS",enum:["CHECKING","SAVINGS","CD","ESCROW","MONEYMARKET","OTHERDEPOSIT"]},LoanAccountDescriptor:{description:"A loan account. For example, mortgage, student loan or auto loan.\nPlaid consumes more detailed information for `MORTGAGE` and `STUDENTLOAN` accounts.\n\nThe `accountType` field for loan accounts may be set to any of the following:\n\n
      \n
    • AUTOLOAN: A type of loan used to finance a car purchase.
    • \n
    • `COMMERCIALLOAN`: A preset borrowing limit that can be used at any time.
    • \n
    • `HOMEEQUITYLOAN`: A type of loan in which the borrower uses the equity of his or her home as collateral.
    • \n
    • `INSTALLMENT`: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments.
    • \n
    • `LOAN`: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc.
    • \n
    • `MILITARYLOAN`: A military loan.
    • \n
    • `MORTGAGE`: A type of loan you can use to buy or refinance a home.
    • \n
    • `PERSONALLOAN`: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower.
    • \n
    • `SMBLOAN`: A small/medium business loan.
    • \n
    • `STUDENTLOAN`: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOAN_ACCOUNT"]},accountType:{$ref:"#/components/schemas/LoanAccountType"}},required:["accountType","accountCategory"]}]},LoanAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"HOMEEQUITYLOAN",enum:["AUTOLOAN","HOMEEQUITYLOAN","INSTALLMENT","LOAN","MILITARYLOAN","MORTGAGE","PERSONALLOAN","SMBLOAN","STUDENTLOAN"]},LineOfCreditAccountDescriptor:{description:"A line-of-credit account. For example, a credit card or home equity line of credit.\nPlaid consumes more detailed information for `CREDITCARD` accounts.\n\nThe `accountType` field for line of credit accounts may be set to any of the following:\n\n
      \n
    • `LINEOFCREDIT`: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds.
    • \n
    • `CHARGE`: An account to which goods and services may be charged on credit.
    • \n
    • `COMMERCIALLINEOFCREDIT`: An account with a preset borrowing limit that can be used at any time.
    • \n
    • `CREDITCARD`: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment.
    • \n
    • `HOMELINEOFCREDIT`: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
    • \n
    \n",type:"object",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOC_ACCOUNT"]},accountType:{$ref:"#/components/schemas/LineOfCreditAccountType"}},required:["accountType","accountCategory"]}]},LineOfCreditAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"CREDITCARD",enum:["LINEOFCREDIT","CHARGE","CREDITCARD","HOMELINEOFCREDIT"]},InvestmentAccountDescriptor:{description:"An investment account. For example, a 401K or IRA.\nPlaid consumes the same details for all investment accounts.\n\nThe `accountType` field for investment accounts may be set to any of the following:\n\n
      \n
    • `401A`: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both.
    • \n
    • `401K`: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code.
    • \n
    • `403B`: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States.
    • \n
    • `529`: A tax-advantaged savings plan designed to help pay for education.
    • \n
    • `BROKERAGEPRODUCT`: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options.
    • \n
    • `COMMERCIALINVESTMENT`: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account.
    • \n
    • `COVERDELL`: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account.
    • \n
    • `DIGITALASSET`: An account containing digital assets.
    • \n
    • `DEFINEDBENEFIT`: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history.
    • \n
    • `GUARDIAN`: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent.
    • \n
    • `INSTITUTIONALTRUST`: An institutional trust account.
    • \n
    • `IRA`: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement.
    • \n
    • `KEOGH`: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes.
    • \n
    • `NONQUALIFIEDPLAN`: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines.
    • \n
    • `OTHERINVESTMENT`: Use when none of the listed enums apply.
    • \n
    • `ROLLOVER`: An account containing investments rolled over from an employee-sponsored account.
    • \n
    • `ROTH`: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement.
    • \n
    • `SARSEP`: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement.
    • \n
    • `TAXABLE`: A taxable investment account.
    • \n
    • `TDA`: TreasuryDirect Account.
    • \n
    • `TRUST`: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms.
    • \n
    • `TERM`: Life insurance that provides coverage at a fixed rate of payments for a limited period of time.
    • \n
    • `UGMA`: Uniform Gifts to Minors Act account.
    • \n
    • `UTMA`: Uniform Transfers to Minors Act account.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["INVESTMENT_ACCOUNT"]},accountType:{$ref:"#/components/schemas/InvestmentAccountType"}},required:["accountType","accountCategory"]}]},InvestmentAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"ROTH",enum:["401A","401K","403B","529","BROKERAGEPRODUCT","COVERDELL","DIGITALASSET","DEFINEDBENEFIT","ESOP","GUARDIAN","INSTITUTIONALTRUST","IRA","KEOGH","NONQUALIFIEDPLAN","OTHERINVESTMENT","ROLLOVER","ROTH","SARSEP","TAXABLE","TDA","TRUST","TERM","UGMA","UTMA"]},InsuranceAccountDescriptor:{description:"An insurance account. For example, whole life insurance or short-term disability.\n\nThe `accountType` field for insurance accounts may be set to any of the following:\n\n
      \n
    • `LONGTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year.
    • \n
    • `SHORTTERMDISABILITY`: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year.
    • \n
    • `UNIVERSALLIFE`: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest.
    • \n
    • `WHOLELIFE`: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["INSURANCE_ACCOUNT"]},accountType:{$ref:"#/components/schemas/InsuranceAccountType"}},required:["accountType","accountCategory"]}]},InsuranceAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"WHOLELIFE",enum:["LONGTERMDISABILITY","SHORTTERMDISABILITY","UNIVERSALLIFE","WHOLELIFE"]},AnnuityAccountDescriptor:{description:"An annuity account. For example, a fixed or variable annuity account.\n\nThe `accountType` field for annuity accounts may be set to any of the following:\n\n
      \n
    • `ANNUITY`: A form of insurance or investment entitling the investor to a series of annual sums.
    • \n
    • `FIXEDANNUITY`: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account.
    • \n
    • `VARIABLEANNUITY`: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
    • \n
    \n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["ANNUITY_ACCOUNT"]},accountType:{$ref:"#/components/schemas/AnnuityAccountType"}},required:["accountType","accountCategory"]}]},AnnuityAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"FIXEDANNUITY",enum:["ANNUITY","FIXEDANNUITY","VARIABLEANNUITY"]},CommercialAccountDescriptor:{description:"A commercial account. For example, a business deposit account. The `accountType` field for commercial accounts may be set to any of the [account types](#commercial-account-types) listed below\n",allOf:[{$ref:"#/components/schemas/AccountDescriptor"},{type:"object",properties:{accountCategory:{type:"string",enum:["COMMERCIAL_ACCOUNT"]},accountType:{$ref:"#/components/schemas/CommercialAccountType"}},required:["accountType","accountCategory"]}]},CommercialAccountType:{description:"The type of an account.\nPlaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.\n",type:"string",example:"COMMERCIALLOAN",enum:["COMMERCIALDEPOSIT","COMMERCIALINVESTMENT","COMMERCIALLOAN","COMMERCIALLINEOFCREDIT"]},AccountWithDetails:{title:"Account With Details entity",description:"An account with full details.\n",type:"object",discriminator:{propertyName:"accountCategory",mapping:{DEPOSIT_ACCOUNT:"#/components/schemas/DepositAccount",INVESTMENT_ACCOUNT:"#/components/schemas/InvestmentAccount",LOAN_ACCOUNT:"#/components/schemas/LoanAccount",LOC_ACCOUNT:"#/components/schemas/LineOfCreditAccount"}},oneOf:[{$ref:"#/components/schemas/DepositAccount"},{$ref:"#/components/schemas/LoanAccount"},{$ref:"#/components/schemas/LineOfCreditAccount"},{$ref:"#/components/schemas/InvestmentAccount"}]},DepositAccount:{title:"Deposit Account Details entity",description:'Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`.\n\nThe `accountType` field for deposit accounts may be set to any of the [account types](#deposit-account-types) listed below.\n',type:"object",allOf:[{$ref:"#/components/schemas/DepositAccountDescriptor"},{type:"object",properties:{currentBalance:{type:"number",description:"The total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions).\nFor Plaid's full definition, see the [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-current)\n"},availableBalance:{type:"number",description:"The money in the account available to spend (sum of all transactions, plus or minus pending transactions).\nFor Plaid's full definition, see [Transactions](https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances-available)\n"}},required:["currentBalance","availableBalance"]}]},LoanAccount:{title:"Loan Account entity",type:"object",description:'Full details of a loan account. The `accountType` field for loan accounts may be set to any of the [account types](#loan-account-types) listed below.\n\nPlaid only consumes the `MORTGAGE` and `STUDENTLOAN` types for its [Liabilities API](https://plaid.com/docs/api/products/liabilities/). For other loan account types Plaid consumes account details and transactions.\nPlaid consumes all loan account information as returned in the `GET /accounts` endpoint, as well as the additional information listed below:\n\nRequired for all loan accounts:\n* `principalBalance`\n* `interestRate`\n* `interestRateType`\n\nOptional fields for `STUDENTLOAN` accounts:\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `maturityDate`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nRequired for `MORTGAGE` accounts:\n* `accountNumber`\n\nOptional fields for `MORTGAGE` accounts:\n* `escrowBalance`\n* `interestPaidYearToDate`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `loanTerm`\n* `maturityDate`\n* `nextPaymentAmount`\n* `nextPaymentDate`\n* `originalPrincipal`\n* `originatingDate`\n\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"escrowBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LoanAccountDescriptor"},{type:"object",properties:{accountNumber:{type:"string",example:"loanAccount0000001",description:"Full account number for the end user's handle for the account at the owning institution\n\nRequired for accountType 'MORTGAGE'\n"},principalBalance:{type:"number",example:580303.95,description:"Principal balance\n"},escrowBalance:{type:"number",example:3400.61,description:"Escrow balance of loan\n"},originalPrincipal:{type:"number",example:650400,description:"Original principal of loan\n"},originatingDate:{$ref:"#/components/schemas/DateString",description:"Date loan originated\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},loanTerm:{type:"integer",example:360,description:"Term of loan in months\n"},nextPaymentAmount:{type:"number",example:2483.12,description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},lastPaymentAmount:{type:"number",example:2483.12,description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},maturityDate:{$ref:"#/components/schemas/DateString",description:"Maturity date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},interestPaidYearToDate:{type:"number",description:"Interest paid year to date\n"},interestRate:{type:"number",example:.075,description:"The account's interest rate\n"},interestRateType:{$ref:"#/components/schemas/InterestRateType"}},required:["principalBalance","interestRate","interestRateType"]}]},LineOfCreditAccount:{type:"object",description:'Full details of a line of credit account. The `accountType` field for line of credit accounts may be set to any of the [account types](#loc-account-types) listed below.\n\nPlaid may consume all the parameters returned by the `GET /accounts` endpoint:\n\n* `availableCredit`\n* `creditLine`\n* `currentBalance`\n\nAdditionally, for the `CREDITCARD` accountType, Plaid consumes the previous information plus the following for its liabilities product:\n\n* `advancesApr`\n* `lastPaymentAmount`\n* `lastPaymentDate`\n* `lastStmtBalance`\n* `lastStmtDate`\n* `minimumPaymentAmount`\n* `nextPaymentDate`\n* `purchasesApr`\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',allOf:[{$ref:"#/components/schemas/LineOfCreditAccountDescriptor"},{type:"object",properties:{creditLine:{type:"number",description:"Credit limit\n"},availableCredit:{type:"number",description:"Available credit. Required for all accountTypes except for `CHARGE`\n"},nextPaymentAmount:{type:"number",description:"Amount of next payment\n"},nextPaymentDate:{$ref:"#/components/schemas/DateString",description:"Due date of next payment\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},principalBalance:{type:"number",description:"Principal balance\n"},currentBalance:{type:"number",description:"Current balance of line of credit\n"},minimumPaymentAmount:{type:"number",description:"Minimum payment amount\n"},lastPaymentAmount:{type:"number",description:"Amount of last payment\n"},lastPaymentDate:{$ref:"#/components/schemas/DateString",description:"Last payment date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},pastDueAmount:{type:"number",description:"Amount owed that the account holder failed to pay on the due date\n"},lastStmtBalance:{type:"number",description:"Last statement balance\n"},lastStmtDate:{$ref:"#/components/schemas/DateString",description:"Last statement date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},purchasesApr:{type:"number",description:"Annual percentage rate for purchases\n"},advancesApr:{type:"number",description:"Annual percentage rate for cash advances\n"}},required:["currentBalance"]}]},InvestmentAccount:{description:'Full details of an investment account. Plaid consumes all `InvestmentAccount` FDX fields for all types of investment accounts.\nIn the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the `holdings` array for more information.\nPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, `"currentBalance": 192.00`\n',type:"object",allOf:[{$ref:"#/components/schemas/InvestmentAccountDescriptor"},{type:"object",properties:{availableCashBalance:{type:"number",description:"Cash balance across all sub-accounts. Plaid expects that this includes sweep funds\n"},balanceAsOf:{description:"Date and time of the balance\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},currentValue:{type:"number",description:"Total current value of all investments\n"},holdings:{type:"array",description:"Holdings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",items:{$ref:"#/components/schemas/Holding"}}},required:["availableCashBalance","currentValue"]}]},InterestRateType:{title:"Interest Rate Type",description:"Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future\n",type:"string",enum:["FIXED","VARIABLE"]},Holding:{title:"Holding entity",description:"A holding in an investment account.\nHoldings in the investment account.\nPlaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)\n",allOf:[{type:"object",properties:{securityIds:{description:"Array of security identifiers\n",type:"array",items:{$ref:"#/components/schemas/SecurityId"}},holdingName:{type:"string",description:"Holding name or security name\n"},holdingType:{$ref:"#/components/schemas/HoldingType"},holdingSubType:{$ref:"#/components/schemas/HoldingSubType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},purchasedPrice:{type:"number",description:"Price of holding at the time of purchase.\nPlaid determines an approximate [cost basis](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-cost-basis)\nusing the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis\nbecause the FDX holding schema doesn't include fees.\n"},currentUnitPrice:{type:"number",description:"Current unit price. Plaid uses this as the [institution_price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-holdings-institution-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-close-price)\nif you don't return `securityId` for holdings involving securities.\n"},currentUnitPriceDate:{$ref:"#/components/schemas/DateString",description:"Current unit price as of date\n\nISO 8601 full-date in format 'YYYY-MM-DD' according\nto [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},marketValue:{type:"number",description:"Market value at the time of data retrieved\n"},faceValue:{type:"number",description:"Required for bonds. Face value at the time of data retrieved. If this isn't present,\nPlaid assumes the holding isn't a bond and falls back to `marketValue`.\n"},cashAccount:{type:"boolean",description:"If true, indicates that this holding is used to maintain proceeds\nfrom sales, dividends, and other cash postings to the investment account.\nIf you don't set a value for `isCashEquivalent` in the `fiAttributes` array,\nthen Plaid uses `cashAccount` in determining the [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nstatus.\n"},currency:{$ref:"#/components/schemas/Currency",description:"Currency information if it is different from Account entity\n"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\nIf you return a value for `isCashEquivalent`, then return the same value for `cashAccount` as a boolean.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["cashAccount","marketValue"]}]},SecurityId:{title:"Security ID entity",description:"Unique identifier for a security\n",type:"object",properties:{id:{$ref:"#/components/schemas/Identifier"},idType:{$ref:"#/components/schemas/SecurityIdType"}}},HoldingType:{title:"Holding Type",description:"Plaid maps the holding type to the Plaid [security type](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-type).\nPlaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["ANNUITY","BOND","CD","DIGITALASSET","MUTUALFUND","OPTION","OTHER","STOCK"]},HoldingSubType:{title:"Holding SubType",description:"The subtype of an investment holding. Plaid expects you to return `OTHER` and set the `holdingSubType` to indicate cash-type holdings (CASH, MONEYMARKET).\n",type:"string",enum:["CASH","MONEYMARKET"]},FiAttribute:{title:"FI Attribute entity",description:"Financial institution-specific attribute.\n",type:"object",properties:{name:{type:"string",description:"Name of the financial institution-specific attribute\n"},value:{type:"string",description:"Value of the financial institution-specific attribute\n"}}},AccountContact:{title:"Account Contact entity",description:"Details used to verify an account\n",type:"object",properties:{holders:{type:"array",items:{$ref:"#/components/schemas/AccountHolder"},minItems:1,description:"Owners of the account.\nNote that while the [FDX specification](https://financialdataexchange.org) enables associating holders and their\ncontact information in the full `AccountHolder` schema, Plaid doesn't consume these associations.\nInstead, Plaid consumes limited information for each `AccountHolder` and doesn't associate contact information such as emails,\naddresses, or telephone numbers to account holders.\nFor more information about Plaid's data model for account contact information, see [Identity](https://plaid.com/docs/api/products/identity/)\n",example:[{relationship:"SECONDARY",name:{first:"Ernest",middle:"Miller",last:"Hemingway",suffix:"IV"}},{relationship:"PRIMARY_JOINT",name:{first:"Maya",last:"Angelou",middle:"Annie"}}]},emails:{type:"array",items:{type:"string"},minItems:1,description:"Email addresses associated with the account\n",example:["ernest.m.hemingway@domain.tld","m.angelou@domain.tld"]},addresses:{type:"array",items:{$ref:"#/components/schemas/DeliveryAddress"},minItems:1,description:"Physical mail addresses associated with the account\n",example:[{line1:"1850 N Clark St",line2:"Apartment 103",city:"Chicago",region:"IL",postalCode:"60614",country:"US"},{line1:"2014 N Main St",city:"San Francisco",region:"CA",postalCode:"94105",country:"US"}]},telephones:{type:"array",items:{$ref:"#/components/schemas/TelephoneNumber"},minItems:1,description:"Telephone numbers associated with the account\n",example:[{type:"HOME",country:"1",number:"3127771926"},{type:"CELL",country:"53",number:"45915607"},{type:"HOME",country:"1",number:"4157771926"}]}},required:["holders","emails","addresses","telephones"]},AccountHolder:{title:"Account Holder entity",type:"object",allOf:[{$ref:"#/components/schemas/CustomerWithName"},{type:"object",properties:{relationship:{$ref:"#/components/schemas/AccountHolderRelationship",description:"Customer's relationship to the account\n"}}}]},CustomerWithName:{title:"Customer entity",description:"Represents a customer. Plaid-specific schema created to hold one property, the `name` property of the FDX `Customer` schema\n",type:"object",properties:{name:{$ref:"#/components/schemas/CustomerName"}},required:["name"]},CustomerName:{title:"Customer Name entity",description:"The name of an individual in their role as a customer. Plaid expects at least one populated name field.\nIf any field is missing (for example, no first name), then you respond with an empty string for that field\n",type:"object",allOf:[{$ref:"#/components/schemas/IndividualName"},{type:"object",properties:{prefix:{description:"Prefix, e.g. Mr., Mrs., Dr.\n",type:"string"}}}]},IndividualName:{title:"Individual name",description:"First name, middle initial, last name, suffix fields\n",type:"object",properties:{first:{description:"First name\n",type:"string"},middle:{description:"Middle name\n",type:"string"},last:{description:"Last name\n",type:"string"},suffix:{description:"Generational or academic suffix, e.g. Jr., Sr., III\n",type:"string"}},required:["first","last"]},AccountHolderRelationship:{title:"Account Holder Relationship",description:"Types of relationships between accounts and holders\n",type:"string",enum:["AUTHORIZED_USER","BUSINESS","FOR_BENEFIT_OF","FOR_BENEFIT_OF_PRIMARY","FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SECONDARY","FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED","FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED","POWER_OF_ATTORNEY","PRIMARY","PRIMARY_BORROWER","PRIMARY_JOINT","PRIMARY_JOINT_TENANTS","SECONDARY","SECONDARY_BORROWER","SECONDARY_JOINT","SECONDARY_JOINT_TENANTS","SOLE_OWNER","TRUSTEE","UNIFORM_TRANSFER_TO_MINOR"]},DeliveryAddress:{title:"Delivery Address",description:"A delivery address and its location type\n",type:"object",allOf:[{$ref:"#/components/schemas/Address"}]},Address:{title:"Address",description:"Postal address\n",type:"object",properties:{line1:{$ref:"#/components/schemas/String64",description:"Address line 1\n"},line2:{$ref:"#/components/schemas/String64",description:"Address line 2\n"},line3:{$ref:"#/components/schemas/String64",description:"Address line 3\n"},city:{$ref:"#/components/schemas/String64",description:"City\n"},region:{$ref:"#/components/schemas/String64",description:"State or province\n"},postalCode:{type:"string",maxLength:10,description:"Postal code\n"},country:{$ref:"#/components/schemas/Iso3166CountryCode",description:"Country code\n"}},required:["line1","city","country"]},TelephoneNumber:{title:"Telephone Number",description:"Standard for international phone numbers\n",type:"object",properties:{type:{$ref:"#/components/schemas/TelephoneNumberType"},country:{type:"string",maxLength:3,description:"Country calling codes defined by ITU-T recommendations E.123 and E.164\n"},number:{type:"string",maxLength:15,pattern:"\\d+",description:"Telephone subscriber number defined by ITU-T recommendation E.164\n"}},required:["number","type"]},TelephoneNumberType:{title:"Telephone Number Type",description:"Telephone number type\n",type:"string",enum:["HOME","BUSINESS","CELL","FAX"]},AccountPaymentNetworkList:{title:"Payment Networks entity",type:"object",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{paymentNetworks:{type:"array",description:"Array of payment networks.\nNot all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH\n",items:{$ref:"#/components/schemas/PaymentNetwork"},minItems:1,example:[{bankId:"010088889",identifier:"1111222233335820",type:"US_ACH",transferIn:!0,transferOut:!0}]}},required:["paymentNetworks"]}]},PaymentNetwork:{title:"Payment Network Supported by Account",description:"This provides details required to execute a transaction against the account within the payment network\n",type:"object",properties:{bankId:{type:"string",description:"Bank identifier used by the payment network ie. Routing Number\n"},identifier:{type:"string",description:"The number used to identify the account within the payment network.\n"},type:{$ref:"#/components/schemas/PaymentNetworkType"},transferIn:{type:"boolean",description:"Can transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"},transferOut:{type:"boolean",description:"Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network.\nPlaid recommends dynamically updating this value, for example to represent if the account is locked or not.\n\n**Note:** Both `transferIn` and `transferOut` must be `true` in order for the account to support ACH\n"}},required:["bankId","identifier","type","transferIn","transferOut"]},PaymentNetworkType:{title:"Payment Network Type",description:"Suggested values for Payment Network Type. `US_` refers to the USA, and `CA_` refers to Canada.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ValueDescription
    CA_ACSSAutomated Clearing House Settlement System
    CA_LVTSLarge-Value Transfer System
    US_ACHAutomated Clearing House, also called Fed ACH network (mostly small banks)
    US_CHIPSClearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks)
    US_FEDNOWFederal Reserve Instant Payment System.
    US_FEDWIREFedwire Funds Service.
    US_RTPUS Real Time Payments System.
    \n",type:"string",enum:["CA_ACSS","CA_LVTS","US_ACH","US_CHIPS","US_FEDNOW","US_FEDWIRE","US_RTP"]},Transactions:{title:"Transactions entity",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{transactions:{type:"array",description:"An optionally paginated array of transactions\n",items:{discriminator:{propertyName:"accountCategory",mapping:{DEPOSIT_ACCOUNT:"#/components/schemas/DepositTransaction",INVESTMENT_ACCOUNT:"#/components/schemas/InvestmentTransaction",LOAN_ACCOUNT:"#/components/schemas/LoanTransaction",LOC_ACCOUNT:"#/components/schemas/LineOfCreditTransaction"}},oneOf:[{$ref:"#/components/schemas/DepositTransaction"},{$ref:"#/components/schemas/InvestmentTransaction"},{$ref:"#/components/schemas/LineOfCreditTransaction"},{$ref:"#/components/schemas/LoanTransaction"}]}}},required:["transactions"]}]},Transaction:{title:"Transaction",description:"Base entity for financial transactions. For monetary amounts, Plaid expects a decimal amount, with two places to represent fractional values of the base currency, for example `101.99`\n",type:"object",discriminator:{propertyName:"accountCategory"},properties:{accountCategory:{$ref:"#/components/schemas/AccountCategory"},transactionId:{description:"Long term persistent identity of the transaction (unique to account). Plaid expects that `status: PENDING` and `status: POSTED` transactions have different IDs\n",$ref:"#/components/schemas/Identifier"},referenceTransactionId:{description:"For reverse postings, the identity of the transaction being\nreversed. For the correction transaction, the identity of the\nreversing post. For credit card posting transactions, the identity\nof the authorization transaction\n",$ref:"#/components/schemas/Identifier"},postedTimestamp:{description:"The date and time that the transaction was posted to the account.\n\nThis property is **required** by Plaid when `status=POSTED`.\nPlaid expects this property to be omitted when `status=PENDING`\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},transactionTimestamp:{description:"The date and time that the transaction was added to the server backend systems\n\nISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to\n[IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)\n",$ref:"#/components/schemas/Timestamp"},description:{type:"string",description:"Description of the transaction\n"},debitCreditMemo:{$ref:"#/components/schemas/DebitCreditMemo"},category:{type:"string",description:"Transaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable\n"},subCategory:{type:"string",description:"Transaction category detail\n"},status:{$ref:"#/components/schemas/TransactionStatus"},amount:{type:"number",description:"The amount of money in the account currency.\nThe amount is an absolute value.\nPlaid relies on the `DebitCreditMemo` enum to determine the direction (and sign) of the transaction\n"},foreignAmount:{type:"number",description:"The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the `foreignCurrency` property is also set\n"},foreignCurrency:{$ref:"#/components/schemas/Iso4217Code"}},required:["debitCreditMemo","description","transactionId","transactionTimestamp","status","amount"]},DebitCreditMemo:{title:"DebitCreditMemo",description:"The posting type of a transaction. The transaction amount is an absolute value, and this parameter indicates the direction of the transaction.\nPlaid expects `DEBIT` or `CREDIT` for this enum. Plaid expects that your organization indicates\nthe `MEMO` (i.e., pending) status using the `status` field in the transaction response rather than this field.\nIf your organization sends `MEMO` in this `DebitCreditMemo` enum, Plaid\nhandles this value the same as it handles `DEBIT`.\n* `DEBIT`: An amount leaves the account\n* `CREDIT`: An amount enters the account\n* `MEMO`: A pending transaction to be completed at the end of this day.\n",type:"string",enum:["CREDIT","DEBIT","MEMO"]},TransactionStatus:{title:"Transaction Status",description:"The status of a transaction. Plaid consumes solely the `PENDING` and `POSTED` enums,\nand treats `MEMO` and `AUTHORIZATION` as if they were `PENDING`. Plaid expects that pending and posted transactions\nhave different `transactionIds`.\n* `AUTHORIZATION`\n* `MEMO` - A pending transaction to be completed at the end of this day\n* `PENDING` - A pending transaction\n* `POSTED` - A posted transaction\n",type:"string",enum:["AUTHORIZATION","MEMO","PENDING","POSTED"]},DepositTransaction:{title:"Deposit Transaction entity",description:"A transaction on a deposit account type\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["DEPOSIT_ACCOUNT"]},payee:{$ref:"#/components/schemas/String255",description:"Payee name\n"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}},required:["accountCategory"]}]},InvestmentTransaction:{title:"Investment Transaction entity",description:"A transaction on an investment account.\nIn addition to the required fields in the base `Transaction` model, Plaid requires the following fields\nfor all transactions on an investment account:\n\n* `fees`\n* `transactionType`\n\nIf the transaction involves a security, Plaid additionally requires the following fields:\n\n* `unitPrice`\n* `units`\n* Either of the following:\n - `symbol`\n - `securityId` and `securityIdType`\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["INVESTMENT_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/InvestmentTransactionType"},securityId:{type:"string",description:"If you return the `securityId` for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master.\nIf you don't return `securityId` for a holding that uses security IDs (not recommended), Plaid uses the `unitPrice` as the closing price.\n\nThis field, along with `securityIdType` are **required** unless `symbol` is provided.\n\n**Note:** If `securityId` is provided, `securityIdType` is required.\n"},securityIdType:{$ref:"#/components/schemas/SecurityIdType"},securityType:{$ref:"#/components/schemas/SecurityType"},symbol:{type:"string",description:"Ticker / Market symbol\nThis field is **required** unless both `securityId` and `securityIdType` are provided\n"},commission:{type:"number",description:"Plaid expects that your organization includes a value for commission if the commission isn't included in `fees`\n"},fees:{type:"number",description:"Fees applied to the trade. Plaid expects that the `fees` include the commission, unless your organization separately provides a value for `commission`\n"},unitPrice:{type:"number",description:"Unit price. Plaid uses this as the [price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-investment-transactions-price).\nPlaid falls back to using this as the [close price](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-close-price)\nif you don't return `securityId` for transactions involving securities.\n\n**Note:** This field is required if the transaction involves a security\n"},units:{type:"number",description:"Plaid requires this field for holdings and transactions involving securities.\nFor security-based actions other than stock splits, quantity.\nShares for stocks, mutual funds, and others. Face value for bonds.\nContracts for options.\n\n**Note:** This field is required if the transaction involves a security.\n"},unitType:{$ref:"#/components/schemas/UnitType"},fiAttributes:{type:"array",description:"Array of financial institution-specific attributes.\nPlaid recommends including a value for [is_cash_equivalent](https://plaid.com/docs/api/products/investments/#investments-transactions-get-response-securities-is-cash-equivalent)\nproperty in this array.\nPlaid accepts `isCashEquivalent` as the attribute name and a string value of `true` or `false`.\n",items:{$ref:"#/components/schemas/FiAttribute"}}},required:["fees","transactionType","accountCategory"]}]},InvestmentTransactionType:{title:"Investment Transaction Type",description:"The type of an investment transaction.\nPlaid maps these enums to Plaid [investment transaction types](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).\nPlaid doesn't map these enums to Plaid-specific transaction subtypes.\nPlaid maps these enums as follows:\n\n* ADJUSTMENT - fee\n* ATM - cash\n* CASH - cash\n* CHECK - cash\n* CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum.\n* CONTRIBUTION - buy (if transaction involves a security) or cash\n* DEP - cash\n* DEPOSIT - cash\n* DIRECTDEBIT - cash\n* DIRECTDEP - cash\n* DIV - cash\n* DIVIDEND - cash\n* DIVIDENDREINVEST - buy\n* EXPENSE - cash\n* FEE - fee\n* INCOME - cash\n* INTEREST - cash\n* INVEXPENSE - cash\n* JRNLFUND - transfer\n* JRNLSEC - transfer\n* MARGININTEREST - cash\n* OPTIONEXERCISE - transfer\n* OPTIONEXPIRATION - transfer\n* OTHER - cash - (unclassified)\n* PAYMENT - cash\n* POS - cash\n* PURCHASED - buy\n* PURCHASEDTOCOVER - buy\n* PURCHASETOCLOSE - buy\n* PURCHASETOOPEN - buy\n* REINVESTOFINCOME - buy\n* REPEATPMT - cash\n* RETURNOFCAPITAL - cash\n* SOLD - sell\n* SOLDTOCLOSE - sell\n* SOLDTOOPEN - sell\n* SPLIT - transfer\n* SRVCHG - fee\n* TRANSFER - transfer\n* XFER - transfer\n",type:"string",enum:["ADJUSTMENT","ATM","CASH","CHECK","CLOSURE","CLOSUREOPT","CONTRIBUTION","DEP","DEPOSIT","DIRECTDEBIT","DIRECTDEP","DIV","DIVIDEND","DIVIDENDREINVEST","EXPENSE","FEE","INCOME","INTEREST","INVEXPENSE","JRNLFUND","JRNLSEC","MARGININTEREST","OPTIONEXERCISE","OPTIONEXPIRATION","OTHER","PAYMENT","POS","PURCHASED","PURCHASEDTOCOVER","PURCHASETOCLOSE","PURCHASETOOPEN","REINVESTOFINCOME","REPEATPMT","RETURNOFCAPITAL","SOLD","SOLDTOCLOSE","SOLDTOOPEN","SPLIT","SRVCHG","TRANSFER","XFER"]},SecurityType:{title:"Security Type",description:"The type of a security\n",type:"string",enum:["BOND","DEBT","MUTUALFUND","DIGITALASSET","OPTION","OTHER","STOCK","SWEEP"]},UnitType:{title:"Unit Type",description:"The units of an investment transaction\n",type:"string",enum:["CURRENCY","SHARES"]},LoanTransaction:{title:"Loan Transaction entity",description:"A transaction on a loan account\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOAN_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/LoanTransactionType"}},required:["accountCategory"]}]},LoanTransactionType:{title:"Loan Transaction Type",description:"The type of a loan transaction. Plaid passes through all loan transaction types\n\n
      \n
    • `ADJUSTMENT`: Adjustment or correction.
    • \n
    • `FEE`: Fee charge. For example, a late payment fee.
    • \n
    • `INTEREST`: Interest charge.
    • \n
    • `PAYMENT`: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages).
    • \n
    • `LUMP_SUM_PAYMENT`: A single payment of money, as opposed to a series of payments made over time.
    • \n
    • `SKIP_PAYMENT`: Payment that satisfies deferral of a required payment.
    • \n
    • `DOUBLE_UP_PAYMENT`: Additional payment beyond the required payment to reduce the principal.
    • \n
    • `PAYOFF`: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
    • \n
    \n",type:"string",enum:["ADJUSTMENT","FEE","INTEREST","PAYMENT","LUMP_SUM_PAYMENT","SKIP_PAYMENT","DOUBLE_UP_PAYMENT","PAYOFF"]},LineOfCreditTransaction:{title:"Line-Of-Credit Transaction entity",description:"A line-of-credit transaction\n",type:"object",allOf:[{$ref:"#/components/schemas/Transaction"},{type:"object",properties:{accountCategory:{type:"string",enum:["LOC_ACCOUNT"]},transactionType:{$ref:"#/components/schemas/LineOfCreditTransactionType"},checkNumber:{type:"integer",description:"Check number. Plaid expects this solely if the transaction involves a check\n"}},required:["accountCategory"]}]},LineOfCreditTransactionType:{title:"Line-Of-Credit Transaction Type",description:"The type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types\n",type:"string",enum:["ADJUSTMENT","CHECK","FEE","INTEREST","PAYMENT","WITHDRAWAL","PURCHASE"]},Customer:{title:"Customer entity.",description:"Represents a customer. Plaid-specific schema created to hold one property, the `customerId` property of the FDX `Customer` schema\n",type:"object",properties:{customerId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the customer.\nThis identity must be unique within your organization.\nPlaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API.\nPlaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user\n"}},required:["customerId"]},Statements:{title:"Statements entity",description:"A paginated array of account statements\n",type:"object",allOf:[{$ref:"#/components/schemas/PaginatedArray"},{type:"object",properties:{statements:{type:"array",description:"An array of statements, each with its own HATEOAS link to retrieve the account statement\n",items:{$ref:"#/components/schemas/Statement"}}},required:["statements"]}]},Statement:{title:"Statement entity",description:"An account statement\n",type:"object",properties:{accountId:{$ref:"#/components/schemas/Identifier",description:"Corresponds to `accountId` in Account entity\n"},statementId:{$ref:"#/components/schemas/Identifier",description:"Long-term persistent identity of the statement. This identity must be unique within your organization\n"},statementDate:{$ref:"#/components/schemas/DateString",description:"Date of the statement\n"},description:{type:"string",description:"Description of the statement\n"},links:{$ref:"#/components/schemas/HateoasLinks",description:"The HATEOAS links to retrieve this account statement, or to invoke other APIs.\n\n**Note:** Plaid only accepts one link object in this array\n"},status:{type:"string",description:"Availability status of statement\n"}}},HateoasLinks:{title:"HATEOAS links array",description:"An array of HATEOAS links\n",type:"array",items:{$ref:"#/components/schemas/HateoasLink"}},HateoasLink:{title:"HATEOAS Link",description:"HATEOAS (Hypermedia As The Engine Of Application State) link\n",required:["href"],type:"object",properties:{href:{type:"string",format:"uri-reference",description:"The resource URL\n",example:"https://api.fi.com/fdx/v4/accounts/12345"},action:{description:"The HTTP method to use for the request\n",$ref:"#/components/schemas/HttpAction"},rel:{description:"The relation of this link to its containing entity, as defined by the [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)\n",type:"string"},types:{type:"array",items:{$ref:"#/components/schemas/ContentTypes"},description:"The content-types that can be used in the Accept header. **Note:** Plaid currently only accepts the PDF (`application/pdf`) content type\n"}}},HttpAction:{title:"HTTP action type",description:"The HTTP method to use for requests\n",type:"string",enum:["GET","POST","PATCH","DELETE","PUT"]},ContentTypes:{title:"Content Types",description:"Types of document formats. (Suggested values)\n",type:"string",enum:["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"]},StatementPDF:{title:"Statement PDF",description:"An account statement in PDF format\n",type:"string",format:"binary"},AssetTransferNetworkList:{title:"Asset Transfer Networks",description:"A paginated array of asset transfer networks for the account\n",type:"object",properties:{assetTransferNetworks:{type:"array",description:"A paginated array of asset transfer networks for the account\n",items:{$ref:"#/components/schemas/AssetTransferNetwork"}}},required:["assetTransferNetworks"]},AssetTransferNetwork:{title:"Asset Transfer Network",description:"Information required to facilitate asset transfer from this account\n",type:"object",properties:{identifier:{type:"string",description:"The number used to identify the account within the asset transfer network.\nIf identifierType is ACCOUNT_NUMBER, this is the account number;\nif identifierType is TOKENIZED_ACCOUNT_NUMBER, this is a tokenized account number\n"},identifierType:{$ref:"#/components/schemas/PaymentNetworkIdentifierType"},institutionName:{description:"The name of the institution holding the account\n",type:"string"},institutionId:{description:"Institution identifier used by the asset transfer network ie. the Depository Trust and\nClearing Corporation code for the institution holding the account\n",type:"string"},type:{$ref:"#/components/schemas/AssetTransferType"},jointAccount:{description:"Whether this account has joint owners\n",type:"boolean"}},required:["identifier","institutionId","type"]},PaymentNetworkIdentifierType:{title:"Payment Network Identifier Type",description:"The type of identifier used to identify the account in the payment network\n",type:"string",enum:["ACCOUNT_NUMBER","TOKENIZED_ACCOUNT_NUMBER"]},AssetTransferType:{title:"Asset Transfer Type",description:"The type of asset transfer\n",type:"string",enum:["CA_ATON","US_ACATS","US_DTC"]}}}}},l=function(e){return(0,i.jsx)("div",{className:"no-top-margin",children:(0,i.jsx)("div",{className:"api-container",children:(0,i.jsx)(s(),{full:!0,children:(0,i.jsx)(o.RedocStandalone,{spec:d[e.version],options:{nativeScrollbars:!0,hideDownloadButton:!0,disableSearch:!0,theme:{sidebar:{width:"0px"}}},onLoaded:function(){var e=window.location.hash;""!==e&&p.OK.scrollTo(e.slice(1),{offset:-100})}})})})})};l.propTypes={version:c().oneOf(["4.6","5.0","5.1","5.2","5.3","6.0"])};var u=l},4033:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i,o,a=n(5893),s=n(1071),r=n(7294);function c(){return c=Object.assign||function(e){for(var t=1;tIntroduction – Plaid Core Exchange

    Introduction

    With Core Exchange, Plaid has taken the guesswork out of building to the FDX standard. +Introduction – Plaid Core Exchange

    Introduction

    With Core Exchange, Plaid has taken the guesswork out of building to the FDX standard. With our spec, your organization will know exactly which fields are needed to power connectivity to the Plaid Network and be FDX-aligned. By building a Core Exchange API, you’ll enable your customers to seamlessly connect their accounts to over 8,000 applications powered by Plaid, including payment services, budgeting apps, and many more. @@ -14,4 +14,4 @@ This estimated timeline covers the time period for building, testing, and deployment. It doesn't cover your institution's internal review and approval process, migrating existing integrations, or other considerations included in this document.

    API flow overview

    At a high level, the Plaid network sends your API secure requests for account balance and transaction information.

    Security flow

    Plaid uses your OpenID Connect security flow to allow your users to connect their financial accounts to their other financial applications.

    Plaid requests account information

    The first time a user connects their account to the Plaid network, Plaid will send a request for a transaction history period of two years. Afterward, Plaid will send periodic requests for a transaction history period of 14 days. Plaid will also periodically request other account information, including current balances, available balances, and liabilities.

    The most common accounts are:

    • Deposit accounts
    • Investment accounts
    • Loan accounts (most commonly STUDENTLOAN and MORTGAGE)
    • Line of credit accounts (most commonly CREDITCARD)

    Plaid doesn't use Core Exchange for the following:

    • Plaid doesn't allow Plaid partners access to your organization's Core Exchange API implementation directly.

    Security and privacy

    Plaid has established security and privacy processes to help keep your customer's data secure. -See the Plaid Security Portal for more information.


    MIT 2024 © Plaid.
    \ No newline at end of file +See the Plaid Security Portal for more information.


    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/api-versions.html b/_tmp/api-versions.html index ab10b85..063c27f 100644 --- a/_tmp/api-versions.html +++ b/_tmp/api-versions.html @@ -1,8 +1,8 @@ -Overview – Plaid Core Exchange

    Overview

    When your organization builds Core Exchange, you implement a Financial Data Exchange (FDX)-aligned API. +Overview – Plaid Core Exchange

    Overview

    When your organization builds Core Exchange, you implement a Financial Data Exchange (FDX)-aligned API. This API handles GET HTTP requests that the Plaid network (or other data networks that you partner with) send. These requests are for information about your customers' financial accounts. Please note that this specification is subject to change as we make improvements to the product. If you have questions, please reach out to the Plaid team.

    Versions

    See the following API references for the Core Exchange versions that Plaid supports. Core Exchange uses the same version numbers as FDX.

    For version information, see the changelist.

    Plaid integration and interoperability

    The Core Exchange specifications describe the subset of FDX endpoints required by Plaid, as well as the subset of FDX information Plaid consumes from each endpoint. Plaid takes the following approach to documenting these subsets:

    • ENUMS: In cases where an endpoint describes FDX enums that Plaid doesn't consume, the specifications note the enums Plaid consumes, but refrains from removing unused enums. This enables your organization to more easily integrate your Core Exchange implementation with other data networks. -For example, FDX defines many account type enums, so the specifications retain these enums but notes which account type enums Plaid consumes in the GET \accounts\{id} endpoint reference.

    • SCHEMAS: In cases where an endpoint describes FDX schemas that Plaid doesn't consume, the specification omits the schema.


    MIT 2024 © Plaid.
    \ No newline at end of file +For example, FDX defines many account type enums, so the specifications retain these enums but notes which account type enums Plaid consumes in the GET \accounts\{id} endpoint reference.

  • SCHEMAS: In cases where an endpoint describes FDX schemas that Plaid doesn't consume, the specification omits the schema.


  • MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/api-versions/five-dot-one.html b/_tmp/api-versions/five-dot-one.html index d0c62fc..4f52149 100644 --- a/_tmp/api-versions/five-dot-one.html +++ b/_tmp/api-versions/five-dot-one.html @@ -1 +1 @@ -v5.1 – Plaid Core Exchange \ No newline at end of file +v5.1 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/api-versions/five-dot-three.html b/_tmp/api-versions/five-dot-three.html index e65895e..c012313 100644 --- a/_tmp/api-versions/five-dot-three.html +++ b/_tmp/api-versions/five-dot-three.html @@ -1 +1 @@ -v5.3 – Plaid Core Exchange \ No newline at end of file +v5.3 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/api-versions/five-dot-two.html b/_tmp/api-versions/five-dot-two.html index b6a98bf..83a1992 100644 --- a/_tmp/api-versions/five-dot-two.html +++ b/_tmp/api-versions/five-dot-two.html @@ -1 +1 @@ -v5.2 – Plaid Core Exchange \ No newline at end of file +v5.2 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/api-versions/five-dot-zero.html b/_tmp/api-versions/five-dot-zero.html index 60883ae..7b103f1 100644 --- a/_tmp/api-versions/five-dot-zero.html +++ b/_tmp/api-versions/five-dot-zero.html @@ -1 +1 @@ -v5.0 – Plaid Core Exchange \ No newline at end of file +v5.0 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/api-versions/four-dot-six.html b/_tmp/api-versions/four-dot-six.html index 812192b..a178200 100644 --- a/_tmp/api-versions/four-dot-six.html +++ b/_tmp/api-versions/four-dot-six.html @@ -1 +1 @@ -v4.6 – Plaid Core Exchange \ No newline at end of file +v4.6 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/api-versions/six-dot-zero.html b/_tmp/api-versions/six-dot-zero.html index c1aff94..9813ca1 100644 --- a/_tmp/api-versions/six-dot-zero.html +++ b/_tmp/api-versions/six-dot-zero.html @@ -1 +1 @@ -v6.0 – Plaid Core Exchange \ No newline at end of file +v6.0 – Plaid Core Exchange \ No newline at end of file diff --git a/_tmp/authentication.html b/_tmp/authentication.html index ff58156..aa287d0 100644 --- a/_tmp/authentication.html +++ b/_tmp/authentication.html @@ -1,4 +1,4 @@ -Authentication – Plaid Core Exchange

    Authentication

    Overview

    Core Exchange uses the OpenID Connect protocol (OIDC) to authenticate your customers. OIDC is an extension of OAuth2. +Authentication – Plaid Core Exchange

    Authentication

    Overview

    Core Exchange uses the OpenID Connect protocol (OIDC) to authenticate your customers. OIDC is an extension of OAuth2. Plaid will use the OIDC flow to get authorization from the end user. This authorization allows Plaid to access your Core Exchange API on their behalf. In order to successfully allow your users to complete the authorization flow, you must:

    Create an OIDC-compliant server

    You can generate an OIDC-compliant server in any of the following ways:

    • Using your existing OAuth identity provider. (For example, Okta, Auth0, Ping Identity, Azure Active Directory, AWS Cognito)
      • If you don't yet have an identity provider, Plaid recommends our partner, Okta. Okta is an industry-leading, independent provider with expertise onboarding data partners to OAuth integrations. Contact us for help getting started with Okta.
    • Building a server with an OIDC-certified open source or commercial implementation
    • Building a server from scratch (not recommended)

    Issue Plaid a client ID and client secret

    In order to allow Plaid to authenticate its request for an access token, you will need to issue a client ID and client secret. You may create the client ID and client secret using your preferred method, but we provide some guidance here. @@ -23,4 +23,4 @@ (Note: These errors do not appear in the OAuth spec.)


    ParameterDescription
    invalid_requestThe request is missing required parameter.
    invalid_clientClient authentication failed.
    invalid_grantThe provided authorization grant or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client (rely on error description from FIs to further break this out).
    unauthorized_clientThe authenticated client is not authorized to use this authorization grant type.
    unsupported_grant_typeThe authorization grant type is not supported by the authorization server.
    invalid_scopeThe requested scope is invalid, unknown, or malformed.

    App2app

    App2app is a mechanism that allows mobile apps performing OAuth2 or OpenID Connect based authentication to offer a much simpler, faster flow if the user already has an app provided by the authorization server owner installed on their mobile device.

    Follow the steps below to implement App2app with your Core Exchange API:

    1. Set up app deep link URLs

    Set up claimed HTTPS URLs so that the OAuth redirect launches the app (if installed) instead of the mobile web page. Ensure fallback to web if the app is not installed or is not available. (For example, if the user is on a desktop.)

    See the resources below for instructions on how to set up deep link URLs:

    2. Set up in-app flow to issue OAuth authorization code

    • Native experience (Recommended): Build a fully in-app flow whereby the users completes the authentication flow and the authorization code is issued from within the app, before redirecting back to Plaid.
    • Semi-native experience (Alternative): If a fully native experience cannot be resourced we can discuss alternative options, but there will be UX trade-offs.

    3. Provide the authorization endpoint redirect URLs to Plaid

    Plaid recommends that the data partner provides Plaid with two redirect URLs:

    • An App2app flow redirect URL
    • A regular web-based flow redirect URL

    This allows Plaid to control the user path and isolate any issues that may arise. -(For example, if a specific developer ("app") incorrectly implements the App2app flow.)


    MIT 2024 © Plaid.
    \ No newline at end of file +(For example, if a specific developer ("app") incorrectly implements the App2app flow.)


    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/changelist.html b/_tmp/changelist.html index 2bd3dfb..dd25490 100644 --- a/_tmp/changelist.html +++ b/_tmp/changelist.html @@ -1,4 +1,4 @@ -API Changelist – Plaid Core Exchange

    API Changelist

    See the following changelist for updates to the Core Exchange specification. Core Exchange uses the same version numbers as FDX.

    V6.0 Core Exchange API specification

    FDX changelist

    In PaymentNetworkType adding US_FEDNOW (Federal Reserve Instant Payment System)

    Breaking changes

    In AccountWithDetails (response for /accounts/{accountId} endpoint) removing the seven xxxAccount: properties and requiring discriminator value accountCategory: +API Changelist – Plaid Core Exchange

    API Changelist

    See the following changelist for updates to the Core Exchange specification. Core Exchange uses the same version numbers as FDX.

    V6.0 Core Exchange API specification

    FDX changelist

    In PaymentNetworkType adding US_FEDNOW (Federal Reserve Instant Payment System)

    Breaking changes

    In AccountWithDetails (response for /accounts/{accountId} endpoint) removing the seven xxxAccount: properties and requiring discriminator value accountCategory: on each account type, one of ANNUITY_ACCOUNT, COMMERCIAL_ACCOUNT, DEPOSIT_ACCOUNT, INSURANCE_ACCOUNT, INVESTMENT_ACCOUNT, LOAN_ACCOUNT or LOC_ACCOUNT. These values have not changed since prior versions v5.2 and v5.3

    An implementer’s mapping of each Account must set required AccountDescriptor property accountCategory, and account is no longer wrapped with a named property (like depositAccount) when set into an AccountWithDetails response object.

    In Transactions removing the six xxxTransaction: properties and requiring discriminator value accountCategory: on each transaction type. The property accountCategory and its use on Transaction types is new.

    An implementer’s mapping of each Transaction must set required Transaction property accountCategory, @@ -6,4 +6,4 @@ on each account type, one of ANNUITY_ACCOUNT, COMMERCIAL_ACCOUNT, DEPOSIT_ACCOUNT, INSURANCE_ACCOUNT, INVESTMENT_ACCOUNT, LOAN_ACCOUNT or LOC_ACCOUNT. These values have not changed since prior versions v5.2 and v5.3

    An implementer’s mapping of each Account must set required AccountDescriptor property accountCategory, and account is no longer wrapped with a named property (like depositAccount) when set into an AccountWithDescriptor response object.

    V5.3 Core Exchange API specification

    FDX changelist

    • A new account type (CommercialAccountType) was added. -The following account types are classified as commercial accounts:
      • COMMERCIALDEPOSIT
      • COMMERCIALINVESTMENT
      • COMMERCIALLOAN
      • COMMERCIALLINEOFCREDIT
    • Commercial account type includes a new descriptor: CommercialAccountDescriptor.

    Breaking changes

    • The ISO 3166 country code standard was updated to ISO 3166-1 alpha-2.
    • The list of ISO 4217 currency codes was updated. (As of January 1, 2023)
    • Note: Some country codes (AN, CS) and currency codes (HRK) were removed in the updated version, making this a breaking change.

    (Please see the ISO standards for more information.)

    Plaid changelist

    Breaking changes

    • Plaid will not provide balance product support for the new CommercialAccountType.

    V5.2 Core Exchange API specification

    FDX changelist

    • None

    Plaid changelist

    • None

    V5.1 Core Exchange API specification

    FDX changelist

    • For the endpoints that Plaid supports, FDX introduces minor enum, model, and formatting changes in this version.

    Breaking changes:

    • None

    Plaid changelist

    • Plaid introduces support and documentation for FDX Digital Assets.

    V5.0 Core Exchange API specification

    FDX changelist

    • For the endpoints that Plaid supports, FDX introduces minor enum, model, and formatting changes in this version.

    Breaking changes:

    • The state property on an Address was renamed to the more inclusive region.
    • The specification requires timestamps on transactions be in ISO 8601 format.

    Plaid changelist

    • Plaid introduces support and documentation for FDX investment models, including investment accounts, investment holdings, and investment transactions.

    V4.6 Core Exchange API specification

    FDX changelist

    • None

    Plaid changelist

    • Plaid introduces Core Exchange in this version by choosing a subset of FDX endpoints to support and adding Plaid-specific documentation.

    MIT 2024 © Plaid.
    \ No newline at end of file +The following account types are classified as commercial accounts:
    • COMMERCIALDEPOSIT
    • COMMERCIALINVESTMENT
    • COMMERCIALLOAN
    • COMMERCIALLINEOFCREDIT
  • Commercial account type includes a new descriptor: CommercialAccountDescriptor.
  • Breaking changes

    • The ISO 3166 country code standard was updated to ISO 3166-1 alpha-2.
    • The list of ISO 4217 currency codes was updated. (As of January 1, 2023)
    • Note: Some country codes (AN, CS) and currency codes (HRK) were removed in the updated version, making this a breaking change.

    (Please see the ISO standards for more information.)

    Plaid changelist

    Breaking changes

    • Plaid will not provide balance product support for the new CommercialAccountType.

    V5.2 Core Exchange API specification

    FDX changelist

    • None

    Plaid changelist

    • None

    V5.1 Core Exchange API specification

    FDX changelist

    • For the endpoints that Plaid supports, FDX introduces minor enum, model, and formatting changes in this version.

    Breaking changes:

    • None

    Plaid changelist

    • Plaid introduces support and documentation for FDX Digital Assets.

    V5.0 Core Exchange API specification

    FDX changelist

    • For the endpoints that Plaid supports, FDX introduces minor enum, model, and formatting changes in this version.

    Breaking changes:

    • The state property on an Address was renamed to the more inclusive region.
    • The specification requires timestamps on transactions be in ISO 8601 format.

    Plaid changelist

    • Plaid introduces support and documentation for FDX investment models, including investment accounts, investment holdings, and investment transactions.

    V4.6 Core Exchange API specification

    FDX changelist

    • None

    Plaid changelist

    • Plaid introduces Core Exchange in this version by choosing a subset of FDX endpoints to support and adding Plaid-specific documentation.

    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/example.html b/_tmp/example.html index bf27279..b14f529 100644 --- a/_tmp/example.html +++ b/_tmp/example.html @@ -1,3 +1,3 @@ -Mock server – Plaid Core Exchange

    Mock server

    Use our mock bank server to understand the subset of FDX information that Plaid consumes. +Mock server – Plaid Core Exchange

    Mock server

    Use our mock bank server to understand the subset of FDX information that Plaid consumes. This mock server uses hardcoded public bearer tokens. -Remember that in production, bearer tokens must be secure.

    See the following Postman collection:

    Run in Postman

    Or, skip Postman and make a few example cURL calls directly to the mock server in a command line:

    Action
    Example call
    List all accounts for the test usercurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's checking accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_01_checking' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's checking accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_01_checking/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'
    List the supported payment networks for the test user's savings accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_02_savings/payment-networks' --header 'Authorization: Bearer 000000000001'
    Get the contact info on the test user's savings accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_02_savings/contact' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's mortgage accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loan_02_mortgage' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's credit cardcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loc_01_creditcard' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's credit cardcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loc_01_creditcard/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's investment accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/investment_01_trust/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'

    MIT 2024 © Plaid.
    \ No newline at end of file +Remember that in production, bearer tokens must be secure.

    See the following Postman collection:

    Run in Postman

    Or, skip Postman and make a few example cURL calls directly to the mock server in a command line:

    Action
    Example call
    List all accounts for the test usercurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's checking accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_01_checking' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's checking accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_01_checking/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'
    List the supported payment networks for the test user's savings accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_02_savings/payment-networks' --header 'Authorization: Bearer 000000000001'
    Get the contact info on the test user's savings accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/deposit_02_savings/contact' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's mortgage accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loan_02_mortgage' --header 'Authorization: Bearer 000000000001'
    Get the balance of the test user's credit cardcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loc_01_creditcard' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's credit cardcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/loc_01_creditcard/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'
    List the transactions on the test user's investment accountcurl --request GET 'https://api.firstplaidypusbank.plaid.com/fdx/v5/accounts/investment_01_trust/transactions?startTime=2022-01-30&endTime=2022-05-30' --header 'Authorization: Bearer 000000000001'

    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/implementation-checklists.html b/_tmp/implementation-checklists.html index 37171f2..ab97fe2 100644 --- a/_tmp/implementation-checklists.html +++ b/_tmp/implementation-checklists.html @@ -1,4 +1,4 @@ -Implementation checklist – Plaid Core Exchange

    Implementation checklist

    Scoping and implementation

    • Review the Core Exchange API Reference documentation
    • +Implementation checklist – Plaid Core Exchange

      Implementation checklist

      Scoping and implementation

      • Review the Core Exchange API Reference documentation
      • Try out our Postman collection to test requests and responses on a mock bank server
      • Complete the Intake Questionnaire. The information provided allows us to best support you through your onboarding experience
      • Get access to the Plaid Data Partner Dashboard.

        To access Plaid's Data Partner Dashboard, you must create a new dashboard team and have your Plaid contact convert it into a Data Partner team.

        • If your organization already has access to the Plaid Dashboard as a Plaid customer

          • While logged in at dashboard.plaid.com, navigate to the button in the top left corner and click "Create a new team."
          • @@ -51,4 +51,4 @@
          • Dependent on the scale of your existing Plaid volume, we may encourage either:
            • Friends and family pilot: Set up 1-2 financial institutions for testing in production under a pseudonym only findable by active testers. Plaid will share a PDF checklist of tests to run to testers.
            • Production pilot: Bring 1-5 financial institutions live in production to validate integration before bringing the rest of your institutions live.

          • Upload financial institutions into the Data Partner dashboard
          • Plaid brings financial institutions live on API!

          2. Consider backend data complexities upfront:

          • Pilot/testing plan: Do you have different backend pods, product lines, or backend core groupings that might align to different backend data models? If so, we encourage representing each subgroup in a pilot cohort to uncover any variability or errors.
          • -
          • Account and routing numbers: There is zero room for error when it comes to accuracy of account and routing numbers. We have found with platforms representing different backend cores there can be some edge-case discrepancy. Please validate that /payment-network data is accurate for all institutions before going live.

          MIT 2024 © Plaid.
      \ No newline at end of file +
    • Account and routing numbers: There is zero room for error when it comes to accuracy of account and routing numbers. We have found with platforms representing different backend cores there can be some edge-case discrepancy. Please validate that /payment-network data is accurate for all institutions before going live.

    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/_tmp/user-experience.html b/_tmp/user-experience.html index 2953f26..8967328 100644 --- a/_tmp/user-experience.html +++ b/_tmp/user-experience.html @@ -1,4 +1,4 @@ -User experience – Plaid Core Exchange

    User experience

    Plaid Link is the UI component users interact with to link their accounts to an app using Plaid. +User experience – Plaid Core Exchange

    User experience

    Plaid Link is the UI component users interact with to link their accounts to an app using Plaid. Your institution will show up in Plaid Link after you go live on Core Exchange.

    Institution selection

    A user wants to connect their financial account to an app called WonderWallet. WonderWallet sends them to Plaid Link where they can select their financial institution. In this example, the financial institution is called First Platypus Bank.

    OAuth Example

    Authentication

    OAuth

    The user is asked to authenticate with First Platypus. @@ -11,4 +11,4 @@ Next, the user connects their account through your OAuth flow, which would be associated with their phone number. When the same user wants to connect their account to another app, Plaid enables the user to do so using their phone number and secure authentication methods like one-time passcodes and passkeys. This streamlined experience has built-in security controls and advanced monitoring that automatically detect suspicious activity and help prevent fraud.

    As a data partner for Core Exchange, you’re automatically enabled for this streamlined experience with no integration work required. -Your users can now opt-in and benefit from a faster way to securely connect their accounts to apps and services on the Plaid network.


    MIT 2024 © Plaid.
    \ No newline at end of file +Your users can now opt-in and benefit from a faster way to securely connect their accounts to apps and services on the Plaid network.


    MIT 2024 © Plaid.
    \ No newline at end of file diff --git a/api-versions.html b/api-versions.html index 0a19311..d9a14ef 100644 --- a/api-versions.html +++ b/api-versions.html @@ -1,2 +1,2 @@ -Overview – Plaid Core Exchange \ No newline at end of file +Overview – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/five-dot-one.html b/api-versions/five-dot-one.html index d8463a5..5785106 100644 --- a/api-versions/five-dot-one.html +++ b/api-versions/five-dot-one.html @@ -1,2 +1,2 @@ -v5.1 – Plaid Core Exchange \ No newline at end of file +v5.1 – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/five-dot-three.html b/api-versions/five-dot-three.html index 5b65cb8..4c8c20f 100644 --- a/api-versions/five-dot-three.html +++ b/api-versions/five-dot-three.html @@ -1,2 +1,2 @@ -v5.3 – Plaid Core Exchange \ No newline at end of file +v5.3 – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/five-dot-two.html b/api-versions/five-dot-two.html index bb79c14..2379adc 100644 --- a/api-versions/five-dot-two.html +++ b/api-versions/five-dot-two.html @@ -1,2 +1,2 @@ -v5.2 – Plaid Core Exchange \ No newline at end of file +v5.2 – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/five-dot-zero.html b/api-versions/five-dot-zero.html index fb6b417..e243eb5 100644 --- a/api-versions/five-dot-zero.html +++ b/api-versions/five-dot-zero.html @@ -1,2 +1,2 @@ -v5.0 – Plaid Core Exchange \ No newline at end of file +v5.0 – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/four-dot-six.html b/api-versions/four-dot-six.html index cbed295..42be330 100644 --- a/api-versions/four-dot-six.html +++ b/api-versions/four-dot-six.html @@ -1,2 +1,2 @@ -v4.6 – Plaid Core Exchange \ No newline at end of file +v4.6 – Plaid Core Exchange \ No newline at end of file diff --git a/api-versions/six-dot-zero.html b/api-versions/six-dot-zero.html index 6315230..bc38a53 100644 --- a/api-versions/six-dot-zero.html +++ b/api-versions/six-dot-zero.html @@ -1,2 +1,2 @@ -v6.0 – Plaid Core Exchange \ No newline at end of file +v6.0 – Plaid Core Exchange \ No newline at end of file diff --git a/authentication.html b/authentication.html index a0157c6..892c716 100644 --- a/authentication.html +++ b/authentication.html @@ -1,2 +1,2 @@ -Authentication – Plaid Core Exchange \ No newline at end of file +Authentication – Plaid Core Exchange \ No newline at end of file diff --git a/changelist.html b/changelist.html index c36dce4..13efd90 100644 --- a/changelist.html +++ b/changelist.html @@ -1,2 +1,2 @@ -API Changelist – Plaid Core Exchange \ No newline at end of file +API Changelist – Plaid Core Exchange \ No newline at end of file diff --git a/example.html b/example.html index d4d5e51..ca7c55b 100644 --- a/example.html +++ b/example.html @@ -1,2 +1,2 @@ -Mock server – Plaid Core Exchange \ No newline at end of file +Mock server – Plaid Core Exchange \ No newline at end of file diff --git a/implementation-checklists.html b/implementation-checklists.html index a63efad..c40f849 100644 --- a/implementation-checklists.html +++ b/implementation-checklists.html @@ -1,2 +1,2 @@ -Implementation checklist – Plaid Core Exchange \ No newline at end of file +Implementation checklist – Plaid Core Exchange \ No newline at end of file diff --git a/index.html b/index.html index fa5cb79..5196088 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Introduction – Plaid Core Exchange \ No newline at end of file +Introduction – Plaid Core Exchange \ No newline at end of file diff --git a/user-experience.html b/user-experience.html index dba0cbc..6849148 100644 --- a/user-experience.html +++ b/user-experience.html @@ -1,2 +1,2 @@ -User experience – Plaid Core Exchange \ No newline at end of file +User experience – Plaid Core Exchange \ No newline at end of file diff --git a/versions/6.0/corex.yaml b/versions/6.0/corex.yaml index 6d51a16..61a4014 100644 --- a/versions/6.0/corex.yaml +++ b/versions/6.0/corex.yaml @@ -2966,6 +2966,8 @@ components: A paginated array of asset transfer networks for the account items: $ref: '#/components/schemas/AssetTransferNetwork' + required: + - assetTransferNetworks AssetTransferNetwork: title: Asset Transfer Network