plaid 12.0.0 → 14.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +86 -1
  3. data/CONTRIBUTING.md +15 -59
  4. data/Dockerfile +12 -0
  5. data/Gemfile.lock +48 -35
  6. data/LICENSE.txt +1 -1
  7. data/Makefile +21 -0
  8. data/PUBLISH.md +7 -7
  9. data/README.md +103 -95
  10. data/Rakefile +8 -79
  11. data/UPGRADING.md +4 -0
  12. data/docs/ACHClass.md +15 -0
  13. data/docs/APR.md +24 -0
  14. data/docs/AccountAssets.md +40 -0
  15. data/docs/AccountAssetsAllOf.md +24 -0
  16. data/docs/AccountBalance.md +26 -0
  17. data/docs/AccountBase.md +32 -0
  18. data/docs/AccountFiltersResponse.md +24 -0
  19. data/docs/AccountIdentity.md +34 -0
  20. data/docs/AccountIdentityAllOf.md +18 -0
  21. data/docs/AccountSubtype.md +15 -0
  22. data/docs/AccountType.md +15 -0
  23. data/docs/AccountsBalanceGetRequest.md +24 -0
  24. data/docs/AccountsBalanceGetRequestOptions.md +18 -0
  25. data/docs/AccountsGetRequest.md +24 -0
  26. data/docs/AccountsGetRequestOptions.md +18 -0
  27. data/docs/AccountsGetResponse.md +22 -0
  28. data/docs/Address.md +20 -0
  29. data/docs/AddressData.md +26 -0
  30. data/docs/Amount.md +20 -0
  31. data/docs/AssetReport.md +28 -0
  32. data/docs/AssetReportAuditCopyCreateRequest.md +24 -0
  33. data/docs/AssetReportAuditCopyCreateResponse.md +20 -0
  34. data/docs/AssetReportAuditCopyGetRequest.md +22 -0
  35. data/docs/AssetReportAuditCopyRemoveRequest.md +22 -0
  36. data/docs/AssetReportAuditCopyRemoveResponse.md +20 -0
  37. data/docs/AssetReportCreateRequest.md +26 -0
  38. data/docs/AssetReportCreateRequestOptions.md +22 -0
  39. data/docs/AssetReportCreateResponse.md +22 -0
  40. data/docs/AssetReportFilterRequest.md +24 -0
  41. data/docs/AssetReportFilterResponse.md +22 -0
  42. data/docs/AssetReportGetRequest.md +24 -0
  43. data/docs/AssetReportGetResponse.md +22 -0
  44. data/docs/AssetReportItem.md +26 -0
  45. data/docs/AssetReportPDFGetRequest.md +22 -0
  46. data/docs/AssetReportRefreshRequest.md +26 -0
  47. data/docs/AssetReportRefreshRequestOptions.md +22 -0
  48. data/docs/AssetReportRefreshResponse.md +22 -0
  49. data/docs/AssetReportRemoveRequest.md +22 -0
  50. data/docs/AssetReportRemoveResponse.md +20 -0
  51. data/docs/AssetReportTransaction.md +62 -0
  52. data/docs/AssetReportTransactionAllOf.md +20 -0
  53. data/docs/AssetReportUser.md +30 -0
  54. data/docs/AssetsErrorWebhook.md +24 -0
  55. data/docs/AssetsProductReadyWebhook.md +22 -0
  56. data/docs/AuthGetNumbers.md +24 -0
  57. data/docs/AuthGetRequest.md +24 -0
  58. data/docs/AuthGetRequestOptions.md +18 -0
  59. data/docs/AuthGetResponse.md +24 -0
  60. data/docs/AutomaticallyVerifiedWebhook.md +24 -0
  61. data/docs/BankTransfer.md +50 -0
  62. data/docs/BankTransferBalance.md +20 -0
  63. data/docs/BankTransferBalanceGetRequest.md +22 -0
  64. data/docs/BankTransferBalanceGetResponse.md +22 -0
  65. data/docs/BankTransferCancelRequest.md +22 -0
  66. data/docs/BankTransferCancelResponse.md +18 -0
  67. data/docs/BankTransferCreateRequest.md +46 -0
  68. data/docs/BankTransferCreateResponse.md +20 -0
  69. data/docs/BankTransferDirection.md +15 -0
  70. data/docs/BankTransferEvent.md +40 -0
  71. data/docs/BankTransferEventListRequest.md +40 -0
  72. data/docs/BankTransferEventListResponse.md +20 -0
  73. data/docs/BankTransferEventSyncRequest.md +24 -0
  74. data/docs/BankTransferEventSyncResponse.md +20 -0
  75. data/docs/BankTransferEventType.md +15 -0
  76. data/docs/BankTransferFailure.md +20 -0
  77. data/docs/BankTransferGetRequest.md +22 -0
  78. data/docs/BankTransferGetResponse.md +20 -0
  79. data/docs/BankTransferListRequest.md +32 -0
  80. data/docs/BankTransferListResponse.md +20 -0
  81. data/docs/BankTransferMigrateAccountRequest.md +26 -0
  82. data/docs/BankTransferMigrateAccountResponse.md +22 -0
  83. data/docs/BankTransferNetwork.md +15 -0
  84. data/docs/BankTransferReceiverDetails.md +18 -0
  85. data/docs/BankTransferStatus.md +15 -0
  86. data/docs/BankTransferType.md +15 -0
  87. data/docs/BankTransferUser.md +22 -0
  88. data/docs/CategoriesGetResponse.md +20 -0
  89. data/docs/Category.md +22 -0
  90. data/docs/Cause.md +20 -0
  91. data/docs/CountryCode.md +15 -0
  92. data/docs/CreditCardLiability.md +34 -0
  93. data/docs/CreditFilter.md +18 -0
  94. data/docs/DefaultUpdateWebhook.md +26 -0
  95. data/docs/DepositSwitchAddressData.md +26 -0
  96. data/docs/DepositSwitchAltCreateRequest.md +24 -0
  97. data/docs/DepositSwitchAltCreateResponse.md +20 -0
  98. data/docs/DepositSwitchCreateRequest.md +24 -0
  99. data/docs/DepositSwitchCreateResponse.md +20 -0
  100. data/docs/DepositSwitchGetRequest.md +22 -0
  101. data/docs/DepositSwitchGetResponse.md +38 -0
  102. data/docs/DepositSwitchTargetAccount.md +24 -0
  103. data/docs/DepositSwitchTargetUser.md +28 -0
  104. data/docs/DepositSwitchTokenCreateRequest.md +22 -0
  105. data/docs/DepositSwitchTokenCreateResponse.md +22 -0
  106. data/docs/DepositoryFilter.md +18 -0
  107. data/docs/Email.md +22 -0
  108. data/docs/Employee.md +22 -0
  109. data/docs/EmployeeIncomeSummaryFieldString.md +20 -0
  110. data/docs/Employer.md +24 -0
  111. data/docs/EmployerIncomeSummaryFieldString.md +20 -0
  112. data/docs/EmployersSearchRequest.md +24 -0
  113. data/docs/EmployersSearchResponse.md +20 -0
  114. data/docs/Error.md +34 -0
  115. data/docs/ExternalPaymentSchedule.md +24 -0
  116. data/docs/ExternalPaymentScheduleGet.md +26 -0
  117. data/docs/HealthIncident.md +24 -0
  118. data/docs/HistoricalBalance.md +24 -0
  119. data/docs/HistoricalUpdateWebhook.md +26 -0
  120. data/docs/Holding.md +34 -0
  121. data/docs/HoldingsDefaultUpdateWebhook.md +28 -0
  122. data/docs/IdentityGetRequest.md +24 -0
  123. data/docs/IdentityGetRequestOptions.md +18 -0
  124. data/docs/IdentityGetResponse.md +22 -0
  125. data/docs/IncidentUpdate.md +22 -0
  126. data/docs/IncomeBreakdown.md +24 -0
  127. data/docs/IncomeSummary.md +30 -0
  128. data/docs/IncomeSummaryFieldNumber.md +20 -0
  129. data/docs/IncomeSummaryFieldString.md +20 -0
  130. data/docs/IncomeVerificationCreateRequest.md +22 -0
  131. data/docs/IncomeVerificationCreateResponse.md +20 -0
  132. data/docs/IncomeVerificationDocumentsDownloadRequest.md +22 -0
  133. data/docs/IncomeVerificationDocumentsDownloadResponse.md +18 -0
  134. data/docs/IncomeVerificationPaystubGetRequest.md +22 -0
  135. data/docs/IncomeVerificationPaystubGetResponse.md +20 -0
  136. data/docs/IncomeVerificationStatusWebhook.md +24 -0
  137. data/docs/IncomeVerificationSummaryGetRequest.md +22 -0
  138. data/docs/IncomeVerificationSummaryGetResponse.md +20 -0
  139. data/docs/IncomeVerificationWebhookStatus.md +18 -0
  140. data/docs/InflowModel.md +26 -0
  141. data/docs/InitialUpdateWebhook.md +26 -0
  142. data/docs/Institution.md +36 -0
  143. data/docs/InstitutionStatus.md +30 -0
  144. data/docs/InstitutionsGetByIdRequest.md +26 -0
  145. data/docs/InstitutionsGetByIdRequestOptions.md +20 -0
  146. data/docs/InstitutionsGetByIdResponse.md +20 -0
  147. data/docs/InstitutionsGetRequest.md +28 -0
  148. data/docs/InstitutionsGetRequestOptions.md +24 -0
  149. data/docs/InstitutionsGetResponse.md +22 -0
  150. data/docs/InstitutionsSearchAccountFilter.md +24 -0
  151. data/docs/InstitutionsSearchRequest.md +28 -0
  152. data/docs/InstitutionsSearchRequestOptions.md +22 -0
  153. data/docs/InstitutionsSearchResponse.md +20 -0
  154. data/docs/InvestmentFilter.md +18 -0
  155. data/docs/InvestmentHoldingsGetRequestOptions.md +18 -0
  156. data/docs/InvestmentTransaction.md +44 -0
  157. data/docs/InvestmentsDefaultUpdateWebhook.md +28 -0
  158. data/docs/InvestmentsHoldingsGetRequest.md +24 -0
  159. data/docs/InvestmentsHoldingsGetResponse.md +26 -0
  160. data/docs/InvestmentsTransactionsGetRequest.md +28 -0
  161. data/docs/InvestmentsTransactionsGetRequestOptions.md +22 -0
  162. data/docs/InvestmentsTransactionsGetResponse.md +28 -0
  163. data/docs/Item.md +32 -0
  164. data/docs/ItemAccessTokenInvalidateRequest.md +22 -0
  165. data/docs/ItemAccessTokenInvalidateResponse.md +20 -0
  166. data/docs/ItemErrorWebhook.md +24 -0
  167. data/docs/ItemGetRequest.md +22 -0
  168. data/docs/ItemGetResponse.md +24 -0
  169. data/docs/ItemImportRequest.md +26 -0
  170. data/docs/ItemImportRequestOptions.md +18 -0
  171. data/docs/ItemImportRequestUserAuth.md +20 -0
  172. data/docs/ItemImportResponse.md +20 -0
  173. data/docs/ItemProductReadyWebhook.md +24 -0
  174. data/docs/ItemPublicTokenCreateRequest.md +22 -0
  175. data/docs/ItemPublicTokenCreateResponse.md +22 -0
  176. data/docs/ItemPublicTokenExchangeRequest.md +22 -0
  177. data/docs/ItemPublicTokenExchangeResponse.md +22 -0
  178. data/docs/ItemRemoveRequest.md +22 -0
  179. data/docs/ItemRemoveResponse.md +18 -0
  180. data/docs/ItemStatus.md +22 -0
  181. data/docs/ItemWebhookUpdateRequest.md +24 -0
  182. data/docs/ItemWebhookUpdateResponse.md +20 -0
  183. data/docs/JWKPublicKey.md +34 -0
  184. data/docs/JWTHeader.md +18 -0
  185. data/docs/LiabilitiesGetRequest.md +24 -0
  186. data/docs/LiabilitiesGetRequestOptions.md +18 -0
  187. data/docs/LiabilitiesGetResponse.md +24 -0
  188. data/docs/LiabilitiesObject.md +22 -0
  189. data/docs/LiabilityOverride.md +66 -0
  190. data/docs/LinkTokenAccountFilters.md +24 -0
  191. data/docs/LinkTokenCreateRequest.md +48 -0
  192. data/docs/LinkTokenCreateRequestAccountSubtypes.md +24 -0
  193. data/docs/LinkTokenCreateRequestDepositSwitch.md +18 -0
  194. data/docs/LinkTokenCreateRequestIncomeVerification.md +20 -0
  195. data/docs/LinkTokenCreateRequestPaymentInitiation.md +18 -0
  196. data/docs/LinkTokenCreateRequestUser.md +32 -0
  197. data/docs/LinkTokenCreateResponse.md +22 -0
  198. data/docs/LinkTokenGetMetadataResponse.md +30 -0
  199. data/docs/LinkTokenGetRequest.md +22 -0
  200. data/docs/LinkTokenGetResponse.md +26 -0
  201. data/docs/LoanFilter.md +18 -0
  202. data/docs/Location.md +32 -0
  203. data/docs/MFA.md +26 -0
  204. data/docs/Meta.md +22 -0
  205. data/docs/MortgageInterestRate.md +20 -0
  206. data/docs/MortgageLiability.md +56 -0
  207. data/docs/MortgagePropertyAddress.md +26 -0
  208. data/docs/NullableAccessToken.md +15 -0
  209. data/docs/NullableAddress.md +20 -0
  210. data/docs/NullableAddressData.md +26 -0
  211. data/docs/NullableItemStatus.md +22 -0
  212. data/docs/NullableNumbersACH.md +24 -0
  213. data/docs/NullableNumbersBACS.md +22 -0
  214. data/docs/NullableNumbersEFT.md +24 -0
  215. data/docs/NullableNumbersInternational.md +22 -0
  216. data/docs/NullableRecipientBACS.md +20 -0
  217. data/docs/Numbers.md +32 -0
  218. data/docs/NumbersACH.md +24 -0
  219. data/docs/NumbersBACS.md +22 -0
  220. data/docs/NumbersEFT.md +24 -0
  221. data/docs/NumbersInternational.md +22 -0
  222. data/docs/OverrideAccounts.md +38 -0
  223. data/docs/Owner.md +24 -0
  224. data/docs/OwnerOverride.md +24 -0
  225. data/docs/PSLFStatus.md +22 -0
  226. data/docs/PayFrequency.md +20 -0
  227. data/docs/PayPeriodDetails.md +26 -0
  228. data/docs/PaymentAmount.md +20 -0
  229. data/docs/PaymentInitiationAddress.md +24 -0
  230. data/docs/PaymentInitiationPaymentCreateRequest.md +28 -0
  231. data/docs/PaymentInitiationPaymentCreateResponse.md +22 -0
  232. data/docs/PaymentInitiationPaymentGetRequest.md +22 -0
  233. data/docs/PaymentInitiationPaymentGetResponse.md +34 -0
  234. data/docs/PaymentInitiationPaymentListRequest.md +24 -0
  235. data/docs/PaymentInitiationPaymentListResponse.md +22 -0
  236. data/docs/PaymentInitiationPaymentTokenCreateRequest.md +22 -0
  237. data/docs/PaymentInitiationPaymentTokenCreateResponse.md +22 -0
  238. data/docs/PaymentInitiationRecipient.md +26 -0
  239. data/docs/PaymentInitiationRecipientCreateRequest.md +28 -0
  240. data/docs/PaymentInitiationRecipientCreateResponse.md +20 -0
  241. data/docs/PaymentInitiationRecipientGetRequest.md +22 -0
  242. data/docs/PaymentInitiationRecipientGetResponse.md +28 -0
  243. data/docs/PaymentInitiationRecipientListRequest.md +20 -0
  244. data/docs/PaymentInitiationRecipientListResponse.md +20 -0
  245. data/docs/PaymentMeta.md +32 -0
  246. data/docs/PaymentStatusUpdateWebhook.md +38 -0
  247. data/docs/Paystub.md +30 -0
  248. data/docs/PaystubDeduction.md +22 -0
  249. data/docs/PaystubYTDDetails.md +20 -0
  250. data/docs/PendingExpirationWebhook.md +24 -0
  251. data/docs/PhoneNumber.md +22 -0
  252. data/docs/PlaidApi.md +5580 -0
  253. data/docs/ProcessorApexProcessorTokenCreateRequest.md +24 -0
  254. data/docs/ProcessorAuthGetRequest.md +22 -0
  255. data/docs/ProcessorAuthGetResponse.md +22 -0
  256. data/docs/ProcessorBalanceGetRequest.md +22 -0
  257. data/docs/ProcessorBalanceGetResponse.md +20 -0
  258. data/docs/ProcessorIdentityGetRequest.md +22 -0
  259. data/docs/ProcessorIdentityGetResponse.md +20 -0
  260. data/docs/ProcessorNumber.md +24 -0
  261. data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +24 -0
  262. data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +20 -0
  263. data/docs/ProcessorTokenCreateRequest.md +26 -0
  264. data/docs/ProcessorTokenCreateResponse.md +20 -0
  265. data/docs/ProductStatus.md +22 -0
  266. data/docs/ProductStatusBreakdown.md +24 -0
  267. data/docs/Products.md +15 -0
  268. data/docs/ProjectedIncomeSummaryFieldNumber.md +20 -0
  269. data/docs/RecaptchaRequiredError.md +30 -0
  270. data/docs/RecipientBACS.md +20 -0
  271. data/docs/SandboxBankTransferSimulateRequest.md +26 -0
  272. data/docs/SandboxBankTransferSimulateResponse.md +18 -0
  273. data/docs/SandboxItemFireWebhookRequest.md +24 -0
  274. data/docs/SandboxItemFireWebhookResponse.md +20 -0
  275. data/docs/SandboxItemResetLoginRequest.md +22 -0
  276. data/docs/SandboxItemResetLoginResponse.md +20 -0
  277. data/docs/SandboxItemSetVerificationStatusRequest.md +26 -0
  278. data/docs/SandboxItemSetVerificationStatusResponse.md +18 -0
  279. data/docs/SandboxProcessorTokenCreateRequest.md +24 -0
  280. data/docs/SandboxProcessorTokenCreateRequestOptions.md +20 -0
  281. data/docs/SandboxProcessorTokenCreateResponse.md +20 -0
  282. data/docs/SandboxPublicTokenCreateRequest.md +26 -0
  283. data/docs/SandboxPublicTokenCreateRequestOptions.md +24 -0
  284. data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +20 -0
  285. data/docs/SandboxPublicTokenCreateResponse.md +20 -0
  286. data/docs/Security.md +46 -0
  287. data/docs/ServicerAddressData.md +26 -0
  288. data/docs/StandaloneAccountType.md +26 -0
  289. data/docs/StandaloneCurrencyCodeList.md +20 -0
  290. data/docs/StandaloneInvestmentTransactionSubtype.md +104 -0
  291. data/docs/StandaloneInvestmentTransactionType.md +28 -0
  292. data/docs/StudentLoan.md +66 -0
  293. data/docs/StudentLoanRepaymentModel.md +22 -0
  294. data/docs/StudentLoanStatus.md +20 -0
  295. data/docs/StudentRepaymentPlan.md +20 -0
  296. data/docs/Transaction.md +58 -0
  297. data/docs/TransactionCode.md +15 -0
  298. data/docs/TransactionData.md +26 -0
  299. data/docs/TransactionOverride.md +26 -0
  300. data/docs/TransactionsGetRequest.md +28 -0
  301. data/docs/TransactionsGetRequestOptions.md +22 -0
  302. data/docs/TransactionsGetResponse.md +26 -0
  303. data/docs/TransactionsRefreshRequest.md +22 -0
  304. data/docs/TransactionsRefreshResponse.md +18 -0
  305. data/docs/TransactionsRemovedWebhook.md +26 -0
  306. data/docs/UserCustomPassword.md +28 -0
  307. data/docs/UserPermissionRevokedWebhook.md +24 -0
  308. data/docs/VerificationExpiredWebhook.md +24 -0
  309. data/docs/VerificationStatus.md +15 -0
  310. data/docs/Warning.md +22 -0
  311. data/docs/WebhookUpdateAcknowledgedWebhook.md +26 -0
  312. data/docs/WebhookVerificationKeyGetRequest.md +22 -0
  313. data/docs/WebhookVerificationKeyGetResponse.md +20 -0
  314. data/docs/YTDGrossIncomeSummaryFieldNumber.md +20 -0
  315. data/docs/YTDNetIncomeSummaryFieldNumber.md +20 -0
  316. data/lib/plaid.rb +336 -61
  317. data/lib/plaid/api/plaid_api.rb +4414 -0
  318. data/lib/plaid/api_client.rb +383 -0
  319. data/lib/plaid/api_error.rb +57 -0
  320. data/lib/plaid/configuration.rb +297 -0
  321. data/lib/plaid/models/account_assets.rb +406 -0
  322. data/lib/plaid/models/account_assets_all_of.rb +263 -0
  323. data/lib/plaid/models/account_balance.rb +269 -0
  324. data/lib/plaid/models/account_base.rb +345 -0
  325. data/lib/plaid/models/account_filters_response.rb +246 -0
  326. data/lib/plaid/models/account_identity.rb +369 -0
  327. data/lib/plaid/models/account_identity_all_of.rb +226 -0
  328. data/lib/plaid/models/account_subtype.rb +101 -0
  329. data/lib/plaid/models/account_type.rb +41 -0
  330. data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
  331. data/lib/plaid/models/accounts_balance_get_request_options.rb +222 -0
  332. data/lib/plaid/models/accounts_get_request.rb +254 -0
  333. data/lib/plaid/models/accounts_get_request_options.rb +222 -0
  334. data/lib/plaid/models/accounts_get_response.rb +256 -0
  335. data/lib/plaid/models/ach_class.rb +50 -0
  336. data/lib/plaid/models/address.rb +235 -0
  337. data/lib/plaid/models/address_data.rb +277 -0
  338. data/lib/plaid/models/amount.rb +274 -0
  339. data/lib/plaid/models/apr.rb +296 -0
  340. data/lib/plaid/models/asset_report.rb +301 -0
  341. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
  342. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
  343. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
  344. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
  345. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
  346. data/lib/plaid/models/asset_report_create_request.rb +299 -0
  347. data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
  348. data/lib/plaid/models/asset_report_create_response.rb +255 -0
  349. data/lib/plaid/models/asset_report_filter_request.rb +262 -0
  350. data/lib/plaid/models/asset_report_filter_response.rb +255 -0
  351. data/lib/plaid/models/asset_report_get_request.rb +255 -0
  352. data/lib/plaid/models/asset_report_get_response.rb +256 -0
  353. data/lib/plaid/models/asset_report_item.rb +287 -0
  354. data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
  355. data/lib/plaid/models/asset_report_refresh_request.rb +288 -0
  356. data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
  357. data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
  358. data/lib/plaid/models/asset_report_remove_request.rb +245 -0
  359. data/lib/plaid/models/asset_report_remove_response.rb +240 -0
  360. data/lib/plaid/models/asset_report_transaction.rb +533 -0
  361. data/lib/plaid/models/asset_report_transaction_all_of.rb +235 -0
  362. data/lib/plaid/models/asset_report_user.rb +287 -0
  363. data/lib/plaid/models/assets_error_webhook.rb +265 -0
  364. data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
  365. data/lib/plaid/models/auth_get_numbers.rb +258 -0
  366. data/lib/plaid/models/auth_get_request.rb +254 -0
  367. data/lib/plaid/models/auth_get_request_options.rb +222 -0
  368. data/lib/plaid/models/auth_get_response.rb +270 -0
  369. data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
  370. data/lib/plaid/models/bank_transfer.rb +444 -0
  371. data/lib/plaid/models/bank_transfer_balance.rb +239 -0
  372. data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
  373. data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
  374. data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
  375. data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
  376. data/lib/plaid/models/bank_transfer_create_request.rb +459 -0
  377. data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
  378. data/lib/plaid/models/bank_transfer_direction.rb +37 -0
  379. data/lib/plaid/models/bank_transfer_event.rb +388 -0
  380. data/lib/plaid/models/bank_transfer_event_list_request.rb +418 -0
  381. data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
  382. data/lib/plaid/models/bank_transfer_event_sync_request.rb +301 -0
  383. data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
  384. data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
  385. data/lib/plaid/models/bank_transfer_failure.rb +231 -0
  386. data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
  387. data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
  388. data/lib/plaid/models/bank_transfer_list_request.rb +336 -0
  389. data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
  390. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
  391. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
  392. data/lib/plaid/models/bank_transfer_network.rb +38 -0
  393. data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
  394. data/lib/plaid/models/bank_transfer_status.rb +40 -0
  395. data/lib/plaid/models/bank_transfer_type.rb +37 -0
  396. data/lib/plaid/models/bank_transfer_user.rb +246 -0
  397. data/lib/plaid/models/categories_get_response.rb +242 -0
  398. data/lib/plaid/models/category.rb +257 -0
  399. data/lib/plaid/models/cause.rb +235 -0
  400. data/lib/plaid/models/country_code.rb +42 -0
  401. data/lib/plaid/models/credit_card_liability.rb +339 -0
  402. data/lib/plaid/models/credit_filter.rb +227 -0
  403. data/lib/plaid/models/default_update_webhook.rb +280 -0
  404. data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
  405. data/lib/plaid/models/deposit_switch_alt_create_request.rb +258 -0
  406. data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
  407. data/lib/plaid/models/deposit_switch_create_request.rb +260 -0
  408. data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
  409. data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
  410. data/lib/plaid/models/deposit_switch_get_response.rb +381 -0
  411. data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
  412. data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
  413. data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
  414. data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
  415. data/lib/plaid/models/depository_filter.rb +227 -0
  416. data/lib/plaid/models/email.rb +289 -0
  417. data/lib/plaid/models/employee.rb +242 -0
  418. data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
  419. data/lib/plaid/models/employer.rb +261 -0
  420. data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
  421. data/lib/plaid/models/employers_search_request.rb +262 -0
  422. data/lib/plaid/models/employers_search_response.rb +242 -0
  423. data/lib/plaid/models/error.rb +360 -0
  424. data/lib/plaid/models/external_payment_schedule.rb +265 -0
  425. data/lib/plaid/models/external_payment_schedule_get.rb +283 -0
  426. data/lib/plaid/models/health_incident.rb +253 -0
  427. data/lib/plaid/models/historical_balance.rb +262 -0
  428. data/lib/plaid/models/historical_update_webhook.rb +280 -0
  429. data/lib/plaid/models/holding.rb +329 -0
  430. data/lib/plaid/models/holdings_default_update_webhook.rb +295 -0
  431. data/lib/plaid/models/identity_get_request.rb +254 -0
  432. data/lib/plaid/models/identity_get_request_options.rb +222 -0
  433. data/lib/plaid/models/identity_get_response.rb +256 -0
  434. data/lib/plaid/models/incident_update.rb +273 -0
  435. data/lib/plaid/models/income_breakdown.rb +253 -0
  436. data/lib/plaid/models/income_summary.rb +275 -0
  437. data/lib/plaid/models/income_summary_field_number.rb +238 -0
  438. data/lib/plaid/models/income_summary_field_string.rb +238 -0
  439. data/lib/plaid/models/income_verification_create_request.rb +245 -0
  440. data/lib/plaid/models/income_verification_create_response.rb +240 -0
  441. data/lib/plaid/models/income_verification_documents_download_request.rb +245 -0
  442. data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
  443. data/lib/plaid/models/income_verification_paystub_get_request.rb +245 -0
  444. data/lib/plaid/models/income_verification_paystub_get_response.rb +229 -0
  445. data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
  446. data/lib/plaid/models/income_verification_summary_get_request.rb +245 -0
  447. data/lib/plaid/models/income_verification_summary_get_response.rb +242 -0
  448. data/lib/plaid/models/income_verification_webhook_status.rb +223 -0
  449. data/lib/plaid/models/inflow_model.rb +285 -0
  450. data/lib/plaid/models/initial_update_webhook.rb +281 -0
  451. data/lib/plaid/models/institution.rb +344 -0
  452. data/lib/plaid/models/institution_status.rb +307 -0
  453. data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
  454. data/lib/plaid/models/institutions_get_by_id_request_options.rb +234 -0
  455. data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
  456. data/lib/plaid/models/institutions_get_request.rb +305 -0
  457. data/lib/plaid/models/institutions_get_request_options.rb +254 -0
  458. data/lib/plaid/models/institutions_get_response.rb +257 -0
  459. data/lib/plaid/models/institutions_search_account_filter.rb +253 -0
  460. data/lib/plaid/models/institutions_search_request.rb +288 -0
  461. data/lib/plaid/models/institutions_search_request_options.rb +239 -0
  462. data/lib/plaid/models/institutions_search_response.rb +242 -0
  463. data/lib/plaid/models/investment_filter.rb +227 -0
  464. data/lib/plaid/models/investment_holdings_get_request_options.rb +222 -0
  465. data/lib/plaid/models/investment_transaction.rb +445 -0
  466. data/lib/plaid/models/investments_default_update_webhook.rb +295 -0
  467. data/lib/plaid/models/investments_holdings_get_request.rb +254 -0
  468. data/lib/plaid/models/investments_holdings_get_response.rb +290 -0
  469. data/lib/plaid/models/investments_transactions_get_request.rb +284 -0
  470. data/lib/plaid/models/investments_transactions_get_request_options.rb +285 -0
  471. data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
  472. data/lib/plaid/models/item.rb +351 -0
  473. data/lib/plaid/models/item_access_token_invalidate_request.rb +245 -0
  474. data/lib/plaid/models/item_access_token_invalidate_response.rb +240 -0
  475. data/lib/plaid/models/item_error_webhook.rb +265 -0
  476. data/lib/plaid/models/item_get_request.rb +245 -0
  477. data/lib/plaid/models/item_get_response.rb +259 -0
  478. data/lib/plaid/models/item_import_request.rb +270 -0
  479. data/lib/plaid/models/item_import_request_options.rb +220 -0
  480. data/lib/plaid/models/item_import_request_user_auth.rb +240 -0
  481. data/lib/plaid/models/item_import_response.rb +240 -0
  482. data/lib/plaid/models/item_product_ready_webhook.rb +265 -0
  483. data/lib/plaid/models/item_public_token_create_request.rb +245 -0
  484. data/lib/plaid/models/item_public_token_create_response.rb +249 -0
  485. data/lib/plaid/models/item_public_token_exchange_request.rb +245 -0
  486. data/lib/plaid/models/item_public_token_exchange_response.rb +255 -0
  487. data/lib/plaid/models/item_remove_request.rb +245 -0
  488. data/lib/plaid/models/item_remove_response.rb +225 -0
  489. data/lib/plaid/models/item_status.rb +249 -0
  490. data/lib/plaid/models/item_webhook_update_request.rb +260 -0
  491. data/lib/plaid/models/item_webhook_update_response.rb +239 -0
  492. data/lib/plaid/models/jwk_public_key.rb +299 -0
  493. data/lib/plaid/models/jwt_header.rb +224 -0
  494. data/lib/plaid/models/liabilities_get_request.rb +254 -0
  495. data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
  496. data/lib/plaid/models/liabilities_get_response.rb +270 -0
  497. data/lib/plaid/models/liabilities_object.rb +249 -0
  498. data/lib/plaid/models/liability_override.rb +583 -0
  499. data/lib/plaid/models/link_token_account_filters.rb +246 -0
  500. data/lib/plaid/models/link_token_create_request.rb +390 -0
  501. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +258 -0
  502. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
  503. data/lib/plaid/models/link_token_create_request_income_verification.rb +236 -0
  504. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +225 -0
  505. data/lib/plaid/models/link_token_create_request_user.rb +295 -0
  506. data/lib/plaid/models/link_token_create_response.rb +255 -0
  507. data/lib/plaid/models/link_token_get_metadata_response.rb +287 -0
  508. data/lib/plaid/models/link_token_get_request.rb +245 -0
  509. data/lib/plaid/models/link_token_get_response.rb +266 -0
  510. data/lib/plaid/models/loan_filter.rb +227 -0
  511. data/lib/plaid/models/location.rb +298 -0
  512. data/lib/plaid/models/meta.rb +255 -0
  513. data/lib/plaid/models/mfa.rb +285 -0
  514. data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
  515. data/lib/plaid/models/mortgage_liability.rb +430 -0
  516. data/lib/plaid/models/mortgage_property_address.rb +265 -0
  517. data/lib/plaid/models/nullable_access_token.rb +209 -0
  518. data/lib/plaid/models/nullable_address.rb +241 -0
  519. data/lib/plaid/models/nullable_address_data.rb +283 -0
  520. data/lib/plaid/models/nullable_item_status.rb +255 -0
  521. data/lib/plaid/models/nullable_numbers_ach.rb +272 -0
  522. data/lib/plaid/models/nullable_numbers_bacs.rb +261 -0
  523. data/lib/plaid/models/nullable_numbers_eft.rb +276 -0
  524. data/lib/plaid/models/nullable_numbers_international.rb +261 -0
  525. data/lib/plaid/models/nullable_recipient_bacs.rb +236 -0
  526. data/lib/plaid/models/numbers.rb +330 -0
  527. data/lib/plaid/models/numbers_ach.rb +266 -0
  528. data/lib/plaid/models/numbers_bacs.rb +255 -0
  529. data/lib/plaid/models/numbers_eft.rb +270 -0
  530. data/lib/plaid/models/numbers_international.rb +255 -0
  531. data/lib/plaid/models/override_accounts.rb +366 -0
  532. data/lib/plaid/models/owner.rb +278 -0
  533. data/lib/plaid/models/owner_override.rb +278 -0
  534. data/lib/plaid/models/pay_frequency.rb +272 -0
  535. data/lib/plaid/models/pay_period_details.rb +265 -0
  536. data/lib/plaid/models/payment_amount.rb +240 -0
  537. data/lib/plaid/models/payment_initiation_address.rb +252 -0
  538. data/lib/plaid/models/payment_initiation_payment_create_request.rb +284 -0
  539. data/lib/plaid/models/payment_initiation_payment_create_response.rb +255 -0
  540. data/lib/plaid/models/payment_initiation_payment_get_request.rb +245 -0
  541. data/lib/plaid/models/payment_initiation_payment_get_response.rb +364 -0
  542. data/lib/plaid/models/payment_initiation_payment_list_request.rb +267 -0
  543. data/lib/plaid/models/payment_initiation_payment_list_response.rb +257 -0
  544. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +245 -0
  545. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
  546. data/lib/plaid/models/payment_initiation_recipient.rb +273 -0
  547. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +275 -0
  548. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
  549. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +245 -0
  550. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +286 -0
  551. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
  552. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
  553. data/lib/plaid/models/payment_meta.rb +298 -0
  554. data/lib/plaid/models/payment_status_update_webhook.rb +400 -0
  555. data/lib/plaid/models/paystub.rb +306 -0
  556. data/lib/plaid/models/paystub_deduction.rb +242 -0
  557. data/lib/plaid/models/paystub_ytd_details.rb +239 -0
  558. data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
  559. data/lib/plaid/models/phone_number.rb +281 -0
  560. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
  561. data/lib/plaid/models/processor_auth_get_request.rb +245 -0
  562. data/lib/plaid/models/processor_auth_get_response.rb +253 -0
  563. data/lib/plaid/models/processor_balance_get_request.rb +245 -0
  564. data/lib/plaid/models/processor_balance_get_response.rb +239 -0
  565. data/lib/plaid/models/processor_identity_get_request.rb +245 -0
  566. data/lib/plaid/models/processor_identity_get_response.rb +239 -0
  567. data/lib/plaid/models/processor_number.rb +250 -0
  568. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
  569. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
  570. data/lib/plaid/models/processor_token_create_request.rb +275 -0
  571. data/lib/plaid/models/processor_token_create_response.rb +240 -0
  572. data/lib/plaid/models/product_status.rb +288 -0
  573. data/lib/plaid/models/product_status_breakdown.rb +300 -0
  574. data/lib/plaid/models/products.rb +46 -0
  575. data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
  576. data/lib/plaid/models/pslf_status.rb +243 -0
  577. data/lib/plaid/models/recaptcha_required_error.rb +314 -0
  578. data/lib/plaid/models/recipient_bacs.rb +230 -0
  579. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
  580. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
  581. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +289 -0
  582. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
  583. data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
  584. data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
  585. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
  586. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
  587. data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
  588. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
  589. data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
  590. data/lib/plaid/models/sandbox_public_token_create_request.rb +271 -0
  591. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
  592. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
  593. data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
  594. data/lib/plaid/models/security.rb +382 -0
  595. data/lib/plaid/models/servicer_address_data.rb +265 -0
  596. data/lib/plaid/models/standalone_account_type.rb +285 -0
  597. data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
  598. data/lib/plaid/models/standalone_investment_transaction_subtype.rb +650 -0
  599. data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
  600. data/lib/plaid/models/student_loan.rb +483 -0
  601. data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
  602. data/lib/plaid/models/student_loan_status.rb +266 -0
  603. data/lib/plaid/models/student_repayment_plan.rb +266 -0
  604. data/lib/plaid/models/transaction.rb +500 -0
  605. data/lib/plaid/models/transaction_code.rb +48 -0
  606. data/lib/plaid/models/transaction_data.rb +285 -0
  607. data/lib/plaid/models/transaction_override.rb +280 -0
  608. data/lib/plaid/models/transactions_get_request.rb +284 -0
  609. data/lib/plaid/models/transactions_get_request_options.rb +285 -0
  610. data/lib/plaid/models/transactions_get_response.rb +288 -0
  611. data/lib/plaid/models/transactions_refresh_request.rb +245 -0
  612. data/lib/plaid/models/transactions_refresh_response.rb +225 -0
  613. data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
  614. data/lib/plaid/models/user_custom_password.rb +297 -0
  615. data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
  616. data/lib/plaid/models/verification_expired_webhook.rb +270 -0
  617. data/lib/plaid/models/verification_status.rb +40 -0
  618. data/lib/plaid/models/warning.rb +254 -0
  619. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
  620. data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
  621. data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
  622. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
  623. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
  624. data/lib/plaid/version.rb +13 -2
  625. data/pkg/plaid-14.0.0.beta.3.gem +0 -0
  626. data/plaid.gemspec +44 -49
  627. data/templates/ruby/api_client.mustache +266 -0
  628. data/templates/ruby/api_client_faraday_partial.mustache +120 -0
  629. data/templates/ruby/configuration.mustache +353 -0
  630. data/templates/ruby/gemspec.mustache +41 -0
  631. data/test/test_accounts.rb +103 -0
  632. data/test/test_asset_report.rb +147 -0
  633. data/test/test_auth.rb +61 -0
  634. data/test/test_bank_transfers.rb +219 -0
  635. data/test/test_categories.rb +10 -0
  636. data/test/test_configuration.rb +26 -0
  637. data/test/test_deposit_switch.rb +73 -0
  638. data/test/test_helper.rb +109 -0
  639. data/test/test_identity.rb +38 -0
  640. data/test/test_institutions.rb +159 -0
  641. data/test/test_investments.rb +208 -0
  642. data/test/test_item.rb +285 -0
  643. data/test/test_liabilities.rb +45 -0
  644. data/test/test_link_token.rb +97 -0
  645. data/test/test_payment_initiation.rb +95 -0
  646. data/test/test_processor.rb +67 -0
  647. data/test/test_transactions.rb +168 -0
  648. data/test/test_webhooks.rb +22 -0
  649. metadata +677 -101
  650. data/.circleci/config.yml +0 -21
  651. data/.env.sample +0 -3
  652. data/.github/workflows/add_to_project.yml +0 -21
  653. data/.rubocop.yml +0 -18
  654. data/bin/console +0 -14
  655. data/bin/setup +0 -8
  656. data/lib/plaid/client.rb +0 -190
  657. data/lib/plaid/errors.rb +0 -89
  658. data/lib/plaid/middleware.rb +0 -31
  659. data/lib/plaid/models.rb +0 -2120
  660. data/lib/plaid/products/accounts.rb +0 -63
  661. data/lib/plaid/products/asset_report.rb +0 -199
  662. data/lib/plaid/products/auth.rb +0 -42
  663. data/lib/plaid/products/base_product.rb +0 -64
  664. data/lib/plaid/products/categories.rb +0 -21
  665. data/lib/plaid/products/credit_details.rb +0 -40
  666. data/lib/plaid/products/deposit_switch.rb +0 -99
  667. data/lib/plaid/products/identity.rb +0 -31
  668. data/lib/plaid/products/income.rb +0 -31
  669. data/lib/plaid/products/institutions.rb +0 -91
  670. data/lib/plaid/products/investments.rb +0 -127
  671. data/lib/plaid/products/item.rb +0 -178
  672. data/lib/plaid/products/liabilities.rb +0 -39
  673. data/lib/plaid/products/link_token.rb +0 -74
  674. data/lib/plaid/products/payment_initiation.rb +0 -194
  675. data/lib/plaid/products/processor.rb +0 -190
  676. data/lib/plaid/products/sandbox.rb +0 -148
  677. data/lib/plaid/products/transactions.rb +0 -81
  678. data/lib/plaid/products/webhooks.rb +0 -23
