apimatic-plaid-sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +192 -0
  4. data/bin/console +15 -0
  5. data/lib/plaid/api_helper.rb +10 -0
  6. data/lib/plaid/apis/accounts_api.rb +70 -0
  7. data/lib/plaid/apis/application_api.rb +35 -0
  8. data/lib/plaid/apis/asset_report_api.rb +301 -0
  9. data/lib/plaid/apis/auth_api.rb +43 -0
  10. data/lib/plaid/apis/bank_transfer_api.rb +287 -0
  11. data/lib/plaid/apis/base_api.rb +65 -0
  12. data/lib/plaid/apis/categories_api.rb +34 -0
  13. data/lib/plaid/apis/deposit_switch_api.rb +106 -0
  14. data/lib/plaid/apis/employers_api.rb +40 -0
  15. data/lib/plaid/apis/identity_api.rb +38 -0
  16. data/lib/plaid/apis/income_api.rb +220 -0
  17. data/lib/plaid/apis/institutions_api.rb +92 -0
  18. data/lib/plaid/apis/investments_api.rb +61 -0
  19. data/lib/plaid/apis/item_api.rb +267 -0
  20. data/lib/plaid/apis/liabilities_api.rb +47 -0
  21. data/lib/plaid/apis/link_api.rb +62 -0
  22. data/lib/plaid/apis/payment_initiation_api.rb +236 -0
  23. data/lib/plaid/apis/processor_api.rb +189 -0
  24. data/lib/plaid/apis/sandbox_api.rb +302 -0
  25. data/lib/plaid/apis/signal_api.rb +97 -0
  26. data/lib/plaid/apis/transactions_api.rb +111 -0
  27. data/lib/plaid/apis/transfer_api.rb +214 -0
  28. data/lib/plaid/apis/webhook_verification_key_api.rb +36 -0
  29. data/lib/plaid/client.rb +208 -0
  30. data/lib/plaid/configuration.rb +198 -0
  31. data/lib/plaid/exceptions/api_exception.rb +21 -0
  32. data/lib/plaid/exceptions/error_error_exception.rb +110 -0
  33. data/lib/plaid/http/api_response.rb +19 -0
  34. data/lib/plaid/http/auth/plaid_client_id.rb +52 -0
  35. data/lib/plaid/http/auth/plaid_secret.rb +52 -0
  36. data/lib/plaid/http/auth/plaid_version.rb +52 -0
  37. data/lib/plaid/http/http_call_back.rb +10 -0
  38. data/lib/plaid/http/http_method_enum.rb +10 -0
  39. data/lib/plaid/http/http_request.rb +10 -0
  40. data/lib/plaid/http/http_response.rb +10 -0
  41. data/lib/plaid/http/proxy_settings.rb +22 -0
  42. data/lib/plaid/logging/configuration/api_logging_configuration.rb +186 -0
  43. data/lib/plaid/logging/sdk_logger.rb +17 -0
  44. data/lib/plaid/models/account.rb +185 -0
  45. data/lib/plaid/models/account_access.rb +89 -0
  46. data/lib/plaid/models/account_assets.rb +258 -0
  47. data/lib/plaid/models/account_balance.rb +189 -0
  48. data/lib/plaid/models/account_filter.rb +107 -0
  49. data/lib/plaid/models/account_filters_response.rb +106 -0
  50. data/lib/plaid/models/account_identity.rb +206 -0
  51. data/lib/plaid/models/account_selection_cardinality.rb +44 -0
  52. data/lib/plaid/models/account_subtype.rb +319 -0
  53. data/lib/plaid/models/account_subtype1.rb +36 -0
  54. data/lib/plaid/models/account_type.rb +57 -0
  55. data/lib/plaid/models/accounts_balance_get_request.rb +108 -0
  56. data/lib/plaid/models/accounts_balance_get_request_options.rb +111 -0
  57. data/lib/plaid/models/accounts_get_request.rb +107 -0
  58. data/lib/plaid/models/accounts_get_request_options.rb +76 -0
  59. data/lib/plaid/models/accounts_get_response.rb +104 -0
  60. data/lib/plaid/models/ach_class.rb +99 -0
  61. data/lib/plaid/models/address.rb +84 -0
  62. data/lib/plaid/models/address1.rb +116 -0
  63. data/lib/plaid/models/address2.rb +155 -0
  64. data/lib/plaid/models/address_data.rb +114 -0
  65. data/lib/plaid/models/address_data1.rb +120 -0
  66. data/lib/plaid/models/address_data_nullable.rb +114 -0
  67. data/lib/plaid/models/address_nullable.rb +84 -0
  68. data/lib/plaid/models/application.rb +131 -0
  69. data/lib/plaid/models/application_get_request.rb +98 -0
  70. data/lib/plaid/models/application_get_response.rb +84 -0
  71. data/lib/plaid/models/apr.rb +109 -0
  72. data/lib/plaid/models/apr_type.rb +44 -0
  73. data/lib/plaid/models/asset_report.rb +145 -0
  74. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +111 -0
  75. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +87 -0
  76. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +101 -0
  77. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +101 -0
  78. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +85 -0
  79. data/lib/plaid/models/asset_report_create_request.rb +125 -0
  80. data/lib/plaid/models/asset_report_create_request_options.rb +104 -0
  81. data/lib/plaid/models/asset_report_create_response.rb +100 -0
  82. data/lib/plaid/models/asset_report_filter_request.rb +111 -0
  83. data/lib/plaid/models/asset_report_filter_response.rb +100 -0
  84. data/lib/plaid/models/asset_report_get_request.rb +112 -0
  85. data/lib/plaid/models/asset_report_get_response.rb +103 -0
  86. data/lib/plaid/models/asset_report_item.rb +130 -0
  87. data/lib/plaid/models/asset_report_pdf_get_request.rb +101 -0
  88. data/lib/plaid/models/asset_report_refresh_request.rb +127 -0
  89. data/lib/plaid/models/asset_report_refresh_request_options.rb +104 -0
  90. data/lib/plaid/models/asset_report_refresh_response.rb +100 -0
  91. data/lib/plaid/models/asset_report_remove_request.rb +101 -0
  92. data/lib/plaid/models/asset_report_remove_response.rb +85 -0
  93. data/lib/plaid/models/asset_report_transaction.rb +296 -0
  94. data/lib/plaid/models/asset_report_user.rb +153 -0
  95. data/lib/plaid/models/assets_error_webhook.rb +107 -0
  96. data/lib/plaid/models/assets_product_ready_webhook.rb +97 -0
  97. data/lib/plaid/models/auth_get_numbers.rb +141 -0
  98. data/lib/plaid/models/auth_get_request.rb +107 -0
  99. data/lib/plaid/models/auth_get_request_options.rb +78 -0
  100. data/lib/plaid/models/auth_get_response.rb +116 -0
  101. data/lib/plaid/models/auth_metadata.rb +77 -0
  102. data/lib/plaid/models/auth_supported_methods.rb +94 -0
  103. data/lib/plaid/models/automatically_verified_webhook.rb +102 -0
  104. data/lib/plaid/models/available_balance.rb +39 -0
  105. data/lib/plaid/models/bank_initiated_return_risk.rb +96 -0
  106. data/lib/plaid/models/bank_transfer.rb +263 -0
  107. data/lib/plaid/models/bank_transfer_balance.rb +85 -0
  108. data/lib/plaid/models/bank_transfer_balance_get_request.rb +103 -0
  109. data/lib/plaid/models/bank_transfer_balance_get_response.rb +97 -0
  110. data/lib/plaid/models/bank_transfer_cancel_request.rb +99 -0
  111. data/lib/plaid/models/bank_transfer_cancel_response.rb +76 -0
  112. data/lib/plaid/models/bank_transfer_create_request.rb +254 -0
  113. data/lib/plaid/models/bank_transfer_create_response.rb +84 -0
  114. data/lib/plaid/models/bank_transfer_direction.rb +37 -0
  115. data/lib/plaid/models/bank_transfer_direction1.rb +37 -0
  116. data/lib/plaid/models/bank_transfer_event.rb +211 -0
  117. data/lib/plaid/models/bank_transfer_event_list_request.rb +229 -0
  118. data/lib/plaid/models/bank_transfer_event_list_response.rb +94 -0
  119. data/lib/plaid/models/bank_transfer_event_sync_request.rb +110 -0
  120. data/lib/plaid/models/bank_transfer_event_sync_response.rb +94 -0
  121. data/lib/plaid/models/bank_transfer_event_type.rb +63 -0
  122. data/lib/plaid/models/bank_transfer_failure.rb +93 -0
  123. data/lib/plaid/models/bank_transfer_get_request.rb +99 -0
  124. data/lib/plaid/models/bank_transfer_get_response.rb +84 -0
  125. data/lib/plaid/models/bank_transfer_list_request.rb +175 -0
  126. data/lib/plaid/models/bank_transfer_list_response.rb +93 -0
  127. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +117 -0
  128. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +93 -0
  129. data/lib/plaid/models/bank_transfer_network.rb +41 -0
  130. data/lib/plaid/models/bank_transfer_receiver_details.rb +79 -0
  131. data/lib/plaid/models/bank_transfer_status.rb +48 -0
  132. data/lib/plaid/models/bank_transfer_sweep.rb +129 -0
  133. data/lib/plaid/models/bank_transfer_sweep_account.rb +84 -0
  134. data/lib/plaid/models/bank_transfer_sweep_get_request.rb +113 -0
  135. data/lib/plaid/models/bank_transfer_sweep_get_response.rb +85 -0
  136. data/lib/plaid/models/bank_transfer_sweep_list_request.rb +164 -0
  137. data/lib/plaid/models/bank_transfer_sweep_list_response.rb +94 -0
  138. data/lib/plaid/models/bank_transfer_type.rb +38 -0
  139. data/lib/plaid/models/bank_transfer_type1.rb +38 -0
  140. data/lib/plaid/models/bank_transfer_user.rb +100 -0
  141. data/lib/plaid/models/bank_transfers_events_update_webhook.rb +83 -0
  142. data/lib/plaid/models/base_model.rb +110 -0
  143. data/lib/plaid/models/branch.rb +49 -0
  144. data/lib/plaid/models/buy_type.rb +165 -0
  145. data/lib/plaid/models/canonical_description.rb +92 -0
  146. data/lib/plaid/models/cash_type.rb +305 -0
  147. data/lib/plaid/models/categories_get_response.rb +93 -0
  148. data/lib/plaid/models/category.rb +93 -0
  149. data/lib/plaid/models/cause.rb +88 -0
  150. data/lib/plaid/models/code.rb +56 -0
  151. data/lib/plaid/models/confidence.rb +45 -0
  152. data/lib/plaid/models/connected_application.rb +177 -0
  153. data/lib/plaid/models/country_code.rb +56 -0
  154. data/lib/plaid/models/country_code1.rb +36 -0
  155. data/lib/plaid/models/credit.rb +80 -0
  156. data/lib/plaid/models/credit_account.rb +83 -0
  157. data/lib/plaid/models/credit_card_liability.rb +164 -0
  158. data/lib/plaid/models/credit_filter.rb +78 -0
  159. data/lib/plaid/models/currency.rb +37 -0
  160. data/lib/plaid/models/customer_initiated_return_risk.rb +100 -0
  161. data/lib/plaid/models/decision.rb +48 -0
  162. data/lib/plaid/models/deductions.rb +103 -0
  163. data/lib/plaid/models/default_update_webhook.rb +119 -0
  164. data/lib/plaid/models/deposit_switch_address_data.rb +110 -0
  165. data/lib/plaid/models/deposit_switch_alt_create_request.rb +132 -0
  166. data/lib/plaid/models/deposit_switch_alt_create_response.rb +87 -0
  167. data/lib/plaid/models/deposit_switch_create_request.rb +133 -0
  168. data/lib/plaid/models/deposit_switch_create_request_options.rb +99 -0
  169. data/lib/plaid/models/deposit_switch_create_response.rb +87 -0
  170. data/lib/plaid/models/deposit_switch_get_request.rb +99 -0
  171. data/lib/plaid/models/deposit_switch_get_response.rb +277 -0
  172. data/lib/plaid/models/deposit_switch_state_update_webhook.rb +116 -0
  173. data/lib/plaid/models/deposit_switch_target_account.rb +106 -0
  174. data/lib/plaid/models/deposit_switch_target_user.rb +121 -0
  175. data/lib/plaid/models/deposit_switch_token_create_request.rb +100 -0
  176. data/lib/plaid/models/deposit_switch_token_create_response.rb +101 -0
  177. data/lib/plaid/models/depository.rb +80 -0
  178. data/lib/plaid/models/depository_account.rb +147 -0
  179. data/lib/plaid/models/depository_filter.rb +78 -0
  180. data/lib/plaid/models/distribution_details.rb +126 -0
  181. data/lib/plaid/models/document_metadata.rb +96 -0
  182. data/lib/plaid/models/earnings.rb +104 -0
  183. data/lib/plaid/models/earnings_total.rb +133 -0
  184. data/lib/plaid/models/email.rb +91 -0
  185. data/lib/plaid/models/employee.rb +107 -0
  186. data/lib/plaid/models/employee2.rb +85 -0
  187. data/lib/plaid/models/employee_income_summary_field_string.rb +90 -0
  188. data/lib/plaid/models/employer.rb +102 -0
  189. data/lib/plaid/models/employer2.rb +86 -0
  190. data/lib/plaid/models/employer3.rb +74 -0
  191. data/lib/plaid/models/employer_income_summary_field_string.rb +90 -0
  192. data/lib/plaid/models/employers_search_request.rb +107 -0
  193. data/lib/plaid/models/employers_search_response.rb +93 -0
  194. data/lib/plaid/models/employment_details.rb +88 -0
  195. data/lib/plaid/models/error.rb +172 -0
  196. data/lib/plaid/models/error_type.rb +76 -0
  197. data/lib/plaid/models/external_payment_refund_details.rb +92 -0
  198. data/lib/plaid/models/external_payment_schedule_base.rb +147 -0
  199. data/lib/plaid/models/external_payment_schedule_get.rb +140 -0
  200. data/lib/plaid/models/external_payment_schedule_request.rb +144 -0
  201. data/lib/plaid/models/fee_type.rb +287 -0
  202. data/lib/plaid/models/health_incident.rb +130 -0
  203. data/lib/plaid/models/historical_balance.rb +118 -0
  204. data/lib/plaid/models/historical_update_webhook.rb +124 -0
  205. data/lib/plaid/models/holding.rb +169 -0
  206. data/lib/plaid/models/holdings_default_update_webhook.rb +129 -0
  207. data/lib/plaid/models/holdings_override.rb +133 -0
  208. data/lib/plaid/models/identity_get_request.rb +107 -0
  209. data/lib/plaid/models/identity_get_request_options.rb +78 -0
  210. data/lib/plaid/models/identity_get_response.rb +101 -0
  211. data/lib/plaid/models/incident_update.rb +106 -0
  212. data/lib/plaid/models/income_breakdown.rb +106 -0
  213. data/lib/plaid/models/income_override.rb +84 -0
  214. data/lib/plaid/models/income_summary.rb +137 -0
  215. data/lib/plaid/models/income_summary_field_number.rb +90 -0
  216. data/lib/plaid/models/income_summary_field_string.rb +90 -0
  217. data/lib/plaid/models/income_verification_create_request.rb +99 -0
  218. data/lib/plaid/models/income_verification_create_response.rb +88 -0
  219. data/lib/plaid/models/income_verification_documents_download_request.rb +114 -0
  220. data/lib/plaid/models/income_verification_documents_download_response.rb +73 -0
  221. data/lib/plaid/models/income_verification_paystub_get_request.rb +114 -0
  222. data/lib/plaid/models/income_verification_paystub_get_response.rb +100 -0
  223. data/lib/plaid/models/income_verification_paystubs_get_request.rb +114 -0
  224. data/lib/plaid/models/income_verification_paystubs_get_response.rb +133 -0
  225. data/lib/plaid/models/income_verification_precheck_employer.rb +88 -0
  226. data/lib/plaid/models/income_verification_precheck_military_info.rb +90 -0
  227. data/lib/plaid/models/income_verification_precheck_request.rb +141 -0
  228. data/lib/plaid/models/income_verification_precheck_response.rb +101 -0
  229. data/lib/plaid/models/income_verification_precheck_user.rb +110 -0
  230. data/lib/plaid/models/income_verification_refresh_request.rb +114 -0
  231. data/lib/plaid/models/income_verification_refresh_response.rb +90 -0
  232. data/lib/plaid/models/income_verification_status_webhook.rb +117 -0
  233. data/lib/plaid/models/income_verification_summary_get_request.rb +114 -0
  234. data/lib/plaid/models/income_verification_summary_get_response.rb +109 -0
  235. data/lib/plaid/models/income_verification_taxforms_get_request.rb +114 -0
  236. data/lib/plaid/models/income_verification_taxforms_get_response.rb +129 -0
  237. data/lib/plaid/models/income_verification_webhook_status.rb +72 -0
  238. data/lib/plaid/models/inflow_model.rb +136 -0
  239. data/lib/plaid/models/initial_update_webhook.rb +121 -0
  240. data/lib/plaid/models/institution.rb +213 -0
  241. data/lib/plaid/models/institution_status.rb +211 -0
  242. data/lib/plaid/models/institutions_get_by_id_request.rb +120 -0
  243. data/lib/plaid/models/institutions_get_by_id_request_options.rb +131 -0
  244. data/lib/plaid/models/institutions_get_by_id_response.rb +85 -0
  245. data/lib/plaid/models/institutions_get_request.rb +125 -0
  246. data/lib/plaid/models/institutions_get_request_options.rb +154 -0
  247. data/lib/plaid/models/institutions_get_response.rb +102 -0
  248. data/lib/plaid/models/institutions_search_account_filter.rb +105 -0
  249. data/lib/plaid/models/institutions_search_payment_initiation_options.rb +77 -0
  250. data/lib/plaid/models/institutions_search_request.rb +132 -0
  251. data/lib/plaid/models/institutions_search_request_options.rb +136 -0
  252. data/lib/plaid/models/institutions_search_response.rb +94 -0
  253. data/lib/plaid/models/investment.rb +80 -0
  254. data/lib/plaid/models/investment_account_subtype.rb +501 -0
  255. data/lib/plaid/models/investment_filter.rb +78 -0
  256. data/lib/plaid/models/investment_holdings_get_request_options.rb +78 -0
  257. data/lib/plaid/models/investment_transaction.rb +231 -0
  258. data/lib/plaid/models/investments_holdings_get_request.rb +109 -0
  259. data/lib/plaid/models/investments_holdings_get_response.rb +142 -0
  260. data/lib/plaid/models/investments_transactions_get_request.rb +130 -0
  261. data/lib/plaid/models/investments_transactions_get_request_options.rb +96 -0
  262. data/lib/plaid/models/investments_transactions_get_response.rb +156 -0
  263. data/lib/plaid/models/investments_transactions_override.rb +151 -0
  264. data/lib/plaid/models/item.rb +173 -0
  265. data/lib/plaid/models/item_access_token_invalidate_request.rb +98 -0
  266. data/lib/plaid/models/item_access_token_invalidate_response.rb +86 -0
  267. data/lib/plaid/models/item_application_list_request.rb +100 -0
  268. data/lib/plaid/models/item_application_list_response.rb +95 -0
  269. data/lib/plaid/models/item_application_list_user_auth.rb +93 -0
  270. data/lib/plaid/models/item_application_scopes_update_request.rb +143 -0
  271. data/lib/plaid/models/item_application_scopes_update_response.rb +77 -0
  272. data/lib/plaid/models/item_error_webhook.rb +105 -0
  273. data/lib/plaid/models/item_get_request.rb +97 -0
  274. data/lib/plaid/models/item_get_response.rb +95 -0
  275. data/lib/plaid/models/item_import_request.rb +117 -0
  276. data/lib/plaid/models/item_import_request_options.rb +76 -0
  277. data/lib/plaid/models/item_import_request_user_auth.rb +83 -0
  278. data/lib/plaid/models/item_import_response.rb +84 -0
  279. data/lib/plaid/models/item_product_ready_webhook.rb +106 -0
  280. data/lib/plaid/models/item_public_token_create_request.rb +98 -0
  281. data/lib/plaid/models/item_public_token_create_response.rb +107 -0
  282. data/lib/plaid/models/item_public_token_exchange_request.rb +99 -0
  283. data/lib/plaid/models/item_public_token_exchange_response.rb +95 -0
  284. data/lib/plaid/models/item_remove_request.rb +97 -0
  285. data/lib/plaid/models/item_remove_response.rb +76 -0
  286. data/lib/plaid/models/item_status.rb +99 -0
  287. data/lib/plaid/models/item_status_investments.rb +114 -0
  288. data/lib/plaid/models/item_status_last_webhook.rb +98 -0
  289. data/lib/plaid/models/item_status_nullable.rb +99 -0
  290. data/lib/plaid/models/item_status_transactions.rb +114 -0
  291. data/lib/plaid/models/item_webhook_update_request.rb +107 -0
  292. data/lib/plaid/models/item_webhook_update_response.rb +85 -0
  293. data/lib/plaid/models/jwk_public_key.rb +150 -0
  294. data/lib/plaid/models/jwt_header.rb +72 -0
  295. data/lib/plaid/models/liabilities_default_update_webhook.rb +135 -0
  296. data/lib/plaid/models/liabilities_get_request.rb +108 -0
  297. data/lib/plaid/models/liabilities_get_request_options.rb +79 -0
  298. data/lib/plaid/models/liabilities_get_response.rb +111 -0
  299. data/lib/plaid/models/liabilities_object.rb +121 -0
  300. data/lib/plaid/models/liability_override.rb +326 -0
  301. data/lib/plaid/models/link_token_account_filters.rb +120 -0
  302. data/lib/plaid/models/link_token_create_request.rb +378 -0
  303. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +118 -0
  304. data/lib/plaid/models/link_token_create_request_auth.rb +77 -0
  305. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +77 -0
  306. data/lib/plaid/models/link_token_create_request_income_verification.rb +94 -0
  307. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +77 -0
  308. data/lib/plaid/models/link_token_create_request_update.rb +82 -0
  309. data/lib/plaid/models/link_token_create_request_user.rb +201 -0
  310. data/lib/plaid/models/link_token_create_response.rb +107 -0
  311. data/lib/plaid/models/link_token_eu_config.rb +75 -0
  312. data/lib/plaid/models/link_token_get_metadata_response.rb +140 -0
  313. data/lib/plaid/models/link_token_get_request.rb +97 -0
  314. data/lib/plaid/models/link_token_get_response.rb +132 -0
  315. data/lib/plaid/models/loan.rb +80 -0
  316. data/lib/plaid/models/loan_account.rb +173 -0
  317. data/lib/plaid/models/loan_filter.rb +78 -0
  318. data/lib/plaid/models/meta.rb +90 -0
  319. data/lib/plaid/models/mfa.rb +124 -0
  320. data/lib/plaid/models/mortgage_interest_rate.rb +86 -0
  321. data/lib/plaid/models/mortgage_liability.rb +295 -0
  322. data/lib/plaid/models/mortgage_property_address.rb +114 -0
  323. data/lib/plaid/models/net_pay.rb +96 -0
  324. data/lib/plaid/models/new_accounts_available_webhook.rb +115 -0
  325. data/lib/plaid/models/new_payment_status.rb +73 -0
  326. data/lib/plaid/models/numbers.rb +157 -0
  327. data/lib/plaid/models/numbers_ach.rb +113 -0
  328. data/lib/plaid/models/numbers_ach_nullable.rb +112 -0
  329. data/lib/plaid/models/numbers_bacs.rb +92 -0
  330. data/lib/plaid/models/numbers_bacs_nullable.rb +91 -0
  331. data/lib/plaid/models/numbers_eft.rb +101 -0
  332. data/lib/plaid/models/numbers_eft_nullable.rb +100 -0
  333. data/lib/plaid/models/numbers_international.rb +91 -0
  334. data/lib/plaid/models/numbers_international_nullable.rb +90 -0
  335. data/lib/plaid/models/old_payment_status.rb +73 -0
  336. data/lib/plaid/models/override_account_type.rb +56 -0
  337. data/lib/plaid/models/override_accounts.rb +230 -0
  338. data/lib/plaid/models/owner.rb +141 -0
  339. data/lib/plaid/models/owner_override.rb +131 -0
  340. data/lib/plaid/models/pay.rb +88 -0
  341. data/lib/plaid/models/pay_frequency.rb +90 -0
  342. data/lib/plaid/models/pay_frequency1.rb +45 -0
  343. data/lib/plaid/models/pay_period_details.rb +119 -0
  344. data/lib/plaid/models/payment_amount.rb +84 -0
  345. data/lib/plaid/models/payment_channel.rb +43 -0
  346. data/lib/plaid/models/payment_initiation_address.rb +103 -0
  347. data/lib/plaid/models/payment_initiation_metadata.rb +117 -0
  348. data/lib/plaid/models/payment_initiation_optional_restriction_bacs.rb +85 -0
  349. data/lib/plaid/models/payment_initiation_payment.rb +242 -0
  350. data/lib/plaid/models/payment_initiation_payment_create_request.rb +140 -0
  351. data/lib/plaid/models/payment_initiation_payment_create_response.rb +95 -0
  352. data/lib/plaid/models/payment_initiation_payment_get_request.rb +98 -0
  353. data/lib/plaid/models/payment_initiation_payment_get_response.rb +254 -0
  354. data/lib/plaid/models/payment_initiation_payment_list_request.rb +124 -0
  355. data/lib/plaid/models/payment_initiation_payment_list_response.rb +115 -0
  356. data/lib/plaid/models/payment_initiation_payment_reverse_request.rb +98 -0
  357. data/lib/plaid/models/payment_initiation_payment_reverse_response.rb +99 -0
  358. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +98 -0
  359. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +107 -0
  360. data/lib/plaid/models/payment_initiation_recipient.rb +131 -0
  361. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +133 -0
  362. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +85 -0
  363. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +98 -0
  364. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +144 -0
  365. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +89 -0
  366. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +94 -0
  367. data/lib/plaid/models/payment_initiation_refund.rb +116 -0
  368. data/lib/plaid/models/payment_initiation_standing_order_metadata.rb +108 -0
  369. data/lib/plaid/models/payment_meta.rb +156 -0
  370. data/lib/plaid/models/payment_options.rb +122 -0
  371. data/lib/plaid/models/payment_schedule_interval.rb +36 -0
  372. data/lib/plaid/models/payment_status_update_webhook.rb +234 -0
  373. data/lib/plaid/models/paystub.rb +186 -0
  374. data/lib/plaid/models/paystub_deduction.rb +95 -0
  375. data/lib/plaid/models/paystub_details.rb +127 -0
  376. data/lib/plaid/models/paystub_override.rb +116 -0
  377. data/lib/plaid/models/paystub_ytd_details.rb +90 -0
  378. data/lib/plaid/models/pending_expiration_webhook.rb +112 -0
  379. data/lib/plaid/models/personal_finance_category.rb +87 -0
  380. data/lib/plaid/models/personal_finance_category2.rb +83 -0
  381. data/lib/plaid/models/phone_number.rb +91 -0
  382. data/lib/plaid/models/processor.rb +116 -0
  383. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +108 -0
  384. data/lib/plaid/models/processor_auth_get_request.rb +100 -0
  385. data/lib/plaid/models/processor_auth_get_response.rb +98 -0
  386. data/lib/plaid/models/processor_balance_get_request.rb +111 -0
  387. data/lib/plaid/models/processor_balance_get_request_options.rb +98 -0
  388. data/lib/plaid/models/processor_balance_get_response.rb +85 -0
  389. data/lib/plaid/models/processor_bank_transfer_create_request.rb +248 -0
  390. data/lib/plaid/models/processor_bank_transfer_create_response.rb +84 -0
  391. data/lib/plaid/models/processor_identity_get_request.rb +101 -0
  392. data/lib/plaid/models/processor_identity_get_response.rb +85 -0
  393. data/lib/plaid/models/processor_number.rb +111 -0
  394. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +108 -0
  395. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +87 -0
  396. data/lib/plaid/models/processor_token_create_request.rb +116 -0
  397. data/lib/plaid/models/processor_token_create_response.rb +87 -0
  398. data/lib/plaid/models/product_access.rb +112 -0
  399. data/lib/plaid/models/product_data_type.rb +40 -0
  400. data/lib/plaid/models/product_status.rb +106 -0
  401. data/lib/plaid/models/products.rb +86 -0
  402. data/lib/plaid/models/projected_income_summary_field_number.rb +90 -0
  403. data/lib/plaid/models/pslf_status.rb +103 -0
  404. data/lib/plaid/models/recaptcha_required_error.rb +143 -0
  405. data/lib/plaid/models/recipient_bacs.rb +87 -0
  406. data/lib/plaid/models/recipient_bacs_nullable.rb +85 -0
  407. data/lib/plaid/models/refresh_interval.rb +42 -0
  408. data/lib/plaid/models/requested_scopes.rb +124 -0
  409. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +97 -0
  410. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +76 -0
  411. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +128 -0
  412. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +76 -0
  413. data/lib/plaid/models/sandbox_income_fire_webhook_request.rb +125 -0
  414. data/lib/plaid/models/sandbox_income_fire_webhook_response.rb +77 -0
  415. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +109 -0
  416. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +85 -0
  417. data/lib/plaid/models/sandbox_item_reset_login_request.rb +98 -0
  418. data/lib/plaid/models/sandbox_item_reset_login_response.rb +85 -0
  419. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +118 -0
  420. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +77 -0
  421. data/lib/plaid/models/sandbox_oauth_select_accounts_request.rb +83 -0
  422. data/lib/plaid/models/sandbox_processor_token_create_request.rb +111 -0
  423. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +92 -0
  424. data/lib/plaid/models/sandbox_processor_token_create_response.rb +85 -0
  425. data/lib/plaid/models/sandbox_public_token_create_request.rb +123 -0
  426. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +116 -0
  427. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +88 -0
  428. data/lib/plaid/models/sandbox_public_token_create_response.rb +86 -0
  429. data/lib/plaid/models/sandbox_transfer_simulate_request.rb +124 -0
  430. data/lib/plaid/models/sandbox_transfer_simulate_response.rb +76 -0
  431. data/lib/plaid/models/scopes.rb +109 -0
  432. data/lib/plaid/models/scopes_context.rb +38 -0
  433. data/lib/plaid/models/scopes_nullable.rb +109 -0
  434. data/lib/plaid/models/security.rb +252 -0
  435. data/lib/plaid/models/security_override.rb +131 -0
  436. data/lib/plaid/models/sell_type.rb +105 -0
  437. data/lib/plaid/models/sender_bacs_nullable.rb +85 -0
  438. data/lib/plaid/models/servicer_address_data.rb +117 -0
  439. data/lib/plaid/models/signal_decision_report_request.rb +110 -0
  440. data/lib/plaid/models/signal_decision_report_response.rb +77 -0
  441. data/lib/plaid/models/signal_evaluate_core_attributes.rb +662 -0
  442. data/lib/plaid/models/signal_evaluate_device.rb +90 -0
  443. data/lib/plaid/models/signal_evaluate_request.rb +163 -0
  444. data/lib/plaid/models/signal_evaluate_response.rb +99 -0
  445. data/lib/plaid/models/signal_evaluate_scores.rb +108 -0
  446. data/lib/plaid/models/signal_person_name.rb +122 -0
  447. data/lib/plaid/models/signal_return_report_request.rb +110 -0
  448. data/lib/plaid/models/signal_return_report_response.rb +77 -0
  449. data/lib/plaid/models/signal_user.rb +111 -0
  450. data/lib/plaid/models/standalone_account_type.rb +115 -0
  451. data/lib/plaid/models/standalone_currency_code_list.rb +86 -0
  452. data/lib/plaid/models/standalone_investment_transaction_type.rb +119 -0
  453. data/lib/plaid/models/state.rb +49 -0
  454. data/lib/plaid/models/status.rb +41 -0
  455. data/lib/plaid/models/status1.rb +48 -0
  456. data/lib/plaid/models/status2.rb +49 -0
  457. data/lib/plaid/models/status3.rb +73 -0
  458. data/lib/plaid/models/status_breakdown.rb +111 -0
  459. data/lib/plaid/models/student_loan.rb +367 -0
  460. data/lib/plaid/models/student_loan_repayment_model.rb +95 -0
  461. data/lib/plaid/models/student_loan_status.rb +86 -0
  462. data/lib/plaid/models/student_repayment_plan.rb +84 -0
  463. data/lib/plaid/models/subtype.rb +209 -0
  464. data/lib/plaid/models/switch_method.rb +45 -0
  465. data/lib/plaid/models/taxform.rb +84 -0
  466. data/lib/plaid/models/taxpayer_id.rb +89 -0
  467. data/lib/plaid/models/total.rb +110 -0
  468. data/lib/plaid/models/transaction.rb +426 -0
  469. data/lib/plaid/models/transaction_base.rb +285 -0
  470. data/lib/plaid/models/transaction_code.rb +87 -0
  471. data/lib/plaid/models/transaction_data.rb +112 -0
  472. data/lib/plaid/models/transaction_location.rb +143 -0
  473. data/lib/plaid/models/transaction_override.rb +119 -0
  474. data/lib/plaid/models/transaction_type.rb +48 -0
  475. data/lib/plaid/models/transactions_get_request.rb +128 -0
  476. data/lib/plaid/models/transactions_get_request_options.rb +139 -0
  477. data/lib/plaid/models/transactions_get_response.rb +138 -0
  478. data/lib/plaid/models/transactions_refresh_request.rb +98 -0
  479. data/lib/plaid/models/transactions_refresh_response.rb +77 -0
  480. data/lib/plaid/models/transactions_removed_webhook.rb +119 -0
  481. data/lib/plaid/models/transactions_update_investments_webhook.rb +134 -0
  482. data/lib/plaid/models/transfer.rb +229 -0
  483. data/lib/plaid/models/transfer_authorization.rb +126 -0
  484. data/lib/plaid/models/transfer_authorization_create_request.rb +197 -0
  485. data/lib/plaid/models/transfer_authorization_create_response.rb +86 -0
  486. data/lib/plaid/models/transfer_authorization_decision_rationale.rb +96 -0
  487. data/lib/plaid/models/transfer_authorization_device.rb +86 -0
  488. data/lib/plaid/models/transfer_authorization_proposed_transfer.rb +150 -0
  489. data/lib/plaid/models/transfer_cancel_request.rb +97 -0
  490. data/lib/plaid/models/transfer_cancel_response.rb +76 -0
  491. data/lib/plaid/models/transfer_create_request.rb +241 -0
  492. data/lib/plaid/models/transfer_create_response.rb +84 -0
  493. data/lib/plaid/models/transfer_event.rb +171 -0
  494. data/lib/plaid/models/transfer_event_list_request.rb +214 -0
  495. data/lib/plaid/models/transfer_event_list_response.rb +93 -0
  496. data/lib/plaid/models/transfer_event_sync_request.rb +110 -0
  497. data/lib/plaid/models/transfer_event_sync_response.rb +93 -0
  498. data/lib/plaid/models/transfer_event_type.rb +52 -0
  499. data/lib/plaid/models/transfer_failure.rb +93 -0
  500. data/lib/plaid/models/transfer_get_request.rb +97 -0
  501. data/lib/plaid/models/transfer_get_response.rb +84 -0
  502. data/lib/plaid/models/transfer_list_request.rb +163 -0
  503. data/lib/plaid/models/transfer_list_response.rb +93 -0
  504. data/lib/plaid/models/transfer_network.rb +37 -0
  505. data/lib/plaid/models/transfer_status.rb +48 -0
  506. data/lib/plaid/models/transfer_type.rb +146 -0
  507. data/lib/plaid/models/transfer_type1.rb +38 -0
  508. data/lib/plaid/models/transfer_type2.rb +38 -0
  509. data/lib/plaid/models/transfer_user_address_in_request.rb +114 -0
  510. data/lib/plaid/models/transfer_user_address_in_response.rb +114 -0
  511. data/lib/plaid/models/transfer_user_in_request.rb +105 -0
  512. data/lib/plaid/models/transfer_user_in_response.rb +104 -0
  513. data/lib/plaid/models/type.rb +52 -0
  514. data/lib/plaid/models/type1.rb +40 -0
  515. data/lib/plaid/models/type2.rb +100 -0
  516. data/lib/plaid/models/type3.rb +68 -0
  517. data/lib/plaid/models/type4.rb +60 -0
  518. data/lib/plaid/models/type5.rb +41 -0
  519. data/lib/plaid/models/unofficial_currency_code_list.rb +252 -0
  520. data/lib/plaid/models/update_type.rb +39 -0
  521. data/lib/plaid/models/user_custom_password.rb +166 -0
  522. data/lib/plaid/models/user_permission_revoked_webhook.rb +110 -0
  523. data/lib/plaid/models/value.rb +52 -0
  524. data/lib/plaid/models/verification_expired_webhook.rb +102 -0
  525. data/lib/plaid/models/verification_refresh_status.rb +29 -0
  526. data/lib/plaid/models/verification_status.rb +53 -0
  527. data/lib/plaid/models/verification_status1.rb +36 -0
  528. data/lib/plaid/models/verification_status3.rb +48 -0
  529. data/lib/plaid/models/verification_status4.rb +65 -0
  530. data/lib/plaid/models/w2.rb +346 -0
  531. data/lib/plaid/models/w2_box12.rb +88 -0
  532. data/lib/plaid/models/w2_state_and_local_wages.rb +152 -0
  533. data/lib/plaid/models/warning.rb +98 -0
  534. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +118 -0
  535. data/lib/plaid/models/webhook_verification_key_get_request.rb +98 -0
  536. data/lib/plaid/models/webhook_verification_key_get_response.rb +86 -0
  537. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +90 -0
  538. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +90 -0
  539. data/lib/plaid/utilities/date_time_helper.rb +11 -0
  540. data/lib/plaid/utilities/file_wrapper.rb +28 -0
  541. data/lib/plaid.rb +565 -0
  542. metadata +625 -0