@@ -0,0 +1,4414 @@
1
+ =begin
2
+ #The Plaid API
3
+
4
+ #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
+
6
+ The version of the OpenAPI document: 2020-09-14_1.8.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Plaid
16
+ class PlaidApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Retrieve real-time balance data
23
+ # The `/accounts/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/accounts/balance/get` forces the available and current balance fields to be refreshed rather than cached. This endpoint can be used for existing Items that were added via any of Plaid’s other products. This endpoint can be used as long as Link has been initialized with any other product, `balance` itself is not a product that can be used to initialize Link.
24
+ # @param accounts_balance_get_request [AccountsBalanceGetRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [AccountsGetResponse]
27
+ def accounts_balance_get(accounts_balance_get_request, opts = {})
28
+ data, _status_code, _headers = accounts_balance_get_with_http_info(accounts_balance_get_request, opts)
29
+ data
30
+ end
31
+
32
+ # Retrieve real-time balance data
33
+ # The `/accounts/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/accounts/balance/get` forces the available and current balance fields to be refreshed rather than cached. This endpoint can be used for existing Items that were added via any of Plaid’s other products. This endpoint can be used as long as Link has been initialized with any other product, `balance` itself is not a product that can be used to initialize Link.
34
+ # @param accounts_balance_get_request [AccountsBalanceGetRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(AccountsGetResponse, Integer, Hash)>] AccountsGetResponse data, response status code and response headers
37
+ def accounts_balance_get_with_http_info(accounts_balance_get_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: PlaidApi.accounts_balance_get ...'
40
+ end
41
+ # verify the required parameter 'accounts_balance_get_request' is set
42
+ if @api_client.config.client_side_validation && accounts_balance_get_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'accounts_balance_get_request' when calling PlaidApi.accounts_balance_get"
44
+ end
45
+ # resource path
46
+ local_var_path = '/accounts/balance/get'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+ # HTTP header 'Content-Type'
56
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(accounts_balance_get_request)
63
+
64
+ # return_type
65
+ return_type = opts[:debug_return_type] || 'AccountsGetResponse'
66
+
67
+ # auth_names
68
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
69
+
70
+ new_options = opts.merge(
71
+ :operation => :"PlaidApi.accounts_balance_get",
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names,
77
+ :return_type => return_type
78
+ )
79
+
80
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
81
+ if @api_client.config.debugging
82
+ @api_client.config.logger.debug "API called: PlaidApi#accounts_balance_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
83
+ end
84
+ return data, status_code, headers
85
+ end
86
+
87
+ # Retrieve accounts
88
+ # The `/accounts/get` endpoint can be used to retrieve information for any linked Item. Note that some information is nullable. Plaid will only return active bank accounts, i.e. accounts that are not closed and are capable of carrying a balance.
89
+ # @param accounts_get_request [AccountsGetRequest]
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [AccountsGetResponse]
92
+ def accounts_get(accounts_get_request, opts = {})
93
+ data, _status_code, _headers = accounts_get_with_http_info(accounts_get_request, opts)
94
+ data
95
+ end
96
+
97
+ # Retrieve accounts
98
+ # The &#x60;/accounts/get&#x60; endpoint can be used to retrieve information for any linked Item. Note that some information is nullable. Plaid will only return active bank accounts, i.e. accounts that are not closed and are capable of carrying a balance.
99
+ # @param accounts_get_request [AccountsGetRequest]
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [Array<(AccountsGetResponse, Integer, Hash)>] AccountsGetResponse data, response status code and response headers
102
+ def accounts_get_with_http_info(accounts_get_request, opts = {})
103
+ if @api_client.config.debugging
104
+ @api_client.config.logger.debug 'Calling API: PlaidApi.accounts_get ...'
105
+ end
106
+ # verify the required parameter 'accounts_get_request' is set
107
+ if @api_client.config.client_side_validation && accounts_get_request.nil?
108
+ fail ArgumentError, "Missing the required parameter 'accounts_get_request' when calling PlaidApi.accounts_get"
109
+ end
110
+ # resource path
111
+ local_var_path = '/accounts/get'
112
+
113
+ # query parameters
114
+ query_params = opts[:query_params] || {}
115
+
116
+ # header parameters
117
+ header_params = opts[:header_params] || {}
118
+ # HTTP header 'Accept' (if needed)
119
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
120
+ # HTTP header 'Content-Type'
121
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
122
+
123
+ # form parameters
124
+ form_params = opts[:form_params] || {}
125
+
126
+ # http body (model)
127
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(accounts_get_request)
128
+
129
+ # return_type
130
+ return_type = opts[:debug_return_type] || 'AccountsGetResponse'
131
+
132
+ # auth_names
133
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
134
+
135
+ new_options = opts.merge(
136
+ :operation => :"PlaidApi.accounts_get",
137
+ :header_params => header_params,
138
+ :query_params => query_params,
139
+ :form_params => form_params,
140
+ :body => post_body,
141
+ :auth_names => auth_names,
142
+ :return_type => return_type
143
+ )
144
+
145
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug "API called: PlaidApi#accounts_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
148
+ end
149
+ return data, status_code, headers
150
+ end
151
+
152
+ # Create Asset Report Audit Copy
153
+ # Plaid can provide an Audit Copy of any Asset Report directly to a participating third party on your behalf. For example, Plaid can supply an Audit Copy directly to Fannie Mae on your behalf if you participate in the Day 1 Certainty™ program. An Audit Copy contains the same underlying data as the Asset Report. To grant access to an Audit Copy, use the `/asset_report/audit_copy/create` endpoint to create an `audit_copy_token` and then pass that token to the third party who needs access. Each third party has its own `auditor_id`, for example `fannie_mae`. You’ll need to create a separate Audit Copy for each third party to whom you want to grant access to the Report.
154
+ # @param asset_report_audit_copy_create_request [AssetReportAuditCopyCreateRequest]
155
+ # @param [Hash] opts the optional parameters
156
+ # @return [AssetReportAuditCopyCreateResponse]
157
+ def asset_report_audit_copy_create(asset_report_audit_copy_create_request, opts = {})
158
+ data, _status_code, _headers = asset_report_audit_copy_create_with_http_info(asset_report_audit_copy_create_request, opts)
159
+ data
160
+ end
161
+
162
+ # Create Asset Report Audit Copy
163
+ # Plaid can provide an Audit Copy of any Asset Report directly to a participating third party on your behalf. For example, Plaid can supply an Audit Copy directly to Fannie Mae on your behalf if you participate in the Day 1 Certainty™ program. An Audit Copy contains the same underlying data as the Asset Report. To grant access to an Audit Copy, use the &#x60;/asset_report/audit_copy/create&#x60; endpoint to create an &#x60;audit_copy_token&#x60; and then pass that token to the third party who needs access. Each third party has its own &#x60;auditor_id&#x60;, for example &#x60;fannie_mae&#x60;. You’ll need to create a separate Audit Copy for each third party to whom you want to grant access to the Report.
164
+ # @param asset_report_audit_copy_create_request [AssetReportAuditCopyCreateRequest]
165
+ # @param [Hash] opts the optional parameters
166
+ # @return [Array<(AssetReportAuditCopyCreateResponse, Integer, Hash)>] AssetReportAuditCopyCreateResponse data, response status code and response headers
167
+ def asset_report_audit_copy_create_with_http_info(asset_report_audit_copy_create_request, opts = {})
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_audit_copy_create ...'
170
+ end
171
+ # verify the required parameter 'asset_report_audit_copy_create_request' is set
172
+ if @api_client.config.client_side_validation && asset_report_audit_copy_create_request.nil?
173
+ fail ArgumentError, "Missing the required parameter 'asset_report_audit_copy_create_request' when calling PlaidApi.asset_report_audit_copy_create"
174
+ end
175
+ # resource path
176
+ local_var_path = '/asset_report/audit_copy/create'
177
+
178
+ # query parameters
179
+ query_params = opts[:query_params] || {}
180
+
181
+ # header parameters
182
+ header_params = opts[:header_params] || {}
183
+ # HTTP header 'Accept' (if needed)
184
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
185
+ # HTTP header 'Content-Type'
186
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
187
+
188
+ # form parameters
189
+ form_params = opts[:form_params] || {}
190
+
191
+ # http body (model)
192
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_audit_copy_create_request)
193
+
194
+ # return_type
195
+ return_type = opts[:debug_return_type] || 'AssetReportAuditCopyCreateResponse'
196
+
197
+ # auth_names
198
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
199
+
200
+ new_options = opts.merge(
201
+ :operation => :"PlaidApi.asset_report_audit_copy_create",
202
+ :header_params => header_params,
203
+ :query_params => query_params,
204
+ :form_params => form_params,
205
+ :body => post_body,
206
+ :auth_names => auth_names,
207
+ :return_type => return_type
208
+ )
209
+
210
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_audit_copy_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
213
+ end
214
+ return data, status_code, headers
215
+ end
216
+
217
+ # Retrieve an Asset Report Audit Copy
218
+ # `/asset_report/audit_copy/get` allows auditors to get a copy of an Asset Report that was previously shared via the `/asset_report/audit_copy/create` endpoint. The caller of `/asset_report/audit_copy/create` must provide the `audit_copy_token` to the auditor. This token can then be used to call `/asset_report/audit_copy/create`.
219
+ # @param asset_report_audit_copy_get_request [AssetReportAuditCopyGetRequest]
220
+ # @param [Hash] opts the optional parameters
221
+ # @return [AssetReportGetResponse]
222
+ def asset_report_audit_copy_get(asset_report_audit_copy_get_request, opts = {})
223
+ data, _status_code, _headers = asset_report_audit_copy_get_with_http_info(asset_report_audit_copy_get_request, opts)
224
+ data
225
+ end
226
+
227
+ # Retrieve an Asset Report Audit Copy
228
+ # &#x60;/asset_report/audit_copy/get&#x60; allows auditors to get a copy of an Asset Report that was previously shared via the &#x60;/asset_report/audit_copy/create&#x60; endpoint. The caller of &#x60;/asset_report/audit_copy/create&#x60; must provide the &#x60;audit_copy_token&#x60; to the auditor. This token can then be used to call &#x60;/asset_report/audit_copy/create&#x60;.
229
+ # @param asset_report_audit_copy_get_request [AssetReportAuditCopyGetRequest]
230
+ # @param [Hash] opts the optional parameters
231
+ # @return [Array<(AssetReportGetResponse, Integer, Hash)>] AssetReportGetResponse data, response status code and response headers
232
+ def asset_report_audit_copy_get_with_http_info(asset_report_audit_copy_get_request, opts = {})
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_audit_copy_get ...'
235
+ end
236
+ # verify the required parameter 'asset_report_audit_copy_get_request' is set
237
+ if @api_client.config.client_side_validation && asset_report_audit_copy_get_request.nil?
238
+ fail ArgumentError, "Missing the required parameter 'asset_report_audit_copy_get_request' when calling PlaidApi.asset_report_audit_copy_get"
239
+ end
240
+ # resource path
241
+ local_var_path = '/asset_report/audit_copy/get'
242
+
243
+ # query parameters
244
+ query_params = opts[:query_params] || {}
245
+
246
+ # header parameters
247
+ header_params = opts[:header_params] || {}
248
+ # HTTP header 'Accept' (if needed)
249
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
250
+ # HTTP header 'Content-Type'
251
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_audit_copy_get_request)
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'AssetReportGetResponse'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"PlaidApi.asset_report_audit_copy_get",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type
273
+ )
274
+
275
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
276
+ if @api_client.config.debugging
277
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_audit_copy_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
+ end
279
+ return data, status_code, headers
280
+ end
281
+
282
+ # Remove Asset Report Audit Copy
283
+ # The `/asset_report/audit_copy/remove` endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the `audit_copy_token` associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Asset Report, the Asset Report itself and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy.
284
+ # @param asset_report_audit_copy_remove_request [AssetReportAuditCopyRemoveRequest]
285
+ # @param [Hash] opts the optional parameters
286
+ # @return [AssetReportAuditCopyRemoveResponse]
287
+ def asset_report_audit_copy_remove(asset_report_audit_copy_remove_request, opts = {})
288
+ data, _status_code, _headers = asset_report_audit_copy_remove_with_http_info(asset_report_audit_copy_remove_request, opts)
289
+ data
290
+ end
291
+
292
+ # Remove Asset Report Audit Copy
293
+ # The &#x60;/asset_report/audit_copy/remove&#x60; endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the &#x60;audit_copy_token&#x60; associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Asset Report, the Asset Report itself and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy.
294
+ # @param asset_report_audit_copy_remove_request [AssetReportAuditCopyRemoveRequest]
295
+ # @param [Hash] opts the optional parameters
296
+ # @return [Array<(AssetReportAuditCopyRemoveResponse, Integer, Hash)>] AssetReportAuditCopyRemoveResponse data, response status code and response headers
297
+ def asset_report_audit_copy_remove_with_http_info(asset_report_audit_copy_remove_request, opts = {})
298
+ if @api_client.config.debugging
299
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_audit_copy_remove ...'
300
+ end
301
+ # verify the required parameter 'asset_report_audit_copy_remove_request' is set
302
+ if @api_client.config.client_side_validation && asset_report_audit_copy_remove_request.nil?
303
+ fail ArgumentError, "Missing the required parameter 'asset_report_audit_copy_remove_request' when calling PlaidApi.asset_report_audit_copy_remove"
304
+ end
305
+ # resource path
306
+ local_var_path = '/asset_report/audit_copy/remove'
307
+
308
+ # query parameters
309
+ query_params = opts[:query_params] || {}
310
+
311
+ # header parameters
312
+ header_params = opts[:header_params] || {}
313
+ # HTTP header 'Accept' (if needed)
314
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
315
+ # HTTP header 'Content-Type'
316
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
317
+
318
+ # form parameters
319
+ form_params = opts[:form_params] || {}
320
+
321
+ # http body (model)
322
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_audit_copy_remove_request)
323
+
324
+ # return_type
325
+ return_type = opts[:debug_return_type] || 'AssetReportAuditCopyRemoveResponse'
326
+
327
+ # auth_names
328
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
329
+
330
+ new_options = opts.merge(
331
+ :operation => :"PlaidApi.asset_report_audit_copy_remove",
332
+ :header_params => header_params,
333
+ :query_params => query_params,
334
+ :form_params => form_params,
335
+ :body => post_body,
336
+ :auth_names => auth_names,
337
+ :return_type => return_type
338
+ )
339
+
340
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
341
+ if @api_client.config.debugging
342
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_audit_copy_remove\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
343
+ end
344
+ return data, status_code, headers
345
+ end
346
+
347
+ # Create an Asset Report
348
+ # The `/asset_report/create` endpoint initiates the process of creating an Asset Report, which can then be retrieved by passing the `asset_report_token` return value to the `/asset_report/get` or `/asset_report/pdf/get` endpoints. The Asset Report takes some time to be created and is not available immediately after calling `/asset_report/create`. When the Asset Report is ready to be retrieved using `/asset_report/get` or `/asset_report/pdf/get`, Plaid will fire a `PRODUCT_READY` webhook. For full details of the webhook schema, see [Asset Report webhooks](/docs/api/webhooks/#Assets-webhooks). The `/asset_report/create` endpoint creates an Asset Report at a moment in time. Asset Reports are immutable. To get an updated Asset Report, use the `/asset_report/refresh` endpoint.
349
+ # @param asset_report_create_request [AssetReportCreateRequest]
350
+ # @param [Hash] opts the optional parameters
351
+ # @return [AssetReportCreateResponse]
352
+ def asset_report_create(asset_report_create_request, opts = {})
353
+ data, _status_code, _headers = asset_report_create_with_http_info(asset_report_create_request, opts)
354
+ data
355
+ end
356
+
357
+ # Create an Asset Report
358
+ # The &#x60;/asset_report/create&#x60; endpoint initiates the process of creating an Asset Report, which can then be retrieved by passing the &#x60;asset_report_token&#x60; return value to the &#x60;/asset_report/get&#x60; or &#x60;/asset_report/pdf/get&#x60; endpoints. The Asset Report takes some time to be created and is not available immediately after calling &#x60;/asset_report/create&#x60;. When the Asset Report is ready to be retrieved using &#x60;/asset_report/get&#x60; or &#x60;/asset_report/pdf/get&#x60;, Plaid will fire a &#x60;PRODUCT_READY&#x60; webhook. For full details of the webhook schema, see [Asset Report webhooks](/docs/api/webhooks/#Assets-webhooks). The &#x60;/asset_report/create&#x60; endpoint creates an Asset Report at a moment in time. Asset Reports are immutable. To get an updated Asset Report, use the &#x60;/asset_report/refresh&#x60; endpoint.
359
+ # @param asset_report_create_request [AssetReportCreateRequest]
360
+ # @param [Hash] opts the optional parameters
361
+ # @return [Array<(AssetReportCreateResponse, Integer, Hash)>] AssetReportCreateResponse data, response status code and response headers
362
+ def asset_report_create_with_http_info(asset_report_create_request, opts = {})
363
+ if @api_client.config.debugging
364
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_create ...'
365
+ end
366
+ # verify the required parameter 'asset_report_create_request' is set
367
+ if @api_client.config.client_side_validation && asset_report_create_request.nil?
368
+ fail ArgumentError, "Missing the required parameter 'asset_report_create_request' when calling PlaidApi.asset_report_create"
369
+ end
370
+ # resource path
371
+ local_var_path = '/asset_report/create'
372
+
373
+ # query parameters
374
+ query_params = opts[:query_params] || {}
375
+
376
+ # header parameters
377
+ header_params = opts[:header_params] || {}
378
+ # HTTP header 'Accept' (if needed)
379
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
380
+ # HTTP header 'Content-Type'
381
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
382
+
383
+ # form parameters
384
+ form_params = opts[:form_params] || {}
385
+
386
+ # http body (model)
387
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_create_request)
388
+
389
+ # return_type
390
+ return_type = opts[:debug_return_type] || 'AssetReportCreateResponse'
391
+
392
+ # auth_names
393
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
394
+
395
+ new_options = opts.merge(
396
+ :operation => :"PlaidApi.asset_report_create",
397
+ :header_params => header_params,
398
+ :query_params => query_params,
399
+ :form_params => form_params,
400
+ :body => post_body,
401
+ :auth_names => auth_names,
402
+ :return_type => return_type
403
+ )
404
+
405
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
406
+ if @api_client.config.debugging
407
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
408
+ end
409
+ return data, status_code, headers
410
+ end
411
+
412
+ # Filter Asset Report
413
+ # By default, an Asset Report will contain all of the accounts on a given Item. In some cases, you may not want the Asset Report to contain all accounts. For example, you might have the end user choose which accounts are relevant in Link using the Select Account view, which you can enable in the dashboard. Or, you might always exclude certain account types or subtypes, which you can identify by using the `/accounts/get` endpoint. To narrow an Asset Report to only a subset of accounts, use the `/asset_report/filter` endpoint. To exclude certain Accounts from an Asset Report, first use the `/asset_report/create` endpoint to create the report, then send the `asset_report_token` along with a list of `account_ids` to exclude to the `/asset_report/filter` endpoint, to create a new Asset Report which contains only a subset of the original Asset Report's data. Because Asset Reports are immutable, calling `/asset_report/filter` does not alter the original Asset Report in any way; rather, `/asset_report/filter` creates a new Asset Report with a new token and id. Asset Reports created via `/asset_report/filter` do not contain new Asset data, and are not billed. Plaid will fire a [`PRODUCT_READY`](/docs/api/webhooks) webhook once generation of the filtered Asset Report has completed.
414
+ # @param asset_report_filter_request [AssetReportFilterRequest]
415
+ # @param [Hash] opts the optional parameters
416
+ # @return [AssetReportFilterResponse]
417
+ def asset_report_filter(asset_report_filter_request, opts = {})
418
+ data, _status_code, _headers = asset_report_filter_with_http_info(asset_report_filter_request, opts)
419
+ data
420
+ end
421
+
422
+ # Filter Asset Report
423
+ # By default, an Asset Report will contain all of the accounts on a given Item. In some cases, you may not want the Asset Report to contain all accounts. For example, you might have the end user choose which accounts are relevant in Link using the Select Account view, which you can enable in the dashboard. Or, you might always exclude certain account types or subtypes, which you can identify by using the &#x60;/accounts/get&#x60; endpoint. To narrow an Asset Report to only a subset of accounts, use the &#x60;/asset_report/filter&#x60; endpoint. To exclude certain Accounts from an Asset Report, first use the &#x60;/asset_report/create&#x60; endpoint to create the report, then send the &#x60;asset_report_token&#x60; along with a list of &#x60;account_ids&#x60; to exclude to the &#x60;/asset_report/filter&#x60; endpoint, to create a new Asset Report which contains only a subset of the original Asset Report&#39;s data. Because Asset Reports are immutable, calling &#x60;/asset_report/filter&#x60; does not alter the original Asset Report in any way; rather, &#x60;/asset_report/filter&#x60; creates a new Asset Report with a new token and id. Asset Reports created via &#x60;/asset_report/filter&#x60; do not contain new Asset data, and are not billed. Plaid will fire a [&#x60;PRODUCT_READY&#x60;](/docs/api/webhooks) webhook once generation of the filtered Asset Report has completed.
424
+ # @param asset_report_filter_request [AssetReportFilterRequest]
425
+ # @param [Hash] opts the optional parameters
426
+ # @return [Array<(AssetReportFilterResponse, Integer, Hash)>] AssetReportFilterResponse data, response status code and response headers
427
+ def asset_report_filter_with_http_info(asset_report_filter_request, opts = {})
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_filter ...'
430
+ end
431
+ # verify the required parameter 'asset_report_filter_request' is set
432
+ if @api_client.config.client_side_validation && asset_report_filter_request.nil?
433
+ fail ArgumentError, "Missing the required parameter 'asset_report_filter_request' when calling PlaidApi.asset_report_filter"
434
+ end
435
+ # resource path
436
+ local_var_path = '/asset_report/filter'
437
+
438
+ # query parameters
439
+ query_params = opts[:query_params] || {}
440
+
441
+ # header parameters
442
+ header_params = opts[:header_params] || {}
443
+ # HTTP header 'Accept' (if needed)
444
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
445
+ # HTTP header 'Content-Type'
446
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
447
+
448
+ # form parameters
449
+ form_params = opts[:form_params] || {}
450
+
451
+ # http body (model)
452
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_filter_request)
453
+
454
+ # return_type
455
+ return_type = opts[:debug_return_type] || 'AssetReportFilterResponse'
456
+
457
+ # auth_names
458
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
459
+
460
+ new_options = opts.merge(
461
+ :operation => :"PlaidApi.asset_report_filter",
462
+ :header_params => header_params,
463
+ :query_params => query_params,
464
+ :form_params => form_params,
465
+ :body => post_body,
466
+ :auth_names => auth_names,
467
+ :return_type => return_type
468
+ )
469
+
470
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
471
+ if @api_client.config.debugging
472
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_filter\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
473
+ end
474
+ return data, status_code, headers
475
+ end
476
+
477
+ # Retrieve an Asset Report
478
+ # The `/asset_report/get` endpoint retrieves the Asset Report in JSON format. Before calling `/asset_report/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](/docs/api/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. By default, an Asset Report includes transaction descriptions as returned by the bank, as opposed to parsed and categorized by Plaid. You can also receive cleaned and categorized transactions, as well as additional insights like merchant name or location information. We call this an Asset Report with Insights. An Asset Report with Insights provides transaction category, location, and merchant information in addition to the transaction strings provided in a standard Asset Report. To retrieve an Asset Report with Insights, call the `/asset_report/get` endpoint with `include_insights` set to `true`. Note that you will need to [contact us](https://dashboard.plaid.com/support) to get access to this feature.
479
+ # @param asset_report_get_request [AssetReportGetRequest]
480
+ # @param [Hash] opts the optional parameters
481
+ # @return [AssetReportGetResponse]
482
+ def asset_report_get(asset_report_get_request, opts = {})
483
+ data, _status_code, _headers = asset_report_get_with_http_info(asset_report_get_request, opts)
484
+ data
485
+ end
486
+
487
+ # Retrieve an Asset Report
488
+ # The &#x60;/asset_report/get&#x60; endpoint retrieves the Asset Report in JSON format. Before calling &#x60;/asset_report/get&#x60;, you must first create the Asset Report using &#x60;/asset_report/create&#x60; (or filter an Asset Report using &#x60;/asset_report/filter&#x60;) and then wait for the [&#x60;PRODUCT_READY&#x60;](/docs/api/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. By default, an Asset Report includes transaction descriptions as returned by the bank, as opposed to parsed and categorized by Plaid. You can also receive cleaned and categorized transactions, as well as additional insights like merchant name or location information. We call this an Asset Report with Insights. An Asset Report with Insights provides transaction category, location, and merchant information in addition to the transaction strings provided in a standard Asset Report. To retrieve an Asset Report with Insights, call the &#x60;/asset_report/get&#x60; endpoint with &#x60;include_insights&#x60; set to &#x60;true&#x60;. Note that you will need to [contact us](https://dashboard.plaid.com/support) to get access to this feature.
489
+ # @param asset_report_get_request [AssetReportGetRequest]
490
+ # @param [Hash] opts the optional parameters
491
+ # @return [Array<(AssetReportGetResponse, Integer, Hash)>] AssetReportGetResponse data, response status code and response headers
492
+ def asset_report_get_with_http_info(asset_report_get_request, opts = {})
493
+ if @api_client.config.debugging
494
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_get ...'
495
+ end
496
+ # verify the required parameter 'asset_report_get_request' is set
497
+ if @api_client.config.client_side_validation && asset_report_get_request.nil?
498
+ fail ArgumentError, "Missing the required parameter 'asset_report_get_request' when calling PlaidApi.asset_report_get"
499
+ end
500
+ # resource path
501
+ local_var_path = '/asset_report/get'
502
+
503
+ # query parameters
504
+ query_params = opts[:query_params] || {}
505
+
506
+ # header parameters
507
+ header_params = opts[:header_params] || {}
508
+ # HTTP header 'Accept' (if needed)
509
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
510
+ # HTTP header 'Content-Type'
511
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
512
+
513
+ # form parameters
514
+ form_params = opts[:form_params] || {}
515
+
516
+ # http body (model)
517
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_get_request)
518
+
519
+ # return_type
520
+ return_type = opts[:debug_return_type] || 'AssetReportGetResponse'
521
+
522
+ # auth_names
523
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
524
+
525
+ new_options = opts.merge(
526
+ :operation => :"PlaidApi.asset_report_get",
527
+ :header_params => header_params,
528
+ :query_params => query_params,
529
+ :form_params => form_params,
530
+ :body => post_body,
531
+ :auth_names => auth_names,
532
+ :return_type => return_type
533
+ )
534
+
535
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
536
+ if @api_client.config.debugging
537
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
538
+ end
539
+ return data, status_code, headers
540
+ end
541
+
542
+ # Retrieve a PDF Asset Report
543
+ # The `/asset_report/pdf/get` endpoint retrieves the Asset Report in PDF format. Before calling `/asset_report/pdf/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](/docs/api/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. The response to `/asset_report/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. [View a sample PDF Asset Report with Insights](https://plaid.com/documents/sample-asset-report.pdf).
544
+ # @param asset_report_pdf_get_request [AssetReportPDFGetRequest]
545
+ # @param [Hash] opts the optional parameters
546
+ # @return [File]
547
+ def asset_report_pdf_get(asset_report_pdf_get_request, opts = {})
548
+ data, _status_code, _headers = asset_report_pdf_get_with_http_info(asset_report_pdf_get_request, opts)
549
+ data
550
+ end
551
+
552
+ # Retrieve a PDF Asset Report
553
+ # The &#x60;/asset_report/pdf/get&#x60; endpoint retrieves the Asset Report in PDF format. Before calling &#x60;/asset_report/pdf/get&#x60;, you must first create the Asset Report using &#x60;/asset_report/create&#x60; (or filter an Asset Report using &#x60;/asset_report/filter&#x60;) and then wait for the [&#x60;PRODUCT_READY&#x60;](/docs/api/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. The response to &#x60;/asset_report/pdf/get&#x60; is the PDF binary data. The &#x60;request_id&#x60; is returned in the &#x60;Plaid-Request-ID&#x60; header. [View a sample PDF Asset Report with Insights](https://plaid.com/documents/sample-asset-report.pdf).
554
+ # @param asset_report_pdf_get_request [AssetReportPDFGetRequest]
555
+ # @param [Hash] opts the optional parameters
556
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
557
+ def asset_report_pdf_get_with_http_info(asset_report_pdf_get_request, opts = {})
558
+ if @api_client.config.debugging
559
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_pdf_get ...'
560
+ end
561
+ # verify the required parameter 'asset_report_pdf_get_request' is set
562
+ if @api_client.config.client_side_validation && asset_report_pdf_get_request.nil?
563
+ fail ArgumentError, "Missing the required parameter 'asset_report_pdf_get_request' when calling PlaidApi.asset_report_pdf_get"
564
+ end
565
+ # resource path
566
+ local_var_path = '/asset_report/pdf/get'
567
+
568
+ # query parameters
569
+ query_params = opts[:query_params] || {}
570
+
571
+ # header parameters
572
+ header_params = opts[:header_params] || {}
573
+ # HTTP header 'Accept' (if needed)
574
+ header_params['Accept'] = @api_client.select_header_accept(['application/pdf'])
575
+ # HTTP header 'Content-Type'
576
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
577
+
578
+ # form parameters
579
+ form_params = opts[:form_params] || {}
580
+
581
+ # http body (model)
582
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_pdf_get_request)
583
+
584
+ # return_type
585
+ return_type = opts[:debug_return_type] || 'File'
586
+
587
+ # auth_names
588
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
589
+
590
+ new_options = opts.merge(
591
+ :operation => :"PlaidApi.asset_report_pdf_get",
592
+ :header_params => header_params,
593
+ :query_params => query_params,
594
+ :form_params => form_params,
595
+ :body => post_body,
596
+ :auth_names => auth_names,
597
+ :return_type => return_type
598
+ )
599
+
600
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
601
+ if @api_client.config.debugging
602
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_pdf_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
603
+ end
604
+ return data, status_code, headers
605
+ end
606
+
607
+ # Refresh an Asset Report
608
+ # An Asset Report is an immutable snapshot of a user's assets. In order to \"refresh\" an Asset Report you created previously, you can use the `/asset_report/refresh` endpoint to create a new Asset Report based on the old one, but with the most recent data available. The new Asset Report will contain the same Items as the original Report, as well as the same filters applied by any call to `/asset_report/filter`. By default, the new Asset Report will also use the same parameters you submitted with your original `/asset_report/create` request, but the original `days_requested` value and the values of any parameters in the `options` object can be overridden with new values. To change these arguments, simply supply new values for them in your request to `/asset_report/refresh`. Submit an empty string (\"\") for any previously-populated fields you would like set as empty.
609
+ # @param asset_report_refresh_request [AssetReportRefreshRequest]
610
+ # @param [Hash] opts the optional parameters
611
+ # @return [AssetReportRefreshResponse]
612
+ def asset_report_refresh(asset_report_refresh_request, opts = {})
613
+ data, _status_code, _headers = asset_report_refresh_with_http_info(asset_report_refresh_request, opts)
614
+ data
615
+ end
616
+
617
+ # Refresh an Asset Report
618
+ # An Asset Report is an immutable snapshot of a user&#39;s assets. In order to \&quot;refresh\&quot; an Asset Report you created previously, you can use the &#x60;/asset_report/refresh&#x60; endpoint to create a new Asset Report based on the old one, but with the most recent data available. The new Asset Report will contain the same Items as the original Report, as well as the same filters applied by any call to &#x60;/asset_report/filter&#x60;. By default, the new Asset Report will also use the same parameters you submitted with your original &#x60;/asset_report/create&#x60; request, but the original &#x60;days_requested&#x60; value and the values of any parameters in the &#x60;options&#x60; object can be overridden with new values. To change these arguments, simply supply new values for them in your request to &#x60;/asset_report/refresh&#x60;. Submit an empty string (\&quot;\&quot;) for any previously-populated fields you would like set as empty.
619
+ # @param asset_report_refresh_request [AssetReportRefreshRequest]
620
+ # @param [Hash] opts the optional parameters
621
+ # @return [Array<(AssetReportRefreshResponse, Integer, Hash)>] AssetReportRefreshResponse data, response status code and response headers
622
+ def asset_report_refresh_with_http_info(asset_report_refresh_request, opts = {})
623
+ if @api_client.config.debugging
624
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_refresh ...'
625
+ end
626
+ # verify the required parameter 'asset_report_refresh_request' is set
627
+ if @api_client.config.client_side_validation && asset_report_refresh_request.nil?
628
+ fail ArgumentError, "Missing the required parameter 'asset_report_refresh_request' when calling PlaidApi.asset_report_refresh"
629
+ end
630
+ # resource path
631
+ local_var_path = '/asset_report/refresh'
632
+
633
+ # query parameters
634
+ query_params = opts[:query_params] || {}
635
+
636
+ # header parameters
637
+ header_params = opts[:header_params] || {}
638
+ # HTTP header 'Accept' (if needed)
639
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
640
+ # HTTP header 'Content-Type'
641
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
642
+
643
+ # form parameters
644
+ form_params = opts[:form_params] || {}
645
+
646
+ # http body (model)
647
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_refresh_request)
648
+
649
+ # return_type
650
+ return_type = opts[:debug_return_type] || 'AssetReportRefreshResponse'
651
+
652
+ # auth_names
653
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
654
+
655
+ new_options = opts.merge(
656
+ :operation => :"PlaidApi.asset_report_refresh",
657
+ :header_params => header_params,
658
+ :query_params => query_params,
659
+ :form_params => form_params,
660
+ :body => post_body,
661
+ :auth_names => auth_names,
662
+ :return_type => return_type
663
+ )
664
+
665
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
666
+ if @api_client.config.debugging
667
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_refresh\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
668
+ end
669
+ return data, status_code, headers
670
+ end
671
+
672
+ # Delete an Asset Report
673
+ # The `/item/remove` endpoint allows you to invalidate an `access_token`, meaning you will not be able to create new Asset Reports with it. Removing an Item does not affect any Asset Reports or Audit Copies you have already created, which will remain accessible until you remove them specifically. The `/asset_report/remove` endpoint allows you to remove an Asset Report. Removing an Asset Report invalidates its `asset_report_token`, meaning you will no longer be able to use it to access Report data or create new Audit Copies. Removing an Asset Report does not affect the underlying Items, but does invalidate any `audit_copy_tokens` associated with the Asset Report.
674
+ # @param asset_report_remove_request [AssetReportRemoveRequest]
675
+ # @param [Hash] opts the optional parameters
676
+ # @return [AssetReportRemoveResponse]
677
+ def asset_report_remove(asset_report_remove_request, opts = {})
678
+ data, _status_code, _headers = asset_report_remove_with_http_info(asset_report_remove_request, opts)
679
+ data
680
+ end
681
+
682
+ # Delete an Asset Report
683
+ # The &#x60;/item/remove&#x60; endpoint allows you to invalidate an &#x60;access_token&#x60;, meaning you will not be able to create new Asset Reports with it. Removing an Item does not affect any Asset Reports or Audit Copies you have already created, which will remain accessible until you remove them specifically. The &#x60;/asset_report/remove&#x60; endpoint allows you to remove an Asset Report. Removing an Asset Report invalidates its &#x60;asset_report_token&#x60;, meaning you will no longer be able to use it to access Report data or create new Audit Copies. Removing an Asset Report does not affect the underlying Items, but does invalidate any &#x60;audit_copy_tokens&#x60; associated with the Asset Report.
684
+ # @param asset_report_remove_request [AssetReportRemoveRequest]
685
+ # @param [Hash] opts the optional parameters
686
+ # @return [Array<(AssetReportRemoveResponse, Integer, Hash)>] AssetReportRemoveResponse data, response status code and response headers
687
+ def asset_report_remove_with_http_info(asset_report_remove_request, opts = {})
688
+ if @api_client.config.debugging
689
+ @api_client.config.logger.debug 'Calling API: PlaidApi.asset_report_remove ...'
690
+ end
691
+ # verify the required parameter 'asset_report_remove_request' is set
692
+ if @api_client.config.client_side_validation && asset_report_remove_request.nil?
693
+ fail ArgumentError, "Missing the required parameter 'asset_report_remove_request' when calling PlaidApi.asset_report_remove"
694
+ end
695
+ # resource path
696
+ local_var_path = '/asset_report/remove'
697
+
698
+ # query parameters
699
+ query_params = opts[:query_params] || {}
700
+
701
+ # header parameters
702
+ header_params = opts[:header_params] || {}
703
+ # HTTP header 'Accept' (if needed)
704
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
705
+ # HTTP header 'Content-Type'
706
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
707
+
708
+ # form parameters
709
+ form_params = opts[:form_params] || {}
710
+
711
+ # http body (model)
712
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(asset_report_remove_request)
713
+
714
+ # return_type
715
+ return_type = opts[:debug_return_type] || 'AssetReportRemoveResponse'
716
+
717
+ # auth_names
718
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
719
+
720
+ new_options = opts.merge(
721
+ :operation => :"PlaidApi.asset_report_remove",
722
+ :header_params => header_params,
723
+ :query_params => query_params,
724
+ :form_params => form_params,
725
+ :body => post_body,
726
+ :auth_names => auth_names,
727
+ :return_type => return_type
728
+ )
729
+
730
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
731
+ if @api_client.config.debugging
732
+ @api_client.config.logger.debug "API called: PlaidApi#asset_report_remove\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
733
+ end
734
+ return data, status_code, headers
735
+ end
736
+
737
+ # Retrieve auth data
738
+ # The `/auth/get` endpoint returns the bank account and bank identification numbers (such as routing numbers, for US accounts) associated with an Item's checking and savings accounts, along with high-level account data and balances when available. Note: This request may take some time to complete if `auth` was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.
739
+ # @param auth_get_request [AuthGetRequest]
740
+ # @param [Hash] opts the optional parameters
741
+ # @return [AuthGetResponse]
742
+ def auth_get(auth_get_request, opts = {})
743
+ data, _status_code, _headers = auth_get_with_http_info(auth_get_request, opts)
744
+ data
745
+ end
746
+
747
+ # Retrieve auth data
748
+ # The &#x60;/auth/get&#x60; endpoint returns the bank account and bank identification numbers (such as routing numbers, for US accounts) associated with an Item&#39;s checking and savings accounts, along with high-level account data and balances when available. Note: This request may take some time to complete if &#x60;auth&#x60; was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.
749
+ # @param auth_get_request [AuthGetRequest]
750
+ # @param [Hash] opts the optional parameters
751
+ # @return [Array<(AuthGetResponse, Integer, Hash)>] AuthGetResponse data, response status code and response headers
752
+ def auth_get_with_http_info(auth_get_request, opts = {})
753
+ if @api_client.config.debugging
754
+ @api_client.config.logger.debug 'Calling API: PlaidApi.auth_get ...'
755
+ end
756
+ # verify the required parameter 'auth_get_request' is set
757
+ if @api_client.config.client_side_validation && auth_get_request.nil?
758
+ fail ArgumentError, "Missing the required parameter 'auth_get_request' when calling PlaidApi.auth_get"
759
+ end
760
+ # resource path
761
+ local_var_path = '/auth/get'
762
+
763
+ # query parameters
764
+ query_params = opts[:query_params] || {}
765
+
766
+ # header parameters
767
+ header_params = opts[:header_params] || {}
768
+ # HTTP header 'Accept' (if needed)
769
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
770
+ # HTTP header 'Content-Type'
771
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
772
+
773
+ # form parameters
774
+ form_params = opts[:form_params] || {}
775
+
776
+ # http body (model)
777
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(auth_get_request)
778
+
779
+ # return_type
780
+ return_type = opts[:debug_return_type] || 'AuthGetResponse'
781
+
782
+ # auth_names
783
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
784
+
785
+ new_options = opts.merge(
786
+ :operation => :"PlaidApi.auth_get",
787
+ :header_params => header_params,
788
+ :query_params => query_params,
789
+ :form_params => form_params,
790
+ :body => post_body,
791
+ :auth_names => auth_names,
792
+ :return_type => return_type
793
+ )
794
+
795
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
796
+ if @api_client.config.debugging
797
+ @api_client.config.logger.debug "API called: PlaidApi#auth_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
798
+ end
799
+ return data, status_code, headers
800
+ end
801
+
802
+ # Get balance of your Bank Transfer account
803
+ # Use the `/bank_transfer/balance/get` endpoint to see the available balance in your bank transfer account. Debit transfers increase this balance once their status is posted. Credit transfers decrease this balance when they are created. The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance. Note that this endpoint can only be used with FBO accounts, when using Bank Transfers in the Full Service configuration. It cannot be used on your own account when using Bank Transfers in the BTS Platform configuration.
804
+ # @param bank_transfer_balance_get_request [BankTransferBalanceGetRequest]
805
+ # @param [Hash] opts the optional parameters
806
+ # @return [BankTransferBalanceGetResponse]
807
+ def bank_transfer_balance_get(bank_transfer_balance_get_request, opts = {})
808
+ data, _status_code, _headers = bank_transfer_balance_get_with_http_info(bank_transfer_balance_get_request, opts)
809
+ data
810
+ end
811
+
812
+ # Get balance of your Bank Transfer account
813
+ # Use the &#x60;/bank_transfer/balance/get&#x60; endpoint to see the available balance in your bank transfer account. Debit transfers increase this balance once their status is posted. Credit transfers decrease this balance when they are created. The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance. Note that this endpoint can only be used with FBO accounts, when using Bank Transfers in the Full Service configuration. It cannot be used on your own account when using Bank Transfers in the BTS Platform configuration.
814
+ # @param bank_transfer_balance_get_request [BankTransferBalanceGetRequest]
815
+ # @param [Hash] opts the optional parameters
816
+ # @return [Array<(BankTransferBalanceGetResponse, Integer, Hash)>] BankTransferBalanceGetResponse data, response status code and response headers
817
+ def bank_transfer_balance_get_with_http_info(bank_transfer_balance_get_request, opts = {})
818
+ if @api_client.config.debugging
819
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_balance_get ...'
820
+ end
821
+ # verify the required parameter 'bank_transfer_balance_get_request' is set
822
+ if @api_client.config.client_side_validation && bank_transfer_balance_get_request.nil?
823
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_balance_get_request' when calling PlaidApi.bank_transfer_balance_get"
824
+ end
825
+ # resource path
826
+ local_var_path = '/bank_transfer/balance/get'
827
+
828
+ # query parameters
829
+ query_params = opts[:query_params] || {}
830
+
831
+ # header parameters
832
+ header_params = opts[:header_params] || {}
833
+ # HTTP header 'Accept' (if needed)
834
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
835
+ # HTTP header 'Content-Type'
836
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
837
+
838
+ # form parameters
839
+ form_params = opts[:form_params] || {}
840
+
841
+ # http body (model)
842
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_balance_get_request)
843
+
844
+ # return_type
845
+ return_type = opts[:debug_return_type] || 'BankTransferBalanceGetResponse'
846
+
847
+ # auth_names
848
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
849
+
850
+ new_options = opts.merge(
851
+ :operation => :"PlaidApi.bank_transfer_balance_get",
852
+ :header_params => header_params,
853
+ :query_params => query_params,
854
+ :form_params => form_params,
855
+ :body => post_body,
856
+ :auth_names => auth_names,
857
+ :return_type => return_type
858
+ )
859
+
860
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
861
+ if @api_client.config.debugging
862
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_balance_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
863
+ end
864
+ return data, status_code, headers
865
+ end
866
+
867
+ # Cancel a bank transfer
868
+ # Use the `/bank_transfer/cancel` endpoint to cancel a bank transfer. A transfer is eligible for cancelation if the `cancellable` property returned by `/bank_transfer/get` is `true`.
869
+ # @param bank_transfer_cancel_request [BankTransferCancelRequest]
870
+ # @param [Hash] opts the optional parameters
871
+ # @return [BankTransferCancelResponse]
872
+ def bank_transfer_cancel(bank_transfer_cancel_request, opts = {})
873
+ data, _status_code, _headers = bank_transfer_cancel_with_http_info(bank_transfer_cancel_request, opts)
874
+ data
875
+ end
876
+
877
+ # Cancel a bank transfer
878
+ # Use the &#x60;/bank_transfer/cancel&#x60; endpoint to cancel a bank transfer. A transfer is eligible for cancelation if the &#x60;cancellable&#x60; property returned by &#x60;/bank_transfer/get&#x60; is &#x60;true&#x60;.
879
+ # @param bank_transfer_cancel_request [BankTransferCancelRequest]
880
+ # @param [Hash] opts the optional parameters
881
+ # @return [Array<(BankTransferCancelResponse, Integer, Hash)>] BankTransferCancelResponse data, response status code and response headers
882
+ def bank_transfer_cancel_with_http_info(bank_transfer_cancel_request, opts = {})
883
+ if @api_client.config.debugging
884
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_cancel ...'
885
+ end
886
+ # verify the required parameter 'bank_transfer_cancel_request' is set
887
+ if @api_client.config.client_side_validation && bank_transfer_cancel_request.nil?
888
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_cancel_request' when calling PlaidApi.bank_transfer_cancel"
889
+ end
890
+ # resource path
891
+ local_var_path = '/bank_transfer/cancel'
892
+
893
+ # query parameters
894
+ query_params = opts[:query_params] || {}
895
+
896
+ # header parameters
897
+ header_params = opts[:header_params] || {}
898
+ # HTTP header 'Accept' (if needed)
899
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
900
+ # HTTP header 'Content-Type'
901
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
902
+
903
+ # form parameters
904
+ form_params = opts[:form_params] || {}
905
+
906
+ # http body (model)
907
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_cancel_request)
908
+
909
+ # return_type
910
+ return_type = opts[:debug_return_type] || 'BankTransferCancelResponse'
911
+
912
+ # auth_names
913
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
914
+
915
+ new_options = opts.merge(
916
+ :operation => :"PlaidApi.bank_transfer_cancel",
917
+ :header_params => header_params,
918
+ :query_params => query_params,
919
+ :form_params => form_params,
920
+ :body => post_body,
921
+ :auth_names => auth_names,
922
+ :return_type => return_type
923
+ )
924
+
925
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
926
+ if @api_client.config.debugging
927
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_cancel\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
928
+ end
929
+ return data, status_code, headers
930
+ end
931
+
932
+ # Create a bank transfer
933
+ # Use the `/bank_transfer/create` endpoint to initiate a new bank transfer.
934
+ # @param bank_transfer_create_request [BankTransferCreateRequest]
935
+ # @param [Hash] opts the optional parameters
936
+ # @return [BankTransferCreateResponse]
937
+ def bank_transfer_create(bank_transfer_create_request, opts = {})
938
+ data, _status_code, _headers = bank_transfer_create_with_http_info(bank_transfer_create_request, opts)
939
+ data
940
+ end
941
+
942
+ # Create a bank transfer
943
+ # Use the &#x60;/bank_transfer/create&#x60; endpoint to initiate a new bank transfer.
944
+ # @param bank_transfer_create_request [BankTransferCreateRequest]
945
+ # @param [Hash] opts the optional parameters
946
+ # @return [Array<(BankTransferCreateResponse, Integer, Hash)>] BankTransferCreateResponse data, response status code and response headers
947
+ def bank_transfer_create_with_http_info(bank_transfer_create_request, opts = {})
948
+ if @api_client.config.debugging
949
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_create ...'
950
+ end
951
+ # verify the required parameter 'bank_transfer_create_request' is set
952
+ if @api_client.config.client_side_validation && bank_transfer_create_request.nil?
953
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_create_request' when calling PlaidApi.bank_transfer_create"
954
+ end
955
+ # resource path
956
+ local_var_path = '/bank_transfer/create'
957
+
958
+ # query parameters
959
+ query_params = opts[:query_params] || {}
960
+
961
+ # header parameters
962
+ header_params = opts[:header_params] || {}
963
+ # HTTP header 'Accept' (if needed)
964
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
965
+ # HTTP header 'Content-Type'
966
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
967
+
968
+ # form parameters
969
+ form_params = opts[:form_params] || {}
970
+
971
+ # http body (model)
972
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_create_request)
973
+
974
+ # return_type
975
+ return_type = opts[:debug_return_type] || 'BankTransferCreateResponse'
976
+
977
+ # auth_names
978
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
979
+
980
+ new_options = opts.merge(
981
+ :operation => :"PlaidApi.bank_transfer_create",
982
+ :header_params => header_params,
983
+ :query_params => query_params,
984
+ :form_params => form_params,
985
+ :body => post_body,
986
+ :auth_names => auth_names,
987
+ :return_type => return_type
988
+ )
989
+
990
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
991
+ if @api_client.config.debugging
992
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
993
+ end
994
+ return data, status_code, headers
995
+ end
996
+
997
+ # List bank transfer events
998
+ # Use the `/bank_transfer/event/list` endpoint to get a list of bank transfer events based on specified filter criteria.
999
+ # @param bank_transfer_event_list_request [BankTransferEventListRequest]
1000
+ # @param [Hash] opts the optional parameters
1001
+ # @return [BankTransferEventListResponse]
1002
+ def bank_transfer_event_list(bank_transfer_event_list_request, opts = {})
1003
+ data, _status_code, _headers = bank_transfer_event_list_with_http_info(bank_transfer_event_list_request, opts)
1004
+ data
1005
+ end
1006
+
1007
+ # List bank transfer events
1008
+ # Use the &#x60;/bank_transfer/event/list&#x60; endpoint to get a list of bank transfer events based on specified filter criteria.
1009
+ # @param bank_transfer_event_list_request [BankTransferEventListRequest]
1010
+ # @param [Hash] opts the optional parameters
1011
+ # @return [Array<(BankTransferEventListResponse, Integer, Hash)>] BankTransferEventListResponse data, response status code and response headers
1012
+ def bank_transfer_event_list_with_http_info(bank_transfer_event_list_request, opts = {})
1013
+ if @api_client.config.debugging
1014
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_event_list ...'
1015
+ end
1016
+ # verify the required parameter 'bank_transfer_event_list_request' is set
1017
+ if @api_client.config.client_side_validation && bank_transfer_event_list_request.nil?
1018
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_event_list_request' when calling PlaidApi.bank_transfer_event_list"
1019
+ end
1020
+ # resource path
1021
+ local_var_path = '/bank_transfer/event/list'
1022
+
1023
+ # query parameters
1024
+ query_params = opts[:query_params] || {}
1025
+
1026
+ # header parameters
1027
+ header_params = opts[:header_params] || {}
1028
+ # HTTP header 'Accept' (if needed)
1029
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1030
+ # HTTP header 'Content-Type'
1031
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1032
+
1033
+ # form parameters
1034
+ form_params = opts[:form_params] || {}
1035
+
1036
+ # http body (model)
1037
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_event_list_request)
1038
+
1039
+ # return_type
1040
+ return_type = opts[:debug_return_type] || 'BankTransferEventListResponse'
1041
+
1042
+ # auth_names
1043
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1044
+
1045
+ new_options = opts.merge(
1046
+ :operation => :"PlaidApi.bank_transfer_event_list",
1047
+ :header_params => header_params,
1048
+ :query_params => query_params,
1049
+ :form_params => form_params,
1050
+ :body => post_body,
1051
+ :auth_names => auth_names,
1052
+ :return_type => return_type
1053
+ )
1054
+
1055
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1056
+ if @api_client.config.debugging
1057
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_event_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1058
+ end
1059
+ return data, status_code, headers
1060
+ end
1061
+
1062
+ # Sync bank transfer events
1063
+ # `/bank_transfer/event/sync` allows you to request up to the next 25 bank transfer events that happened after a specific `event_id`. Use the `/bank_transfer/event/sync` endpoint to guarantee you have seen all bank transfer events.
1064
+ # @param bank_transfer_event_sync_request [BankTransferEventSyncRequest]
1065
+ # @param [Hash] opts the optional parameters
1066
+ # @return [BankTransferEventSyncResponse]
1067
+ def bank_transfer_event_sync(bank_transfer_event_sync_request, opts = {})
1068
+ data, _status_code, _headers = bank_transfer_event_sync_with_http_info(bank_transfer_event_sync_request, opts)
1069
+ data
1070
+ end
1071
+
1072
+ # Sync bank transfer events
1073
+ # &#x60;/bank_transfer/event/sync&#x60; allows you to request up to the next 25 bank transfer events that happened after a specific &#x60;event_id&#x60;. Use the &#x60;/bank_transfer/event/sync&#x60; endpoint to guarantee you have seen all bank transfer events.
1074
+ # @param bank_transfer_event_sync_request [BankTransferEventSyncRequest]
1075
+ # @param [Hash] opts the optional parameters
1076
+ # @return [Array<(BankTransferEventSyncResponse, Integer, Hash)>] BankTransferEventSyncResponse data, response status code and response headers
1077
+ def bank_transfer_event_sync_with_http_info(bank_transfer_event_sync_request, opts = {})
1078
+ if @api_client.config.debugging
1079
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_event_sync ...'
1080
+ end
1081
+ # verify the required parameter 'bank_transfer_event_sync_request' is set
1082
+ if @api_client.config.client_side_validation && bank_transfer_event_sync_request.nil?
1083
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_event_sync_request' when calling PlaidApi.bank_transfer_event_sync"
1084
+ end
1085
+ # resource path
1086
+ local_var_path = '/bank_transfer/event/sync'
1087
+
1088
+ # query parameters
1089
+ query_params = opts[:query_params] || {}
1090
+
1091
+ # header parameters
1092
+ header_params = opts[:header_params] || {}
1093
+ # HTTP header 'Accept' (if needed)
1094
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1095
+ # HTTP header 'Content-Type'
1096
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1097
+
1098
+ # form parameters
1099
+ form_params = opts[:form_params] || {}
1100
+
1101
+ # http body (model)
1102
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_event_sync_request)
1103
+
1104
+ # return_type
1105
+ return_type = opts[:debug_return_type] || 'BankTransferEventSyncResponse'
1106
+
1107
+ # auth_names
1108
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1109
+
1110
+ new_options = opts.merge(
1111
+ :operation => :"PlaidApi.bank_transfer_event_sync",
1112
+ :header_params => header_params,
1113
+ :query_params => query_params,
1114
+ :form_params => form_params,
1115
+ :body => post_body,
1116
+ :auth_names => auth_names,
1117
+ :return_type => return_type
1118
+ )
1119
+
1120
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1121
+ if @api_client.config.debugging
1122
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_event_sync\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1123
+ end
1124
+ return data, status_code, headers
1125
+ end
1126
+
1127
+ # Retrieve a bank transfer
1128
+ # The `/bank_transfer/get` fetches information about the bank transfer corresponding to the given `bank_transfer_id`.
1129
+ # @param bank_transfer_get_request [BankTransferGetRequest]
1130
+ # @param [Hash] opts the optional parameters
1131
+ # @return [BankTransferGetResponse]
1132
+ def bank_transfer_get(bank_transfer_get_request, opts = {})
1133
+ data, _status_code, _headers = bank_transfer_get_with_http_info(bank_transfer_get_request, opts)
1134
+ data
1135
+ end
1136
+
1137
+ # Retrieve a bank transfer
1138
+ # The &#x60;/bank_transfer/get&#x60; fetches information about the bank transfer corresponding to the given &#x60;bank_transfer_id&#x60;.
1139
+ # @param bank_transfer_get_request [BankTransferGetRequest]
1140
+ # @param [Hash] opts the optional parameters
1141
+ # @return [Array<(BankTransferGetResponse, Integer, Hash)>] BankTransferGetResponse data, response status code and response headers
1142
+ def bank_transfer_get_with_http_info(bank_transfer_get_request, opts = {})
1143
+ if @api_client.config.debugging
1144
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_get ...'
1145
+ end
1146
+ # verify the required parameter 'bank_transfer_get_request' is set
1147
+ if @api_client.config.client_side_validation && bank_transfer_get_request.nil?
1148
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_get_request' when calling PlaidApi.bank_transfer_get"
1149
+ end
1150
+ # resource path
1151
+ local_var_path = '/bank_transfer/get'
1152
+
1153
+ # query parameters
1154
+ query_params = opts[:query_params] || {}
1155
+
1156
+ # header parameters
1157
+ header_params = opts[:header_params] || {}
1158
+ # HTTP header 'Accept' (if needed)
1159
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1160
+ # HTTP header 'Content-Type'
1161
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1162
+
1163
+ # form parameters
1164
+ form_params = opts[:form_params] || {}
1165
+
1166
+ # http body (model)
1167
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_get_request)
1168
+
1169
+ # return_type
1170
+ return_type = opts[:debug_return_type] || 'BankTransferGetResponse'
1171
+
1172
+ # auth_names
1173
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1174
+
1175
+ new_options = opts.merge(
1176
+ :operation => :"PlaidApi.bank_transfer_get",
1177
+ :header_params => header_params,
1178
+ :query_params => query_params,
1179
+ :form_params => form_params,
1180
+ :body => post_body,
1181
+ :auth_names => auth_names,
1182
+ :return_type => return_type
1183
+ )
1184
+
1185
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1186
+ if @api_client.config.debugging
1187
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1188
+ end
1189
+ return data, status_code, headers
1190
+ end
1191
+
1192
+ # List bank transfers
1193
+ # Use the `/bank_transfer/list` endpoint to see a list of all your bank transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired bank transfers.
1194
+ # @param bank_transfer_list_request [BankTransferListRequest]
1195
+ # @param [Hash] opts the optional parameters
1196
+ # @return [BankTransferListResponse]
1197
+ def bank_transfer_list(bank_transfer_list_request, opts = {})
1198
+ data, _status_code, _headers = bank_transfer_list_with_http_info(bank_transfer_list_request, opts)
1199
+ data
1200
+ end
1201
+
1202
+ # List bank transfers
1203
+ # Use the &#x60;/bank_transfer/list&#x60; endpoint to see a list of all your bank transfers and their statuses. Results are paginated; use the &#x60;count&#x60; and &#x60;offset&#x60; query parameters to retrieve the desired bank transfers.
1204
+ # @param bank_transfer_list_request [BankTransferListRequest]
1205
+ # @param [Hash] opts the optional parameters
1206
+ # @return [Array<(BankTransferListResponse, Integer, Hash)>] BankTransferListResponse data, response status code and response headers
1207
+ def bank_transfer_list_with_http_info(bank_transfer_list_request, opts = {})
1208
+ if @api_client.config.debugging
1209
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_list ...'
1210
+ end
1211
+ # verify the required parameter 'bank_transfer_list_request' is set
1212
+ if @api_client.config.client_side_validation && bank_transfer_list_request.nil?
1213
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_list_request' when calling PlaidApi.bank_transfer_list"
1214
+ end
1215
+ # resource path
1216
+ local_var_path = '/bank_transfer/list'
1217
+
1218
+ # query parameters
1219
+ query_params = opts[:query_params] || {}
1220
+
1221
+ # header parameters
1222
+ header_params = opts[:header_params] || {}
1223
+ # HTTP header 'Accept' (if needed)
1224
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1225
+ # HTTP header 'Content-Type'
1226
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1227
+
1228
+ # form parameters
1229
+ form_params = opts[:form_params] || {}
1230
+
1231
+ # http body (model)
1232
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_list_request)
1233
+
1234
+ # return_type
1235
+ return_type = opts[:debug_return_type] || 'BankTransferListResponse'
1236
+
1237
+ # auth_names
1238
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1239
+
1240
+ new_options = opts.merge(
1241
+ :operation => :"PlaidApi.bank_transfer_list",
1242
+ :header_params => header_params,
1243
+ :query_params => query_params,
1244
+ :form_params => form_params,
1245
+ :body => post_body,
1246
+ :auth_names => auth_names,
1247
+ :return_type => return_type
1248
+ )
1249
+
1250
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1251
+ if @api_client.config.debugging
1252
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1253
+ end
1254
+ return data, status_code, headers
1255
+ end
1256
+
1257
+ # Migrate account into Bank Transfers
1258
+ # As an alternative to adding Items via Link, you can also use the `/bank_transfer/migrate_account` endpoint to migrate known account and routing numbers to Plaid Items. Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Bank Transfer endpoints. If you require access to other endpoints, create the Item through Link instead. Access to `/bank_transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid Account Manager.
1259
+ # @param bank_transfer_migrate_account_request [BankTransferMigrateAccountRequest]
1260
+ # @param [Hash] opts the optional parameters
1261
+ # @return [BankTransferMigrateAccountResponse]
1262
+ def bank_transfer_migrate_account(bank_transfer_migrate_account_request, opts = {})
1263
+ data, _status_code, _headers = bank_transfer_migrate_account_with_http_info(bank_transfer_migrate_account_request, opts)
1264
+ data
1265
+ end
1266
+
1267
+ # Migrate account into Bank Transfers
1268
+ # As an alternative to adding Items via Link, you can also use the &#x60;/bank_transfer/migrate_account&#x60; endpoint to migrate known account and routing numbers to Plaid Items. Note that Items created in this way are not compatible with endpoints for other products, such as &#x60;/accounts/balance/get&#x60;, and can only be used with Bank Transfer endpoints. If you require access to other endpoints, create the Item through Link instead. Access to &#x60;/bank_transfer/migrate_account&#x60; is not enabled by default; to obtain access, contact your Plaid Account Manager.
1269
+ # @param bank_transfer_migrate_account_request [BankTransferMigrateAccountRequest]
1270
+ # @param [Hash] opts the optional parameters
1271
+ # @return [Array<(BankTransferMigrateAccountResponse, Integer, Hash)>] BankTransferMigrateAccountResponse data, response status code and response headers
1272
+ def bank_transfer_migrate_account_with_http_info(bank_transfer_migrate_account_request, opts = {})
1273
+ if @api_client.config.debugging
1274
+ @api_client.config.logger.debug 'Calling API: PlaidApi.bank_transfer_migrate_account ...'
1275
+ end
1276
+ # verify the required parameter 'bank_transfer_migrate_account_request' is set
1277
+ if @api_client.config.client_side_validation && bank_transfer_migrate_account_request.nil?
1278
+ fail ArgumentError, "Missing the required parameter 'bank_transfer_migrate_account_request' when calling PlaidApi.bank_transfer_migrate_account"
1279
+ end
1280
+ # resource path
1281
+ local_var_path = '/bank_transfer/migrate_account'
1282
+
1283
+ # query parameters
1284
+ query_params = opts[:query_params] || {}
1285
+
1286
+ # header parameters
1287
+ header_params = opts[:header_params] || {}
1288
+ # HTTP header 'Accept' (if needed)
1289
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1290
+ # HTTP header 'Content-Type'
1291
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1292
+
1293
+ # form parameters
1294
+ form_params = opts[:form_params] || {}
1295
+
1296
+ # http body (model)
1297
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bank_transfer_migrate_account_request)
1298
+
1299
+ # return_type
1300
+ return_type = opts[:debug_return_type] || 'BankTransferMigrateAccountResponse'
1301
+
1302
+ # auth_names
1303
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1304
+
1305
+ new_options = opts.merge(
1306
+ :operation => :"PlaidApi.bank_transfer_migrate_account",
1307
+ :header_params => header_params,
1308
+ :query_params => query_params,
1309
+ :form_params => form_params,
1310
+ :body => post_body,
1311
+ :auth_names => auth_names,
1312
+ :return_type => return_type
1313
+ )
1314
+
1315
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1316
+ if @api_client.config.debugging
1317
+ @api_client.config.logger.debug "API called: PlaidApi#bank_transfer_migrate_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1318
+ end
1319
+ return data, status_code, headers
1320
+ end
1321
+
1322
+ # Get Categories
1323
+ # Send a request to the `/categories/get` endpoint to get detailed information on categories returned by Plaid. This endpoint does not require authentication.
1324
+ # @param body [Object]
1325
+ # @param [Hash] opts the optional parameters
1326
+ # @return [CategoriesGetResponse]
1327
+ def categories_get(body, opts = {})
1328
+ data, _status_code, _headers = categories_get_with_http_info(body, opts)
1329
+ data
1330
+ end
1331
+
1332
+ # Get Categories
1333
+ # Send a request to the &#x60;/categories/get&#x60; endpoint to get detailed information on categories returned by Plaid. This endpoint does not require authentication.
1334
+ # @param body [Object]
1335
+ # @param [Hash] opts the optional parameters
1336
+ # @return [Array<(CategoriesGetResponse, Integer, Hash)>] CategoriesGetResponse data, response status code and response headers
1337
+ def categories_get_with_http_info(body, opts = {})
1338
+ if @api_client.config.debugging
1339
+ @api_client.config.logger.debug 'Calling API: PlaidApi.categories_get ...'
1340
+ end
1341
+ # verify the required parameter 'body' is set
1342
+ if @api_client.config.client_side_validation && body.nil?
1343
+ fail ArgumentError, "Missing the required parameter 'body' when calling PlaidApi.categories_get"
1344
+ end
1345
+ # resource path
1346
+ local_var_path = '/categories/get'
1347
+
1348
+ # query parameters
1349
+ query_params = opts[:query_params] || {}
1350
+
1351
+ # header parameters
1352
+ header_params = opts[:header_params] || {}
1353
+ # HTTP header 'Accept' (if needed)
1354
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1355
+ # HTTP header 'Content-Type'
1356
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1357
+
1358
+ # form parameters
1359
+ form_params = opts[:form_params] || {}
1360
+
1361
+ # http body (model)
1362
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
1363
+
1364
+ # return_type
1365
+ return_type = opts[:debug_return_type] || 'CategoriesGetResponse'
1366
+
1367
+ # auth_names
1368
+ auth_names = opts[:debug_auth_names] || []
1369
+
1370
+ new_options = opts.merge(
1371
+ :operation => :"PlaidApi.categories_get",
1372
+ :header_params => header_params,
1373
+ :query_params => query_params,
1374
+ :form_params => form_params,
1375
+ :body => post_body,
1376
+ :auth_names => auth_names,
1377
+ :return_type => return_type
1378
+ )
1379
+
1380
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1381
+ if @api_client.config.debugging
1382
+ @api_client.config.logger.debug "API called: PlaidApi#categories_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1383
+ end
1384
+ return data, status_code, headers
1385
+ end
1386
+
1387
+ # Create payment token
1388
+ # The `/payment_initiation/payment/token/create` endpoint has been deprecated. New Plaid customers will be unable to use this endpoint, and existing customers are encouraged to migrate to the newer, `link_token`-based flow. The recommended flow is to provide the `payment_id` to `/link/token/create`, which returns a `link_token` used to initialize Link. The `/payment_initiation/payment/token/create` is used to create a `payment_token`, which can then be used in Link initialization to enter a payment initiation flow. You can only use a `payment_token` once. If this attempt fails, the end user aborts the flow, or the token expires, you will need to create a new payment token. Creating a new payment token does not require end user input.
1389
+ # @param payment_initiation_payment_token_create_request [PaymentInitiationPaymentTokenCreateRequest]
1390
+ # @param [Hash] opts the optional parameters
1391
+ # @return [PaymentInitiationPaymentTokenCreateResponse]
1392
+ def create_payment_token(payment_initiation_payment_token_create_request, opts = {})
1393
+ data, _status_code, _headers = create_payment_token_with_http_info(payment_initiation_payment_token_create_request, opts)
1394
+ data
1395
+ end
1396
+
1397
+ # Create payment token
1398
+ # The &#x60;/payment_initiation/payment/token/create&#x60; endpoint has been deprecated. New Plaid customers will be unable to use this endpoint, and existing customers are encouraged to migrate to the newer, &#x60;link_token&#x60;-based flow. The recommended flow is to provide the &#x60;payment_id&#x60; to &#x60;/link/token/create&#x60;, which returns a &#x60;link_token&#x60; used to initialize Link. The &#x60;/payment_initiation/payment/token/create&#x60; is used to create a &#x60;payment_token&#x60;, which can then be used in Link initialization to enter a payment initiation flow. You can only use a &#x60;payment_token&#x60; once. If this attempt fails, the end user aborts the flow, or the token expires, you will need to create a new payment token. Creating a new payment token does not require end user input.
1399
+ # @param payment_initiation_payment_token_create_request [PaymentInitiationPaymentTokenCreateRequest]
1400
+ # @param [Hash] opts the optional parameters
1401
+ # @return [Array<(PaymentInitiationPaymentTokenCreateResponse, Integer, Hash)>] PaymentInitiationPaymentTokenCreateResponse data, response status code and response headers
1402
+ def create_payment_token_with_http_info(payment_initiation_payment_token_create_request, opts = {})
1403
+ if @api_client.config.debugging
1404
+ @api_client.config.logger.debug 'Calling API: PlaidApi.create_payment_token ...'
1405
+ end
1406
+ # verify the required parameter 'payment_initiation_payment_token_create_request' is set
1407
+ if @api_client.config.client_side_validation && payment_initiation_payment_token_create_request.nil?
1408
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_payment_token_create_request' when calling PlaidApi.create_payment_token"
1409
+ end
1410
+ # resource path
1411
+ local_var_path = '/payment_initiation/payment/token/create'
1412
+
1413
+ # query parameters
1414
+ query_params = opts[:query_params] || {}
1415
+
1416
+ # header parameters
1417
+ header_params = opts[:header_params] || {}
1418
+ # HTTP header 'Accept' (if needed)
1419
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1420
+ # HTTP header 'Content-Type'
1421
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1422
+
1423
+ # form parameters
1424
+ form_params = opts[:form_params] || {}
1425
+
1426
+ # http body (model)
1427
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_payment_token_create_request)
1428
+
1429
+ # return_type
1430
+ return_type = opts[:debug_return_type] || 'PaymentInitiationPaymentTokenCreateResponse'
1431
+
1432
+ # auth_names
1433
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1434
+
1435
+ new_options = opts.merge(
1436
+ :operation => :"PlaidApi.create_payment_token",
1437
+ :header_params => header_params,
1438
+ :query_params => query_params,
1439
+ :form_params => form_params,
1440
+ :body => post_body,
1441
+ :auth_names => auth_names,
1442
+ :return_type => return_type
1443
+ )
1444
+
1445
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1446
+ if @api_client.config.debugging
1447
+ @api_client.config.logger.debug "API called: PlaidApi#create_payment_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1448
+ end
1449
+ return data, status_code, headers
1450
+ end
1451
+
1452
+ # Create a deposit switch when not using Plaid Exchange.'
1453
+ # This endpoint provides an alternative to `/deposit_switch/create` for customers who have not yet fully integrated with Plaid Exchange. Like `/deposit_switch/create`, it created a deposit switch entity that will be persisted throughout the lifecycle of the switch.
1454
+ # @param [Hash] opts the optional parameters
1455
+ # @option opts [DepositSwitchAltCreateRequest] :deposit_switch_alt_create_request
1456
+ # @return [DepositSwitchAltCreateResponse]
1457
+ def deposit_switch_alt_create(opts = {})
1458
+ data, _status_code, _headers = deposit_switch_alt_create_with_http_info(opts)
1459
+ data
1460
+ end
1461
+
1462
+ # Create a deposit switch when not using Plaid Exchange.&#39;
1463
+ # This endpoint provides an alternative to &#x60;/deposit_switch/create&#x60; for customers who have not yet fully integrated with Plaid Exchange. Like &#x60;/deposit_switch/create&#x60;, it created a deposit switch entity that will be persisted throughout the lifecycle of the switch.
1464
+ # @param [Hash] opts the optional parameters
1465
+ # @option opts [DepositSwitchAltCreateRequest] :deposit_switch_alt_create_request
1466
+ # @return [Array<(DepositSwitchAltCreateResponse, Integer, Hash)>] DepositSwitchAltCreateResponse data, response status code and response headers
1467
+ def deposit_switch_alt_create_with_http_info(opts = {})
1468
+ if @api_client.config.debugging
1469
+ @api_client.config.logger.debug 'Calling API: PlaidApi.deposit_switch_alt_create ...'
1470
+ end
1471
+ # resource path
1472
+ local_var_path = '/deposit_switch/alt/create'
1473
+
1474
+ # query parameters
1475
+ query_params = opts[:query_params] || {}
1476
+
1477
+ # header parameters
1478
+ header_params = opts[:header_params] || {}
1479
+ # HTTP header 'Accept' (if needed)
1480
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1481
+ # HTTP header 'Content-Type'
1482
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1483
+
1484
+ # form parameters
1485
+ form_params = opts[:form_params] || {}
1486
+
1487
+ # http body (model)
1488
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'deposit_switch_alt_create_request'])
1489
+
1490
+ # return_type
1491
+ return_type = opts[:debug_return_type] || 'DepositSwitchAltCreateResponse'
1492
+
1493
+ # auth_names
1494
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1495
+
1496
+ new_options = opts.merge(
1497
+ :operation => :"PlaidApi.deposit_switch_alt_create",
1498
+ :header_params => header_params,
1499
+ :query_params => query_params,
1500
+ :form_params => form_params,
1501
+ :body => post_body,
1502
+ :auth_names => auth_names,
1503
+ :return_type => return_type
1504
+ )
1505
+
1506
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1507
+ if @api_client.config.debugging
1508
+ @api_client.config.logger.debug "API called: PlaidApi#deposit_switch_alt_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1509
+ end
1510
+ return data, status_code, headers
1511
+ end
1512
+
1513
+ # Create a deposit switch
1514
+ # This endpoint creates a deposit switch entity that will be persisted throughout the lifecycle of the switch.
1515
+ # @param deposit_switch_create_request [DepositSwitchCreateRequest]
1516
+ # @param [Hash] opts the optional parameters
1517
+ # @return [DepositSwitchCreateResponse]
1518
+ def deposit_switch_create(deposit_switch_create_request, opts = {})
1519
+ data, _status_code, _headers = deposit_switch_create_with_http_info(deposit_switch_create_request, opts)
1520
+ data
1521
+ end
1522
+
1523
+ # Create a deposit switch
1524
+ # This endpoint creates a deposit switch entity that will be persisted throughout the lifecycle of the switch.
1525
+ # @param deposit_switch_create_request [DepositSwitchCreateRequest]
1526
+ # @param [Hash] opts the optional parameters
1527
+ # @return [Array<(DepositSwitchCreateResponse, Integer, Hash)>] DepositSwitchCreateResponse data, response status code and response headers
1528
+ def deposit_switch_create_with_http_info(deposit_switch_create_request, opts = {})
1529
+ if @api_client.config.debugging
1530
+ @api_client.config.logger.debug 'Calling API: PlaidApi.deposit_switch_create ...'
1531
+ end
1532
+ # verify the required parameter 'deposit_switch_create_request' is set
1533
+ if @api_client.config.client_side_validation && deposit_switch_create_request.nil?
1534
+ fail ArgumentError, "Missing the required parameter 'deposit_switch_create_request' when calling PlaidApi.deposit_switch_create"
1535
+ end
1536
+ # resource path
1537
+ local_var_path = '/deposit_switch/create'
1538
+
1539
+ # query parameters
1540
+ query_params = opts[:query_params] || {}
1541
+
1542
+ # header parameters
1543
+ header_params = opts[:header_params] || {}
1544
+ # HTTP header 'Accept' (if needed)
1545
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1546
+ # HTTP header 'Content-Type'
1547
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1548
+
1549
+ # form parameters
1550
+ form_params = opts[:form_params] || {}
1551
+
1552
+ # http body (model)
1553
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(deposit_switch_create_request)
1554
+
1555
+ # return_type
1556
+ return_type = opts[:debug_return_type] || 'DepositSwitchCreateResponse'
1557
+
1558
+ # auth_names
1559
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1560
+
1561
+ new_options = opts.merge(
1562
+ :operation => :"PlaidApi.deposit_switch_create",
1563
+ :header_params => header_params,
1564
+ :query_params => query_params,
1565
+ :form_params => form_params,
1566
+ :body => post_body,
1567
+ :auth_names => auth_names,
1568
+ :return_type => return_type
1569
+ )
1570
+
1571
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1572
+ if @api_client.config.debugging
1573
+ @api_client.config.logger.debug "API called: PlaidApi#deposit_switch_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1574
+ end
1575
+ return data, status_code, headers
1576
+ end
1577
+
1578
+ # Retrieve a deposit switch
1579
+ # This endpoint returns information related to how the user has configured their payroll allocation and the state of the switch. You can use this information to build logic related to the user's direct deposit allocation preferences.
1580
+ # @param deposit_switch_get_request [DepositSwitchGetRequest]
1581
+ # @param [Hash] opts the optional parameters
1582
+ # @return [DepositSwitchGetResponse]
1583
+ def deposit_switch_get(deposit_switch_get_request, opts = {})
1584
+ data, _status_code, _headers = deposit_switch_get_with_http_info(deposit_switch_get_request, opts)
1585
+ data
1586
+ end
1587
+
1588
+ # Retrieve a deposit switch
1589
+ # This endpoint returns information related to how the user has configured their payroll allocation and the state of the switch. You can use this information to build logic related to the user&#39;s direct deposit allocation preferences.
1590
+ # @param deposit_switch_get_request [DepositSwitchGetRequest]
1591
+ # @param [Hash] opts the optional parameters
1592
+ # @return [Array<(DepositSwitchGetResponse, Integer, Hash)>] DepositSwitchGetResponse data, response status code and response headers
1593
+ def deposit_switch_get_with_http_info(deposit_switch_get_request, opts = {})
1594
+ if @api_client.config.debugging
1595
+ @api_client.config.logger.debug 'Calling API: PlaidApi.deposit_switch_get ...'
1596
+ end
1597
+ # verify the required parameter 'deposit_switch_get_request' is set
1598
+ if @api_client.config.client_side_validation && deposit_switch_get_request.nil?
1599
+ fail ArgumentError, "Missing the required parameter 'deposit_switch_get_request' when calling PlaidApi.deposit_switch_get"
1600
+ end
1601
+ # resource path
1602
+ local_var_path = '/deposit_switch/get'
1603
+
1604
+ # query parameters
1605
+ query_params = opts[:query_params] || {}
1606
+
1607
+ # header parameters
1608
+ header_params = opts[:header_params] || {}
1609
+ # HTTP header 'Accept' (if needed)
1610
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1611
+ # HTTP header 'Content-Type'
1612
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1613
+
1614
+ # form parameters
1615
+ form_params = opts[:form_params] || {}
1616
+
1617
+ # http body (model)
1618
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(deposit_switch_get_request)
1619
+
1620
+ # return_type
1621
+ return_type = opts[:debug_return_type] || 'DepositSwitchGetResponse'
1622
+
1623
+ # auth_names
1624
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1625
+
1626
+ new_options = opts.merge(
1627
+ :operation => :"PlaidApi.deposit_switch_get",
1628
+ :header_params => header_params,
1629
+ :query_params => query_params,
1630
+ :form_params => form_params,
1631
+ :body => post_body,
1632
+ :auth_names => auth_names,
1633
+ :return_type => return_type
1634
+ )
1635
+
1636
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1637
+ if @api_client.config.debugging
1638
+ @api_client.config.logger.debug "API called: PlaidApi#deposit_switch_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1639
+ end
1640
+ return data, status_code, headers
1641
+ end
1642
+
1643
+ # Create a deposit switch token
1644
+ # In order for the end user to take action, you will need to create a public token representing the deposit switch. This token is used to initialize Link. It can be used one time and expires after 30 minutes.
1645
+ # @param deposit_switch_token_create_request [DepositSwitchTokenCreateRequest]
1646
+ # @param [Hash] opts the optional parameters
1647
+ # @return [DepositSwitchTokenCreateResponse]
1648
+ def deposit_switch_token_create(deposit_switch_token_create_request, opts = {})
1649
+ data, _status_code, _headers = deposit_switch_token_create_with_http_info(deposit_switch_token_create_request, opts)
1650
+ data
1651
+ end
1652
+
1653
+ # Create a deposit switch token
1654
+ # In order for the end user to take action, you will need to create a public token representing the deposit switch. This token is used to initialize Link. It can be used one time and expires after 30 minutes.
1655
+ # @param deposit_switch_token_create_request [DepositSwitchTokenCreateRequest]
1656
+ # @param [Hash] opts the optional parameters
1657
+ # @return [Array<(DepositSwitchTokenCreateResponse, Integer, Hash)>] DepositSwitchTokenCreateResponse data, response status code and response headers
1658
+ def deposit_switch_token_create_with_http_info(deposit_switch_token_create_request, opts = {})
1659
+ if @api_client.config.debugging
1660
+ @api_client.config.logger.debug 'Calling API: PlaidApi.deposit_switch_token_create ...'
1661
+ end
1662
+ # verify the required parameter 'deposit_switch_token_create_request' is set
1663
+ if @api_client.config.client_side_validation && deposit_switch_token_create_request.nil?
1664
+ fail ArgumentError, "Missing the required parameter 'deposit_switch_token_create_request' when calling PlaidApi.deposit_switch_token_create"
1665
+ end
1666
+ # resource path
1667
+ local_var_path = '/deposit_switch/token/create'
1668
+
1669
+ # query parameters
1670
+ query_params = opts[:query_params] || {}
1671
+
1672
+ # header parameters
1673
+ header_params = opts[:header_params] || {}
1674
+ # HTTP header 'Accept' (if needed)
1675
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1676
+ # HTTP header 'Content-Type'
1677
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1678
+
1679
+ # form parameters
1680
+ form_params = opts[:form_params] || {}
1681
+
1682
+ # http body (model)
1683
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(deposit_switch_token_create_request)
1684
+
1685
+ # return_type
1686
+ return_type = opts[:debug_return_type] || 'DepositSwitchTokenCreateResponse'
1687
+
1688
+ # auth_names
1689
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1690
+
1691
+ new_options = opts.merge(
1692
+ :operation => :"PlaidApi.deposit_switch_token_create",
1693
+ :header_params => header_params,
1694
+ :query_params => query_params,
1695
+ :form_params => form_params,
1696
+ :body => post_body,
1697
+ :auth_names => auth_names,
1698
+ :return_type => return_type
1699
+ )
1700
+
1701
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1702
+ if @api_client.config.debugging
1703
+ @api_client.config.logger.debug "API called: PlaidApi#deposit_switch_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1704
+ end
1705
+ return data, status_code, headers
1706
+ end
1707
+
1708
+ # Search employer database
1709
+ # `/employers/search` allows you the ability to search Plaid’s database of known employers, for use with Deposit Switch. You can use this endpoint to look up a user's employer in order to confirm that they are supported. Users with non-supported employers can then be routed out of the Deposit Switch flow. The data in the employer database is currently limited. As the Verification of Income product progresses through the beta period, more employers are being regularly added. Because the employer database is frequently updated, we recommend that you do not cache or store data from this endpoint for more than a day.
1710
+ # @param [Hash] opts the optional parameters
1711
+ # @option opts [EmployersSearchRequest] :employers_search_request
1712
+ # @return [EmployersSearchResponse]
1713
+ def employers_search(opts = {})
1714
+ data, _status_code, _headers = employers_search_with_http_info(opts)
1715
+ data
1716
+ end
1717
+
1718
+ # Search employer database
1719
+ # &#x60;/employers/search&#x60; allows you the ability to search Plaid’s database of known employers, for use with Deposit Switch. You can use this endpoint to look up a user&#39;s employer in order to confirm that they are supported. Users with non-supported employers can then be routed out of the Deposit Switch flow. The data in the employer database is currently limited. As the Verification of Income product progresses through the beta period, more employers are being regularly added. Because the employer database is frequently updated, we recommend that you do not cache or store data from this endpoint for more than a day.
1720
+ # @param [Hash] opts the optional parameters
1721
+ # @option opts [EmployersSearchRequest] :employers_search_request
1722
+ # @return [Array<(EmployersSearchResponse, Integer, Hash)>] EmployersSearchResponse data, response status code and response headers
1723
+ def employers_search_with_http_info(opts = {})
1724
+ if @api_client.config.debugging
1725
+ @api_client.config.logger.debug 'Calling API: PlaidApi.employers_search ...'
1726
+ end
1727
+ # resource path
1728
+ local_var_path = '/employers/search'
1729
+
1730
+ # query parameters
1731
+ query_params = opts[:query_params] || {}
1732
+
1733
+ # header parameters
1734
+ header_params = opts[:header_params] || {}
1735
+ # HTTP header 'Accept' (if needed)
1736
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1737
+ # HTTP header 'Content-Type'
1738
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1739
+
1740
+ # form parameters
1741
+ form_params = opts[:form_params] || {}
1742
+
1743
+ # http body (model)
1744
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'employers_search_request'])
1745
+
1746
+ # return_type
1747
+ return_type = opts[:debug_return_type] || 'EmployersSearchResponse'
1748
+
1749
+ # auth_names
1750
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1751
+
1752
+ new_options = opts.merge(
1753
+ :operation => :"PlaidApi.employers_search",
1754
+ :header_params => header_params,
1755
+ :query_params => query_params,
1756
+ :form_params => form_params,
1757
+ :body => post_body,
1758
+ :auth_names => auth_names,
1759
+ :return_type => return_type
1760
+ )
1761
+
1762
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1763
+ if @api_client.config.debugging
1764
+ @api_client.config.logger.debug "API called: PlaidApi#employers_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1765
+ end
1766
+ return data, status_code, headers
1767
+ end
1768
+
1769
+ # Retrieve identity data
1770
+ # The `/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses. Only name data is guaranteed to be returned; other fields will be empty arrays if not provided by the institution. Note: This request may take some time to complete if identity was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.
1771
+ # @param identity_get_request [IdentityGetRequest]
1772
+ # @param [Hash] opts the optional parameters
1773
+ # @return [IdentityGetResponse]
1774
+ def identity_get(identity_get_request, opts = {})
1775
+ data, _status_code, _headers = identity_get_with_http_info(identity_get_request, opts)
1776
+ data
1777
+ end
1778
+
1779
+ # Retrieve identity data
1780
+ # The &#x60;/identity/get&#x60; endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses. Only name data is guaranteed to be returned; other fields will be empty arrays if not provided by the institution. Note: This request may take some time to complete if identity was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.
1781
+ # @param identity_get_request [IdentityGetRequest]
1782
+ # @param [Hash] opts the optional parameters
1783
+ # @return [Array<(IdentityGetResponse, Integer, Hash)>] IdentityGetResponse data, response status code and response headers
1784
+ def identity_get_with_http_info(identity_get_request, opts = {})
1785
+ if @api_client.config.debugging
1786
+ @api_client.config.logger.debug 'Calling API: PlaidApi.identity_get ...'
1787
+ end
1788
+ # verify the required parameter 'identity_get_request' is set
1789
+ if @api_client.config.client_side_validation && identity_get_request.nil?
1790
+ fail ArgumentError, "Missing the required parameter 'identity_get_request' when calling PlaidApi.identity_get"
1791
+ end
1792
+ # resource path
1793
+ local_var_path = '/identity/get'
1794
+
1795
+ # query parameters
1796
+ query_params = opts[:query_params] || {}
1797
+
1798
+ # header parameters
1799
+ header_params = opts[:header_params] || {}
1800
+ # HTTP header 'Accept' (if needed)
1801
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1802
+ # HTTP header 'Content-Type'
1803
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1804
+
1805
+ # form parameters
1806
+ form_params = opts[:form_params] || {}
1807
+
1808
+ # http body (model)
1809
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(identity_get_request)
1810
+
1811
+ # return_type
1812
+ return_type = opts[:debug_return_type] || 'IdentityGetResponse'
1813
+
1814
+ # auth_names
1815
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1816
+
1817
+ new_options = opts.merge(
1818
+ :operation => :"PlaidApi.identity_get",
1819
+ :header_params => header_params,
1820
+ :query_params => query_params,
1821
+ :form_params => form_params,
1822
+ :body => post_body,
1823
+ :auth_names => auth_names,
1824
+ :return_type => return_type
1825
+ )
1826
+
1827
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1828
+ if @api_client.config.debugging
1829
+ @api_client.config.logger.debug "API called: PlaidApi#identity_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1830
+ end
1831
+ return data, status_code, headers
1832
+ end
1833
+
1834
+ # Download the original documents used for income verification
1835
+ # `/income/verification/documents/download` provides the ability to download the source paystub PDF that the end user uploaded via Paystub Import. The response to `/income/verification/documents/download` is a ZIP file in binary data. The `request_id` is returned in the `Plaid-Request-ID` header. In the future, when Digital Verification is available, the most recent file available for download with the payroll provider will also be available from this endpoint.
1836
+ # @param [Hash] opts the optional parameters
1837
+ # @option opts [IncomeVerificationDocumentsDownloadRequest] :income_verification_documents_download_request
1838
+ # @return [File]
1839
+ def income_verification_documents_download(opts = {})
1840
+ data, _status_code, _headers = income_verification_documents_download_with_http_info(opts)
1841
+ data
1842
+ end
1843
+
1844
+ # Download the original documents used for income verification
1845
+ # &#x60;/income/verification/documents/download&#x60; provides the ability to download the source paystub PDF that the end user uploaded via Paystub Import. The response to &#x60;/income/verification/documents/download&#x60; is a ZIP file in binary data. The &#x60;request_id&#x60; is returned in the &#x60;Plaid-Request-ID&#x60; header. In the future, when Digital Verification is available, the most recent file available for download with the payroll provider will also be available from this endpoint.
1846
+ # @param [Hash] opts the optional parameters
1847
+ # @option opts [IncomeVerificationDocumentsDownloadRequest] :income_verification_documents_download_request
1848
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
1849
+ def income_verification_documents_download_with_http_info(opts = {})
1850
+ if @api_client.config.debugging
1851
+ @api_client.config.logger.debug 'Calling API: PlaidApi.income_verification_documents_download ...'
1852
+ end
1853
+ # resource path
1854
+ local_var_path = '/income/verification/documents/download'
1855
+
1856
+ # query parameters
1857
+ query_params = opts[:query_params] || {}
1858
+
1859
+ # header parameters
1860
+ header_params = opts[:header_params] || {}
1861
+ # HTTP header 'Accept' (if needed)
1862
+ header_params['Accept'] = @api_client.select_header_accept(['application/zip'])
1863
+ # HTTP header 'Content-Type'
1864
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1865
+
1866
+ # form parameters
1867
+ form_params = opts[:form_params] || {}
1868
+
1869
+ # http body (model)
1870
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'income_verification_documents_download_request'])
1871
+
1872
+ # return_type
1873
+ return_type = opts[:debug_return_type] || 'File'
1874
+
1875
+ # auth_names
1876
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1877
+
1878
+ new_options = opts.merge(
1879
+ :operation => :"PlaidApi.income_verification_documents_download",
1880
+ :header_params => header_params,
1881
+ :query_params => query_params,
1882
+ :form_params => form_params,
1883
+ :body => post_body,
1884
+ :auth_names => auth_names,
1885
+ :return_type => return_type
1886
+ )
1887
+
1888
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1889
+ if @api_client.config.debugging
1890
+ @api_client.config.logger.debug "API called: PlaidApi#income_verification_documents_download\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1891
+ end
1892
+ return data, status_code, headers
1893
+ end
1894
+
1895
+ # Retrieve information from the paystub used for income verification
1896
+ # `/income/verification/paystub/get` returns the information collected from the paystub that was used to verify an end user's income. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error.
1897
+ # @param [Hash] opts the optional parameters
1898
+ # @option opts [IncomeVerificationPaystubGetRequest] :income_verification_paystub_get_request
1899
+ # @return [IncomeVerificationPaystubGetResponse]
1900
+ def income_verification_paystub_get(opts = {})
1901
+ data, _status_code, _headers = income_verification_paystub_get_with_http_info(opts)
1902
+ data
1903
+ end
1904
+
1905
+ # Retrieve information from the paystub used for income verification
1906
+ # &#x60;/income/verification/paystub/get&#x60; returns the information collected from the paystub that was used to verify an end user&#39;s income. It can be called once the status of the verification has been set to &#x60;VERIFICATION_STATUS_PROCESSING_COMPLETE&#x60;, as reported by the &#x60;INCOME: verification_status&#x60; webhook. Attempting to call the endpoint before verification has been completed will result in an error.
1907
+ # @param [Hash] opts the optional parameters
1908
+ # @option opts [IncomeVerificationPaystubGetRequest] :income_verification_paystub_get_request
1909
+ # @return [Array<(IncomeVerificationPaystubGetResponse, Integer, Hash)>] IncomeVerificationPaystubGetResponse data, response status code and response headers
1910
+ def income_verification_paystub_get_with_http_info(opts = {})
1911
+ if @api_client.config.debugging
1912
+ @api_client.config.logger.debug 'Calling API: PlaidApi.income_verification_paystub_get ...'
1913
+ end
1914
+ # resource path
1915
+ local_var_path = '/income/verification/paystub/get'
1916
+
1917
+ # query parameters
1918
+ query_params = opts[:query_params] || {}
1919
+
1920
+ # header parameters
1921
+ header_params = opts[:header_params] || {}
1922
+ # HTTP header 'Accept' (if needed)
1923
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1924
+ # HTTP header 'Content-Type'
1925
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1926
+
1927
+ # form parameters
1928
+ form_params = opts[:form_params] || {}
1929
+
1930
+ # http body (model)
1931
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'income_verification_paystub_get_request'])
1932
+
1933
+ # return_type
1934
+ return_type = opts[:debug_return_type] || 'IncomeVerificationPaystubGetResponse'
1935
+
1936
+ # auth_names
1937
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1938
+
1939
+ new_options = opts.merge(
1940
+ :operation => :"PlaidApi.income_verification_paystub_get",
1941
+ :header_params => header_params,
1942
+ :query_params => query_params,
1943
+ :form_params => form_params,
1944
+ :body => post_body,
1945
+ :auth_names => auth_names,
1946
+ :return_type => return_type
1947
+ )
1948
+
1949
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1950
+ if @api_client.config.debugging
1951
+ @api_client.config.logger.debug "API called: PlaidApi#income_verification_paystub_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1952
+ end
1953
+ return data, status_code, headers
1954
+ end
1955
+
1956
+ # Retrieve a summary of information derived from income verification
1957
+ # `/income/verification/summary/get` returns a verification summary for the income that was verified for an end user. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error.
1958
+ # @param [Hash] opts the optional parameters
1959
+ # @option opts [IncomeVerificationSummaryGetRequest] :income_verification_summary_get_request
1960
+ # @return [IncomeVerificationSummaryGetResponse]
1961
+ def income_verification_summary_get(opts = {})
1962
+ data, _status_code, _headers = income_verification_summary_get_with_http_info(opts)
1963
+ data
1964
+ end
1965
+
1966
+ # Retrieve a summary of information derived from income verification
1967
+ # &#x60;/income/verification/summary/get&#x60; returns a verification summary for the income that was verified for an end user. It can be called once the status of the verification has been set to &#x60;VERIFICATION_STATUS_PROCESSING_COMPLETE&#x60;, as reported by the &#x60;INCOME: verification_status&#x60; webhook. Attempting to call the endpoint before verification has been completed will result in an error.
1968
+ # @param [Hash] opts the optional parameters
1969
+ # @option opts [IncomeVerificationSummaryGetRequest] :income_verification_summary_get_request
1970
+ # @return [Array<(IncomeVerificationSummaryGetResponse, Integer, Hash)>] IncomeVerificationSummaryGetResponse data, response status code and response headers
1971
+ def income_verification_summary_get_with_http_info(opts = {})
1972
+ if @api_client.config.debugging
1973
+ @api_client.config.logger.debug 'Calling API: PlaidApi.income_verification_summary_get ...'
1974
+ end
1975
+ # resource path
1976
+ local_var_path = '/income/verification/summary/get'
1977
+
1978
+ # query parameters
1979
+ query_params = opts[:query_params] || {}
1980
+
1981
+ # header parameters
1982
+ header_params = opts[:header_params] || {}
1983
+ # HTTP header 'Accept' (if needed)
1984
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1985
+ # HTTP header 'Content-Type'
1986
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1987
+
1988
+ # form parameters
1989
+ form_params = opts[:form_params] || {}
1990
+
1991
+ # http body (model)
1992
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'income_verification_summary_get_request'])
1993
+
1994
+ # return_type
1995
+ return_type = opts[:debug_return_type] || 'IncomeVerificationSummaryGetResponse'
1996
+
1997
+ # auth_names
1998
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
1999
+
2000
+ new_options = opts.merge(
2001
+ :operation => :"PlaidApi.income_verification_summary_get",
2002
+ :header_params => header_params,
2003
+ :query_params => query_params,
2004
+ :form_params => form_params,
2005
+ :body => post_body,
2006
+ :auth_names => auth_names,
2007
+ :return_type => return_type
2008
+ )
2009
+
2010
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2011
+ if @api_client.config.debugging
2012
+ @api_client.config.logger.debug "API called: PlaidApi#income_verification_summary_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2013
+ end
2014
+ return data, status_code, headers
2015
+ end
2016
+
2017
+ # Get details of all supported institutions
2018
+ # Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated. This data changes frequently. If you store it locally on your system, be sure to update it regularly.
2019
+ # @param institutions_get_request [InstitutionsGetRequest]
2020
+ # @param [Hash] opts the optional parameters
2021
+ # @return [InstitutionsGetResponse]
2022
+ def institutions_get(institutions_get_request, opts = {})
2023
+ data, _status_code, _headers = institutions_get_with_http_info(institutions_get_request, opts)
2024
+ data
2025
+ end
2026
+
2027
+ # Get details of all supported institutions
2028
+ # Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated. This data changes frequently. If you store it locally on your system, be sure to update it regularly.
2029
+ # @param institutions_get_request [InstitutionsGetRequest]
2030
+ # @param [Hash] opts the optional parameters
2031
+ # @return [Array<(InstitutionsGetResponse, Integer, Hash)>] InstitutionsGetResponse data, response status code and response headers
2032
+ def institutions_get_with_http_info(institutions_get_request, opts = {})
2033
+ if @api_client.config.debugging
2034
+ @api_client.config.logger.debug 'Calling API: PlaidApi.institutions_get ...'
2035
+ end
2036
+ # verify the required parameter 'institutions_get_request' is set
2037
+ if @api_client.config.client_side_validation && institutions_get_request.nil?
2038
+ fail ArgumentError, "Missing the required parameter 'institutions_get_request' when calling PlaidApi.institutions_get"
2039
+ end
2040
+ # resource path
2041
+ local_var_path = '/institutions/get'
2042
+
2043
+ # query parameters
2044
+ query_params = opts[:query_params] || {}
2045
+
2046
+ # header parameters
2047
+ header_params = opts[:header_params] || {}
2048
+ # HTTP header 'Accept' (if needed)
2049
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2050
+ # HTTP header 'Content-Type'
2051
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
2052
+
2053
+ # form parameters
2054
+ form_params = opts[:form_params] || {}
2055
+
2056
+ # http body (model)
2057
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(institutions_get_request)
2058
+
2059
+ # return_type
2060
+ return_type = opts[:debug_return_type] || 'InstitutionsGetResponse'
2061
+
2062
+ # auth_names
2063
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2064
+
2065
+ new_options = opts.merge(
2066
+ :operation => :"PlaidApi.institutions_get",
2067
+ :header_params => header_params,
2068
+ :query_params => query_params,
2069
+ :form_params => form_params,
2070
+ :body => post_body,
2071
+ :auth_names => auth_names,
2072
+ :return_type => return_type
2073
+ )
2074
+
2075
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2076
+ if @api_client.config.debugging
2077
+ @api_client.config.logger.debug "API called: PlaidApi#institutions_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2078
+ end
2079
+ return data, status_code, headers
2080
+ end
2081
+
2082
+ # Get details of an institution
2083
+ # Returns a JSON response containing details on a specified financial institution currently supported by Plaid.
2084
+ # @param institutions_get_by_id_request [InstitutionsGetByIdRequest]
2085
+ # @param [Hash] opts the optional parameters
2086
+ # @return [InstitutionsGetByIdResponse]
2087
+ def institutions_get_by_id(institutions_get_by_id_request, opts = {})
2088
+ data, _status_code, _headers = institutions_get_by_id_with_http_info(institutions_get_by_id_request, opts)
2089
+ data
2090
+ end
2091
+
2092
+ # Get details of an institution
2093
+ # Returns a JSON response containing details on a specified financial institution currently supported by Plaid.
2094
+ # @param institutions_get_by_id_request [InstitutionsGetByIdRequest]
2095
+ # @param [Hash] opts the optional parameters
2096
+ # @return [Array<(InstitutionsGetByIdResponse, Integer, Hash)>] InstitutionsGetByIdResponse data, response status code and response headers
2097
+ def institutions_get_by_id_with_http_info(institutions_get_by_id_request, opts = {})
2098
+ if @api_client.config.debugging
2099
+ @api_client.config.logger.debug 'Calling API: PlaidApi.institutions_get_by_id ...'
2100
+ end
2101
+ # verify the required parameter 'institutions_get_by_id_request' is set
2102
+ if @api_client.config.client_side_validation && institutions_get_by_id_request.nil?
2103
+ fail ArgumentError, "Missing the required parameter 'institutions_get_by_id_request' when calling PlaidApi.institutions_get_by_id"
2104
+ end
2105
+ # resource path
2106
+ local_var_path = '/institutions/get_by_id'
2107
+
2108
+ # query parameters
2109
+ query_params = opts[:query_params] || {}
2110
+
2111
+ # header parameters
2112
+ header_params = opts[:header_params] || {}
2113
+ # HTTP header 'Accept' (if needed)
2114
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2115
+ # HTTP header 'Content-Type'
2116
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2117
+
2118
+ # form parameters
2119
+ form_params = opts[:form_params] || {}
2120
+
2121
+ # http body (model)
2122
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(institutions_get_by_id_request)
2123
+
2124
+ # return_type
2125
+ return_type = opts[:debug_return_type] || 'InstitutionsGetByIdResponse'
2126
+
2127
+ # auth_names
2128
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2129
+
2130
+ new_options = opts.merge(
2131
+ :operation => :"PlaidApi.institutions_get_by_id",
2132
+ :header_params => header_params,
2133
+ :query_params => query_params,
2134
+ :form_params => form_params,
2135
+ :body => post_body,
2136
+ :auth_names => auth_names,
2137
+ :return_type => return_type
2138
+ )
2139
+
2140
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2141
+ if @api_client.config.debugging
2142
+ @api_client.config.logger.debug "API called: PlaidApi#institutions_get_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2143
+ end
2144
+ return data, status_code, headers
2145
+ end
2146
+
2147
+ # Search institutions
2148
+ # Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query.
2149
+ # @param institutions_search_request [InstitutionsSearchRequest]
2150
+ # @param [Hash] opts the optional parameters
2151
+ # @return [InstitutionsSearchResponse]
2152
+ def institutions_search(institutions_search_request, opts = {})
2153
+ data, _status_code, _headers = institutions_search_with_http_info(institutions_search_request, opts)
2154
+ data
2155
+ end
2156
+
2157
+ # Search institutions
2158
+ # Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query.
2159
+ # @param institutions_search_request [InstitutionsSearchRequest]
2160
+ # @param [Hash] opts the optional parameters
2161
+ # @return [Array<(InstitutionsSearchResponse, Integer, Hash)>] InstitutionsSearchResponse data, response status code and response headers
2162
+ def institutions_search_with_http_info(institutions_search_request, opts = {})
2163
+ if @api_client.config.debugging
2164
+ @api_client.config.logger.debug 'Calling API: PlaidApi.institutions_search ...'
2165
+ end
2166
+ # verify the required parameter 'institutions_search_request' is set
2167
+ if @api_client.config.client_side_validation && institutions_search_request.nil?
2168
+ fail ArgumentError, "Missing the required parameter 'institutions_search_request' when calling PlaidApi.institutions_search"
2169
+ end
2170
+ # resource path
2171
+ local_var_path = '/institutions/search'
2172
+
2173
+ # query parameters
2174
+ query_params = opts[:query_params] || {}
2175
+
2176
+ # header parameters
2177
+ header_params = opts[:header_params] || {}
2178
+ # HTTP header 'Accept' (if needed)
2179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2180
+ # HTTP header 'Content-Type'
2181
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2182
+
2183
+ # form parameters
2184
+ form_params = opts[:form_params] || {}
2185
+
2186
+ # http body (model)
2187
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(institutions_search_request)
2188
+
2189
+ # return_type
2190
+ return_type = opts[:debug_return_type] || 'InstitutionsSearchResponse'
2191
+
2192
+ # auth_names
2193
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2194
+
2195
+ new_options = opts.merge(
2196
+ :operation => :"PlaidApi.institutions_search",
2197
+ :header_params => header_params,
2198
+ :query_params => query_params,
2199
+ :form_params => form_params,
2200
+ :body => post_body,
2201
+ :auth_names => auth_names,
2202
+ :return_type => return_type
2203
+ )
2204
+
2205
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2206
+ if @api_client.config.debugging
2207
+ @api_client.config.logger.debug "API called: PlaidApi#institutions_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2208
+ end
2209
+ return data, status_code, headers
2210
+ end
2211
+
2212
+ # Get Investment holdings
2213
+ # The `/investments/holdings/get` endpoint allows developers to receive user-authorized stock position data for `investment`-type accounts.
2214
+ # @param investments_holdings_get_request [InvestmentsHoldingsGetRequest]
2215
+ # @param [Hash] opts the optional parameters
2216
+ # @return [InvestmentsHoldingsGetResponse]
2217
+ def investments_holdings_get(investments_holdings_get_request, opts = {})
2218
+ data, _status_code, _headers = investments_holdings_get_with_http_info(investments_holdings_get_request, opts)
2219
+ data
2220
+ end
2221
+
2222
+ # Get Investment holdings
2223
+ # The &#x60;/investments/holdings/get&#x60; endpoint allows developers to receive user-authorized stock position data for &#x60;investment&#x60;-type accounts.
2224
+ # @param investments_holdings_get_request [InvestmentsHoldingsGetRequest]
2225
+ # @param [Hash] opts the optional parameters
2226
+ # @return [Array<(InvestmentsHoldingsGetResponse, Integer, Hash)>] InvestmentsHoldingsGetResponse data, response status code and response headers
2227
+ def investments_holdings_get_with_http_info(investments_holdings_get_request, opts = {})
2228
+ if @api_client.config.debugging
2229
+ @api_client.config.logger.debug 'Calling API: PlaidApi.investments_holdings_get ...'
2230
+ end
2231
+ # verify the required parameter 'investments_holdings_get_request' is set
2232
+ if @api_client.config.client_side_validation && investments_holdings_get_request.nil?
2233
+ fail ArgumentError, "Missing the required parameter 'investments_holdings_get_request' when calling PlaidApi.investments_holdings_get"
2234
+ end
2235
+ # resource path
2236
+ local_var_path = '/investments/holdings/get'
2237
+
2238
+ # query parameters
2239
+ query_params = opts[:query_params] || {}
2240
+
2241
+ # header parameters
2242
+ header_params = opts[:header_params] || {}
2243
+ # HTTP header 'Accept' (if needed)
2244
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2245
+ # HTTP header 'Content-Type'
2246
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2247
+
2248
+ # form parameters
2249
+ form_params = opts[:form_params] || {}
2250
+
2251
+ # http body (model)
2252
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(investments_holdings_get_request)
2253
+
2254
+ # return_type
2255
+ return_type = opts[:debug_return_type] || 'InvestmentsHoldingsGetResponse'
2256
+
2257
+ # auth_names
2258
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2259
+
2260
+ new_options = opts.merge(
2261
+ :operation => :"PlaidApi.investments_holdings_get",
2262
+ :header_params => header_params,
2263
+ :query_params => query_params,
2264
+ :form_params => form_params,
2265
+ :body => post_body,
2266
+ :auth_names => auth_names,
2267
+ :return_type => return_type
2268
+ )
2269
+
2270
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2271
+ if @api_client.config.debugging
2272
+ @api_client.config.logger.debug "API called: PlaidApi#investments_holdings_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2273
+ end
2274
+ return data, status_code, headers
2275
+ end
2276
+
2277
+ # Get investment transactions
2278
+ # The `/investments/transactions/get` endpoint allows developers to retrieve user-authorized transaction data for investment accounts. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Due to the potentially large number of investment transactions associated with an Item, results are paginated. Manipulate the count and offset parameters in conjunction with the `total_investment_transactions` response body field to fetch all available investment transactions.
2279
+ # @param investments_transactions_get_request [InvestmentsTransactionsGetRequest]
2280
+ # @param [Hash] opts the optional parameters
2281
+ # @return [InvestmentsTransactionsGetResponse]
2282
+ def investments_transactions_get(investments_transactions_get_request, opts = {})
2283
+ data, _status_code, _headers = investments_transactions_get_with_http_info(investments_transactions_get_request, opts)
2284
+ data
2285
+ end
2286
+
2287
+ # Get investment transactions
2288
+ # The &#x60;/investments/transactions/get&#x60; endpoint allows developers to retrieve user-authorized transaction data for investment accounts. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Due to the potentially large number of investment transactions associated with an Item, results are paginated. Manipulate the count and offset parameters in conjunction with the &#x60;total_investment_transactions&#x60; response body field to fetch all available investment transactions.
2289
+ # @param investments_transactions_get_request [InvestmentsTransactionsGetRequest]
2290
+ # @param [Hash] opts the optional parameters
2291
+ # @return [Array<(InvestmentsTransactionsGetResponse, Integer, Hash)>] InvestmentsTransactionsGetResponse data, response status code and response headers
2292
+ def investments_transactions_get_with_http_info(investments_transactions_get_request, opts = {})
2293
+ if @api_client.config.debugging
2294
+ @api_client.config.logger.debug 'Calling API: PlaidApi.investments_transactions_get ...'
2295
+ end
2296
+ # verify the required parameter 'investments_transactions_get_request' is set
2297
+ if @api_client.config.client_side_validation && investments_transactions_get_request.nil?
2298
+ fail ArgumentError, "Missing the required parameter 'investments_transactions_get_request' when calling PlaidApi.investments_transactions_get"
2299
+ end
2300
+ # resource path
2301
+ local_var_path = '/investments/transactions/get'
2302
+
2303
+ # query parameters
2304
+ query_params = opts[:query_params] || {}
2305
+
2306
+ # header parameters
2307
+ header_params = opts[:header_params] || {}
2308
+ # HTTP header 'Accept' (if needed)
2309
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2310
+ # HTTP header 'Content-Type'
2311
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2312
+
2313
+ # form parameters
2314
+ form_params = opts[:form_params] || {}
2315
+
2316
+ # http body (model)
2317
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(investments_transactions_get_request)
2318
+
2319
+ # return_type
2320
+ return_type = opts[:debug_return_type] || 'InvestmentsTransactionsGetResponse'
2321
+
2322
+ # auth_names
2323
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2324
+
2325
+ new_options = opts.merge(
2326
+ :operation => :"PlaidApi.investments_transactions_get",
2327
+ :header_params => header_params,
2328
+ :query_params => query_params,
2329
+ :form_params => form_params,
2330
+ :body => post_body,
2331
+ :auth_names => auth_names,
2332
+ :return_type => return_type
2333
+ )
2334
+
2335
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2336
+ if @api_client.config.debugging
2337
+ @api_client.config.logger.debug "API called: PlaidApi#investments_transactions_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2338
+ end
2339
+ return data, status_code, headers
2340
+ end
2341
+
2342
+ # Invalidate access_token
2343
+ # By default, the `access_token` associated with an Item does not expire and should be stored in a persistent, secure manner. You can use the `/item/access_token/invalidate` endpoint to rotate the `access_token` associated with an Item. The endpoint returns a new `access_token` and immediately invalidates the previous `access_token`.
2344
+ # @param item_access_token_invalidate_request [ItemAccessTokenInvalidateRequest]
2345
+ # @param [Hash] opts the optional parameters
2346
+ # @return [ItemAccessTokenInvalidateResponse]
2347
+ def item_access_token_invalidate(item_access_token_invalidate_request, opts = {})
2348
+ data, _status_code, _headers = item_access_token_invalidate_with_http_info(item_access_token_invalidate_request, opts)
2349
+ data
2350
+ end
2351
+
2352
+ # Invalidate access_token
2353
+ # By default, the &#x60;access_token&#x60; associated with an Item does not expire and should be stored in a persistent, secure manner. You can use the &#x60;/item/access_token/invalidate&#x60; endpoint to rotate the &#x60;access_token&#x60; associated with an Item. The endpoint returns a new &#x60;access_token&#x60; and immediately invalidates the previous &#x60;access_token&#x60;.
2354
+ # @param item_access_token_invalidate_request [ItemAccessTokenInvalidateRequest]
2355
+ # @param [Hash] opts the optional parameters
2356
+ # @return [Array<(ItemAccessTokenInvalidateResponse, Integer, Hash)>] ItemAccessTokenInvalidateResponse data, response status code and response headers
2357
+ def item_access_token_invalidate_with_http_info(item_access_token_invalidate_request, opts = {})
2358
+ if @api_client.config.debugging
2359
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_access_token_invalidate ...'
2360
+ end
2361
+ # verify the required parameter 'item_access_token_invalidate_request' is set
2362
+ if @api_client.config.client_side_validation && item_access_token_invalidate_request.nil?
2363
+ fail ArgumentError, "Missing the required parameter 'item_access_token_invalidate_request' when calling PlaidApi.item_access_token_invalidate"
2364
+ end
2365
+ # resource path
2366
+ local_var_path = '/item/access_token/invalidate'
2367
+
2368
+ # query parameters
2369
+ query_params = opts[:query_params] || {}
2370
+
2371
+ # header parameters
2372
+ header_params = opts[:header_params] || {}
2373
+ # HTTP header 'Accept' (if needed)
2374
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2375
+ # HTTP header 'Content-Type'
2376
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2377
+
2378
+ # form parameters
2379
+ form_params = opts[:form_params] || {}
2380
+
2381
+ # http body (model)
2382
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_access_token_invalidate_request)
2383
+
2384
+ # return_type
2385
+ return_type = opts[:debug_return_type] || 'ItemAccessTokenInvalidateResponse'
2386
+
2387
+ # auth_names
2388
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2389
+
2390
+ new_options = opts.merge(
2391
+ :operation => :"PlaidApi.item_access_token_invalidate",
2392
+ :header_params => header_params,
2393
+ :query_params => query_params,
2394
+ :form_params => form_params,
2395
+ :body => post_body,
2396
+ :auth_names => auth_names,
2397
+ :return_type => return_type
2398
+ )
2399
+
2400
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2401
+ if @api_client.config.debugging
2402
+ @api_client.config.logger.debug "API called: PlaidApi#item_access_token_invalidate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2403
+ end
2404
+ return data, status_code, headers
2405
+ end
2406
+
2407
+ # Create public token
2408
+ # Note: As of July 2020, the `/item/public_token/create` endpoint is deprecated. Instead, use `/link/token/create` with an `access_token` to create a Link token for use with [update mode](/docs/link/update-mode). If you need your user to take action to restore or resolve an error associated with an Item, generate a public token with the `/item/public_token/create` endpoint and then initialize Link with that `public_token`. A `public_token` is one-time use and expires after 30 minutes. You use a `public_token` to initialize Link in [update mode](/docs/link/update-mode) for a particular Item. You can generate a `public_token` for an Item even if you did not use Link to create the Item originally. The `/item/public_token/create` endpoint is **not** used to create your initial `public_token`. If you have not already received an `access_token` for a specific Item, use Link to obtain your `public_token` instead. See the [Quickstart](/docs/quickstart) for more information.
2409
+ # @param item_public_token_create_request [ItemPublicTokenCreateRequest]
2410
+ # @param [Hash] opts the optional parameters
2411
+ # @return [ItemPublicTokenCreateResponse]
2412
+ def item_create_public_token(item_public_token_create_request, opts = {})
2413
+ data, _status_code, _headers = item_create_public_token_with_http_info(item_public_token_create_request, opts)
2414
+ data
2415
+ end
2416
+
2417
+ # Create public token
2418
+ # Note: As of July 2020, the &#x60;/item/public_token/create&#x60; endpoint is deprecated. Instead, use &#x60;/link/token/create&#x60; with an &#x60;access_token&#x60; to create a Link token for use with [update mode](/docs/link/update-mode). If you need your user to take action to restore or resolve an error associated with an Item, generate a public token with the &#x60;/item/public_token/create&#x60; endpoint and then initialize Link with that &#x60;public_token&#x60;. A &#x60;public_token&#x60; is one-time use and expires after 30 minutes. You use a &#x60;public_token&#x60; to initialize Link in [update mode](/docs/link/update-mode) for a particular Item. You can generate a &#x60;public_token&#x60; for an Item even if you did not use Link to create the Item originally. The &#x60;/item/public_token/create&#x60; endpoint is **not** used to create your initial &#x60;public_token&#x60;. If you have not already received an &#x60;access_token&#x60; for a specific Item, use Link to obtain your &#x60;public_token&#x60; instead. See the [Quickstart](/docs/quickstart) for more information.
2419
+ # @param item_public_token_create_request [ItemPublicTokenCreateRequest]
2420
+ # @param [Hash] opts the optional parameters
2421
+ # @return [Array<(ItemPublicTokenCreateResponse, Integer, Hash)>] ItemPublicTokenCreateResponse data, response status code and response headers
2422
+ def item_create_public_token_with_http_info(item_public_token_create_request, opts = {})
2423
+ if @api_client.config.debugging
2424
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_create_public_token ...'
2425
+ end
2426
+ # verify the required parameter 'item_public_token_create_request' is set
2427
+ if @api_client.config.client_side_validation && item_public_token_create_request.nil?
2428
+ fail ArgumentError, "Missing the required parameter 'item_public_token_create_request' when calling PlaidApi.item_create_public_token"
2429
+ end
2430
+ # resource path
2431
+ local_var_path = '/item/public_token/create'
2432
+
2433
+ # query parameters
2434
+ query_params = opts[:query_params] || {}
2435
+
2436
+ # header parameters
2437
+ header_params = opts[:header_params] || {}
2438
+ # HTTP header 'Accept' (if needed)
2439
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2440
+ # HTTP header 'Content-Type'
2441
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2442
+
2443
+ # form parameters
2444
+ form_params = opts[:form_params] || {}
2445
+
2446
+ # http body (model)
2447
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_public_token_create_request)
2448
+
2449
+ # return_type
2450
+ return_type = opts[:debug_return_type] || 'ItemPublicTokenCreateResponse'
2451
+
2452
+ # auth_names
2453
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2454
+
2455
+ new_options = opts.merge(
2456
+ :operation => :"PlaidApi.item_create_public_token",
2457
+ :header_params => header_params,
2458
+ :query_params => query_params,
2459
+ :form_params => form_params,
2460
+ :body => post_body,
2461
+ :auth_names => auth_names,
2462
+ :return_type => return_type
2463
+ )
2464
+
2465
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2466
+ if @api_client.config.debugging
2467
+ @api_client.config.logger.debug "API called: PlaidApi#item_create_public_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2468
+ end
2469
+ return data, status_code, headers
2470
+ end
2471
+
2472
+ # Retrieve an Item
2473
+ # Returns information about the status of an Item.
2474
+ # @param item_get_request [ItemGetRequest]
2475
+ # @param [Hash] opts the optional parameters
2476
+ # @return [ItemGetResponse]
2477
+ def item_get(item_get_request, opts = {})
2478
+ data, _status_code, _headers = item_get_with_http_info(item_get_request, opts)
2479
+ data
2480
+ end
2481
+
2482
+ # Retrieve an Item
2483
+ # Returns information about the status of an Item.
2484
+ # @param item_get_request [ItemGetRequest]
2485
+ # @param [Hash] opts the optional parameters
2486
+ # @return [Array<(ItemGetResponse, Integer, Hash)>] ItemGetResponse data, response status code and response headers
2487
+ def item_get_with_http_info(item_get_request, opts = {})
2488
+ if @api_client.config.debugging
2489
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_get ...'
2490
+ end
2491
+ # verify the required parameter 'item_get_request' is set
2492
+ if @api_client.config.client_side_validation && item_get_request.nil?
2493
+ fail ArgumentError, "Missing the required parameter 'item_get_request' when calling PlaidApi.item_get"
2494
+ end
2495
+ # resource path
2496
+ local_var_path = '/item/get'
2497
+
2498
+ # query parameters
2499
+ query_params = opts[:query_params] || {}
2500
+
2501
+ # header parameters
2502
+ header_params = opts[:header_params] || {}
2503
+ # HTTP header 'Accept' (if needed)
2504
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2505
+ # HTTP header 'Content-Type'
2506
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2507
+
2508
+ # form parameters
2509
+ form_params = opts[:form_params] || {}
2510
+
2511
+ # http body (model)
2512
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_get_request)
2513
+
2514
+ # return_type
2515
+ return_type = opts[:debug_return_type] || 'ItemGetResponse'
2516
+
2517
+ # auth_names
2518
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2519
+
2520
+ new_options = opts.merge(
2521
+ :operation => :"PlaidApi.item_get",
2522
+ :header_params => header_params,
2523
+ :query_params => query_params,
2524
+ :form_params => form_params,
2525
+ :body => post_body,
2526
+ :auth_names => auth_names,
2527
+ :return_type => return_type
2528
+ )
2529
+
2530
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2531
+ if @api_client.config.debugging
2532
+ @api_client.config.logger.debug "API called: PlaidApi#item_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2533
+ end
2534
+ return data, status_code, headers
2535
+ end
2536
+
2537
+ # Import Item
2538
+ # `/item/import` creates an Item via your Plaid Exchange Integration and returns an `access_token`. As part of an `/item/import` request, you will include a User ID (`user_auth.user_id`) and Authentication Token (`user_auth.auth_token`) that enable data aggregation through your Plaid Exchange API endpoints. These authentication principals are to be chosen by you. Upon creating an Item via `/item/import`, Plaid will automatically begin an extraction of that Item through the Plaid Exchange infrastructure you have already integrated. This will automatically generate the Plaid native account ID for the account the user will switch their direct deposit to (`target_account_id`).
2539
+ # @param item_import_request [ItemImportRequest]
2540
+ # @param [Hash] opts the optional parameters
2541
+ # @return [ItemImportResponse]
2542
+ def item_import(item_import_request, opts = {})
2543
+ data, _status_code, _headers = item_import_with_http_info(item_import_request, opts)
2544
+ data
2545
+ end
2546
+
2547
+ # Import Item
2548
+ # &#x60;/item/import&#x60; creates an Item via your Plaid Exchange Integration and returns an &#x60;access_token&#x60;. As part of an &#x60;/item/import&#x60; request, you will include a User ID (&#x60;user_auth.user_id&#x60;) and Authentication Token (&#x60;user_auth.auth_token&#x60;) that enable data aggregation through your Plaid Exchange API endpoints. These authentication principals are to be chosen by you. Upon creating an Item via &#x60;/item/import&#x60;, Plaid will automatically begin an extraction of that Item through the Plaid Exchange infrastructure you have already integrated. This will automatically generate the Plaid native account ID for the account the user will switch their direct deposit to (&#x60;target_account_id&#x60;).
2549
+ # @param item_import_request [ItemImportRequest]
2550
+ # @param [Hash] opts the optional parameters
2551
+ # @return [Array<(ItemImportResponse, Integer, Hash)>] ItemImportResponse data, response status code and response headers
2552
+ def item_import_with_http_info(item_import_request, opts = {})
2553
+ if @api_client.config.debugging
2554
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_import ...'
2555
+ end
2556
+ # verify the required parameter 'item_import_request' is set
2557
+ if @api_client.config.client_side_validation && item_import_request.nil?
2558
+ fail ArgumentError, "Missing the required parameter 'item_import_request' when calling PlaidApi.item_import"
2559
+ end
2560
+ # resource path
2561
+ local_var_path = '/item/import'
2562
+
2563
+ # query parameters
2564
+ query_params = opts[:query_params] || {}
2565
+
2566
+ # header parameters
2567
+ header_params = opts[:header_params] || {}
2568
+ # HTTP header 'Accept' (if needed)
2569
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2570
+ # HTTP header 'Content-Type'
2571
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2572
+
2573
+ # form parameters
2574
+ form_params = opts[:form_params] || {}
2575
+
2576
+ # http body (model)
2577
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_import_request)
2578
+
2579
+ # return_type
2580
+ return_type = opts[:debug_return_type] || 'ItemImportResponse'
2581
+
2582
+ # auth_names
2583
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2584
+
2585
+ new_options = opts.merge(
2586
+ :operation => :"PlaidApi.item_import",
2587
+ :header_params => header_params,
2588
+ :query_params => query_params,
2589
+ :form_params => form_params,
2590
+ :body => post_body,
2591
+ :auth_names => auth_names,
2592
+ :return_type => return_type
2593
+ )
2594
+
2595
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2596
+ if @api_client.config.debugging
2597
+ @api_client.config.logger.debug "API called: PlaidApi#item_import\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2598
+ end
2599
+ return data, status_code, headers
2600
+ end
2601
+
2602
+ # Exchange public token for an access token
2603
+ # Exchange a Link `public_token` for an API `access_token`. Link hands off the `public_token` client-side via the `onSuccess` callback once a user has successfully created an Item. The `public_token` is ephemeral and expires after 30 minutes. The response also includes an `item_id` that should be stored with the `access_token`. The `item_id` is used to identify an Item in a webhook. The `item_id` can also be retrieved by making an `/item/get` request.
2604
+ # @param item_public_token_exchange_request [ItemPublicTokenExchangeRequest]
2605
+ # @param [Hash] opts the optional parameters
2606
+ # @return [ItemPublicTokenExchangeResponse]
2607
+ def item_public_token_exchange(item_public_token_exchange_request, opts = {})
2608
+ data, _status_code, _headers = item_public_token_exchange_with_http_info(item_public_token_exchange_request, opts)
2609
+ data
2610
+ end
2611
+
2612
+ # Exchange public token for an access token
2613
+ # Exchange a Link &#x60;public_token&#x60; for an API &#x60;access_token&#x60;. Link hands off the &#x60;public_token&#x60; client-side via the &#x60;onSuccess&#x60; callback once a user has successfully created an Item. The &#x60;public_token&#x60; is ephemeral and expires after 30 minutes. The response also includes an &#x60;item_id&#x60; that should be stored with the &#x60;access_token&#x60;. The &#x60;item_id&#x60; is used to identify an Item in a webhook. The &#x60;item_id&#x60; can also be retrieved by making an &#x60;/item/get&#x60; request.
2614
+ # @param item_public_token_exchange_request [ItemPublicTokenExchangeRequest]
2615
+ # @param [Hash] opts the optional parameters
2616
+ # @return [Array<(ItemPublicTokenExchangeResponse, Integer, Hash)>] ItemPublicTokenExchangeResponse data, response status code and response headers
2617
+ def item_public_token_exchange_with_http_info(item_public_token_exchange_request, opts = {})
2618
+ if @api_client.config.debugging
2619
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_public_token_exchange ...'
2620
+ end
2621
+ # verify the required parameter 'item_public_token_exchange_request' is set
2622
+ if @api_client.config.client_side_validation && item_public_token_exchange_request.nil?
2623
+ fail ArgumentError, "Missing the required parameter 'item_public_token_exchange_request' when calling PlaidApi.item_public_token_exchange"
2624
+ end
2625
+ # resource path
2626
+ local_var_path = '/item/public_token/exchange'
2627
+
2628
+ # query parameters
2629
+ query_params = opts[:query_params] || {}
2630
+
2631
+ # header parameters
2632
+ header_params = opts[:header_params] || {}
2633
+ # HTTP header 'Accept' (if needed)
2634
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2635
+ # HTTP header 'Content-Type'
2636
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2637
+
2638
+ # form parameters
2639
+ form_params = opts[:form_params] || {}
2640
+
2641
+ # http body (model)
2642
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_public_token_exchange_request)
2643
+
2644
+ # return_type
2645
+ return_type = opts[:debug_return_type] || 'ItemPublicTokenExchangeResponse'
2646
+
2647
+ # auth_names
2648
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2649
+
2650
+ new_options = opts.merge(
2651
+ :operation => :"PlaidApi.item_public_token_exchange",
2652
+ :header_params => header_params,
2653
+ :query_params => query_params,
2654
+ :form_params => form_params,
2655
+ :body => post_body,
2656
+ :auth_names => auth_names,
2657
+ :return_type => return_type
2658
+ )
2659
+
2660
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2661
+ if @api_client.config.debugging
2662
+ @api_client.config.logger.debug "API called: PlaidApi#item_public_token_exchange\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2663
+ end
2664
+ return data, status_code, headers
2665
+ end
2666
+
2667
+ # Remove an Item
2668
+ # The `/item/remove` endpoint allows you to remove an Item. Once removed, the `access_token` associated with the Item is no longer valid and cannot be used to access any data that was associated with the Item. Note that in the Development environment, issuing an `/item/remove` request will not decrement your live credential count.
2669
+ # @param item_remove_request [ItemRemoveRequest]
2670
+ # @param [Hash] opts the optional parameters
2671
+ # @return [ItemRemoveResponse]
2672
+ def item_remove(item_remove_request, opts = {})
2673
+ data, _status_code, _headers = item_remove_with_http_info(item_remove_request, opts)
2674
+ data
2675
+ end
2676
+
2677
+ # Remove an Item
2678
+ # The &#x60;/item/remove&#x60; endpoint allows you to remove an Item. Once removed, the &#x60;access_token&#x60; associated with the Item is no longer valid and cannot be used to access any data that was associated with the Item. Note that in the Development environment, issuing an &#x60;/item/remove&#x60; request will not decrement your live credential count.
2679
+ # @param item_remove_request [ItemRemoveRequest]
2680
+ # @param [Hash] opts the optional parameters
2681
+ # @return [Array<(ItemRemoveResponse, Integer, Hash)>] ItemRemoveResponse data, response status code and response headers
2682
+ def item_remove_with_http_info(item_remove_request, opts = {})
2683
+ if @api_client.config.debugging
2684
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_remove ...'
2685
+ end
2686
+ # verify the required parameter 'item_remove_request' is set
2687
+ if @api_client.config.client_side_validation && item_remove_request.nil?
2688
+ fail ArgumentError, "Missing the required parameter 'item_remove_request' when calling PlaidApi.item_remove"
2689
+ end
2690
+ # resource path
2691
+ local_var_path = '/item/remove'
2692
+
2693
+ # query parameters
2694
+ query_params = opts[:query_params] || {}
2695
+
2696
+ # header parameters
2697
+ header_params = opts[:header_params] || {}
2698
+ # HTTP header 'Accept' (if needed)
2699
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2700
+ # HTTP header 'Content-Type'
2701
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2702
+
2703
+ # form parameters
2704
+ form_params = opts[:form_params] || {}
2705
+
2706
+ # http body (model)
2707
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_remove_request)
2708
+
2709
+ # return_type
2710
+ return_type = opts[:debug_return_type] || 'ItemRemoveResponse'
2711
+
2712
+ # auth_names
2713
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2714
+
2715
+ new_options = opts.merge(
2716
+ :operation => :"PlaidApi.item_remove",
2717
+ :header_params => header_params,
2718
+ :query_params => query_params,
2719
+ :form_params => form_params,
2720
+ :body => post_body,
2721
+ :auth_names => auth_names,
2722
+ :return_type => return_type
2723
+ )
2724
+
2725
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2726
+ if @api_client.config.debugging
2727
+ @api_client.config.logger.debug "API called: PlaidApi#item_remove\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2728
+ end
2729
+ return data, status_code, headers
2730
+ end
2731
+
2732
+ # Update Webhook URL
2733
+ # The POST `/item/webhook/update` allows you to update the webhook URL associated with an Item. This request triggers a [`WEBHOOK_UPDATE_ACKNOWLEDGED`](/docs/api/webhooks/#item-webhook-url-updated) webhook to the newly specified webhook URL.
2734
+ # @param item_webhook_update_request [ItemWebhookUpdateRequest]
2735
+ # @param [Hash] opts the optional parameters
2736
+ # @return [ItemWebhookUpdateResponse]
2737
+ def item_webhook_update(item_webhook_update_request, opts = {})
2738
+ data, _status_code, _headers = item_webhook_update_with_http_info(item_webhook_update_request, opts)
2739
+ data
2740
+ end
2741
+
2742
+ # Update Webhook URL
2743
+ # The POST &#x60;/item/webhook/update&#x60; allows you to update the webhook URL associated with an Item. This request triggers a [&#x60;WEBHOOK_UPDATE_ACKNOWLEDGED&#x60;](/docs/api/webhooks/#item-webhook-url-updated) webhook to the newly specified webhook URL.
2744
+ # @param item_webhook_update_request [ItemWebhookUpdateRequest]
2745
+ # @param [Hash] opts the optional parameters
2746
+ # @return [Array<(ItemWebhookUpdateResponse, Integer, Hash)>] ItemWebhookUpdateResponse data, response status code and response headers
2747
+ def item_webhook_update_with_http_info(item_webhook_update_request, opts = {})
2748
+ if @api_client.config.debugging
2749
+ @api_client.config.logger.debug 'Calling API: PlaidApi.item_webhook_update ...'
2750
+ end
2751
+ # verify the required parameter 'item_webhook_update_request' is set
2752
+ if @api_client.config.client_side_validation && item_webhook_update_request.nil?
2753
+ fail ArgumentError, "Missing the required parameter 'item_webhook_update_request' when calling PlaidApi.item_webhook_update"
2754
+ end
2755
+ # resource path
2756
+ local_var_path = '/item/webhook/update'
2757
+
2758
+ # query parameters
2759
+ query_params = opts[:query_params] || {}
2760
+
2761
+ # header parameters
2762
+ header_params = opts[:header_params] || {}
2763
+ # HTTP header 'Accept' (if needed)
2764
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2765
+ # HTTP header 'Content-Type'
2766
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2767
+
2768
+ # form parameters
2769
+ form_params = opts[:form_params] || {}
2770
+
2771
+ # http body (model)
2772
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(item_webhook_update_request)
2773
+
2774
+ # return_type
2775
+ return_type = opts[:debug_return_type] || 'ItemWebhookUpdateResponse'
2776
+
2777
+ # auth_names
2778
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2779
+
2780
+ new_options = opts.merge(
2781
+ :operation => :"PlaidApi.item_webhook_update",
2782
+ :header_params => header_params,
2783
+ :query_params => query_params,
2784
+ :form_params => form_params,
2785
+ :body => post_body,
2786
+ :auth_names => auth_names,
2787
+ :return_type => return_type
2788
+ )
2789
+
2790
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2791
+ if @api_client.config.debugging
2792
+ @api_client.config.logger.debug "API called: PlaidApi#item_webhook_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2793
+ end
2794
+ return data, status_code, headers
2795
+ end
2796
+
2797
+ # Retrieve Liabilities data
2798
+ # The `/liabilities/get` endpoint returns various details about an Item with loan or credit accounts. Liabilities data is available primarily for US financial institutions, with some limited coverage of Canadian institutions. Currently supported account types are account type `credit` with account subtype `credit card` or `paypal`, and account type `loan` with account subtype `student` or `mortgage`. To limit accounts listed in Link to types and subtypes supported by Liabilities, you can use the `account_filter` parameter when [creating a Link token](/docs/api/tokens/#linktokencreate). The types of information returned by Liabilities can include balances and due dates, loan terms, and account details such as original loan amount and guarantor. Data is refreshed approximately once per day; the latest data can be retrieved by calling `/liabilities/get`. Note: This request may take some time to complete if `liabilities` was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the additional data.
2799
+ # @param liabilities_get_request [LiabilitiesGetRequest]
2800
+ # @param [Hash] opts the optional parameters
2801
+ # @return [LiabilitiesGetResponse]
2802
+ def liabilities_get(liabilities_get_request, opts = {})
2803
+ data, _status_code, _headers = liabilities_get_with_http_info(liabilities_get_request, opts)
2804
+ data
2805
+ end
2806
+
2807
+ # Retrieve Liabilities data
2808
+ # The &#x60;/liabilities/get&#x60; endpoint returns various details about an Item with loan or credit accounts. Liabilities data is available primarily for US financial institutions, with some limited coverage of Canadian institutions. Currently supported account types are account type &#x60;credit&#x60; with account subtype &#x60;credit card&#x60; or &#x60;paypal&#x60;, and account type &#x60;loan&#x60; with account subtype &#x60;student&#x60; or &#x60;mortgage&#x60;. To limit accounts listed in Link to types and subtypes supported by Liabilities, you can use the &#x60;account_filter&#x60; parameter when [creating a Link token](/docs/api/tokens/#linktokencreate). The types of information returned by Liabilities can include balances and due dates, loan terms, and account details such as original loan amount and guarantor. Data is refreshed approximately once per day; the latest data can be retrieved by calling &#x60;/liabilities/get&#x60;. Note: This request may take some time to complete if &#x60;liabilities&#x60; was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the additional data.
2809
+ # @param liabilities_get_request [LiabilitiesGetRequest]
2810
+ # @param [Hash] opts the optional parameters
2811
+ # @return [Array<(LiabilitiesGetResponse, Integer, Hash)>] LiabilitiesGetResponse data, response status code and response headers
2812
+ def liabilities_get_with_http_info(liabilities_get_request, opts = {})
2813
+ if @api_client.config.debugging
2814
+ @api_client.config.logger.debug 'Calling API: PlaidApi.liabilities_get ...'
2815
+ end
2816
+ # verify the required parameter 'liabilities_get_request' is set
2817
+ if @api_client.config.client_side_validation && liabilities_get_request.nil?
2818
+ fail ArgumentError, "Missing the required parameter 'liabilities_get_request' when calling PlaidApi.liabilities_get"
2819
+ end
2820
+ # resource path
2821
+ local_var_path = '/liabilities/get'
2822
+
2823
+ # query parameters
2824
+ query_params = opts[:query_params] || {}
2825
+
2826
+ # header parameters
2827
+ header_params = opts[:header_params] || {}
2828
+ # HTTP header 'Accept' (if needed)
2829
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2830
+ # HTTP header 'Content-Type'
2831
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2832
+
2833
+ # form parameters
2834
+ form_params = opts[:form_params] || {}
2835
+
2836
+ # http body (model)
2837
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(liabilities_get_request)
2838
+
2839
+ # return_type
2840
+ return_type = opts[:debug_return_type] || 'LiabilitiesGetResponse'
2841
+
2842
+ # auth_names
2843
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2844
+
2845
+ new_options = opts.merge(
2846
+ :operation => :"PlaidApi.liabilities_get",
2847
+ :header_params => header_params,
2848
+ :query_params => query_params,
2849
+ :form_params => form_params,
2850
+ :body => post_body,
2851
+ :auth_names => auth_names,
2852
+ :return_type => return_type
2853
+ )
2854
+
2855
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2856
+ if @api_client.config.debugging
2857
+ @api_client.config.logger.debug "API called: PlaidApi#liabilities_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2858
+ end
2859
+ return data, status_code, headers
2860
+ end
2861
+
2862
+ # Create Link Token
2863
+ # The `/link/token/create` endpoint creates a `link_token`, which is required as a parameter when initializing Link. Once Link has been initialized, it returns a `public_token`, which can then be exchanged for an `access_token` via `/item/public_token/exchange` as part of the main Link flow. A `link_token` generated by `/link/token/create` is also used to initialize other Link flows, such as the update mode flow for tokens with expired credentials, or the Payment Initiation (Europe) flow.
2864
+ # @param link_token_create_request [LinkTokenCreateRequest]
2865
+ # @param [Hash] opts the optional parameters
2866
+ # @return [LinkTokenCreateResponse]
2867
+ def link_token_create(link_token_create_request, opts = {})
2868
+ data, _status_code, _headers = link_token_create_with_http_info(link_token_create_request, opts)
2869
+ data
2870
+ end
2871
+
2872
+ # Create Link Token
2873
+ # The &#x60;/link/token/create&#x60; endpoint creates a &#x60;link_token&#x60;, which is required as a parameter when initializing Link. Once Link has been initialized, it returns a &#x60;public_token&#x60;, which can then be exchanged for an &#x60;access_token&#x60; via &#x60;/item/public_token/exchange&#x60; as part of the main Link flow. A &#x60;link_token&#x60; generated by &#x60;/link/token/create&#x60; is also used to initialize other Link flows, such as the update mode flow for tokens with expired credentials, or the Payment Initiation (Europe) flow.
2874
+ # @param link_token_create_request [LinkTokenCreateRequest]
2875
+ # @param [Hash] opts the optional parameters
2876
+ # @return [Array<(LinkTokenCreateResponse, Integer, Hash)>] LinkTokenCreateResponse data, response status code and response headers
2877
+ def link_token_create_with_http_info(link_token_create_request, opts = {})
2878
+ if @api_client.config.debugging
2879
+ @api_client.config.logger.debug 'Calling API: PlaidApi.link_token_create ...'
2880
+ end
2881
+ # verify the required parameter 'link_token_create_request' is set
2882
+ if @api_client.config.client_side_validation && link_token_create_request.nil?
2883
+ fail ArgumentError, "Missing the required parameter 'link_token_create_request' when calling PlaidApi.link_token_create"
2884
+ end
2885
+ # resource path
2886
+ local_var_path = '/link/token/create'
2887
+
2888
+ # query parameters
2889
+ query_params = opts[:query_params] || {}
2890
+
2891
+ # header parameters
2892
+ header_params = opts[:header_params] || {}
2893
+ # HTTP header 'Accept' (if needed)
2894
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2895
+ # HTTP header 'Content-Type'
2896
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2897
+
2898
+ # form parameters
2899
+ form_params = opts[:form_params] || {}
2900
+
2901
+ # http body (model)
2902
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(link_token_create_request)
2903
+
2904
+ # return_type
2905
+ return_type = opts[:debug_return_type] || 'LinkTokenCreateResponse'
2906
+
2907
+ # auth_names
2908
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2909
+
2910
+ new_options = opts.merge(
2911
+ :operation => :"PlaidApi.link_token_create",
2912
+ :header_params => header_params,
2913
+ :query_params => query_params,
2914
+ :form_params => form_params,
2915
+ :body => post_body,
2916
+ :auth_names => auth_names,
2917
+ :return_type => return_type
2918
+ )
2919
+
2920
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2921
+ if @api_client.config.debugging
2922
+ @api_client.config.logger.debug "API called: PlaidApi#link_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2923
+ end
2924
+ return data, status_code, headers
2925
+ end
2926
+
2927
+ # Get Link Token
2928
+ # The `/link/token/get` endpoint gets information about a previously-created `link_token` using the `/link/token/create` endpoint. It can be useful for debugging purposes.
2929
+ # @param link_token_get_request [LinkTokenGetRequest]
2930
+ # @param [Hash] opts the optional parameters
2931
+ # @return [LinkTokenGetResponse]
2932
+ def link_token_get(link_token_get_request, opts = {})
2933
+ data, _status_code, _headers = link_token_get_with_http_info(link_token_get_request, opts)
2934
+ data
2935
+ end
2936
+
2937
+ # Get Link Token
2938
+ # The &#x60;/link/token/get&#x60; endpoint gets information about a previously-created &#x60;link_token&#x60; using the &#x60;/link/token/create&#x60; endpoint. It can be useful for debugging purposes.
2939
+ # @param link_token_get_request [LinkTokenGetRequest]
2940
+ # @param [Hash] opts the optional parameters
2941
+ # @return [Array<(LinkTokenGetResponse, Integer, Hash)>] LinkTokenGetResponse data, response status code and response headers
2942
+ def link_token_get_with_http_info(link_token_get_request, opts = {})
2943
+ if @api_client.config.debugging
2944
+ @api_client.config.logger.debug 'Calling API: PlaidApi.link_token_get ...'
2945
+ end
2946
+ # verify the required parameter 'link_token_get_request' is set
2947
+ if @api_client.config.client_side_validation && link_token_get_request.nil?
2948
+ fail ArgumentError, "Missing the required parameter 'link_token_get_request' when calling PlaidApi.link_token_get"
2949
+ end
2950
+ # resource path
2951
+ local_var_path = '/link/token/get'
2952
+
2953
+ # query parameters
2954
+ query_params = opts[:query_params] || {}
2955
+
2956
+ # header parameters
2957
+ header_params = opts[:header_params] || {}
2958
+ # HTTP header 'Accept' (if needed)
2959
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2960
+ # HTTP header 'Content-Type'
2961
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2962
+
2963
+ # form parameters
2964
+ form_params = opts[:form_params] || {}
2965
+
2966
+ # http body (model)
2967
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(link_token_get_request)
2968
+
2969
+ # return_type
2970
+ return_type = opts[:debug_return_type] || 'LinkTokenGetResponse'
2971
+
2972
+ # auth_names
2973
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
2974
+
2975
+ new_options = opts.merge(
2976
+ :operation => :"PlaidApi.link_token_get",
2977
+ :header_params => header_params,
2978
+ :query_params => query_params,
2979
+ :form_params => form_params,
2980
+ :body => post_body,
2981
+ :auth_names => auth_names,
2982
+ :return_type => return_type
2983
+ )
2984
+
2985
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2986
+ if @api_client.config.debugging
2987
+ @api_client.config.logger.debug "API called: PlaidApi#link_token_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2988
+ end
2989
+ return data, status_code, headers
2990
+ end
2991
+
2992
+ # Create a payment
2993
+ # After creating a payment recipient, you can use the `/payment_initiation/payment/create` endpoint to create a payment to that recipient. Payments can be one-time or standing order (recurring) and can be denominated in either EUR or GBP. If making domestic GBP-denominated payments, your recipient must have been created with BACS numbers. In general, EUR-denominated payments will be sent via SEPA Credit Transfer and GBP-denominated payments will be sent via the Faster Payments network, but the payment network used will be determined by the institution. Payments sent via Faster Payments will typically arrive immediately, while payments sent via SEPA Credit Transfer will typically arrive in one business day. Standing orders (recurring payments) must be denominated in GBP and can only be sent to recipients in the UK. Once created, standing order payments will continue indefinitely and cannot be modified or canceled via the API. An end user can cancel or modify a standing order directly on their banking application or website, or by contacting the bank. Standing orders will follow the payment rules of the underlying rails (Faster Payments in UK). Payments can be sent Monday to Friday, excluding bank holidays. If the pre-arranged date falls on a weekend or bank holiday, the payment is made on the next working day. It is not possible to guarantee the exact time the payment will reach the recipient’s account, although at least 90% of standing order payments are sent by 6am. In the Development environment, payments must be below 5 GBP / EUR. For details on any payment limits in Production, contact your Plaid Account Manager.
2994
+ # @param payment_initiation_payment_create_request [PaymentInitiationPaymentCreateRequest]
2995
+ # @param [Hash] opts the optional parameters
2996
+ # @return [PaymentInitiationPaymentCreateResponse]
2997
+ def payment_initiation_payment_create(payment_initiation_payment_create_request, opts = {})
2998
+ data, _status_code, _headers = payment_initiation_payment_create_with_http_info(payment_initiation_payment_create_request, opts)
2999
+ data
3000
+ end
3001
+
3002
+ # Create a payment
3003
+ # After creating a payment recipient, you can use the &#x60;/payment_initiation/payment/create&#x60; endpoint to create a payment to that recipient. Payments can be one-time or standing order (recurring) and can be denominated in either EUR or GBP. If making domestic GBP-denominated payments, your recipient must have been created with BACS numbers. In general, EUR-denominated payments will be sent via SEPA Credit Transfer and GBP-denominated payments will be sent via the Faster Payments network, but the payment network used will be determined by the institution. Payments sent via Faster Payments will typically arrive immediately, while payments sent via SEPA Credit Transfer will typically arrive in one business day. Standing orders (recurring payments) must be denominated in GBP and can only be sent to recipients in the UK. Once created, standing order payments will continue indefinitely and cannot be modified or canceled via the API. An end user can cancel or modify a standing order directly on their banking application or website, or by contacting the bank. Standing orders will follow the payment rules of the underlying rails (Faster Payments in UK). Payments can be sent Monday to Friday, excluding bank holidays. If the pre-arranged date falls on a weekend or bank holiday, the payment is made on the next working day. It is not possible to guarantee the exact time the payment will reach the recipient’s account, although at least 90% of standing order payments are sent by 6am. In the Development environment, payments must be below 5 GBP / EUR. For details on any payment limits in Production, contact your Plaid Account Manager.
3004
+ # @param payment_initiation_payment_create_request [PaymentInitiationPaymentCreateRequest]
3005
+ # @param [Hash] opts the optional parameters
3006
+ # @return [Array<(PaymentInitiationPaymentCreateResponse, Integer, Hash)>] PaymentInitiationPaymentCreateResponse data, response status code and response headers
3007
+ def payment_initiation_payment_create_with_http_info(payment_initiation_payment_create_request, opts = {})
3008
+ if @api_client.config.debugging
3009
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_payment_create ...'
3010
+ end
3011
+ # verify the required parameter 'payment_initiation_payment_create_request' is set
3012
+ if @api_client.config.client_side_validation && payment_initiation_payment_create_request.nil?
3013
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_payment_create_request' when calling PlaidApi.payment_initiation_payment_create"
3014
+ end
3015
+ # resource path
3016
+ local_var_path = '/payment_initiation/payment/create'
3017
+
3018
+ # query parameters
3019
+ query_params = opts[:query_params] || {}
3020
+
3021
+ # header parameters
3022
+ header_params = opts[:header_params] || {}
3023
+ # HTTP header 'Accept' (if needed)
3024
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3025
+ # HTTP header 'Content-Type'
3026
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3027
+
3028
+ # form parameters
3029
+ form_params = opts[:form_params] || {}
3030
+
3031
+ # http body (model)
3032
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_payment_create_request)
3033
+
3034
+ # return_type
3035
+ return_type = opts[:debug_return_type] || 'PaymentInitiationPaymentCreateResponse'
3036
+
3037
+ # auth_names
3038
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3039
+
3040
+ new_options = opts.merge(
3041
+ :operation => :"PlaidApi.payment_initiation_payment_create",
3042
+ :header_params => header_params,
3043
+ :query_params => query_params,
3044
+ :form_params => form_params,
3045
+ :body => post_body,
3046
+ :auth_names => auth_names,
3047
+ :return_type => return_type
3048
+ )
3049
+
3050
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3051
+ if @api_client.config.debugging
3052
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_payment_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3053
+ end
3054
+ return data, status_code, headers
3055
+ end
3056
+
3057
+ # Get payment details
3058
+ # The `/payment_initiation/payment/get` endpoint can be used to check the status of a payment, as well as to receive basic information such as recipient and payment amount. In the case of standing orders, the `/payment_initiation/payment/get` endpoint will provide information about the status of the overall standing order itself; the API cannot be used to retrieve payment status for individual payments within a standing order.
3059
+ # @param payment_initiation_payment_get_request [PaymentInitiationPaymentGetRequest]
3060
+ # @param [Hash] opts the optional parameters
3061
+ # @return [PaymentInitiationPaymentGetResponse]
3062
+ def payment_initiation_payment_get(payment_initiation_payment_get_request, opts = {})
3063
+ data, _status_code, _headers = payment_initiation_payment_get_with_http_info(payment_initiation_payment_get_request, opts)
3064
+ data
3065
+ end
3066
+
3067
+ # Get payment details
3068
+ # The &#x60;/payment_initiation/payment/get&#x60; endpoint can be used to check the status of a payment, as well as to receive basic information such as recipient and payment amount. In the case of standing orders, the &#x60;/payment_initiation/payment/get&#x60; endpoint will provide information about the status of the overall standing order itself; the API cannot be used to retrieve payment status for individual payments within a standing order.
3069
+ # @param payment_initiation_payment_get_request [PaymentInitiationPaymentGetRequest]
3070
+ # @param [Hash] opts the optional parameters
3071
+ # @return [Array<(PaymentInitiationPaymentGetResponse, Integer, Hash)>] PaymentInitiationPaymentGetResponse data, response status code and response headers
3072
+ def payment_initiation_payment_get_with_http_info(payment_initiation_payment_get_request, opts = {})
3073
+ if @api_client.config.debugging
3074
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_payment_get ...'
3075
+ end
3076
+ # verify the required parameter 'payment_initiation_payment_get_request' is set
3077
+ if @api_client.config.client_side_validation && payment_initiation_payment_get_request.nil?
3078
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_payment_get_request' when calling PlaidApi.payment_initiation_payment_get"
3079
+ end
3080
+ # resource path
3081
+ local_var_path = '/payment_initiation/payment/get'
3082
+
3083
+ # query parameters
3084
+ query_params = opts[:query_params] || {}
3085
+
3086
+ # header parameters
3087
+ header_params = opts[:header_params] || {}
3088
+ # HTTP header 'Accept' (if needed)
3089
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3090
+ # HTTP header 'Content-Type'
3091
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3092
+
3093
+ # form parameters
3094
+ form_params = opts[:form_params] || {}
3095
+
3096
+ # http body (model)
3097
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_payment_get_request)
3098
+
3099
+ # return_type
3100
+ return_type = opts[:debug_return_type] || 'PaymentInitiationPaymentGetResponse'
3101
+
3102
+ # auth_names
3103
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3104
+
3105
+ new_options = opts.merge(
3106
+ :operation => :"PlaidApi.payment_initiation_payment_get",
3107
+ :header_params => header_params,
3108
+ :query_params => query_params,
3109
+ :form_params => form_params,
3110
+ :body => post_body,
3111
+ :auth_names => auth_names,
3112
+ :return_type => return_type
3113
+ )
3114
+
3115
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3116
+ if @api_client.config.debugging
3117
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_payment_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3118
+ end
3119
+ return data, status_code, headers
3120
+ end
3121
+
3122
+ # List payments
3123
+ # The `/payment_initiation/payment/list` endpoint can be used to retrieve all created payments. By default, the 10 most recent payments are returned. You can request more payments and paginate through the results using the optional `count` and `cursor` parameters.
3124
+ # @param payment_initiation_payment_list_request [PaymentInitiationPaymentListRequest]
3125
+ # @param [Hash] opts the optional parameters
3126
+ # @return [PaymentInitiationPaymentListResponse]
3127
+ def payment_initiation_payment_list(payment_initiation_payment_list_request, opts = {})
3128
+ data, _status_code, _headers = payment_initiation_payment_list_with_http_info(payment_initiation_payment_list_request, opts)
3129
+ data
3130
+ end
3131
+
3132
+ # List payments
3133
+ # The &#x60;/payment_initiation/payment/list&#x60; endpoint can be used to retrieve all created payments. By default, the 10 most recent payments are returned. You can request more payments and paginate through the results using the optional &#x60;count&#x60; and &#x60;cursor&#x60; parameters.
3134
+ # @param payment_initiation_payment_list_request [PaymentInitiationPaymentListRequest]
3135
+ # @param [Hash] opts the optional parameters
3136
+ # @return [Array<(PaymentInitiationPaymentListResponse, Integer, Hash)>] PaymentInitiationPaymentListResponse data, response status code and response headers
3137
+ def payment_initiation_payment_list_with_http_info(payment_initiation_payment_list_request, opts = {})
3138
+ if @api_client.config.debugging
3139
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_payment_list ...'
3140
+ end
3141
+ # verify the required parameter 'payment_initiation_payment_list_request' is set
3142
+ if @api_client.config.client_side_validation && payment_initiation_payment_list_request.nil?
3143
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_payment_list_request' when calling PlaidApi.payment_initiation_payment_list"
3144
+ end
3145
+ # resource path
3146
+ local_var_path = '/payment_initiation/payment/list'
3147
+
3148
+ # query parameters
3149
+ query_params = opts[:query_params] || {}
3150
+
3151
+ # header parameters
3152
+ header_params = opts[:header_params] || {}
3153
+ # HTTP header 'Accept' (if needed)
3154
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3155
+ # HTTP header 'Content-Type'
3156
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3157
+
3158
+ # form parameters
3159
+ form_params = opts[:form_params] || {}
3160
+
3161
+ # http body (model)
3162
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_payment_list_request)
3163
+
3164
+ # return_type
3165
+ return_type = opts[:debug_return_type] || 'PaymentInitiationPaymentListResponse'
3166
+
3167
+ # auth_names
3168
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3169
+
3170
+ new_options = opts.merge(
3171
+ :operation => :"PlaidApi.payment_initiation_payment_list",
3172
+ :header_params => header_params,
3173
+ :query_params => query_params,
3174
+ :form_params => form_params,
3175
+ :body => post_body,
3176
+ :auth_names => auth_names,
3177
+ :return_type => return_type
3178
+ )
3179
+
3180
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3181
+ if @api_client.config.debugging
3182
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_payment_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3183
+ end
3184
+ return data, status_code, headers
3185
+ end
3186
+
3187
+ # Create payment recipient
3188
+ # Create a payment recipient for payment initiation. The recipient must be in Europe, within a country that is a member of the Single Euro Payment Area (SEPA). For a standing order (recurring) payment, the recipient must be in the UK. The endpoint is idempotent: if a developer has already made a request with the same payment details, Plaid will return the same `recipient_id`. In the Sandbox environment, you can use the `/payment_initiation/recipient/create` endpoint to generate recipients. Programmatic recipient creation in the Development and Production environments can be done after approval by Plaid's Compliance team. [Contact Sales](https://plaid.com/contact/)for approval.
3189
+ # @param payment_initiation_recipient_create_request [PaymentInitiationRecipientCreateRequest]
3190
+ # @param [Hash] opts the optional parameters
3191
+ # @return [PaymentInitiationRecipientCreateResponse]
3192
+ def payment_initiation_recipient_create(payment_initiation_recipient_create_request, opts = {})
3193
+ data, _status_code, _headers = payment_initiation_recipient_create_with_http_info(payment_initiation_recipient_create_request, opts)
3194
+ data
3195
+ end
3196
+
3197
+ # Create payment recipient
3198
+ # Create a payment recipient for payment initiation. The recipient must be in Europe, within a country that is a member of the Single Euro Payment Area (SEPA). For a standing order (recurring) payment, the recipient must be in the UK. The endpoint is idempotent: if a developer has already made a request with the same payment details, Plaid will return the same &#x60;recipient_id&#x60;. In the Sandbox environment, you can use the &#x60;/payment_initiation/recipient/create&#x60; endpoint to generate recipients. Programmatic recipient creation in the Development and Production environments can be done after approval by Plaid&#39;s Compliance team. [Contact Sales](https://plaid.com/contact/)for approval.
3199
+ # @param payment_initiation_recipient_create_request [PaymentInitiationRecipientCreateRequest]
3200
+ # @param [Hash] opts the optional parameters
3201
+ # @return [Array<(PaymentInitiationRecipientCreateResponse, Integer, Hash)>] PaymentInitiationRecipientCreateResponse data, response status code and response headers
3202
+ def payment_initiation_recipient_create_with_http_info(payment_initiation_recipient_create_request, opts = {})
3203
+ if @api_client.config.debugging
3204
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_recipient_create ...'
3205
+ end
3206
+ # verify the required parameter 'payment_initiation_recipient_create_request' is set
3207
+ if @api_client.config.client_side_validation && payment_initiation_recipient_create_request.nil?
3208
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_recipient_create_request' when calling PlaidApi.payment_initiation_recipient_create"
3209
+ end
3210
+ # resource path
3211
+ local_var_path = '/payment_initiation/recipient/create'
3212
+
3213
+ # query parameters
3214
+ query_params = opts[:query_params] || {}
3215
+
3216
+ # header parameters
3217
+ header_params = opts[:header_params] || {}
3218
+ # HTTP header 'Accept' (if needed)
3219
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3220
+ # HTTP header 'Content-Type'
3221
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3222
+
3223
+ # form parameters
3224
+ form_params = opts[:form_params] || {}
3225
+
3226
+ # http body (model)
3227
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_recipient_create_request)
3228
+
3229
+ # return_type
3230
+ return_type = opts[:debug_return_type] || 'PaymentInitiationRecipientCreateResponse'
3231
+
3232
+ # auth_names
3233
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3234
+
3235
+ new_options = opts.merge(
3236
+ :operation => :"PlaidApi.payment_initiation_recipient_create",
3237
+ :header_params => header_params,
3238
+ :query_params => query_params,
3239
+ :form_params => form_params,
3240
+ :body => post_body,
3241
+ :auth_names => auth_names,
3242
+ :return_type => return_type
3243
+ )
3244
+
3245
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3246
+ if @api_client.config.debugging
3247
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_recipient_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3248
+ end
3249
+ return data, status_code, headers
3250
+ end
3251
+
3252
+ # Get payment recipient
3253
+ # Get details about a payment recipient you have previously created.
3254
+ # @param payment_initiation_recipient_get_request [PaymentInitiationRecipientGetRequest]
3255
+ # @param [Hash] opts the optional parameters
3256
+ # @return [PaymentInitiationRecipientGetResponse]
3257
+ def payment_initiation_recipient_get(payment_initiation_recipient_get_request, opts = {})
3258
+ data, _status_code, _headers = payment_initiation_recipient_get_with_http_info(payment_initiation_recipient_get_request, opts)
3259
+ data
3260
+ end
3261
+
3262
+ # Get payment recipient
3263
+ # Get details about a payment recipient you have previously created.
3264
+ # @param payment_initiation_recipient_get_request [PaymentInitiationRecipientGetRequest]
3265
+ # @param [Hash] opts the optional parameters
3266
+ # @return [Array<(PaymentInitiationRecipientGetResponse, Integer, Hash)>] PaymentInitiationRecipientGetResponse data, response status code and response headers
3267
+ def payment_initiation_recipient_get_with_http_info(payment_initiation_recipient_get_request, opts = {})
3268
+ if @api_client.config.debugging
3269
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_recipient_get ...'
3270
+ end
3271
+ # verify the required parameter 'payment_initiation_recipient_get_request' is set
3272
+ if @api_client.config.client_side_validation && payment_initiation_recipient_get_request.nil?
3273
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_recipient_get_request' when calling PlaidApi.payment_initiation_recipient_get"
3274
+ end
3275
+ # resource path
3276
+ local_var_path = '/payment_initiation/recipient/get'
3277
+
3278
+ # query parameters
3279
+ query_params = opts[:query_params] || {}
3280
+
3281
+ # header parameters
3282
+ header_params = opts[:header_params] || {}
3283
+ # HTTP header 'Accept' (if needed)
3284
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3285
+ # HTTP header 'Content-Type'
3286
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3287
+
3288
+ # form parameters
3289
+ form_params = opts[:form_params] || {}
3290
+
3291
+ # http body (model)
3292
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_recipient_get_request)
3293
+
3294
+ # return_type
3295
+ return_type = opts[:debug_return_type] || 'PaymentInitiationRecipientGetResponse'
3296
+
3297
+ # auth_names
3298
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3299
+
3300
+ new_options = opts.merge(
3301
+ :operation => :"PlaidApi.payment_initiation_recipient_get",
3302
+ :header_params => header_params,
3303
+ :query_params => query_params,
3304
+ :form_params => form_params,
3305
+ :body => post_body,
3306
+ :auth_names => auth_names,
3307
+ :return_type => return_type
3308
+ )
3309
+
3310
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3311
+ if @api_client.config.debugging
3312
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_recipient_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3313
+ end
3314
+ return data, status_code, headers
3315
+ end
3316
+
3317
+ # List payment recipients
3318
+ # The `/payment_initiation/recipient/list` endpoint list the payment recipients that you have previously created.
3319
+ # @param payment_initiation_recipient_list_request [PaymentInitiationRecipientListRequest]
3320
+ # @param [Hash] opts the optional parameters
3321
+ # @return [PaymentInitiationRecipientListResponse]
3322
+ def payment_initiation_recipient_list(payment_initiation_recipient_list_request, opts = {})
3323
+ data, _status_code, _headers = payment_initiation_recipient_list_with_http_info(payment_initiation_recipient_list_request, opts)
3324
+ data
3325
+ end
3326
+
3327
+ # List payment recipients
3328
+ # The &#x60;/payment_initiation/recipient/list&#x60; endpoint list the payment recipients that you have previously created.
3329
+ # @param payment_initiation_recipient_list_request [PaymentInitiationRecipientListRequest]
3330
+ # @param [Hash] opts the optional parameters
3331
+ # @return [Array<(PaymentInitiationRecipientListResponse, Integer, Hash)>] PaymentInitiationRecipientListResponse data, response status code and response headers
3332
+ def payment_initiation_recipient_list_with_http_info(payment_initiation_recipient_list_request, opts = {})
3333
+ if @api_client.config.debugging
3334
+ @api_client.config.logger.debug 'Calling API: PlaidApi.payment_initiation_recipient_list ...'
3335
+ end
3336
+ # verify the required parameter 'payment_initiation_recipient_list_request' is set
3337
+ if @api_client.config.client_side_validation && payment_initiation_recipient_list_request.nil?
3338
+ fail ArgumentError, "Missing the required parameter 'payment_initiation_recipient_list_request' when calling PlaidApi.payment_initiation_recipient_list"
3339
+ end
3340
+ # resource path
3341
+ local_var_path = '/payment_initiation/recipient/list'
3342
+
3343
+ # query parameters
3344
+ query_params = opts[:query_params] || {}
3345
+
3346
+ # header parameters
3347
+ header_params = opts[:header_params] || {}
3348
+ # HTTP header 'Accept' (if needed)
3349
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3350
+ # HTTP header 'Content-Type'
3351
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3352
+
3353
+ # form parameters
3354
+ form_params = opts[:form_params] || {}
3355
+
3356
+ # http body (model)
3357
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(payment_initiation_recipient_list_request)
3358
+
3359
+ # return_type
3360
+ return_type = opts[:debug_return_type] || 'PaymentInitiationRecipientListResponse'
3361
+
3362
+ # auth_names
3363
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3364
+
3365
+ new_options = opts.merge(
3366
+ :operation => :"PlaidApi.payment_initiation_recipient_list",
3367
+ :header_params => header_params,
3368
+ :query_params => query_params,
3369
+ :form_params => form_params,
3370
+ :body => post_body,
3371
+ :auth_names => auth_names,
3372
+ :return_type => return_type
3373
+ )
3374
+
3375
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3376
+ if @api_client.config.debugging
3377
+ @api_client.config.logger.debug "API called: PlaidApi#payment_initiation_recipient_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3378
+ end
3379
+ return data, status_code, headers
3380
+ end
3381
+
3382
+ # Create an income verification instance
3383
+ # `/income/verification/create` begins the income verification process by returning an `income_verification_id`. You can then provide the `income_verification_id` to `/link/token/create` under the `income_verification` parameter in order to create a Link instance that will prompt the user to upload their income documents. Once the documents have been uploaded and parsed, Plaid will fire an `INCOME` webhook.
3384
+ # @param [Hash] opts the optional parameters
3385
+ # @option opts [IncomeVerificationCreateRequest] :income_verification_create_request
3386
+ # @return [IncomeVerificationCreateResponse]
3387
+ def post_income_verification_create(opts = {})
3388
+ data, _status_code, _headers = post_income_verification_create_with_http_info(opts)
3389
+ data
3390
+ end
3391
+
3392
+ # Create an income verification instance
3393
+ # &#x60;/income/verification/create&#x60; begins the income verification process by returning an &#x60;income_verification_id&#x60;. You can then provide the &#x60;income_verification_id&#x60; to &#x60;/link/token/create&#x60; under the &#x60;income_verification&#x60; parameter in order to create a Link instance that will prompt the user to upload their income documents. Once the documents have been uploaded and parsed, Plaid will fire an &#x60;INCOME&#x60; webhook.
3394
+ # @param [Hash] opts the optional parameters
3395
+ # @option opts [IncomeVerificationCreateRequest] :income_verification_create_request
3396
+ # @return [Array<(IncomeVerificationCreateResponse, Integer, Hash)>] IncomeVerificationCreateResponse data, response status code and response headers
3397
+ def post_income_verification_create_with_http_info(opts = {})
3398
+ if @api_client.config.debugging
3399
+ @api_client.config.logger.debug 'Calling API: PlaidApi.post_income_verification_create ...'
3400
+ end
3401
+ # resource path
3402
+ local_var_path = '/income/verification/create'
3403
+
3404
+ # query parameters
3405
+ query_params = opts[:query_params] || {}
3406
+
3407
+ # header parameters
3408
+ header_params = opts[:header_params] || {}
3409
+ # HTTP header 'Accept' (if needed)
3410
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3411
+ # HTTP header 'Content-Type'
3412
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3413
+
3414
+ # form parameters
3415
+ form_params = opts[:form_params] || {}
3416
+
3417
+ # http body (model)
3418
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'income_verification_create_request'])
3419
+
3420
+ # return_type
3421
+ return_type = opts[:debug_return_type] || 'IncomeVerificationCreateResponse'
3422
+
3423
+ # auth_names
3424
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3425
+
3426
+ new_options = opts.merge(
3427
+ :operation => :"PlaidApi.post_income_verification_create",
3428
+ :header_params => header_params,
3429
+ :query_params => query_params,
3430
+ :form_params => form_params,
3431
+ :body => post_body,
3432
+ :auth_names => auth_names,
3433
+ :return_type => return_type
3434
+ )
3435
+
3436
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3437
+ if @api_client.config.debugging
3438
+ @api_client.config.logger.debug "API called: PlaidApi#post_income_verification_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3439
+ end
3440
+ return data, status_code, headers
3441
+ end
3442
+
3443
+ # Create Apex bank account token
3444
+ # Used to create a token suitable for sending to Apex to enable Plaid-Apex integrations.
3445
+ # @param processor_apex_processor_token_create_request [ProcessorApexProcessorTokenCreateRequest]
3446
+ # @param [Hash] opts the optional parameters
3447
+ # @return [ProcessorTokenCreateResponse]
3448
+ def processor_apex_processor_token_create(processor_apex_processor_token_create_request, opts = {})
3449
+ data, _status_code, _headers = processor_apex_processor_token_create_with_http_info(processor_apex_processor_token_create_request, opts)
3450
+ data
3451
+ end
3452
+
3453
+ # Create Apex bank account token
3454
+ # Used to create a token suitable for sending to Apex to enable Plaid-Apex integrations.
3455
+ # @param processor_apex_processor_token_create_request [ProcessorApexProcessorTokenCreateRequest]
3456
+ # @param [Hash] opts the optional parameters
3457
+ # @return [Array<(ProcessorTokenCreateResponse, Integer, Hash)>] ProcessorTokenCreateResponse data, response status code and response headers
3458
+ def processor_apex_processor_token_create_with_http_info(processor_apex_processor_token_create_request, opts = {})
3459
+ if @api_client.config.debugging
3460
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_apex_processor_token_create ...'
3461
+ end
3462
+ # verify the required parameter 'processor_apex_processor_token_create_request' is set
3463
+ if @api_client.config.client_side_validation && processor_apex_processor_token_create_request.nil?
3464
+ fail ArgumentError, "Missing the required parameter 'processor_apex_processor_token_create_request' when calling PlaidApi.processor_apex_processor_token_create"
3465
+ end
3466
+ # resource path
3467
+ local_var_path = '/processor/apex/processor_token/create'
3468
+
3469
+ # query parameters
3470
+ query_params = opts[:query_params] || {}
3471
+
3472
+ # header parameters
3473
+ header_params = opts[:header_params] || {}
3474
+ # HTTP header 'Accept' (if needed)
3475
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3476
+ # HTTP header 'Content-Type'
3477
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3478
+
3479
+ # form parameters
3480
+ form_params = opts[:form_params] || {}
3481
+
3482
+ # http body (model)
3483
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_apex_processor_token_create_request)
3484
+
3485
+ # return_type
3486
+ return_type = opts[:debug_return_type] || 'ProcessorTokenCreateResponse'
3487
+
3488
+ # auth_names
3489
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3490
+
3491
+ new_options = opts.merge(
3492
+ :operation => :"PlaidApi.processor_apex_processor_token_create",
3493
+ :header_params => header_params,
3494
+ :query_params => query_params,
3495
+ :form_params => form_params,
3496
+ :body => post_body,
3497
+ :auth_names => auth_names,
3498
+ :return_type => return_type
3499
+ )
3500
+
3501
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3502
+ if @api_client.config.debugging
3503
+ @api_client.config.logger.debug "API called: PlaidApi#processor_apex_processor_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3504
+ end
3505
+ return data, status_code, headers
3506
+ end
3507
+
3508
+ # Retrieve Auth data
3509
+ # The `/processor/auth/get` endpoint returns the bank account and bank identification number (such as the routing number, for US accounts), for a checking or savings account that's associated with a given `processor_token`. The endpoint also returns high-level account data and balances when available.
3510
+ # @param processor_auth_get_request [ProcessorAuthGetRequest]
3511
+ # @param [Hash] opts the optional parameters
3512
+ # @return [ProcessorAuthGetResponse]
3513
+ def processor_auth_get(processor_auth_get_request, opts = {})
3514
+ data, _status_code, _headers = processor_auth_get_with_http_info(processor_auth_get_request, opts)
3515
+ data
3516
+ end
3517
+
3518
+ # Retrieve Auth data
3519
+ # The &#x60;/processor/auth/get&#x60; endpoint returns the bank account and bank identification number (such as the routing number, for US accounts), for a checking or savings account that&#39;s associated with a given &#x60;processor_token&#x60;. The endpoint also returns high-level account data and balances when available.
3520
+ # @param processor_auth_get_request [ProcessorAuthGetRequest]
3521
+ # @param [Hash] opts the optional parameters
3522
+ # @return [Array<(ProcessorAuthGetResponse, Integer, Hash)>] ProcessorAuthGetResponse data, response status code and response headers
3523
+ def processor_auth_get_with_http_info(processor_auth_get_request, opts = {})
3524
+ if @api_client.config.debugging
3525
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_auth_get ...'
3526
+ end
3527
+ # verify the required parameter 'processor_auth_get_request' is set
3528
+ if @api_client.config.client_side_validation && processor_auth_get_request.nil?
3529
+ fail ArgumentError, "Missing the required parameter 'processor_auth_get_request' when calling PlaidApi.processor_auth_get"
3530
+ end
3531
+ # resource path
3532
+ local_var_path = '/processor/auth/get'
3533
+
3534
+ # query parameters
3535
+ query_params = opts[:query_params] || {}
3536
+
3537
+ # header parameters
3538
+ header_params = opts[:header_params] || {}
3539
+ # HTTP header 'Accept' (if needed)
3540
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3541
+ # HTTP header 'Content-Type'
3542
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3543
+
3544
+ # form parameters
3545
+ form_params = opts[:form_params] || {}
3546
+
3547
+ # http body (model)
3548
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_auth_get_request)
3549
+
3550
+ # return_type
3551
+ return_type = opts[:debug_return_type] || 'ProcessorAuthGetResponse'
3552
+
3553
+ # auth_names
3554
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3555
+
3556
+ new_options = opts.merge(
3557
+ :operation => :"PlaidApi.processor_auth_get",
3558
+ :header_params => header_params,
3559
+ :query_params => query_params,
3560
+ :form_params => form_params,
3561
+ :body => post_body,
3562
+ :auth_names => auth_names,
3563
+ :return_type => return_type
3564
+ )
3565
+
3566
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3567
+ if @api_client.config.debugging
3568
+ @api_client.config.logger.debug "API called: PlaidApi#processor_auth_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3569
+ end
3570
+ return data, status_code, headers
3571
+ end
3572
+
3573
+ # Retrieve Balance data
3574
+ # The `/processor/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/processor/balance/get` forces the available and current balance fields to be refreshed rather than cached.
3575
+ # @param processor_balance_get_request [ProcessorBalanceGetRequest] The &#x60;/processor/balance/get&#x60; endpoint returns the real-time balance for the account associated with a given &#x60;processor_token&#x60;. The current balance is the total amount of funds in the account. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account. Note that not all institutions calculate the available balance. In the event that available balance is unavailable from the institution, Plaid will return an available balance value of &#x60;null&#x60;.
3576
+ # @param [Hash] opts the optional parameters
3577
+ # @return [ProcessorBalanceGetResponse]
3578
+ def processor_balance_get(processor_balance_get_request, opts = {})
3579
+ data, _status_code, _headers = processor_balance_get_with_http_info(processor_balance_get_request, opts)
3580
+ data
3581
+ end
3582
+
3583
+ # Retrieve Balance data
3584
+ # The &#x60;/processor/balance/get&#x60; endpoint returns the real-time balance for each of an Item&#39;s accounts. While other endpoints may return a balance object, only &#x60;/processor/balance/get&#x60; forces the available and current balance fields to be refreshed rather than cached.
3585
+ # @param processor_balance_get_request [ProcessorBalanceGetRequest] The &#x60;/processor/balance/get&#x60; endpoint returns the real-time balance for the account associated with a given &#x60;processor_token&#x60;. The current balance is the total amount of funds in the account. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account. Note that not all institutions calculate the available balance. In the event that available balance is unavailable from the institution, Plaid will return an available balance value of &#x60;null&#x60;.
3586
+ # @param [Hash] opts the optional parameters
3587
+ # @return [Array<(ProcessorBalanceGetResponse, Integer, Hash)>] ProcessorBalanceGetResponse data, response status code and response headers
3588
+ def processor_balance_get_with_http_info(processor_balance_get_request, opts = {})
3589
+ if @api_client.config.debugging
3590
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_balance_get ...'
3591
+ end
3592
+ # verify the required parameter 'processor_balance_get_request' is set
3593
+ if @api_client.config.client_side_validation && processor_balance_get_request.nil?
3594
+ fail ArgumentError, "Missing the required parameter 'processor_balance_get_request' when calling PlaidApi.processor_balance_get"
3595
+ end
3596
+ # resource path
3597
+ local_var_path = '/processor/balance/get'
3598
+
3599
+ # query parameters
3600
+ query_params = opts[:query_params] || {}
3601
+
3602
+ # header parameters
3603
+ header_params = opts[:header_params] || {}
3604
+ # HTTP header 'Accept' (if needed)
3605
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3606
+ # HTTP header 'Content-Type'
3607
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3608
+
3609
+ # form parameters
3610
+ form_params = opts[:form_params] || {}
3611
+
3612
+ # http body (model)
3613
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_balance_get_request)
3614
+
3615
+ # return_type
3616
+ return_type = opts[:debug_return_type] || 'ProcessorBalanceGetResponse'
3617
+
3618
+ # auth_names
3619
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3620
+
3621
+ new_options = opts.merge(
3622
+ :operation => :"PlaidApi.processor_balance_get",
3623
+ :header_params => header_params,
3624
+ :query_params => query_params,
3625
+ :form_params => form_params,
3626
+ :body => post_body,
3627
+ :auth_names => auth_names,
3628
+ :return_type => return_type
3629
+ )
3630
+
3631
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3632
+ if @api_client.config.debugging
3633
+ @api_client.config.logger.debug "API called: PlaidApi#processor_balance_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3634
+ end
3635
+ return data, status_code, headers
3636
+ end
3637
+
3638
+ # Retrieve Identity data
3639
+ # The `/processor/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses.
3640
+ # @param processor_identity_get_request [ProcessorIdentityGetRequest]
3641
+ # @param [Hash] opts the optional parameters
3642
+ # @return [ProcessorIdentityGetResponse]
3643
+ def processor_identity_get(processor_identity_get_request, opts = {})
3644
+ data, _status_code, _headers = processor_identity_get_with_http_info(processor_identity_get_request, opts)
3645
+ data
3646
+ end
3647
+
3648
+ # Retrieve Identity data
3649
+ # The &#x60;/processor/identity/get&#x60; endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses.
3650
+ # @param processor_identity_get_request [ProcessorIdentityGetRequest]
3651
+ # @param [Hash] opts the optional parameters
3652
+ # @return [Array<(ProcessorIdentityGetResponse, Integer, Hash)>] ProcessorIdentityGetResponse data, response status code and response headers
3653
+ def processor_identity_get_with_http_info(processor_identity_get_request, opts = {})
3654
+ if @api_client.config.debugging
3655
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_identity_get ...'
3656
+ end
3657
+ # verify the required parameter 'processor_identity_get_request' is set
3658
+ if @api_client.config.client_side_validation && processor_identity_get_request.nil?
3659
+ fail ArgumentError, "Missing the required parameter 'processor_identity_get_request' when calling PlaidApi.processor_identity_get"
3660
+ end
3661
+ # resource path
3662
+ local_var_path = '/processor/identity/get'
3663
+
3664
+ # query parameters
3665
+ query_params = opts[:query_params] || {}
3666
+
3667
+ # header parameters
3668
+ header_params = opts[:header_params] || {}
3669
+ # HTTP header 'Accept' (if needed)
3670
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3671
+ # HTTP header 'Content-Type'
3672
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3673
+
3674
+ # form parameters
3675
+ form_params = opts[:form_params] || {}
3676
+
3677
+ # http body (model)
3678
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_identity_get_request)
3679
+
3680
+ # return_type
3681
+ return_type = opts[:debug_return_type] || 'ProcessorIdentityGetResponse'
3682
+
3683
+ # auth_names
3684
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3685
+
3686
+ new_options = opts.merge(
3687
+ :operation => :"PlaidApi.processor_identity_get",
3688
+ :header_params => header_params,
3689
+ :query_params => query_params,
3690
+ :form_params => form_params,
3691
+ :body => post_body,
3692
+ :auth_names => auth_names,
3693
+ :return_type => return_type
3694
+ )
3695
+
3696
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3697
+ if @api_client.config.debugging
3698
+ @api_client.config.logger.debug "API called: PlaidApi#processor_identity_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3699
+ end
3700
+ return data, status_code, headers
3701
+ end
3702
+
3703
+ # Create Stripe bank account token
3704
+ # Used to create a token suitable for sending to Stripe to enable Plaid-Stripe integrations.
3705
+ # @param processor_stripe_bank_account_token_create_request [ProcessorStripeBankAccountTokenCreateRequest]
3706
+ # @param [Hash] opts the optional parameters
3707
+ # @return [ProcessorStripeBankAccountTokenCreateResponse]
3708
+ def processor_stripe_bank_account_token_create(processor_stripe_bank_account_token_create_request, opts = {})
3709
+ data, _status_code, _headers = processor_stripe_bank_account_token_create_with_http_info(processor_stripe_bank_account_token_create_request, opts)
3710
+ data
3711
+ end
3712
+
3713
+ # Create Stripe bank account token
3714
+ # Used to create a token suitable for sending to Stripe to enable Plaid-Stripe integrations.
3715
+ # @param processor_stripe_bank_account_token_create_request [ProcessorStripeBankAccountTokenCreateRequest]
3716
+ # @param [Hash] opts the optional parameters
3717
+ # @return [Array<(ProcessorStripeBankAccountTokenCreateResponse, Integer, Hash)>] ProcessorStripeBankAccountTokenCreateResponse data, response status code and response headers
3718
+ def processor_stripe_bank_account_token_create_with_http_info(processor_stripe_bank_account_token_create_request, opts = {})
3719
+ if @api_client.config.debugging
3720
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_stripe_bank_account_token_create ...'
3721
+ end
3722
+ # verify the required parameter 'processor_stripe_bank_account_token_create_request' is set
3723
+ if @api_client.config.client_side_validation && processor_stripe_bank_account_token_create_request.nil?
3724
+ fail ArgumentError, "Missing the required parameter 'processor_stripe_bank_account_token_create_request' when calling PlaidApi.processor_stripe_bank_account_token_create"
3725
+ end
3726
+ # resource path
3727
+ local_var_path = '/processor/stripe/bank_account_token/create'
3728
+
3729
+ # query parameters
3730
+ query_params = opts[:query_params] || {}
3731
+
3732
+ # header parameters
3733
+ header_params = opts[:header_params] || {}
3734
+ # HTTP header 'Accept' (if needed)
3735
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3736
+ # HTTP header 'Content-Type'
3737
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3738
+
3739
+ # form parameters
3740
+ form_params = opts[:form_params] || {}
3741
+
3742
+ # http body (model)
3743
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_stripe_bank_account_token_create_request)
3744
+
3745
+ # return_type
3746
+ return_type = opts[:debug_return_type] || 'ProcessorStripeBankAccountTokenCreateResponse'
3747
+
3748
+ # auth_names
3749
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3750
+
3751
+ new_options = opts.merge(
3752
+ :operation => :"PlaidApi.processor_stripe_bank_account_token_create",
3753
+ :header_params => header_params,
3754
+ :query_params => query_params,
3755
+ :form_params => form_params,
3756
+ :body => post_body,
3757
+ :auth_names => auth_names,
3758
+ :return_type => return_type
3759
+ )
3760
+
3761
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3762
+ if @api_client.config.debugging
3763
+ @api_client.config.logger.debug "API called: PlaidApi#processor_stripe_bank_account_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3764
+ end
3765
+ return data, status_code, headers
3766
+ end
3767
+
3768
+ # Create processor token
3769
+ # Used to create a token suitable for sending to one of Plaid's partners to enable integrations. Note that Stripe partnerships use bank account tokens instead; see `/processor/stripe/bank_account_token/create` for creating tokens for use with Stripe integrations.
3770
+ # @param processor_token_create_request [ProcessorTokenCreateRequest]
3771
+ # @param [Hash] opts the optional parameters
3772
+ # @return [ProcessorTokenCreateResponse]
3773
+ def processor_token_create(processor_token_create_request, opts = {})
3774
+ data, _status_code, _headers = processor_token_create_with_http_info(processor_token_create_request, opts)
3775
+ data
3776
+ end
3777
+
3778
+ # Create processor token
3779
+ # Used to create a token suitable for sending to one of Plaid&#39;s partners to enable integrations. Note that Stripe partnerships use bank account tokens instead; see &#x60;/processor/stripe/bank_account_token/create&#x60; for creating tokens for use with Stripe integrations.
3780
+ # @param processor_token_create_request [ProcessorTokenCreateRequest]
3781
+ # @param [Hash] opts the optional parameters
3782
+ # @return [Array<(ProcessorTokenCreateResponse, Integer, Hash)>] ProcessorTokenCreateResponse data, response status code and response headers
3783
+ def processor_token_create_with_http_info(processor_token_create_request, opts = {})
3784
+ if @api_client.config.debugging
3785
+ @api_client.config.logger.debug 'Calling API: PlaidApi.processor_token_create ...'
3786
+ end
3787
+ # verify the required parameter 'processor_token_create_request' is set
3788
+ if @api_client.config.client_side_validation && processor_token_create_request.nil?
3789
+ fail ArgumentError, "Missing the required parameter 'processor_token_create_request' when calling PlaidApi.processor_token_create"
3790
+ end
3791
+ # resource path
3792
+ local_var_path = '/processor/token/create'
3793
+
3794
+ # query parameters
3795
+ query_params = opts[:query_params] || {}
3796
+
3797
+ # header parameters
3798
+ header_params = opts[:header_params] || {}
3799
+ # HTTP header 'Accept' (if needed)
3800
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3801
+ # HTTP header 'Content-Type'
3802
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3803
+
3804
+ # form parameters
3805
+ form_params = opts[:form_params] || {}
3806
+
3807
+ # http body (model)
3808
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(processor_token_create_request)
3809
+
3810
+ # return_type
3811
+ return_type = opts[:debug_return_type] || 'ProcessorTokenCreateResponse'
3812
+
3813
+ # auth_names
3814
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3815
+
3816
+ new_options = opts.merge(
3817
+ :operation => :"PlaidApi.processor_token_create",
3818
+ :header_params => header_params,
3819
+ :query_params => query_params,
3820
+ :form_params => form_params,
3821
+ :body => post_body,
3822
+ :auth_names => auth_names,
3823
+ :return_type => return_type
3824
+ )
3825
+
3826
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3827
+ if @api_client.config.debugging
3828
+ @api_client.config.logger.debug "API called: PlaidApi#processor_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3829
+ end
3830
+ return data, status_code, headers
3831
+ end
3832
+
3833
+ # Simulate a bank transfer event in Sandbox
3834
+ # Use the `/sandbox/bank_transfer/simulate` endpoint to simulate a bank transfer event in the Sandbox environment. Note that while an event will be simulated and will appear when using endpoints such as `/bank_transfer/event/sync` or `/bank_transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox.
3835
+ # @param sandbox_bank_transfer_simulate_request [SandboxBankTransferSimulateRequest]
3836
+ # @param [Hash] opts the optional parameters
3837
+ # @return [SandboxBankTransferSimulateResponse]
3838
+ def sandbox_bank_transfer_simulate(sandbox_bank_transfer_simulate_request, opts = {})
3839
+ data, _status_code, _headers = sandbox_bank_transfer_simulate_with_http_info(sandbox_bank_transfer_simulate_request, opts)
3840
+ data
3841
+ end
3842
+
3843
+ # Simulate a bank transfer event in Sandbox
3844
+ # Use the &#x60;/sandbox/bank_transfer/simulate&#x60; endpoint to simulate a bank transfer event in the Sandbox environment. Note that while an event will be simulated and will appear when using endpoints such as &#x60;/bank_transfer/event/sync&#x60; or &#x60;/bank_transfer/event/list&#x60;, no transactions will actually take place and funds will not move between accounts, even within the Sandbox.
3845
+ # @param sandbox_bank_transfer_simulate_request [SandboxBankTransferSimulateRequest]
3846
+ # @param [Hash] opts the optional parameters
3847
+ # @return [Array<(SandboxBankTransferSimulateResponse, Integer, Hash)>] SandboxBankTransferSimulateResponse data, response status code and response headers
3848
+ def sandbox_bank_transfer_simulate_with_http_info(sandbox_bank_transfer_simulate_request, opts = {})
3849
+ if @api_client.config.debugging
3850
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_bank_transfer_simulate ...'
3851
+ end
3852
+ # verify the required parameter 'sandbox_bank_transfer_simulate_request' is set
3853
+ if @api_client.config.client_side_validation && sandbox_bank_transfer_simulate_request.nil?
3854
+ fail ArgumentError, "Missing the required parameter 'sandbox_bank_transfer_simulate_request' when calling PlaidApi.sandbox_bank_transfer_simulate"
3855
+ end
3856
+ # resource path
3857
+ local_var_path = '/sandbox/bank_transfer/simulate'
3858
+
3859
+ # query parameters
3860
+ query_params = opts[:query_params] || {}
3861
+
3862
+ # header parameters
3863
+ header_params = opts[:header_params] || {}
3864
+ # HTTP header 'Accept' (if needed)
3865
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3866
+ # HTTP header 'Content-Type'
3867
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3868
+
3869
+ # form parameters
3870
+ form_params = opts[:form_params] || {}
3871
+
3872
+ # http body (model)
3873
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sandbox_bank_transfer_simulate_request)
3874
+
3875
+ # return_type
3876
+ return_type = opts[:debug_return_type] || 'SandboxBankTransferSimulateResponse'
3877
+
3878
+ # auth_names
3879
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3880
+
3881
+ new_options = opts.merge(
3882
+ :operation => :"PlaidApi.sandbox_bank_transfer_simulate",
3883
+ :header_params => header_params,
3884
+ :query_params => query_params,
3885
+ :form_params => form_params,
3886
+ :body => post_body,
3887
+ :auth_names => auth_names,
3888
+ :return_type => return_type
3889
+ )
3890
+
3891
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3892
+ if @api_client.config.debugging
3893
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_bank_transfer_simulate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3894
+ end
3895
+ return data, status_code, headers
3896
+ end
3897
+
3898
+ # Fire a test webhook
3899
+ # The `/sandbox/item/fire_webhook` endpoint is used to test that code correctly handles webhooks. Calling this endpoint triggers a Transactions `DEFAULT_UPDATE` webhook to be fired for a given Sandbox Item. If the Item does not support Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result.
3900
+ # @param sandbox_item_fire_webhook_request [SandboxItemFireWebhookRequest]
3901
+ # @param [Hash] opts the optional parameters
3902
+ # @return [SandboxItemFireWebhookResponse]
3903
+ def sandbox_item_fire_webhook(sandbox_item_fire_webhook_request, opts = {})
3904
+ data, _status_code, _headers = sandbox_item_fire_webhook_with_http_info(sandbox_item_fire_webhook_request, opts)
3905
+ data
3906
+ end
3907
+
3908
+ # Fire a test webhook
3909
+ # The &#x60;/sandbox/item/fire_webhook&#x60; endpoint is used to test that code correctly handles webhooks. Calling this endpoint triggers a Transactions &#x60;DEFAULT_UPDATE&#x60; webhook to be fired for a given Sandbox Item. If the Item does not support Transactions, a &#x60;SANDBOX_PRODUCT_NOT_ENABLED&#x60; error will result.
3910
+ # @param sandbox_item_fire_webhook_request [SandboxItemFireWebhookRequest]
3911
+ # @param [Hash] opts the optional parameters
3912
+ # @return [Array<(SandboxItemFireWebhookResponse, Integer, Hash)>] SandboxItemFireWebhookResponse data, response status code and response headers
3913
+ def sandbox_item_fire_webhook_with_http_info(sandbox_item_fire_webhook_request, opts = {})
3914
+ if @api_client.config.debugging
3915
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_item_fire_webhook ...'
3916
+ end
3917
+ # verify the required parameter 'sandbox_item_fire_webhook_request' is set
3918
+ if @api_client.config.client_side_validation && sandbox_item_fire_webhook_request.nil?
3919
+ fail ArgumentError, "Missing the required parameter 'sandbox_item_fire_webhook_request' when calling PlaidApi.sandbox_item_fire_webhook"
3920
+ end
3921
+ # resource path
3922
+ local_var_path = '/sandbox/item/fire_webhook'
3923
+
3924
+ # query parameters
3925
+ query_params = opts[:query_params] || {}
3926
+
3927
+ # header parameters
3928
+ header_params = opts[:header_params] || {}
3929
+ # HTTP header 'Accept' (if needed)
3930
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3931
+ # HTTP header 'Content-Type'
3932
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3933
+
3934
+ # form parameters
3935
+ form_params = opts[:form_params] || {}
3936
+
3937
+ # http body (model)
3938
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sandbox_item_fire_webhook_request)
3939
+
3940
+ # return_type
3941
+ return_type = opts[:debug_return_type] || 'SandboxItemFireWebhookResponse'
3942
+
3943
+ # auth_names
3944
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
3945
+
3946
+ new_options = opts.merge(
3947
+ :operation => :"PlaidApi.sandbox_item_fire_webhook",
3948
+ :header_params => header_params,
3949
+ :query_params => query_params,
3950
+ :form_params => form_params,
3951
+ :body => post_body,
3952
+ :auth_names => auth_names,
3953
+ :return_type => return_type
3954
+ )
3955
+
3956
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3957
+ if @api_client.config.debugging
3958
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_item_fire_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3959
+ end
3960
+ return data, status_code, headers
3961
+ end
3962
+
3963
+ # Force a Sandbox Item into an error state
3964
+ # `/sandbox/item/reset_login/` forces an Item into an `ITEM_LOGIN_REQUIRED` state in order to simulate an Item whose login is no longer valid. This makes it easy to test Link's [update mode](/docs/link/update-mode) flow in the Sandbox environment. After calling `/sandbox/item/reset_login`, You can then use Plaid Link update mode to restore the Item to a good state. An `ITEM_LOGIN_REQUIRED` webhook will also be fired after a call to this endpoint, if one is associated with the Item. In the Sandbox, Items will transition to an `ITEM_LOGIN_REQUIRED` error state automatically after 30 days, even if this endpoint is not called.
3965
+ # @param sandbox_item_reset_login_request [SandboxItemResetLoginRequest]
3966
+ # @param [Hash] opts the optional parameters
3967
+ # @return [SandboxItemResetLoginResponse]
3968
+ def sandbox_item_reset_login(sandbox_item_reset_login_request, opts = {})
3969
+ data, _status_code, _headers = sandbox_item_reset_login_with_http_info(sandbox_item_reset_login_request, opts)
3970
+ data
3971
+ end
3972
+
3973
+ # Force a Sandbox Item into an error state
3974
+ # &#x60;/sandbox/item/reset_login/&#x60; forces an Item into an &#x60;ITEM_LOGIN_REQUIRED&#x60; state in order to simulate an Item whose login is no longer valid. This makes it easy to test Link&#39;s [update mode](/docs/link/update-mode) flow in the Sandbox environment. After calling &#x60;/sandbox/item/reset_login&#x60;, You can then use Plaid Link update mode to restore the Item to a good state. An &#x60;ITEM_LOGIN_REQUIRED&#x60; webhook will also be fired after a call to this endpoint, if one is associated with the Item. In the Sandbox, Items will transition to an &#x60;ITEM_LOGIN_REQUIRED&#x60; error state automatically after 30 days, even if this endpoint is not called.
3975
+ # @param sandbox_item_reset_login_request [SandboxItemResetLoginRequest]
3976
+ # @param [Hash] opts the optional parameters
3977
+ # @return [Array<(SandboxItemResetLoginResponse, Integer, Hash)>] SandboxItemResetLoginResponse data, response status code and response headers
3978
+ def sandbox_item_reset_login_with_http_info(sandbox_item_reset_login_request, opts = {})
3979
+ if @api_client.config.debugging
3980
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_item_reset_login ...'
3981
+ end
3982
+ # verify the required parameter 'sandbox_item_reset_login_request' is set
3983
+ if @api_client.config.client_side_validation && sandbox_item_reset_login_request.nil?
3984
+ fail ArgumentError, "Missing the required parameter 'sandbox_item_reset_login_request' when calling PlaidApi.sandbox_item_reset_login"
3985
+ end
3986
+ # resource path
3987
+ local_var_path = '/sandbox/item/reset_login'
3988
+
3989
+ # query parameters
3990
+ query_params = opts[:query_params] || {}
3991
+
3992
+ # header parameters
3993
+ header_params = opts[:header_params] || {}
3994
+ # HTTP header 'Accept' (if needed)
3995
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3996
+ # HTTP header 'Content-Type'
3997
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3998
+
3999
+ # form parameters
4000
+ form_params = opts[:form_params] || {}
4001
+
4002
+ # http body (model)
4003
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sandbox_item_reset_login_request)
4004
+
4005
+ # return_type
4006
+ return_type = opts[:debug_return_type] || 'SandboxItemResetLoginResponse'
4007
+
4008
+ # auth_names
4009
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4010
+
4011
+ new_options = opts.merge(
4012
+ :operation => :"PlaidApi.sandbox_item_reset_login",
4013
+ :header_params => header_params,
4014
+ :query_params => query_params,
4015
+ :form_params => form_params,
4016
+ :body => post_body,
4017
+ :auth_names => auth_names,
4018
+ :return_type => return_type
4019
+ )
4020
+
4021
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4022
+ if @api_client.config.debugging
4023
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_item_reset_login\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4024
+ end
4025
+ return data, status_code, headers
4026
+ end
4027
+
4028
+ # Set verification status for Sandbox account
4029
+ # The `/sandbox/item/set_verification_status` endpoint can be used to change the verification status of an Item in in the Sandbox in order to simulate the Automated Micro-deposit flow. Note that not all Plaid developer accounts are enabled for micro-deposit based verification by default. Your account must be enabled for this feature in order to test it in Sandbox. To enable this features or check your status, contact your account manager or [submit a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access). For more information on testing Automated Micro-deposits in Sandbox, see [Auth full coverage testing](/docs/auth/coverage/testing#).
4030
+ # @param sandbox_item_set_verification_status_request [SandboxItemSetVerificationStatusRequest]
4031
+ # @param [Hash] opts the optional parameters
4032
+ # @return [SandboxItemSetVerificationStatusResponse]
4033
+ def sandbox_item_set_verification_status(sandbox_item_set_verification_status_request, opts = {})
4034
+ data, _status_code, _headers = sandbox_item_set_verification_status_with_http_info(sandbox_item_set_verification_status_request, opts)
4035
+ data
4036
+ end
4037
+
4038
+ # Set verification status for Sandbox account
4039
+ # The &#x60;/sandbox/item/set_verification_status&#x60; endpoint can be used to change the verification status of an Item in in the Sandbox in order to simulate the Automated Micro-deposit flow. Note that not all Plaid developer accounts are enabled for micro-deposit based verification by default. Your account must be enabled for this feature in order to test it in Sandbox. To enable this features or check your status, contact your account manager or [submit a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access). For more information on testing Automated Micro-deposits in Sandbox, see [Auth full coverage testing](/docs/auth/coverage/testing#).
4040
+ # @param sandbox_item_set_verification_status_request [SandboxItemSetVerificationStatusRequest]
4041
+ # @param [Hash] opts the optional parameters
4042
+ # @return [Array<(SandboxItemSetVerificationStatusResponse, Integer, Hash)>] SandboxItemSetVerificationStatusResponse data, response status code and response headers
4043
+ def sandbox_item_set_verification_status_with_http_info(sandbox_item_set_verification_status_request, opts = {})
4044
+ if @api_client.config.debugging
4045
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_item_set_verification_status ...'
4046
+ end
4047
+ # verify the required parameter 'sandbox_item_set_verification_status_request' is set
4048
+ if @api_client.config.client_side_validation && sandbox_item_set_verification_status_request.nil?
4049
+ fail ArgumentError, "Missing the required parameter 'sandbox_item_set_verification_status_request' when calling PlaidApi.sandbox_item_set_verification_status"
4050
+ end
4051
+ # resource path
4052
+ local_var_path = '/sandbox/item/set_verification_status'
4053
+
4054
+ # query parameters
4055
+ query_params = opts[:query_params] || {}
4056
+
4057
+ # header parameters
4058
+ header_params = opts[:header_params] || {}
4059
+ # HTTP header 'Accept' (if needed)
4060
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4061
+ # HTTP header 'Content-Type'
4062
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4063
+
4064
+ # form parameters
4065
+ form_params = opts[:form_params] || {}
4066
+
4067
+ # http body (model)
4068
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sandbox_item_set_verification_status_request)
4069
+
4070
+ # return_type
4071
+ return_type = opts[:debug_return_type] || 'SandboxItemSetVerificationStatusResponse'
4072
+
4073
+ # auth_names
4074
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4075
+
4076
+ new_options = opts.merge(
4077
+ :operation => :"PlaidApi.sandbox_item_set_verification_status",
4078
+ :header_params => header_params,
4079
+ :query_params => query_params,
4080
+ :form_params => form_params,
4081
+ :body => post_body,
4082
+ :auth_names => auth_names,
4083
+ :return_type => return_type
4084
+ )
4085
+
4086
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4087
+ if @api_client.config.debugging
4088
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_item_set_verification_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4089
+ end
4090
+ return data, status_code, headers
4091
+ end
4092
+
4093
+ # Create a test Item and processor token
4094
+ # Use the `/sandbox/processor_token/create` endpoint to create a valid `processor_token` for an arbitrary institution ID and test credentials. The created `processor_token` corresponds to a new Sandbox Item. You can then use this `processor_token` with the `/processor/` API endpoints in Sandbox. You can also use `/sandbox/processor_token/create` with the [`user_custom` test username](/docs/sandbox/user-custom) to generate a test account with custom data.
4095
+ # @param [Hash] opts the optional parameters
4096
+ # @option opts [SandboxProcessorTokenCreateRequest] :sandbox_processor_token_create_request
4097
+ # @return [SandboxProcessorTokenCreateResponse]
4098
+ def sandbox_processor_token_create(opts = {})
4099
+ data, _status_code, _headers = sandbox_processor_token_create_with_http_info(opts)
4100
+ data
4101
+ end
4102
+
4103
+ # Create a test Item and processor token
4104
+ # Use the &#x60;/sandbox/processor_token/create&#x60; endpoint to create a valid &#x60;processor_token&#x60; for an arbitrary institution ID and test credentials. The created &#x60;processor_token&#x60; corresponds to a new Sandbox Item. You can then use this &#x60;processor_token&#x60; with the &#x60;/processor/&#x60; API endpoints in Sandbox. You can also use &#x60;/sandbox/processor_token/create&#x60; with the [&#x60;user_custom&#x60; test username](/docs/sandbox/user-custom) to generate a test account with custom data.
4105
+ # @param [Hash] opts the optional parameters
4106
+ # @option opts [SandboxProcessorTokenCreateRequest] :sandbox_processor_token_create_request
4107
+ # @return [Array<(SandboxProcessorTokenCreateResponse, Integer, Hash)>] SandboxProcessorTokenCreateResponse data, response status code and response headers
4108
+ def sandbox_processor_token_create_with_http_info(opts = {})
4109
+ if @api_client.config.debugging
4110
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_processor_token_create ...'
4111
+ end
4112
+ # resource path
4113
+ local_var_path = '/sandbox/processor_token/create'
4114
+
4115
+ # query parameters
4116
+ query_params = opts[:query_params] || {}
4117
+
4118
+ # header parameters
4119
+ header_params = opts[:header_params] || {}
4120
+ # HTTP header 'Accept' (if needed)
4121
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4122
+ # HTTP header 'Content-Type'
4123
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4124
+
4125
+ # form parameters
4126
+ form_params = opts[:form_params] || {}
4127
+
4128
+ # http body (model)
4129
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'sandbox_processor_token_create_request'])
4130
+
4131
+ # return_type
4132
+ return_type = opts[:debug_return_type] || 'SandboxProcessorTokenCreateResponse'
4133
+
4134
+ # auth_names
4135
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4136
+
4137
+ new_options = opts.merge(
4138
+ :operation => :"PlaidApi.sandbox_processor_token_create",
4139
+ :header_params => header_params,
4140
+ :query_params => query_params,
4141
+ :form_params => form_params,
4142
+ :body => post_body,
4143
+ :auth_names => auth_names,
4144
+ :return_type => return_type
4145
+ )
4146
+
4147
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4148
+ if @api_client.config.debugging
4149
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_processor_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4150
+ end
4151
+ return data, status_code, headers
4152
+ end
4153
+
4154
+ # Create a test Item
4155
+ # Use the `/sandbox/public_token/create` endpoint to create a valid `public_token` for an arbitrary institution ID, initial products, and test credentials. The created `public_token` maps to a new Sandbox Item. You can then call `/item/public_token/exchange` to exchange the `public_token` for an `access_token` and perform all API actions. `/sandbox/public_token/create` can also be used with the [`user_custom` test username](/docs/sandbox/user-custom) to generate a test account with custom data.
4156
+ # @param sandbox_public_token_create_request [SandboxPublicTokenCreateRequest]
4157
+ # @param [Hash] opts the optional parameters
4158
+ # @return [SandboxPublicTokenCreateResponse]
4159
+ def sandbox_public_token_create(sandbox_public_token_create_request, opts = {})
4160
+ data, _status_code, _headers = sandbox_public_token_create_with_http_info(sandbox_public_token_create_request, opts)
4161
+ data
4162
+ end
4163
+
4164
+ # Create a test Item
4165
+ # Use the &#x60;/sandbox/public_token/create&#x60; endpoint to create a valid &#x60;public_token&#x60; for an arbitrary institution ID, initial products, and test credentials. The created &#x60;public_token&#x60; maps to a new Sandbox Item. You can then call &#x60;/item/public_token/exchange&#x60; to exchange the &#x60;public_token&#x60; for an &#x60;access_token&#x60; and perform all API actions. &#x60;/sandbox/public_token/create&#x60; can also be used with the [&#x60;user_custom&#x60; test username](/docs/sandbox/user-custom) to generate a test account with custom data.
4166
+ # @param sandbox_public_token_create_request [SandboxPublicTokenCreateRequest]
4167
+ # @param [Hash] opts the optional parameters
4168
+ # @return [Array<(SandboxPublicTokenCreateResponse, Integer, Hash)>] SandboxPublicTokenCreateResponse data, response status code and response headers
4169
+ def sandbox_public_token_create_with_http_info(sandbox_public_token_create_request, opts = {})
4170
+ if @api_client.config.debugging
4171
+ @api_client.config.logger.debug 'Calling API: PlaidApi.sandbox_public_token_create ...'
4172
+ end
4173
+ # verify the required parameter 'sandbox_public_token_create_request' is set
4174
+ if @api_client.config.client_side_validation && sandbox_public_token_create_request.nil?
4175
+ fail ArgumentError, "Missing the required parameter 'sandbox_public_token_create_request' when calling PlaidApi.sandbox_public_token_create"
4176
+ end
4177
+ # resource path
4178
+ local_var_path = '/sandbox/public_token/create'
4179
+
4180
+ # query parameters
4181
+ query_params = opts[:query_params] || {}
4182
+
4183
+ # header parameters
4184
+ header_params = opts[:header_params] || {}
4185
+ # HTTP header 'Accept' (if needed)
4186
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4187
+ # HTTP header 'Content-Type'
4188
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4189
+
4190
+ # form parameters
4191
+ form_params = opts[:form_params] || {}
4192
+
4193
+ # http body (model)
4194
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sandbox_public_token_create_request)
4195
+
4196
+ # return_type
4197
+ return_type = opts[:debug_return_type] || 'SandboxPublicTokenCreateResponse'
4198
+
4199
+ # auth_names
4200
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4201
+
4202
+ new_options = opts.merge(
4203
+ :operation => :"PlaidApi.sandbox_public_token_create",
4204
+ :header_params => header_params,
4205
+ :query_params => query_params,
4206
+ :form_params => form_params,
4207
+ :body => post_body,
4208
+ :auth_names => auth_names,
4209
+ :return_type => return_type
4210
+ )
4211
+
4212
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4213
+ if @api_client.config.debugging
4214
+ @api_client.config.logger.debug "API called: PlaidApi#sandbox_public_token_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4215
+ end
4216
+ return data, status_code, headers
4217
+ end
4218
+
4219
+ # Get transaction data
4220
+ # The `/transactions/get` endpoint allows developers to receive user-authorized transaction data for credit, depository, and some loan-type accounts (the list of loan-type accounts supported is the same as for Liabilities; for details, see the `/liabilities/get` endpoint). For transaction history from investments accounts, use the [Investments endpoint](/docs/api/products#investments) instead. Transaction data is standardized across financial institutions, and in many cases transactions are linked to a clean name, entity type, location, and category. Similarly, account data is standardized and returned with a clean name, number, balance, and other meta information where available. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/transactions/get`. For more details, see [Pending and posted transactions](/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the `count` and `offset` parameters in conjunction with the `total_transactions` response body field to fetch all available transactions. Note that data may not be immediately available to `/transactions/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `transactions`, or upon the first call to `/transactions/get`, if it wasn't. To be alerted when transaction data is ready to be fetched, listen for the [`INITIAL_UPDATE`](/docs/api/webhooks#transactions-initial_update) and [`HISTORICAL_UPDATE`](/docs/api/webhooks#transactions-historical_update) webhooks. If no transaction history is ready when `/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error.
4221
+ # @param transactions_get_request [TransactionsGetRequest]
4222
+ # @param [Hash] opts the optional parameters
4223
+ # @return [TransactionsGetResponse]
4224
+ def transactions_get(transactions_get_request, opts = {})
4225
+ data, _status_code, _headers = transactions_get_with_http_info(transactions_get_request, opts)
4226
+ data
4227
+ end
4228
+
4229
+ # Get transaction data
4230
+ # The &#x60;/transactions/get&#x60; endpoint allows developers to receive user-authorized transaction data for credit, depository, and some loan-type accounts (the list of loan-type accounts supported is the same as for Liabilities; for details, see the &#x60;/liabilities/get&#x60; endpoint). For transaction history from investments accounts, use the [Investments endpoint](/docs/api/products#investments) instead. Transaction data is standardized across financial institutions, and in many cases transactions are linked to a clean name, entity type, location, and category. Similarly, account data is standardized and returned with a clean name, number, balance, and other meta information where available. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in &#x60;/transactions/get&#x60;. For more details, see [Pending and posted transactions](/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the &#x60;count&#x60; and &#x60;offset&#x60; parameters in conjunction with the &#x60;total_transactions&#x60; response body field to fetch all available transactions. Note that data may not be immediately available to &#x60;/transactions/get&#x60;. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with &#x60;transactions&#x60;, or upon the first call to &#x60;/transactions/get&#x60;, if it wasn&#39;t. To be alerted when transaction data is ready to be fetched, listen for the [&#x60;INITIAL_UPDATE&#x60;](/docs/api/webhooks#transactions-initial_update) and [&#x60;HISTORICAL_UPDATE&#x60;](/docs/api/webhooks#transactions-historical_update) webhooks. If no transaction history is ready when &#x60;/transactions/get&#x60; is called, it will return a &#x60;PRODUCT_NOT_READY&#x60; error.
4231
+ # @param transactions_get_request [TransactionsGetRequest]
4232
+ # @param [Hash] opts the optional parameters
4233
+ # @return [Array<(TransactionsGetResponse, Integer, Hash)>] TransactionsGetResponse data, response status code and response headers
4234
+ def transactions_get_with_http_info(transactions_get_request, opts = {})
4235
+ if @api_client.config.debugging
4236
+ @api_client.config.logger.debug 'Calling API: PlaidApi.transactions_get ...'
4237
+ end
4238
+ # verify the required parameter 'transactions_get_request' is set
4239
+ if @api_client.config.client_side_validation && transactions_get_request.nil?
4240
+ fail ArgumentError, "Missing the required parameter 'transactions_get_request' when calling PlaidApi.transactions_get"
4241
+ end
4242
+ # resource path
4243
+ local_var_path = '/transactions/get'
4244
+
4245
+ # query parameters
4246
+ query_params = opts[:query_params] || {}
4247
+
4248
+ # header parameters
4249
+ header_params = opts[:header_params] || {}
4250
+ # HTTP header 'Accept' (if needed)
4251
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4252
+ # HTTP header 'Content-Type'
4253
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4254
+
4255
+ # form parameters
4256
+ form_params = opts[:form_params] || {}
4257
+
4258
+ # http body (model)
4259
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(transactions_get_request)
4260
+
4261
+ # return_type
4262
+ return_type = opts[:debug_return_type] || 'TransactionsGetResponse'
4263
+
4264
+ # auth_names
4265
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4266
+
4267
+ new_options = opts.merge(
4268
+ :operation => :"PlaidApi.transactions_get",
4269
+ :header_params => header_params,
4270
+ :query_params => query_params,
4271
+ :form_params => form_params,
4272
+ :body => post_body,
4273
+ :auth_names => auth_names,
4274
+ :return_type => return_type
4275
+ )
4276
+
4277
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4278
+ if @api_client.config.debugging
4279
+ @api_client.config.logger.debug "API called: PlaidApi#transactions_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4280
+ end
4281
+ return data, status_code, headers
4282
+ end
4283
+
4284
+ # Refresh transaction data
4285
+ # `/transactions/refresh` is an optional endpoint for users of the Transactions product. It initiates an on-demand extraction to fetch the newest transactions for an Item. This on-demand extraction takes place in addition to the periodic extractions that automatically occur multiple times a day for any Transactions-enabled Item. If changes to transactions are discovered after calling `/transactions/refresh`, Plaid will fire a webhook: [`TRANSACTIONS_REMOVED`](/docs/api/webhooks#deleted-transactions-detected) will be fired if any removed transactions are detected, and [`DEFAULT_UPDATE`](/docs/api/webhooks#transactions-default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling `/transactions/get`. Access to `/transactions/refresh` in Production is specific to certain pricing plans. If you cannot access `/transactions/refresh` in Production, [contact Sales](https://www.plaid.com/contact) for assistance.
4286
+ # @param transactions_refresh_request [TransactionsRefreshRequest]
4287
+ # @param [Hash] opts the optional parameters
4288
+ # @return [TransactionsRefreshResponse]
4289
+ def transactions_refresh(transactions_refresh_request, opts = {})
4290
+ data, _status_code, _headers = transactions_refresh_with_http_info(transactions_refresh_request, opts)
4291
+ data
4292
+ end
4293
+
4294
+ # Refresh transaction data
4295
+ # &#x60;/transactions/refresh&#x60; is an optional endpoint for users of the Transactions product. It initiates an on-demand extraction to fetch the newest transactions for an Item. This on-demand extraction takes place in addition to the periodic extractions that automatically occur multiple times a day for any Transactions-enabled Item. If changes to transactions are discovered after calling &#x60;/transactions/refresh&#x60;, Plaid will fire a webhook: [&#x60;TRANSACTIONS_REMOVED&#x60;](/docs/api/webhooks#deleted-transactions-detected) will be fired if any removed transactions are detected, and [&#x60;DEFAULT_UPDATE&#x60;](/docs/api/webhooks#transactions-default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling &#x60;/transactions/get&#x60;. Access to &#x60;/transactions/refresh&#x60; in Production is specific to certain pricing plans. If you cannot access &#x60;/transactions/refresh&#x60; in Production, [contact Sales](https://www.plaid.com/contact) for assistance.
4296
+ # @param transactions_refresh_request [TransactionsRefreshRequest]
4297
+ # @param [Hash] opts the optional parameters
4298
+ # @return [Array<(TransactionsRefreshResponse, Integer, Hash)>] TransactionsRefreshResponse data, response status code and response headers
4299
+ def transactions_refresh_with_http_info(transactions_refresh_request, opts = {})
4300
+ if @api_client.config.debugging
4301
+ @api_client.config.logger.debug 'Calling API: PlaidApi.transactions_refresh ...'
4302
+ end
4303
+ # verify the required parameter 'transactions_refresh_request' is set
4304
+ if @api_client.config.client_side_validation && transactions_refresh_request.nil?
4305
+ fail ArgumentError, "Missing the required parameter 'transactions_refresh_request' when calling PlaidApi.transactions_refresh"
4306
+ end
4307
+ # resource path
4308
+ local_var_path = '/transactions/refresh'
4309
+
4310
+ # query parameters
4311
+ query_params = opts[:query_params] || {}
4312
+
4313
+ # header parameters
4314
+ header_params = opts[:header_params] || {}
4315
+ # HTTP header 'Accept' (if needed)
4316
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4317
+ # HTTP header 'Content-Type'
4318
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4319
+
4320
+ # form parameters
4321
+ form_params = opts[:form_params] || {}
4322
+
4323
+ # http body (model)
4324
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(transactions_refresh_request)
4325
+
4326
+ # return_type
4327
+ return_type = opts[:debug_return_type] || 'TransactionsRefreshResponse'
4328
+
4329
+ # auth_names
4330
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4331
+
4332
+ new_options = opts.merge(
4333
+ :operation => :"PlaidApi.transactions_refresh",
4334
+ :header_params => header_params,
4335
+ :query_params => query_params,
4336
+ :form_params => form_params,
4337
+ :body => post_body,
4338
+ :auth_names => auth_names,
4339
+ :return_type => return_type
4340
+ )
4341
+
4342
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4343
+ if @api_client.config.debugging
4344
+ @api_client.config.logger.debug "API called: PlaidApi#transactions_refresh\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4345
+ end
4346
+ return data, status_code, headers
4347
+ end
4348
+
4349
+ # Get webhook verification key
4350
+ # Plaid signs all outgoing webhooks and provides JSON Web Tokens (JWTs) so that you can verify the authenticity of any incoming webhooks to your application. A message signature is included in the `Plaid-Verification` header. The `/webhook_verification_key/get` endpoint provides a JSON Web Key (JWK) that can be used to verify a JWT.
4351
+ # @param webhook_verification_key_get_request [WebhookVerificationKeyGetRequest]
4352
+ # @param [Hash] opts the optional parameters
4353
+ # @return [WebhookVerificationKeyGetResponse]
4354
+ def webhook_verification_key_get(webhook_verification_key_get_request, opts = {})
4355
+ data, _status_code, _headers = webhook_verification_key_get_with_http_info(webhook_verification_key_get_request, opts)
4356
+ data
4357
+ end
4358
+
4359
+ # Get webhook verification key
4360
+ # Plaid signs all outgoing webhooks and provides JSON Web Tokens (JWTs) so that you can verify the authenticity of any incoming webhooks to your application. A message signature is included in the &#x60;Plaid-Verification&#x60; header. The &#x60;/webhook_verification_key/get&#x60; endpoint provides a JSON Web Key (JWK) that can be used to verify a JWT.
4361
+ # @param webhook_verification_key_get_request [WebhookVerificationKeyGetRequest]
4362
+ # @param [Hash] opts the optional parameters
4363
+ # @return [Array<(WebhookVerificationKeyGetResponse, Integer, Hash)>] WebhookVerificationKeyGetResponse data, response status code and response headers
4364
+ def webhook_verification_key_get_with_http_info(webhook_verification_key_get_request, opts = {})
4365
+ if @api_client.config.debugging
4366
+ @api_client.config.logger.debug 'Calling API: PlaidApi.webhook_verification_key_get ...'
4367
+ end
4368
+ # verify the required parameter 'webhook_verification_key_get_request' is set
4369
+ if @api_client.config.client_side_validation && webhook_verification_key_get_request.nil?
4370
+ fail ArgumentError, "Missing the required parameter 'webhook_verification_key_get_request' when calling PlaidApi.webhook_verification_key_get"
4371
+ end
4372
+ # resource path
4373
+ local_var_path = '/webhook_verification_key/get'
4374
+
4375
+ # query parameters
4376
+ query_params = opts[:query_params] || {}
4377
+
4378
+ # header parameters
4379
+ header_params = opts[:header_params] || {}
4380
+ # HTTP header 'Accept' (if needed)
4381
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4382
+ # HTTP header 'Content-Type'
4383
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4384
+
4385
+ # form parameters
4386
+ form_params = opts[:form_params] || {}
4387
+
4388
+ # http body (model)
4389
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(webhook_verification_key_get_request)
4390
+
4391
+ # return_type
4392
+ return_type = opts[:debug_return_type] || 'WebhookVerificationKeyGetResponse'
4393
+
4394
+ # auth_names
4395
+ auth_names = opts[:debug_auth_names] || ['clientId', 'plaidVersion', 'secret']
4396
+
4397
+ new_options = opts.merge(
4398
+ :operation => :"PlaidApi.webhook_verification_key_get",
4399
+ :header_params => header_params,
4400
+ :query_params => query_params,
4401
+ :form_params => form_params,
4402
+ :body => post_body,
4403
+ :auth_names => auth_names,
4404
+ :return_type => return_type
4405
+ )
4406
+
4407
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
4408
+ if @api_client.config.debugging
4409
+ @api_client.config.logger.debug "API called: PlaidApi#webhook_verification_key_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4410
+ end
4411
+ return data, status_code, headers
4412
+ end
4413
+ end
4414
+ end