@@ -0,0 +1,84 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Defines the response schema for `/bank_transfer/create`
8
+ class BankTransferCreateResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Represents a bank transfer within the Bank Transfers API.
13
+ # @return [BankTransfer]
14
+ attr_accessor :bank_transfer
15
+
16
+ # A unique identifier for the request, which can be used for
17
+ # troubleshooting. This identifier, like all Plaid identifiers, is case
18
+ # sensitive.
19
+ # @return [String]
20
+ attr_accessor :request_id
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['bank_transfer'] = 'bank_transfer'
26
+ @_hash['request_id'] = 'request_id'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ []
33
+ end
34
+
35
+ # An array for nullable fields
36
+ def self.nullables
37
+ []
38
+ end
39
+
40
+ def initialize(bank_transfer:, request_id:, additional_properties: nil)
41
+ # Add additional model properties to the instance
42
+ additional_properties = {} if additional_properties.nil?
43
+
44
+ @bank_transfer = bank_transfer
45
+ @request_id = request_id
46
+ @additional_properties = additional_properties
47
+ end
48
+
49
+ # Creates an instance of the object from a hash.
50
+ def self.from_hash(hash)
51
+ return nil unless hash
52
+
53
+ # Extract variables from the hash.
54
+ bank_transfer = BankTransfer.from_hash(hash['bank_transfer']) if hash['bank_transfer']
55
+ request_id = hash.key?('request_id') ? hash['request_id'] : nil
56
+
57
+ # Create a new hash for additional properties, removing known properties.
58
+ new_hash = hash.reject { |k, _| names.value?(k) }
59
+
60
+ additional_properties = APIHelper.get_additional_properties(
61
+ new_hash, proc { |value| value }
62
+ )
63
+
64
+ # Create object from extracted values.
65
+ BankTransferCreateResponse.new(bank_transfer: bank_transfer,
66
+ request_id: request_id,
67
+ additional_properties: additional_properties)
68
+ end
69
+
70
+ # Provides a human-readable string representation of the object.
71
+ def to_s
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} bank_transfer: #{@bank_transfer}, request_id: #{@request_id},"\
74
+ " additional_properties: #{@additional_properties}>"
75
+ end
76
+
77
+ # Provides a debugging-friendly string with detailed object information.
78
+ def inspect
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} bank_transfer: #{@bank_transfer.inspect}, request_id:"\
81
+ " #{@request_id.inspect}, additional_properties: #{@additional_properties}>"
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,37 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Indicates the direction of the transfer: `outbound` for API-initiated
8
+ # transfers, or `inbound` for payments received by the FBO account.
9
+ class BankTransferDirection
10
+ BANK_TRANSFER_DIRECTION = [
11
+ # TODO: Write general description for OUTBOUND
12
+ OUTBOUND = 'outbound'.freeze,
13
+
14
+ # TODO: Write general description for INBOUND
15
+ INBOUND = 'inbound'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ true
22
+ end
23
+
24
+ def self.from_value(value, default_value = OUTBOUND)
25
+ return default_value if value.nil?
26
+
27
+ str = value.to_s.strip
28
+
29
+ case str.downcase
30
+ when 'outbound' then OUTBOUND
31
+ when 'inbound' then INBOUND
32
+ else
33
+ default_value
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Indicates the direction of the transfer: `outbound`: for API-initiated
8
+ # transfers `inbound`: for payments received by the FBO account.
9
+ class BankTransferDirection1
10
+ BANK_TRANSFER_DIRECTION1 = [
11
+ # TODO: Write general description for INBOUND
12
+ INBOUND = 'inbound'.freeze,
13
+
14
+ # TODO: Write general description for OUTBOUND
15
+ OUTBOUND = 'outbound'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ true
22
+ end
23
+
24
+ def self.from_value(value, default_value = INBOUND)
25
+ return default_value if value.nil?
26
+
27
+ str = value.to_s.strip
28
+
29
+ case str.downcase
30
+ when 'inbound' then INBOUND
31
+ when 'outbound' then OUTBOUND
32
+ else
33
+ default_value
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,211 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Plaid
8
+ # Represents an event in the Bank Transfers API.
9
+ class BankTransferEvent < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Plaid’s unique identifier for this event. IDs are sequential unsigned
14
+ # 64-bit integers.
15
+ # @return [Integer]
16
+ attr_accessor :event_id
17
+
18
+ # The datetime when this event occurred. This will be of the form
19
+ # `2006-01-02T15:04:05Z`.
20
+ # @return [DateTime]
21
+ attr_accessor :timestamp
22
+
23
+ # The type of event that this bank transfer represents.
24
+ # `pending`: A new transfer was created; it is in the pending state.
25
+ # `cancelled`: The transfer was cancelled by the client.
26
+ # `failed`: The transfer failed, no funds were moved.
27
+ # `posted`: The transfer has been successfully submitted to the payment
28
+ # network.
29
+ # `reversed`: A posted transfer was reversed.
30
+ # `receiver_pending`: The matching transfer was found as a pending
31
+ # transaction in the receiver's account
32
+ # `receiver_posted`: The matching transfer was found as a posted transaction
33
+ # in the receiver's account
34
+ # @return [BankTransferEventType]
35
+ attr_accessor :event_type
36
+
37
+ # The account ID associated with the bank transfer.
38
+ # @return [String]
39
+ attr_accessor :account_id
40
+
41
+ # Plaid’s unique identifier for a bank transfer.
42
+ # @return [String]
43
+ attr_accessor :bank_transfer_id
44
+
45
+ # The ID of the origination account that this balance belongs to.
46
+ # @return [String]
47
+ attr_accessor :origination_account_id
48
+
49
+ # The type of bank transfer. This will be either `debit` or `credit`. A
50
+ # `debit` indicates a transfer of money into the origination account; a
51
+ # `credit` indicates a transfer of money out of the origination account.
52
+ # @return [BankTransferType]
53
+ attr_accessor :bank_transfer_type
54
+
55
+ # The bank transfer amount.
56
+ # @return [String]
57
+ attr_accessor :bank_transfer_amount
58
+
59
+ # The currency of the bank transfer amount.
60
+ # @return [String]
61
+ attr_accessor :bank_transfer_iso_currency_code
62
+
63
+ # The failure reason if the type of this transfer is `"failed"` or
64
+ # `"reversed"`. Null value otherwise.
65
+ # @return [BankTransferFailure]
66
+ attr_accessor :failure_reason
67
+
68
+ # Indicates the direction of the transfer: `outbound` for API-initiated
69
+ # transfers, or `inbound` for payments received by the FBO account.
70
+ # @return [BankTransferDirection]
71
+ attr_accessor :direction
72
+
73
+ # The receiver details if the type of this event is `reciever_pending` or
74
+ # `reciever_posted`. Null value otherwise.
75
+ # @return [BankTransferReceiverDetails]
76
+ attr_accessor :receiver_details
77
+
78
+ # A mapping from model property names to API property names.
79
+ def self.names
80
+ @_hash = {} if @_hash.nil?
81
+ @_hash['event_id'] = 'event_id'
82
+ @_hash['timestamp'] = 'timestamp'
83
+ @_hash['event_type'] = 'event_type'
84
+ @_hash['account_id'] = 'account_id'
85
+ @_hash['bank_transfer_id'] = 'bank_transfer_id'
86
+ @_hash['origination_account_id'] = 'origination_account_id'
87
+ @_hash['bank_transfer_type'] = 'bank_transfer_type'
88
+ @_hash['bank_transfer_amount'] = 'bank_transfer_amount'
89
+ @_hash['bank_transfer_iso_currency_code'] =
90
+ 'bank_transfer_iso_currency_code'
91
+ @_hash['failure_reason'] = 'failure_reason'
92
+ @_hash['direction'] = 'direction'
93
+ @_hash['receiver_details'] = 'receiver_details'
94
+ @_hash
95
+ end
96
+
97
+ # An array for optional fields
98
+ def self.optionals
99
+ []
100
+ end
101
+
102
+ # An array for nullable fields
103
+ def self.nullables
104
+ %w[
105
+ origination_account_id
106
+ ]
107
+ end
108
+
109
+ def initialize(event_id:, timestamp:, event_type:, account_id:,
110
+ bank_transfer_id:, origination_account_id:,
111
+ bank_transfer_type:, bank_transfer_amount:,
112
+ bank_transfer_iso_currency_code:, failure_reason:,
113
+ direction:, receiver_details:, additional_properties: nil)
114
+ # Add additional model properties to the instance
115
+ additional_properties = {} if additional_properties.nil?
116
+
117
+ @event_id = event_id
118
+ @timestamp = timestamp
119
+ @event_type = event_type
120
+ @account_id = account_id
121
+ @bank_transfer_id = bank_transfer_id
122
+ @origination_account_id = origination_account_id
123
+ @bank_transfer_type = bank_transfer_type
124
+ @bank_transfer_amount = bank_transfer_amount
125
+ @bank_transfer_iso_currency_code = bank_transfer_iso_currency_code
126
+ @failure_reason = failure_reason
127
+ @direction = direction
128
+ @receiver_details = receiver_details
129
+ @additional_properties = additional_properties
130
+ end
131
+
132
+ # Creates an instance of the object from a hash.
133
+ def self.from_hash(hash)
134
+ return nil unless hash
135
+
136
+ # Extract variables from the hash.
137
+ event_id = hash.key?('event_id') ? hash['event_id'] : nil
138
+ timestamp = if hash.key?('timestamp')
139
+ (DateTimeHelper.from_rfc3339(hash['timestamp']) if hash['timestamp'])
140
+ end
141
+ event_type = hash.key?('event_type') ? hash['event_type'] : nil
142
+ account_id = hash.key?('account_id') ? hash['account_id'] : nil
143
+ bank_transfer_id =
144
+ hash.key?('bank_transfer_id') ? hash['bank_transfer_id'] : nil
145
+ origination_account_id =
146
+ hash.key?('origination_account_id') ? hash['origination_account_id'] : nil
147
+ bank_transfer_type =
148
+ hash.key?('bank_transfer_type') ? hash['bank_transfer_type'] : nil
149
+ bank_transfer_amount =
150
+ hash.key?('bank_transfer_amount') ? hash['bank_transfer_amount'] : nil
151
+ bank_transfer_iso_currency_code =
152
+ hash.key?('bank_transfer_iso_currency_code') ? hash['bank_transfer_iso_currency_code'] : nil
153
+ failure_reason = BankTransferFailure.from_hash(hash['failure_reason']) if
154
+ hash['failure_reason']
155
+ direction = hash.key?('direction') ? hash['direction'] : nil
156
+ receiver_details = BankTransferReceiverDetails.from_hash(hash['receiver_details']) if
157
+ hash['receiver_details']
158
+
159
+ # Create a new hash for additional properties, removing known properties.
160
+ new_hash = hash.reject { |k, _| names.value?(k) }
161
+
162
+ additional_properties = APIHelper.get_additional_properties(
163
+ new_hash, proc { |value| value }
164
+ )
165
+
166
+ # Create object from extracted values.
167
+ BankTransferEvent.new(event_id: event_id,
168
+ timestamp: timestamp,
169
+ event_type: event_type,
170
+ account_id: account_id,
171
+ bank_transfer_id: bank_transfer_id,
172
+ origination_account_id: origination_account_id,
173
+ bank_transfer_type: bank_transfer_type,
174
+ bank_transfer_amount: bank_transfer_amount,
175
+ bank_transfer_iso_currency_code: bank_transfer_iso_currency_code,
176
+ failure_reason: failure_reason,
177
+ direction: direction,
178
+ receiver_details: receiver_details,
179
+ additional_properties: additional_properties)
180
+ end
181
+
182
+ def to_custom_timestamp
183
+ DateTimeHelper.to_rfc3339(timestamp)
184
+ end
185
+
186
+ # Provides a human-readable string representation of the object.
187
+ def to_s
188
+ class_name = self.class.name.split('::').last
189
+ "<#{class_name} event_id: #{@event_id}, timestamp: #{@timestamp}, event_type:"\
190
+ " #{@event_type}, account_id: #{@account_id}, bank_transfer_id: #{@bank_transfer_id},"\
191
+ " origination_account_id: #{@origination_account_id}, bank_transfer_type:"\
192
+ " #{@bank_transfer_type}, bank_transfer_amount: #{@bank_transfer_amount},"\
193
+ " bank_transfer_iso_currency_code: #{@bank_transfer_iso_currency_code}, failure_reason:"\
194
+ " #{@failure_reason}, direction: #{@direction}, receiver_details: #{@receiver_details},"\
195
+ " additional_properties: #{@additional_properties}>"
196
+ end
197
+
198
+ # Provides a debugging-friendly string with detailed object information.
199
+ def inspect
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} event_id: #{@event_id.inspect}, timestamp: #{@timestamp.inspect},"\
202
+ " event_type: #{@event_type.inspect}, account_id: #{@account_id.inspect}, bank_transfer_id:"\
203
+ " #{@bank_transfer_id.inspect}, origination_account_id: #{@origination_account_id.inspect},"\
204
+ " bank_transfer_type: #{@bank_transfer_type.inspect}, bank_transfer_amount:"\
205
+ " #{@bank_transfer_amount.inspect}, bank_transfer_iso_currency_code:"\
206
+ " #{@bank_transfer_iso_currency_code.inspect}, failure_reason: #{@failure_reason.inspect},"\
207
+ " direction: #{@direction.inspect}, receiver_details: #{@receiver_details.inspect},"\
208
+ " additional_properties: #{@additional_properties}>"
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,229 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Plaid
8
+ # Defines the request schema for `/bank_transfer/event/list`
9
+ class BankTransferEventListRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Your Plaid API `client_id`. The `client_id` is required and may be
14
+ # provided either in the `PLAID-CLIENT-ID` header or as part of a request
15
+ # body.
16
+ # @return [String]
17
+ attr_accessor :client_id
18
+
19
+ # Your Plaid API `secret`. The `secret` is required and may be provided
20
+ # either in the `PLAID-SECRET` header or as part of a request body.
21
+ # @return [String]
22
+ attr_accessor :secret
23
+
24
+ # The start datetime of bank transfers to list. This should be in RFC 3339
25
+ # format (i.e. `2019-12-06T22:35:49Z`)
26
+ # @return [DateTime]
27
+ attr_accessor :start_date
28
+
29
+ # The end datetime of bank transfers to list. This should be in RFC 3339
30
+ # format (i.e. `2019-12-06T22:35:49Z`)
31
+ # @return [DateTime]
32
+ attr_accessor :end_date
33
+
34
+ # Plaid’s unique identifier for a bank transfer.
35
+ # @return [String]
36
+ attr_accessor :bank_transfer_id
37
+
38
+ # The account ID to get events for all transactions to/from an account.
39
+ # @return [String]
40
+ attr_accessor :account_id
41
+
42
+ # The type of bank transfer. This will be either `debit` or `credit`. A
43
+ # `debit` indicates a transfer of money into your origination account; a
44
+ # `credit` indicates a transfer of money out of your origination account.
45
+ # @return [BankTransferType1]
46
+ attr_accessor :bank_transfer_type
47
+
48
+ # Filter events by event type.
49
+ # @return [Array[BankTransferEventType]]
50
+ attr_accessor :event_types
51
+
52
+ # The maximum number of bank transfer events to return. If the number of
53
+ # events matching the above parameters is greater than `count`, the most
54
+ # recent events will be returned.
55
+ # @return [Integer]
56
+ attr_accessor :count
57
+
58
+ # The offset into the list of bank transfer events. When `count`=25 and
59
+ # `offset`=0, the first 25 events will be returned. When `count`=25 and
60
+ # `offset`=25, the next 25 bank transfer events will be returned.
61
+ # @return [Integer]
62
+ attr_accessor :offset
63
+
64
+ # The origination account ID to get events for transfers from a specific
65
+ # origination account.
66
+ # @return [String]
67
+ attr_accessor :origination_account_id
68
+
69
+ # Indicates the direction of the transfer: `outbound`: for API-initiated
70
+ # transfers
71
+ # `inbound`: for payments received by the FBO account.
72
+ # @return [BankTransferDirection1]
73
+ attr_accessor :direction
74
+
75
+ # A mapping from model property names to API property names.
76
+ def self.names
77
+ @_hash = {} if @_hash.nil?
78
+ @_hash['client_id'] = 'client_id'
79
+ @_hash['secret'] = 'secret'
80
+ @_hash['start_date'] = 'start_date'
81
+ @_hash['end_date'] = 'end_date'
82
+ @_hash['bank_transfer_id'] = 'bank_transfer_id'
83
+ @_hash['account_id'] = 'account_id'
84
+ @_hash['bank_transfer_type'] = 'bank_transfer_type'
85
+ @_hash['event_types'] = 'event_types'
86
+ @_hash['count'] = 'count'
87
+ @_hash['offset'] = 'offset'
88
+ @_hash['origination_account_id'] = 'origination_account_id'
89
+ @_hash['direction'] = 'direction'
90
+ @_hash
91
+ end
92
+
93
+ # An array for optional fields
94
+ def self.optionals
95
+ %w[
96
+ client_id
97
+ secret
98
+ start_date
99
+ end_date
100
+ bank_transfer_id
101
+ account_id
102
+ bank_transfer_type
103
+ event_types
104
+ count
105
+ offset
106
+ origination_account_id
107
+ direction
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ %w[
114
+ start_date
115
+ end_date
116
+ bank_transfer_id
117
+ account_id
118
+ count
119
+ offset
120
+ origination_account_id
121
+ ]
122
+ end
123
+
124
+ def initialize(client_id: SKIP, secret: SKIP, start_date: SKIP,
125
+ end_date: SKIP, bank_transfer_id: SKIP, account_id: SKIP,
126
+ bank_transfer_type: SKIP, event_types: SKIP, count: 25,
127
+ offset: 0, origination_account_id: SKIP, direction: SKIP,
128
+ additional_properties: nil)
129
+ # Add additional model properties to the instance
130
+ additional_properties = {} if additional_properties.nil?
131
+
132
+ @client_id = client_id unless client_id == SKIP
133
+ @secret = secret unless secret == SKIP
134
+ @start_date = start_date unless start_date == SKIP
135
+ @end_date = end_date unless end_date == SKIP
136
+ @bank_transfer_id = bank_transfer_id unless bank_transfer_id == SKIP
137
+ @account_id = account_id unless account_id == SKIP
138
+ @bank_transfer_type = bank_transfer_type unless bank_transfer_type == SKIP
139
+ @event_types = event_types unless event_types == SKIP
140
+ @count = count unless count == SKIP
141
+ @offset = offset unless offset == SKIP
142
+ @origination_account_id = origination_account_id unless origination_account_id == SKIP
143
+ @direction = direction unless direction == SKIP
144
+ @additional_properties = additional_properties
145
+ end
146
+
147
+ # Creates an instance of the object from a hash.
148
+ def self.from_hash(hash)
149
+ return nil unless hash
150
+
151
+ # Extract variables from the hash.
152
+ client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
153
+ secret = hash.key?('secret') ? hash['secret'] : SKIP
154
+ start_date = if hash.key?('start_date')
155
+ (DateTimeHelper.from_rfc3339(hash['start_date']) if hash['start_date'])
156
+ else
157
+ SKIP
158
+ end
159
+ end_date = if hash.key?('end_date')
160
+ (DateTimeHelper.from_rfc3339(hash['end_date']) if hash['end_date'])
161
+ else
162
+ SKIP
163
+ end
164
+ bank_transfer_id =
165
+ hash.key?('bank_transfer_id') ? hash['bank_transfer_id'] : SKIP
166
+ account_id = hash.key?('account_id') ? hash['account_id'] : SKIP
167
+ bank_transfer_type =
168
+ hash.key?('bank_transfer_type') ? hash['bank_transfer_type'] : SKIP
169
+ event_types = hash.key?('event_types') ? hash['event_types'] : SKIP
170
+ count = hash['count'] ||= 25
171
+ offset = hash['offset'] ||= 0
172
+ origination_account_id =
173
+ hash.key?('origination_account_id') ? hash['origination_account_id'] : SKIP
174
+ direction = hash.key?('direction') ? hash['direction'] : SKIP
175
+
176
+ # Create a new hash for additional properties, removing known properties.
177
+ new_hash = hash.reject { |k, _| names.value?(k) }
178
+
179
+ additional_properties = APIHelper.get_additional_properties(
180
+ new_hash, proc { |value| value }
181
+ )
182
+
183
+ # Create object from extracted values.
184
+ BankTransferEventListRequest.new(client_id: client_id,
185
+ secret: secret,
186
+ start_date: start_date,
187
+ end_date: end_date,
188
+ bank_transfer_id: bank_transfer_id,
189
+ account_id: account_id,
190
+ bank_transfer_type: bank_transfer_type,
191
+ event_types: event_types,
192
+ count: count,
193
+ offset: offset,
194
+ origination_account_id: origination_account_id,
195
+ direction: direction,
196
+ additional_properties: additional_properties)
197
+ end
198
+
199
+ def to_custom_start_date
200
+ DateTimeHelper.to_rfc3339(start_date)
201
+ end
202
+
203
+ def to_custom_end_date
204
+ DateTimeHelper.to_rfc3339(end_date)
205
+ end
206
+
207
+ # Provides a human-readable string representation of the object.
208
+ def to_s
209
+ class_name = self.class.name.split('::').last
210
+ "<#{class_name} client_id: #{@client_id}, secret: #{@secret}, start_date: #{@start_date},"\
211
+ " end_date: #{@end_date}, bank_transfer_id: #{@bank_transfer_id}, account_id:"\
212
+ " #{@account_id}, bank_transfer_type: #{@bank_transfer_type}, event_types: #{@event_types},"\
213
+ " count: #{@count}, offset: #{@offset}, origination_account_id: #{@origination_account_id},"\
214
+ " direction: #{@direction}, additional_properties: #{@additional_properties}>"
215
+ end
216
+
217
+ # Provides a debugging-friendly string with detailed object information.
218
+ def inspect
219
+ class_name = self.class.name.split('::').last
220
+ "<#{class_name} client_id: #{@client_id.inspect}, secret: #{@secret.inspect}, start_date:"\
221
+ " #{@start_date.inspect}, end_date: #{@end_date.inspect}, bank_transfer_id:"\
222
+ " #{@bank_transfer_id.inspect}, account_id: #{@account_id.inspect}, bank_transfer_type:"\
223
+ " #{@bank_transfer_type.inspect}, event_types: #{@event_types.inspect}, count:"\
224
+ " #{@count.inspect}, offset: #{@offset.inspect}, origination_account_id:"\
225
+ " #{@origination_account_id.inspect}, direction: #{@direction.inspect},"\
226
+ " additional_properties: #{@additional_properties}>"
227
+ end
228
+ end
229
+ end
@@ -0,0 +1,94 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Defines the response schema for `/bank_transfer/event/list`
8
+ class BankTransferEventListResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[BankTransferEvent]]
14
+ attr_accessor :bank_transfer_events
15
+
16
+ # A unique identifier for the request, which can be used for
17
+ # troubleshooting. This identifier, like all Plaid identifiers, is case
18
+ # sensitive.
19
+ # @return [String]
20
+ attr_accessor :request_id
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['bank_transfer_events'] = 'bank_transfer_events'
26
+ @_hash['request_id'] = 'request_id'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ []
33
+ end
34
+
35
+ # An array for nullable fields
36
+ def self.nullables
37
+ []
38
+ end
39
+
40
+ def initialize(bank_transfer_events:, request_id:,
41
+ additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @bank_transfer_events = bank_transfer_events
46
+ @request_id = request_id
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ # Parameter is an array, so we need to iterate through it
56
+ bank_transfer_events = nil
57
+ unless hash['bank_transfer_events'].nil?
58
+ bank_transfer_events = []
59
+ hash['bank_transfer_events'].each do |structure|
60
+ bank_transfer_events << (BankTransferEvent.from_hash(structure) if structure)
61
+ end
62
+ end
63
+
64
+ bank_transfer_events = nil unless hash.key?('bank_transfer_events')
65
+ request_id = hash.key?('request_id') ? hash['request_id'] : nil
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ BankTransferEventListResponse.new(bank_transfer_events: bank_transfer_events,
76
+ request_id: request_id,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} bank_transfer_events: #{@bank_transfer_events}, request_id: #{@request_id},"\
84
+ " additional_properties: #{@additional_properties}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} bank_transfer_events: #{@bank_transfer_events.inspect}, request_id:"\
91
+ " #{@request_id.inspect}, additional_properties: #{@additional_properties}>"
92
+ end
93
+ end
94
+ end