plaid 14.0.0.beta.4 → 14.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (772) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -1
  3. data/CONTRIBUTING.md +1 -5
  4. data/Gemfile.lock +18 -4
  5. data/LICENSE.txt +1 -1
  6. data/Makefile +2 -2
  7. data/PUBLISH.md +1 -1
  8. data/README.md +12 -11
  9. data/lib/plaid/api/plaid_api.rb +2392 -812
  10. data/lib/plaid/api_client.rb +5 -4
  11. data/lib/plaid/api_error.rb +3 -3
  12. data/lib/plaid/configuration.rb +4 -2
  13. data/lib/plaid/models/account_access.rb +238 -0
  14. data/lib/plaid/models/account_assets.rb +18 -7
  15. data/lib/plaid/models/account_assets_all_of.rb +16 -4
  16. data/lib/plaid/models/account_balance.rb +21 -14
  17. data/lib/plaid/models/account_base.rb +3 -4
  18. data/lib/plaid/models/account_filter.rb +258 -0
  19. data/lib/plaid/models/account_filters_response.rb +1 -1
  20. data/lib/plaid/models/account_identity.rb +3 -4
  21. data/lib/plaid/models/account_identity_all_of.rb +1 -1
  22. data/lib/plaid/models/account_selection_cardinality.rb +38 -0
  23. data/lib/plaid/models/account_subtype.rb +7 -1
  24. data/lib/plaid/models/account_type.rb +1 -1
  25. data/lib/plaid/models/accounts_balance_get_request.rb +1 -1
  26. data/lib/plaid/models/accounts_balance_get_request_options.rb +15 -5
  27. data/lib/plaid/models/accounts_get_request.rb +1 -1
  28. data/lib/plaid/models/accounts_get_request_options.rb +1 -1
  29. data/lib/plaid/models/accounts_get_response.rb +1 -1
  30. data/lib/plaid/models/ach_class.rb +1 -1
  31. data/lib/plaid/models/address.rb +1 -2
  32. data/lib/plaid/models/address_data.rb +2 -6
  33. data/lib/plaid/models/{nullable_address_data.rb → address_data_nullable.rb} +5 -9
  34. data/lib/plaid/models/{nullable_address.rb → address_nullable.rb} +4 -5
  35. data/lib/plaid/models/application.rb +288 -0
  36. data/lib/plaid/models/application_get_request.rb +255 -0
  37. data/lib/plaid/models/application_get_response.rb +239 -0
  38. data/lib/plaid/models/apr.rb +1 -1
  39. data/lib/plaid/models/asset_report.rb +3 -3
  40. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +1 -1
  41. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +1 -1
  42. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +1 -1
  43. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +1 -1
  44. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +1 -1
  45. data/lib/plaid/models/asset_report_create_request.rb +1 -1
  46. data/lib/plaid/models/asset_report_create_request_options.rb +1 -1
  47. data/lib/plaid/models/asset_report_create_response.rb +1 -1
  48. data/lib/plaid/models/asset_report_filter_request.rb +1 -1
  49. data/lib/plaid/models/asset_report_filter_response.rb +1 -1
  50. data/lib/plaid/models/asset_report_get_request.rb +2 -2
  51. data/lib/plaid/models/asset_report_get_response.rb +1 -1
  52. data/lib/plaid/models/asset_report_item.rb +3 -3
  53. data/lib/plaid/models/asset_report_pdf_get_request.rb +1 -1
  54. data/lib/plaid/models/asset_report_refresh_request.rb +1 -1
  55. data/lib/plaid/models/asset_report_refresh_request_options.rb +1 -1
  56. data/lib/plaid/models/asset_report_refresh_response.rb +1 -1
  57. data/lib/plaid/models/asset_report_remove_request.rb +1 -1
  58. data/lib/plaid/models/asset_report_remove_response.rb +1 -1
  59. data/lib/plaid/models/asset_report_transaction.rb +108 -187
  60. data/lib/plaid/models/asset_report_transaction_all_of.rb +6 -21
  61. data/lib/plaid/models/asset_report_user.rb +2 -2
  62. data/lib/plaid/models/assets_error_webhook.rb +1 -1
  63. data/lib/plaid/models/assets_product_ready_webhook.rb +1 -1
  64. data/lib/plaid/models/auth_get_numbers.rb +21 -1
  65. data/lib/plaid/models/auth_get_request.rb +1 -1
  66. data/lib/plaid/models/auth_get_request_options.rb +1 -1
  67. data/lib/plaid/models/auth_get_response.rb +1 -1
  68. data/lib/plaid/models/auth_metadata.rb +220 -0
  69. data/lib/plaid/models/auth_supported_methods.rb +255 -0
  70. data/lib/plaid/models/automatically_verified_webhook.rb +2 -2
  71. data/lib/plaid/models/bank_initiated_return_risk.rb +300 -0
  72. data/lib/plaid/models/bank_transfer.rb +3 -3
  73. data/lib/plaid/models/bank_transfer_balance.rb +1 -1
  74. data/lib/plaid/models/bank_transfer_balance_get_request.rb +2 -2
  75. data/lib/plaid/models/bank_transfer_balance_get_response.rb +2 -2
  76. data/lib/plaid/models/bank_transfer_cancel_request.rb +2 -2
  77. data/lib/plaid/models/bank_transfer_cancel_response.rb +2 -2
  78. data/lib/plaid/models/bank_transfer_create_request.rb +4 -4
  79. data/lib/plaid/models/bank_transfer_create_response.rb +2 -2
  80. data/lib/plaid/models/bank_transfer_direction.rb +2 -1
  81. data/lib/plaid/models/bank_transfer_event.rb +2 -2
  82. data/lib/plaid/models/bank_transfer_event_list_request.rb +17 -5
  83. data/lib/plaid/models/bank_transfer_event_list_response.rb +2 -2
  84. data/lib/plaid/models/bank_transfer_event_sync_request.rb +2 -2
  85. data/lib/plaid/models/bank_transfer_event_sync_response.rb +2 -2
  86. data/lib/plaid/models/bank_transfer_event_type.rb +1 -1
  87. data/lib/plaid/models/bank_transfer_failure.rb +2 -2
  88. data/lib/plaid/models/bank_transfer_get_request.rb +2 -2
  89. data/lib/plaid/models/bank_transfer_get_response.rb +2 -2
  90. data/lib/plaid/models/bank_transfer_list_request.rb +2 -2
  91. data/lib/plaid/models/bank_transfer_list_response.rb +2 -2
  92. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +2 -2
  93. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +2 -2
  94. data/lib/plaid/models/bank_transfer_network.rb +1 -1
  95. data/lib/plaid/models/bank_transfer_receiver_details.rb +3 -3
  96. data/lib/plaid/models/bank_transfer_status.rb +1 -1
  97. data/lib/plaid/models/bank_transfer_sweep.rb +316 -0
  98. data/lib/plaid/models/bank_transfer_sweep_account.rb +238 -0
  99. data/lib/plaid/models/bank_transfer_sweep_get_request.rb +277 -0
  100. data/lib/plaid/models/bank_transfer_sweep_get_response.rb +239 -0
  101. data/lib/plaid/models/bank_transfer_sweep_list_request.rb +330 -0
  102. data/lib/plaid/models/bank_transfer_sweep_list_response.rb +241 -0
  103. data/lib/plaid/models/bank_transfer_type.rb +1 -1
  104. data/lib/plaid/models/bank_transfer_user.rb +3 -3
  105. data/lib/plaid/models/bank_transfers_events_update_webhook.rb +1 -1
  106. data/lib/plaid/models/categories_get_response.rb +1 -1
  107. data/lib/plaid/models/category.rb +1 -1
  108. data/lib/plaid/models/cause.rb +1 -1
  109. data/lib/plaid/models/connected_application.rb +357 -0
  110. data/lib/plaid/models/country_code.rb +1 -1
  111. data/lib/plaid/models/credit_card_liability.rb +9 -28
  112. data/lib/plaid/models/credit_filter.rb +2 -2
  113. data/lib/plaid/models/customer_initiated_return_risk.rb +300 -0
  114. data/lib/plaid/models/deductions.rb +232 -0
  115. data/lib/plaid/models/default_update_webhook.rb +1 -1
  116. data/lib/plaid/models/deposit_switch_address_data.rb +1 -1
  117. data/lib/plaid/models/deposit_switch_alt_create_request.rb +59 -5
  118. data/lib/plaid/models/deposit_switch_alt_create_response.rb +1 -1
  119. data/lib/plaid/models/deposit_switch_create_request.rb +59 -5
  120. data/lib/plaid/models/deposit_switch_create_request_options.rb +251 -0
  121. data/lib/plaid/models/deposit_switch_create_response.rb +1 -1
  122. data/lib/plaid/models/deposit_switch_get_request.rb +1 -1
  123. data/lib/plaid/models/deposit_switch_get_response.rb +76 -9
  124. data/lib/plaid/models/deposit_switch_state_update_webhook.rb +250 -0
  125. data/lib/plaid/models/deposit_switch_target_account.rb +1 -1
  126. data/lib/plaid/models/deposit_switch_target_user.rb +1 -1
  127. data/lib/plaid/models/deposit_switch_token_create_request.rb +1 -1
  128. data/lib/plaid/models/deposit_switch_token_create_response.rb +2 -2
  129. data/lib/plaid/models/depository_filter.rb +2 -2
  130. data/lib/plaid/models/distribution_details.rb +263 -0
  131. data/lib/plaid/models/document_metadata.rb +240 -0
  132. data/lib/plaid/models/earnings.rb +232 -0
  133. data/lib/plaid/models/earnings_total.rb +304 -0
  134. data/lib/plaid/models/email.rb +1 -1
  135. data/lib/plaid/models/employee.rb +25 -12
  136. data/lib/plaid/models/employee_income_summary_field_string.rb +1 -1
  137. data/lib/plaid/models/employer.rb +7 -3
  138. data/lib/plaid/models/employer_income_summary_field_string.rb +1 -1
  139. data/lib/plaid/models/employers_search_request.rb +1 -1
  140. data/lib/plaid/models/employers_search_response.rb +1 -1
  141. data/lib/plaid/models/employment_details.rb +230 -0
  142. data/lib/plaid/models/error.rb +4 -11
  143. data/lib/plaid/models/external_payment_options.rb +296 -0
  144. data/lib/plaid/models/external_payment_refund_details.rb +245 -0
  145. data/lib/plaid/models/{external_payment_schedule.rb → external_payment_schedule_base.rb} +24 -28
  146. data/lib/plaid/models/external_payment_schedule_get.rb +22 -22
  147. data/lib/plaid/models/external_payment_schedule_request.rb +283 -0
  148. data/lib/plaid/models/health_incident.rb +20 -7
  149. data/lib/plaid/models/historical_balance.rb +4 -4
  150. data/lib/plaid/models/historical_update_webhook.rb +1 -1
  151. data/lib/plaid/models/holding.rb +4 -4
  152. data/lib/plaid/models/holdings_default_update_webhook.rb +1 -1
  153. data/lib/plaid/models/holdings_override.rb +289 -0
  154. data/lib/plaid/models/identity_get_request.rb +1 -1
  155. data/lib/plaid/models/identity_get_request_options.rb +1 -1
  156. data/lib/plaid/models/identity_get_response.rb +1 -1
  157. data/lib/plaid/models/incident_update.rb +5 -5
  158. data/lib/plaid/models/income_breakdown.rb +37 -2
  159. data/lib/plaid/models/income_summary.rb +26 -1
  160. data/lib/plaid/models/income_summary_field_number.rb +1 -1
  161. data/lib/plaid/models/income_summary_field_string.rb +1 -1
  162. data/lib/plaid/models/income_verification_create_request.rb +1 -1
  163. data/lib/plaid/models/income_verification_create_response.rb +1 -1
  164. data/lib/plaid/models/income_verification_documents_download_request.rb +17 -10
  165. data/lib/plaid/models/income_verification_documents_download_response.rb +1 -1
  166. data/lib/plaid/models/income_verification_paystub_get_request.rb +17 -10
  167. data/lib/plaid/models/income_verification_paystub_get_response.rb +22 -2
  168. data/lib/plaid/models/income_verification_paystubs_get_request.rb +252 -0
  169. data/lib/plaid/models/income_verification_paystubs_get_response.rb +262 -0
  170. data/lib/plaid/models/income_verification_precheck_employer.rb +229 -0
  171. data/lib/plaid/models/{amount.rb → income_verification_precheck_military_info.rb} +29 -38
  172. data/lib/plaid/models/income_verification_precheck_request.rb +271 -0
  173. data/lib/plaid/models/income_verification_precheck_response.rb +289 -0
  174. data/lib/plaid/models/income_verification_precheck_user.rb +252 -0
  175. data/lib/plaid/models/income_verification_refresh_request.rb +252 -0
  176. data/lib/plaid/models/income_verification_refresh_response.rb +239 -0
  177. data/lib/plaid/models/income_verification_status_webhook.rb +2 -2
  178. data/lib/plaid/models/income_verification_summary_get_request.rb +17 -10
  179. data/lib/plaid/models/income_verification_summary_get_response.rb +12 -2
  180. data/lib/plaid/models/income_verification_taxforms_get_request.rb +252 -0
  181. data/lib/plaid/models/income_verification_taxforms_get_response.rb +263 -0
  182. data/lib/plaid/models/income_verification_webhook_status.rb +1 -1
  183. data/lib/plaid/models/inflow_model.rb +1 -1
  184. data/lib/plaid/models/initial_update_webhook.rb +1 -1
  185. data/lib/plaid/models/institution.rb +26 -6
  186. data/lib/plaid/models/institution_status.rb +30 -3
  187. data/lib/plaid/models/institutions_get_by_id_request.rb +1 -1
  188. data/lib/plaid/models/institutions_get_by_id_request_options.rb +29 -5
  189. data/lib/plaid/models/institutions_get_by_id_response.rb +1 -1
  190. data/lib/plaid/models/institutions_get_request.rb +1 -1
  191. data/lib/plaid/models/institutions_get_request_options.rb +29 -5
  192. data/lib/plaid/models/institutions_get_response.rb +1 -1
  193. data/lib/plaid/models/institutions_search_account_filter.rb +1 -1
  194. data/lib/plaid/models/institutions_search_payment_initiation_options.rb +220 -0
  195. data/lib/plaid/models/institutions_search_request.rb +2 -2
  196. data/lib/plaid/models/institutions_search_request_options.rb +40 -6
  197. data/lib/plaid/models/institutions_search_response.rb +1 -1
  198. data/lib/plaid/models/investment_filter.rb +2 -2
  199. data/lib/plaid/models/investment_holdings_get_request_options.rb +1 -1
  200. data/lib/plaid/models/investment_transaction.rb +7 -7
  201. data/lib/plaid/models/investments_default_update_webhook.rb +1 -1
  202. data/lib/plaid/models/investments_holdings_get_request.rb +1 -1
  203. data/lib/plaid/models/investments_holdings_get_response.rb +1 -1
  204. data/lib/plaid/models/investments_transactions_get_request.rb +1 -1
  205. data/lib/plaid/models/investments_transactions_get_request_options.rb +6 -6
  206. data/lib/plaid/models/investments_transactions_get_response.rb +1 -1
  207. data/lib/plaid/models/investments_transactions_override.rb +319 -0
  208. data/lib/plaid/models/item.rb +6 -6
  209. data/lib/plaid/models/item_access_token_invalidate_request.rb +1 -1
  210. data/lib/plaid/models/item_access_token_invalidate_response.rb +1 -1
  211. data/lib/plaid/models/item_application_list_request.rb +241 -0
  212. data/lib/plaid/models/item_application_list_response.rb +237 -0
  213. data/lib/plaid/models/item_application_list_user_auth.rb +232 -0
  214. data/lib/plaid/models/item_application_scopes_update_request.rb +298 -0
  215. data/lib/plaid/models/item_application_scopes_update_response.rb +225 -0
  216. data/lib/plaid/models/item_error_webhook.rb +1 -1
  217. data/lib/plaid/models/item_get_request.rb +1 -1
  218. data/lib/plaid/models/item_get_response.rb +6 -16
  219. data/lib/plaid/models/item_import_request.rb +1 -1
  220. data/lib/plaid/models/item_import_request_options.rb +1 -1
  221. data/lib/plaid/models/item_import_request_user_auth.rb +1 -1
  222. data/lib/plaid/models/item_import_response.rb +1 -1
  223. data/lib/plaid/models/item_product_ready_webhook.rb +1 -1
  224. data/lib/plaid/models/item_public_token_create_request.rb +1 -1
  225. data/lib/plaid/models/item_public_token_create_response.rb +1 -1
  226. data/lib/plaid/models/item_public_token_exchange_request.rb +1 -1
  227. data/lib/plaid/models/item_public_token_exchange_response.rb +1 -1
  228. data/lib/plaid/models/item_remove_request.rb +1 -1
  229. data/lib/plaid/models/item_remove_response.rb +1 -1
  230. data/lib/plaid/models/item_status.rb +7 -16
  231. data/lib/plaid/models/item_status_investments.rb +232 -0
  232. data/lib/plaid/models/{nullable_recipient_bacs.rb → item_status_last_webhook.rb} +22 -26
  233. data/lib/plaid/models/{nullable_item_status.rb → item_status_nullable.rb} +10 -19
  234. data/lib/plaid/models/item_status_transactions.rb +232 -0
  235. data/lib/plaid/models/item_webhook_update_request.rb +1 -1
  236. data/lib/plaid/models/item_webhook_update_response.rb +1 -1
  237. data/lib/plaid/models/jwk_public_key.rb +43 -1
  238. data/lib/plaid/models/jwt_header.rb +1 -1
  239. data/lib/plaid/models/liabilities_default_update_webhook.rb +299 -0
  240. data/lib/plaid/models/liabilities_get_request.rb +1 -1
  241. data/lib/plaid/models/liabilities_get_request_options.rb +1 -1
  242. data/lib/plaid/models/liabilities_get_response.rb +1 -1
  243. data/lib/plaid/models/liabilities_object.rb +4 -4
  244. data/lib/plaid/models/liability_override.rb +6 -21
  245. data/lib/plaid/models/link_token_account_filters.rb +2 -2
  246. data/lib/plaid/models/link_token_create_request.rb +16 -7
  247. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +2 -2
  248. data/lib/plaid/models/link_token_create_request_auth.rb +18 -18
  249. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +1 -1
  250. data/lib/plaid/models/link_token_create_request_income_verification.rb +2 -3
  251. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +22 -1
  252. data/lib/plaid/models/link_token_create_request_user.rb +9 -9
  253. data/lib/plaid/models/link_token_create_response.rb +2 -2
  254. data/lib/plaid/models/{nullable_access_token.rb → link_token_eu_config.rb} +17 -6
  255. data/lib/plaid/models/link_token_get_metadata_response.rb +11 -1
  256. data/lib/plaid/models/link_token_get_request.rb +1 -1
  257. data/lib/plaid/models/link_token_get_response.rb +13 -3
  258. data/lib/plaid/models/loan_filter.rb +2 -2
  259. data/lib/plaid/models/location.rb +1 -1
  260. data/lib/plaid/models/meta.rb +1 -1
  261. data/lib/plaid/models/mfa.rb +1 -1
  262. data/lib/plaid/models/mortgage_interest_rate.rb +1 -1
  263. data/lib/plaid/models/mortgage_liability.rb +24 -10
  264. data/lib/plaid/models/mortgage_property_address.rb +1 -1
  265. data/lib/plaid/models/net_pay.rb +230 -0
  266. data/lib/plaid/models/numbers.rb +1 -41
  267. data/lib/plaid/models/numbers_ach.rb +3 -3
  268. data/lib/plaid/models/{nullable_numbers_ach.rb → numbers_ach_nullable.rb} +6 -6
  269. data/lib/plaid/models/numbers_bacs.rb +1 -1
  270. data/lib/plaid/models/{nullable_numbers_bacs.rb → numbers_bacs_nullable.rb} +4 -4
  271. data/lib/plaid/models/numbers_eft.rb +1 -1
  272. data/lib/plaid/models/{nullable_numbers_eft.rb → numbers_eft_nullable.rb} +4 -4
  273. data/lib/plaid/models/numbers_international.rb +1 -1
  274. data/lib/plaid/models/{nullable_numbers_international.rb → numbers_international_nullable.rb} +4 -4
  275. data/lib/plaid/models/override_account_type.rb +40 -0
  276. data/lib/plaid/models/override_accounts.rb +21 -3
  277. data/lib/plaid/models/owner.rb +2 -2
  278. data/lib/plaid/models/owner_override.rb +1 -1
  279. data/lib/plaid/models/pay.rb +258 -0
  280. data/lib/plaid/models/pay_frequency.rb +1 -1
  281. data/lib/plaid/models/pay_period_details.rb +7 -7
  282. data/lib/plaid/models/payment_amount.rb +48 -3
  283. data/lib/plaid/models/payment_initiation_address.rb +118 -4
  284. data/lib/plaid/models/payment_initiation_metadata.rb +267 -0
  285. data/lib/plaid/models/payment_initiation_optional_restriction_bacs.rb +288 -0
  286. data/lib/plaid/models/payment_initiation_payment.rb +425 -0
  287. data/lib/plaid/models/payment_initiation_payment_create_request.rb +67 -7
  288. data/lib/plaid/models/payment_initiation_payment_create_response.rb +35 -1
  289. data/lib/plaid/models/payment_initiation_payment_get_request.rb +22 -1
  290. data/lib/plaid/models/payment_initiation_payment_get_response.rb +101 -17
  291. data/lib/plaid/models/payment_initiation_payment_list_request.rb +13 -2
  292. data/lib/plaid/models/payment_initiation_payment_list_response.rb +4 -8
  293. data/lib/plaid/models/payment_initiation_payment_reverse_request.rb +266 -0
  294. data/lib/plaid/models/payment_initiation_payment_reverse_response.rb +289 -0
  295. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +22 -1
  296. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +3 -3
  297. data/lib/plaid/models/payment_initiation_recipient.rb +21 -12
  298. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +50 -2
  299. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +1 -1
  300. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +22 -1
  301. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +22 -3
  302. data/lib/plaid/models/payment_initiation_recipient_get_response_all_of.rb +219 -0
  303. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +1 -1
  304. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +1 -1
  305. data/lib/plaid/models/payment_initiation_refund.rb +303 -0
  306. data/lib/plaid/models/payment_initiation_standing_order_metadata.rb +257 -0
  307. data/lib/plaid/models/payment_meta.rb +2 -2
  308. data/lib/plaid/models/payment_schedule_interval.rb +37 -0
  309. data/lib/plaid/models/payment_status_update_webhook.rb +4 -4
  310. data/lib/plaid/models/paystub.rb +56 -25
  311. data/lib/plaid/models/paystub_address.rb +297 -0
  312. data/lib/plaid/models/paystub_deduction.rb +1 -1
  313. data/lib/plaid/models/paystub_details.rb +299 -0
  314. data/lib/plaid/models/paystub_employer.rb +229 -0
  315. data/lib/plaid/models/paystub_ytd_details.rb +4 -11
  316. data/lib/plaid/models/pending_expiration_webhook.rb +3 -3
  317. data/lib/plaid/models/personal_finance_category.rb +240 -0
  318. data/lib/plaid/models/phone_number.rb +11 -3
  319. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +1 -1
  320. data/lib/plaid/models/processor_auth_get_request.rb +1 -1
  321. data/lib/plaid/models/processor_auth_get_response.rb +1 -1
  322. data/lib/plaid/models/processor_balance_get_request.rb +14 -5
  323. data/lib/plaid/models/processor_balance_get_request_options.rb +220 -0
  324. data/lib/plaid/models/processor_balance_get_response.rb +1 -1
  325. data/lib/plaid/models/processor_bank_transfer_create_request.rb +459 -0
  326. data/lib/plaid/models/processor_bank_transfer_create_response.rb +239 -0
  327. data/lib/plaid/models/processor_identity_get_request.rb +1 -1
  328. data/lib/plaid/models/processor_identity_get_response.rb +1 -1
  329. data/lib/plaid/models/processor_number.rb +5 -5
  330. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +1 -1
  331. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +1 -1
  332. data/lib/plaid/models/processor_token_create_request.rb +36 -2
  333. data/lib/plaid/models/processor_token_create_response.rb +1 -1
  334. data/lib/plaid/models/product_access.rb +262 -0
  335. data/lib/plaid/models/product_status.rb +4 -4
  336. data/lib/plaid/models/product_status_breakdown.rb +1 -2
  337. data/lib/plaid/models/products.rb +3 -1
  338. data/lib/plaid/models/projected_income_summary_field_number.rb +1 -1
  339. data/lib/plaid/models/pslf_status.rb +3 -3
  340. data/lib/plaid/models/recaptcha_required_error.rb +1 -1
  341. data/lib/plaid/models/recipient_bacs.rb +53 -1
  342. data/lib/plaid/models/recipient_bacs_nullable.rb +288 -0
  343. data/lib/plaid/models/requested_scopes.rb +261 -0
  344. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +2 -2
  345. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +2 -2
  346. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +2 -2
  347. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +2 -2
  348. data/lib/plaid/models/sandbox_income_fire_webhook_request.rb +309 -0
  349. data/lib/plaid/models/sandbox_income_fire_webhook_response.rb +225 -0
  350. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +6 -1
  351. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +1 -1
  352. data/lib/plaid/models/sandbox_item_reset_login_request.rb +1 -1
  353. data/lib/plaid/models/sandbox_item_reset_login_response.rb +1 -1
  354. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +1 -1
  355. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +1 -1
  356. data/lib/plaid/models/sandbox_oauth_select_accounts_request.rb +240 -0
  357. data/lib/plaid/models/sandbox_processor_token_create_request.rb +1 -1
  358. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +1 -1
  359. data/lib/plaid/models/sandbox_processor_token_create_response.rb +1 -1
  360. data/lib/plaid/models/sandbox_public_token_create_request.rb +1 -1
  361. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +1 -1
  362. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +4 -4
  363. data/lib/plaid/models/sandbox_public_token_create_response.rb +1 -1
  364. data/lib/plaid/models/sandbox_transfer_simulate_request.rb +270 -0
  365. data/lib/plaid/models/sandbox_transfer_simulate_response.rb +225 -0
  366. data/lib/plaid/models/scopes.rb +243 -0
  367. data/lib/plaid/models/scopes_context.rb +37 -0
  368. data/lib/plaid/models/scopes_nullable.rb +249 -0
  369. data/lib/plaid/models/security.rb +6 -9
  370. data/lib/plaid/models/security_override.rb +270 -0
  371. data/lib/plaid/models/sender_bacs_nullable.rb +288 -0
  372. data/lib/plaid/models/servicer_address_data.rb +1 -1
  373. data/lib/plaid/models/signal_address_data.rb +263 -0
  374. data/lib/plaid/models/signal_decision_report_request.rb +260 -0
  375. data/lib/plaid/models/signal_decision_report_response.rb +225 -0
  376. data/lib/plaid/models/signal_device.rb +232 -0
  377. data/lib/plaid/models/signal_evaluate_core_attributes.rb +584 -0
  378. data/lib/plaid/models/signal_evaluate_request.rb +356 -0
  379. data/lib/plaid/models/signal_evaluate_response.rb +253 -0
  380. data/lib/plaid/models/signal_person_name.rb +265 -0
  381. data/lib/plaid/models/signal_return_report_request.rb +260 -0
  382. data/lib/plaid/models/signal_return_report_response.rb +225 -0
  383. data/lib/plaid/models/signal_scores.rb +228 -0
  384. data/lib/plaid/models/signal_user.rb +252 -0
  385. data/lib/plaid/models/standalone_account_type.rb +1 -1
  386. data/lib/plaid/models/standalone_currency_code_list.rb +1 -1
  387. data/lib/plaid/models/standalone_investment_transaction_type.rb +3 -3
  388. data/lib/plaid/models/student_loan.rb +34 -25
  389. data/lib/plaid/models/student_loan_repayment_model.rb +1 -1
  390. data/lib/plaid/models/student_loan_status.rb +3 -3
  391. data/lib/plaid/models/student_repayment_plan.rb +3 -3
  392. data/lib/plaid/models/taxform.rb +233 -0
  393. data/lib/plaid/models/taxpayer_id.rb +257 -0
  394. data/lib/plaid/models/total.rb +284 -0
  395. data/lib/plaid/models/transaction.rb +191 -130
  396. data/lib/plaid/models/transaction_all_of.rb +333 -0
  397. data/lib/plaid/models/transaction_base.rb +436 -0
  398. data/lib/plaid/models/transaction_code.rb +1 -1
  399. data/lib/plaid/models/transaction_data.rb +3 -3
  400. data/lib/plaid/models/transaction_override.rb +5 -5
  401. data/lib/plaid/models/transactions_get_request.rb +1 -1
  402. data/lib/plaid/models/transactions_get_request_options.rb +30 -5
  403. data/lib/plaid/models/transactions_get_response.rb +1 -1
  404. data/lib/plaid/models/transactions_refresh_request.rb +1 -1
  405. data/lib/plaid/models/transactions_refresh_response.rb +1 -1
  406. data/lib/plaid/models/transactions_removed_webhook.rb +1 -1
  407. data/lib/plaid/models/transfer.rb +417 -0
  408. data/lib/plaid/models/transfer_authorization.rb +313 -0
  409. data/lib/plaid/models/transfer_authorization_create_request.rb +350 -0
  410. data/lib/plaid/models/transfer_authorization_create_response.rb +239 -0
  411. data/lib/plaid/models/transfer_authorization_decision_rationale.rb +274 -0
  412. data/lib/plaid/models/transfer_authorization_device.rb +230 -0
  413. data/lib/plaid/models/transfer_authorization_proposed_transfer.rb +312 -0
  414. data/lib/plaid/models/transfer_cancel_request.rb +245 -0
  415. data/lib/plaid/models/transfer_cancel_response.rb +225 -0
  416. data/lib/plaid/models/transfer_create_request.rb +451 -0
  417. data/lib/plaid/models/transfer_create_response.rb +239 -0
  418. data/lib/plaid/models/transfer_event.rb +355 -0
  419. data/lib/plaid/models/transfer_event_list_request.rb +411 -0
  420. data/lib/plaid/models/transfer_event_list_response.rb +241 -0
  421. data/lib/plaid/models/transfer_event_sync_request.rb +305 -0
  422. data/lib/plaid/models/transfer_event_sync_response.rb +241 -0
  423. data/lib/plaid/models/transfer_event_type.rb +40 -0
  424. data/lib/plaid/models/transfer_failure.rb +231 -0
  425. data/lib/plaid/models/transfer_get_request.rb +245 -0
  426. data/lib/plaid/models/transfer_get_response.rb +239 -0
  427. data/lib/plaid/models/transfer_list_request.rb +330 -0
  428. data/lib/plaid/models/transfer_list_response.rb +241 -0
  429. data/lib/plaid/models/transfer_network.rb +37 -0
  430. data/lib/plaid/models/transfer_status.rb +40 -0
  431. data/lib/plaid/models/transfer_type.rb +37 -0
  432. data/lib/plaid/models/transfer_user_address_in_request.rb +260 -0
  433. data/lib/plaid/models/transfer_user_address_in_response.rb +265 -0
  434. data/lib/plaid/models/transfer_user_in_request.rb +254 -0
  435. data/lib/plaid/models/transfer_user_in_response.rb +257 -0
  436. data/lib/plaid/models/user_custom_password.rb +1 -1
  437. data/lib/plaid/models/user_permission_revoked_webhook.rb +1 -1
  438. data/lib/plaid/models/verification_expired_webhook.rb +2 -2
  439. data/lib/plaid/models/verification_refresh_status.rb +36 -0
  440. data/lib/plaid/models/verification_status.rb +1 -1
  441. data/lib/plaid/models/w2.rb +437 -0
  442. data/lib/plaid/models/w2_box12.rb +231 -0
  443. data/lib/plaid/models/w2_state_and_local_wages.rb +286 -0
  444. data/lib/plaid/models/warning.rb +35 -1
  445. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +1 -1
  446. data/lib/plaid/models/webhook_verification_key_get_request.rb +1 -1
  447. data/lib/plaid/models/webhook_verification_key_get_response.rb +1 -1
  448. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +1 -1
  449. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +1 -1
  450. data/lib/plaid/version.rb +2 -2
  451. data/lib/plaid.rb +143 -13
  452. data/plaid.gemspec +1 -1
  453. data/templates/ruby/api_client.mustache +3 -2
  454. data/templates/ruby/api_client_faraday_partial.mustache +2 -1
  455. data/templates/ruby/api_error.mustache +49 -0
  456. data/templates/ruby/configuration.mustache +3 -1
  457. data/test/test_accounts.rb +4 -8
  458. data/test/test_bank_transfers.rb +2 -3
  459. data/test/test_item.rb +0 -10
  460. data/test/test_payment_initiation.rb +2 -3
  461. data/test/test_processor.rb +1 -16
  462. metadata +147 -325
  463. data/docs/ACHClass.md +0 -15
  464. data/docs/APR.md +0 -24
  465. data/docs/AccountAssets.md +0 -40
  466. data/docs/AccountAssetsAllOf.md +0 -24
  467. data/docs/AccountBalance.md +0 -26
  468. data/docs/AccountBase.md +0 -32
  469. data/docs/AccountFiltersResponse.md +0 -24
  470. data/docs/AccountIdentity.md +0 -34
  471. data/docs/AccountIdentityAllOf.md +0 -18
  472. data/docs/AccountSubtype.md +0 -15
  473. data/docs/AccountType.md +0 -15
  474. data/docs/AccountsBalanceGetRequest.md +0 -24
  475. data/docs/AccountsBalanceGetRequestOptions.md +0 -18
  476. data/docs/AccountsGetRequest.md +0 -24
  477. data/docs/AccountsGetRequestOptions.md +0 -18
  478. data/docs/AccountsGetResponse.md +0 -22
  479. data/docs/Address.md +0 -20
  480. data/docs/AddressData.md +0 -26
  481. data/docs/Amount.md +0 -20
  482. data/docs/AssetReport.md +0 -28
  483. data/docs/AssetReportAuditCopyCreateRequest.md +0 -24
  484. data/docs/AssetReportAuditCopyCreateResponse.md +0 -20
  485. data/docs/AssetReportAuditCopyGetRequest.md +0 -22
  486. data/docs/AssetReportAuditCopyRemoveRequest.md +0 -22
  487. data/docs/AssetReportAuditCopyRemoveResponse.md +0 -20
  488. data/docs/AssetReportCreateRequest.md +0 -26
  489. data/docs/AssetReportCreateRequestOptions.md +0 -22
  490. data/docs/AssetReportCreateResponse.md +0 -22
  491. data/docs/AssetReportFilterRequest.md +0 -24
  492. data/docs/AssetReportFilterResponse.md +0 -22
  493. data/docs/AssetReportGetRequest.md +0 -24
  494. data/docs/AssetReportGetResponse.md +0 -22
  495. data/docs/AssetReportItem.md +0 -26
  496. data/docs/AssetReportPDFGetRequest.md +0 -22
  497. data/docs/AssetReportRefreshRequest.md +0 -26
  498. data/docs/AssetReportRefreshRequestOptions.md +0 -22
  499. data/docs/AssetReportRefreshResponse.md +0 -22
  500. data/docs/AssetReportRemoveRequest.md +0 -22
  501. data/docs/AssetReportRemoveResponse.md +0 -20
  502. data/docs/AssetReportTransaction.md +0 -62
  503. data/docs/AssetReportTransactionAllOf.md +0 -20
  504. data/docs/AssetReportUser.md +0 -30
  505. data/docs/AssetsErrorWebhook.md +0 -24
  506. data/docs/AssetsProductReadyWebhook.md +0 -22
  507. data/docs/AuthGetNumbers.md +0 -24
  508. data/docs/AuthGetRequest.md +0 -24
  509. data/docs/AuthGetRequestOptions.md +0 -18
  510. data/docs/AuthGetResponse.md +0 -24
  511. data/docs/AutomaticallyVerifiedWebhook.md +0 -24
  512. data/docs/BankTransfer.md +0 -50
  513. data/docs/BankTransferBalance.md +0 -20
  514. data/docs/BankTransferBalanceGetRequest.md +0 -22
  515. data/docs/BankTransferBalanceGetResponse.md +0 -22
  516. data/docs/BankTransferCancelRequest.md +0 -22
  517. data/docs/BankTransferCancelResponse.md +0 -18
  518. data/docs/BankTransferCreateRequest.md +0 -46
  519. data/docs/BankTransferCreateResponse.md +0 -20
  520. data/docs/BankTransferDirection.md +0 -15
  521. data/docs/BankTransferEvent.md +0 -40
  522. data/docs/BankTransferEventListRequest.md +0 -40
  523. data/docs/BankTransferEventListResponse.md +0 -20
  524. data/docs/BankTransferEventSyncRequest.md +0 -24
  525. data/docs/BankTransferEventSyncResponse.md +0 -20
  526. data/docs/BankTransferEventType.md +0 -15
  527. data/docs/BankTransferFailure.md +0 -20
  528. data/docs/BankTransferGetRequest.md +0 -22
  529. data/docs/BankTransferGetResponse.md +0 -20
  530. data/docs/BankTransferListRequest.md +0 -32
  531. data/docs/BankTransferListResponse.md +0 -20
  532. data/docs/BankTransferMigrateAccountRequest.md +0 -26
  533. data/docs/BankTransferMigrateAccountResponse.md +0 -22
  534. data/docs/BankTransferNetwork.md +0 -15
  535. data/docs/BankTransferReceiverDetails.md +0 -18
  536. data/docs/BankTransferStatus.md +0 -15
  537. data/docs/BankTransferType.md +0 -15
  538. data/docs/BankTransferUser.md +0 -22
  539. data/docs/BankTransfersEventsUpdateWebhook.md +0 -20
  540. data/docs/CategoriesGetResponse.md +0 -20
  541. data/docs/Category.md +0 -22
  542. data/docs/Cause.md +0 -20
  543. data/docs/CountryCode.md +0 -15
  544. data/docs/CreditCardLiability.md +0 -34
  545. data/docs/CreditFilter.md +0 -18
  546. data/docs/DefaultUpdateWebhook.md +0 -26
  547. data/docs/DepositSwitchAddressData.md +0 -26
  548. data/docs/DepositSwitchAltCreateRequest.md +0 -24
  549. data/docs/DepositSwitchAltCreateResponse.md +0 -20
  550. data/docs/DepositSwitchCreateRequest.md +0 -24
  551. data/docs/DepositSwitchCreateResponse.md +0 -20
  552. data/docs/DepositSwitchGetRequest.md +0 -22
  553. data/docs/DepositSwitchGetResponse.md +0 -38
  554. data/docs/DepositSwitchTargetAccount.md +0 -24
  555. data/docs/DepositSwitchTargetUser.md +0 -28
  556. data/docs/DepositSwitchTokenCreateRequest.md +0 -22
  557. data/docs/DepositSwitchTokenCreateResponse.md +0 -22
  558. data/docs/DepositoryFilter.md +0 -18
  559. data/docs/Email.md +0 -22
  560. data/docs/Employee.md +0 -22
  561. data/docs/EmployeeIncomeSummaryFieldString.md +0 -20
  562. data/docs/Employer.md +0 -24
  563. data/docs/EmployerIncomeSummaryFieldString.md +0 -20
  564. data/docs/EmployersSearchRequest.md +0 -24
  565. data/docs/EmployersSearchResponse.md +0 -20
  566. data/docs/Error.md +0 -34
  567. data/docs/ExternalPaymentSchedule.md +0 -24
  568. data/docs/ExternalPaymentScheduleGet.md +0 -26
  569. data/docs/HealthIncident.md +0 -24
  570. data/docs/HistoricalBalance.md +0 -24
  571. data/docs/HistoricalUpdateWebhook.md +0 -26
  572. data/docs/Holding.md +0 -34
  573. data/docs/HoldingsDefaultUpdateWebhook.md +0 -28
  574. data/docs/IdentityGetRequest.md +0 -24
  575. data/docs/IdentityGetRequestOptions.md +0 -18
  576. data/docs/IdentityGetResponse.md +0 -22
  577. data/docs/IncidentUpdate.md +0 -22
  578. data/docs/IncomeBreakdown.md +0 -24
  579. data/docs/IncomeSummary.md +0 -30
  580. data/docs/IncomeSummaryFieldNumber.md +0 -20
  581. data/docs/IncomeSummaryFieldString.md +0 -20
  582. data/docs/IncomeVerificationCreateRequest.md +0 -22
  583. data/docs/IncomeVerificationCreateResponse.md +0 -20
  584. data/docs/IncomeVerificationDocumentsDownloadRequest.md +0 -22
  585. data/docs/IncomeVerificationDocumentsDownloadResponse.md +0 -18
  586. data/docs/IncomeVerificationPaystubGetRequest.md +0 -22
  587. data/docs/IncomeVerificationPaystubGetResponse.md +0 -20
  588. data/docs/IncomeVerificationStatusWebhook.md +0 -24
  589. data/docs/IncomeVerificationSummaryGetRequest.md +0 -22
  590. data/docs/IncomeVerificationSummaryGetResponse.md +0 -20
  591. data/docs/IncomeVerificationWebhookStatus.md +0 -18
  592. data/docs/InflowModel.md +0 -26
  593. data/docs/InitialUpdateWebhook.md +0 -26
  594. data/docs/Institution.md +0 -36
  595. data/docs/InstitutionStatus.md +0 -30
  596. data/docs/InstitutionsGetByIdRequest.md +0 -26
  597. data/docs/InstitutionsGetByIdRequestOptions.md +0 -20
  598. data/docs/InstitutionsGetByIdResponse.md +0 -20
  599. data/docs/InstitutionsGetRequest.md +0 -28
  600. data/docs/InstitutionsGetRequestOptions.md +0 -24
  601. data/docs/InstitutionsGetResponse.md +0 -22
  602. data/docs/InstitutionsSearchAccountFilter.md +0 -24
  603. data/docs/InstitutionsSearchRequest.md +0 -28
  604. data/docs/InstitutionsSearchRequestOptions.md +0 -20
  605. data/docs/InstitutionsSearchResponse.md +0 -20
  606. data/docs/InvestmentFilter.md +0 -18
  607. data/docs/InvestmentHoldingsGetRequestOptions.md +0 -18
  608. data/docs/InvestmentTransaction.md +0 -44
  609. data/docs/InvestmentsDefaultUpdateWebhook.md +0 -28
  610. data/docs/InvestmentsHoldingsGetRequest.md +0 -24
  611. data/docs/InvestmentsHoldingsGetResponse.md +0 -26
  612. data/docs/InvestmentsTransactionsGetRequest.md +0 -28
  613. data/docs/InvestmentsTransactionsGetRequestOptions.md +0 -22
  614. data/docs/InvestmentsTransactionsGetResponse.md +0 -28
  615. data/docs/Item.md +0 -32
  616. data/docs/ItemAccessTokenInvalidateRequest.md +0 -22
  617. data/docs/ItemAccessTokenInvalidateResponse.md +0 -20
  618. data/docs/ItemErrorWebhook.md +0 -24
  619. data/docs/ItemGetRequest.md +0 -22
  620. data/docs/ItemGetResponse.md +0 -24
  621. data/docs/ItemImportRequest.md +0 -26
  622. data/docs/ItemImportRequestOptions.md +0 -18
  623. data/docs/ItemImportRequestUserAuth.md +0 -20
  624. data/docs/ItemImportResponse.md +0 -20
  625. data/docs/ItemProductReadyWebhook.md +0 -24
  626. data/docs/ItemPublicTokenCreateRequest.md +0 -22
  627. data/docs/ItemPublicTokenCreateResponse.md +0 -22
  628. data/docs/ItemPublicTokenExchangeRequest.md +0 -22
  629. data/docs/ItemPublicTokenExchangeResponse.md +0 -22
  630. data/docs/ItemRemoveRequest.md +0 -22
  631. data/docs/ItemRemoveResponse.md +0 -18
  632. data/docs/ItemStatus.md +0 -22
  633. data/docs/ItemWebhookUpdateRequest.md +0 -24
  634. data/docs/ItemWebhookUpdateResponse.md +0 -20
  635. data/docs/JWKPublicKey.md +0 -34
  636. data/docs/JWTHeader.md +0 -18
  637. data/docs/LiabilitiesGetRequest.md +0 -24
  638. data/docs/LiabilitiesGetRequestOptions.md +0 -18
  639. data/docs/LiabilitiesGetResponse.md +0 -24
  640. data/docs/LiabilitiesObject.md +0 -22
  641. data/docs/LiabilityOverride.md +0 -66
  642. data/docs/LinkTokenAccountFilters.md +0 -24
  643. data/docs/LinkTokenCreateRequest.md +0 -52
  644. data/docs/LinkTokenCreateRequestAccountSubtypes.md +0 -24
  645. data/docs/LinkTokenCreateRequestAuth.md +0 -18
  646. data/docs/LinkTokenCreateRequestDepositSwitch.md +0 -18
  647. data/docs/LinkTokenCreateRequestIncomeVerification.md +0 -20
  648. data/docs/LinkTokenCreateRequestPaymentInitiation.md +0 -18
  649. data/docs/LinkTokenCreateRequestUser.md +0 -32
  650. data/docs/LinkTokenCreateResponse.md +0 -22
  651. data/docs/LinkTokenGetMetadataResponse.md +0 -30
  652. data/docs/LinkTokenGetRequest.md +0 -22
  653. data/docs/LinkTokenGetResponse.md +0 -26
  654. data/docs/LoanFilter.md +0 -18
  655. data/docs/Location.md +0 -32
  656. data/docs/MFA.md +0 -26
  657. data/docs/Meta.md +0 -22
  658. data/docs/MortgageInterestRate.md +0 -20
  659. data/docs/MortgageLiability.md +0 -56
  660. data/docs/MortgagePropertyAddress.md +0 -26
  661. data/docs/NullableAccessToken.md +0 -15
  662. data/docs/NullableAddress.md +0 -20
  663. data/docs/NullableAddressData.md +0 -26
  664. data/docs/NullableItemStatus.md +0 -22
  665. data/docs/NullableNumbersACH.md +0 -24
  666. data/docs/NullableNumbersBACS.md +0 -22
  667. data/docs/NullableNumbersEFT.md +0 -24
  668. data/docs/NullableNumbersInternational.md +0 -22
  669. data/docs/NullableRecipientBACS.md +0 -20
  670. data/docs/Numbers.md +0 -32
  671. data/docs/NumbersACH.md +0 -24
  672. data/docs/NumbersBACS.md +0 -22
  673. data/docs/NumbersEFT.md +0 -24
  674. data/docs/NumbersInternational.md +0 -22
  675. data/docs/OverrideAccounts.md +0 -38
  676. data/docs/Owner.md +0 -24
  677. data/docs/OwnerOverride.md +0 -24
  678. data/docs/PSLFStatus.md +0 -22
  679. data/docs/PayFrequency.md +0 -20
  680. data/docs/PayPeriodDetails.md +0 -26
  681. data/docs/PaymentAmount.md +0 -20
  682. data/docs/PaymentInitiationAddress.md +0 -24
  683. data/docs/PaymentInitiationPaymentCreateRequest.md +0 -28
  684. data/docs/PaymentInitiationPaymentCreateResponse.md +0 -22
  685. data/docs/PaymentInitiationPaymentGetRequest.md +0 -22
  686. data/docs/PaymentInitiationPaymentGetResponse.md +0 -34
  687. data/docs/PaymentInitiationPaymentListRequest.md +0 -24
  688. data/docs/PaymentInitiationPaymentListResponse.md +0 -22
  689. data/docs/PaymentInitiationPaymentTokenCreateRequest.md +0 -22
  690. data/docs/PaymentInitiationPaymentTokenCreateResponse.md +0 -22
  691. data/docs/PaymentInitiationRecipient.md +0 -26
  692. data/docs/PaymentInitiationRecipientCreateRequest.md +0 -28
  693. data/docs/PaymentInitiationRecipientCreateResponse.md +0 -20
  694. data/docs/PaymentInitiationRecipientGetRequest.md +0 -22
  695. data/docs/PaymentInitiationRecipientGetResponse.md +0 -28
  696. data/docs/PaymentInitiationRecipientListRequest.md +0 -20
  697. data/docs/PaymentInitiationRecipientListResponse.md +0 -20
  698. data/docs/PaymentMeta.md +0 -32
  699. data/docs/PaymentStatusUpdateWebhook.md +0 -38
  700. data/docs/Paystub.md +0 -30
  701. data/docs/PaystubDeduction.md +0 -22
  702. data/docs/PaystubYTDDetails.md +0 -20
  703. data/docs/PendingExpirationWebhook.md +0 -24
  704. data/docs/PhoneNumber.md +0 -22
  705. data/docs/PlaidApi.md +0 -5660
  706. data/docs/ProcessorApexProcessorTokenCreateRequest.md +0 -24
  707. data/docs/ProcessorAuthGetRequest.md +0 -22
  708. data/docs/ProcessorAuthGetResponse.md +0 -22
  709. data/docs/ProcessorBalanceGetRequest.md +0 -22
  710. data/docs/ProcessorBalanceGetResponse.md +0 -20
  711. data/docs/ProcessorIdentityGetRequest.md +0 -22
  712. data/docs/ProcessorIdentityGetResponse.md +0 -20
  713. data/docs/ProcessorNumber.md +0 -24
  714. data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +0 -24
  715. data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +0 -20
  716. data/docs/ProcessorTokenCreateRequest.md +0 -26
  717. data/docs/ProcessorTokenCreateResponse.md +0 -20
  718. data/docs/ProductStatus.md +0 -22
  719. data/docs/ProductStatusBreakdown.md +0 -24
  720. data/docs/Products.md +0 -15
  721. data/docs/ProjectedIncomeSummaryFieldNumber.md +0 -20
  722. data/docs/RecaptchaRequiredError.md +0 -30
  723. data/docs/RecipientBACS.md +0 -20
  724. data/docs/SandboxBankTransferFireWebhookRequest.md +0 -22
  725. data/docs/SandboxBankTransferFireWebhookResponse.md +0 -18
  726. data/docs/SandboxBankTransferSimulateRequest.md +0 -26
  727. data/docs/SandboxBankTransferSimulateResponse.md +0 -18
  728. data/docs/SandboxItemFireWebhookRequest.md +0 -24
  729. data/docs/SandboxItemFireWebhookResponse.md +0 -20
  730. data/docs/SandboxItemResetLoginRequest.md +0 -22
  731. data/docs/SandboxItemResetLoginResponse.md +0 -20
  732. data/docs/SandboxItemSetVerificationStatusRequest.md +0 -26
  733. data/docs/SandboxItemSetVerificationStatusResponse.md +0 -18
  734. data/docs/SandboxProcessorTokenCreateRequest.md +0 -24
  735. data/docs/SandboxProcessorTokenCreateRequestOptions.md +0 -20
  736. data/docs/SandboxProcessorTokenCreateResponse.md +0 -20
  737. data/docs/SandboxPublicTokenCreateRequest.md +0 -26
  738. data/docs/SandboxPublicTokenCreateRequestOptions.md +0 -24
  739. data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +0 -20
  740. data/docs/SandboxPublicTokenCreateResponse.md +0 -20
  741. data/docs/Security.md +0 -46
  742. data/docs/ServicerAddressData.md +0 -26
  743. data/docs/StandaloneAccountType.md +0 -26
  744. data/docs/StandaloneCurrencyCodeList.md +0 -20
  745. data/docs/StandaloneInvestmentTransactionSubtype.md +0 -104
  746. data/docs/StandaloneInvestmentTransactionType.md +0 -28
  747. data/docs/StudentLoan.md +0 -66
  748. data/docs/StudentLoanRepaymentModel.md +0 -22
  749. data/docs/StudentLoanStatus.md +0 -20
  750. data/docs/StudentRepaymentPlan.md +0 -20
  751. data/docs/Transaction.md +0 -58
  752. data/docs/TransactionCode.md +0 -15
  753. data/docs/TransactionData.md +0 -26
  754. data/docs/TransactionOverride.md +0 -26
  755. data/docs/TransactionsGetRequest.md +0 -28
  756. data/docs/TransactionsGetRequestOptions.md +0 -22
  757. data/docs/TransactionsGetResponse.md +0 -26
  758. data/docs/TransactionsRefreshRequest.md +0 -22
  759. data/docs/TransactionsRefreshResponse.md +0 -18
  760. data/docs/TransactionsRemovedWebhook.md +0 -26
  761. data/docs/UserCustomPassword.md +0 -28
  762. data/docs/UserPermissionRevokedWebhook.md +0 -24
  763. data/docs/VerificationExpiredWebhook.md +0 -24
  764. data/docs/VerificationStatus.md +0 -15
  765. data/docs/Warning.md +0 -22
  766. data/docs/WebhookUpdateAcknowledgedWebhook.md +0 -26
  767. data/docs/WebhookVerificationKeyGetRequest.md +0 -22
  768. data/docs/WebhookVerificationKeyGetResponse.md +0 -20
  769. data/docs/YTDGrossIncomeSummaryFieldNumber.md +0 -20
  770. data/docs/YTDNetIncomeSummaryFieldNumber.md +0 -20
  771. data/lib/plaid/models/standalone_investment_transaction_subtype.rb +0 -650
  772. data/pkg/plaid-14.0.0.beta.4.gem +0 -0
@@ -0,0 +1,220 @@
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.31.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # An optional object to filter `/processor/balance/get` results.
18
+ class ProcessorBalanceGetRequestOptions
19
+ # Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. If the balance that is pulled for `ins_128026` (Capital One) is older than the given timestamp, an `INVALID_REQUEST` error with the code of `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned with the most recent timestamp for the requested account contained in the response. This field is only used when the institution is `ins_128026` (Capital One), in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, this field is ignored.
20
+ attr_accessor :min_last_updated_datetime
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'min_last_updated_datetime' => :'min_last_updated_datetime'
26
+ }
27
+ end
28
+
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'min_last_updated_datetime' => :'Time'
38
+ }
39
+ end
40
+
41
+ # List of attributes with nullable: true
42
+ def self.openapi_nullable
43
+ Set.new([
44
+ ])
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ if (!attributes.is_a?(Hash))
51
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::ProcessorBalanceGetRequestOptions` initialize method"
52
+ end
53
+
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::ProcessorBalanceGetRequestOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ end
59
+ h[k.to_sym] = v
60
+ }
61
+
62
+ if attributes.key?(:'min_last_updated_datetime')
63
+ self.min_last_updated_datetime = attributes[:'min_last_updated_datetime']
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ min_last_updated_datetime == o.min_last_updated_datetime
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Integer] Hash code
96
+ def hash
97
+ [min_last_updated_datetime].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def self.build_from_hash(attributes)
104
+ new.build_from_hash(attributes)
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ self.class.openapi_types.each_pair do |key, type|
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
116
+ # check to ensure the input is an array given that the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ end
121
+ elsif !attributes[self.class.attribute_map[key]].nil?
122
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
+ end
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Deserializes the data based on type
130
+ # @param string type Data type
131
+ # @param string value Value to be deserialized
132
+ # @return [Object] Deserialized data
133
+ def _deserialize(type, value)
134
+ case type.to_sym
135
+ when :Time
136
+ Time.parse(value)
137
+ when :Date
138
+ Date.parse(value)
139
+ when :String
140
+ value.to_s
141
+ when :Integer
142
+ value.to_i
143
+ when :Float
144
+ value.to_f
145
+ when :Boolean
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ # models (e.g. Pet) or oneOf
167
+ klass = Plaid.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ if value.nil?
191
+ is_nullable = self.class.openapi_nullable.include?(attr)
192
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
+ end
194
+
195
+ hash[param] = _to_hash(value)
196
+ end
197
+ hash
198
+ end
199
+
200
+ # Outputs non-array value in the form of hash
201
+ # For object, use to_hash. Otherwise, just return the value
202
+ # @param [Object] value Any valid value
203
+ # @return [Hash] Returns the value in the form of hash
204
+ def _to_hash(value)
205
+ if value.is_a?(Array)
206
+ value.compact.map { |v| _to_hash(v) }
207
+ elsif value.is_a?(Hash)
208
+ {}.tap do |hash|
209
+ value.each { |k, v| hash[k] = _to_hash(v) }
210
+ end
211
+ elsif value.respond_to? :to_hash
212
+ value.to_hash
213
+ else
214
+ value
215
+ end
216
+ end
217
+
218
+ end
219
+
220
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
5
 
6
- The version of the OpenAPI document: 2020-09-14_1.11.0
6
+ The version of the OpenAPI document: 2020-09-14_1.31.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.1.0
@@ -0,0 +1,459 @@
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.31.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # Defines the request schema for `/processor/bank_transfer/create`
18
+ class ProcessorBankTransferCreateRequest
19
+ # Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
20
+ attr_accessor :client_id
21
+
22
+ # Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
23
+ attr_accessor :secret
24
+
25
+ # A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.
26
+ attr_accessor :idempotency_key
27
+
28
+ # The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>`
29
+ attr_accessor :processor_token
30
+
31
+ attr_accessor :type
32
+
33
+ attr_accessor :network
34
+
35
+ # The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”).
36
+ attr_accessor :amount
37
+
38
+ # The currency of the transfer amount – should be set to \"USD\".
39
+ attr_accessor :iso_currency_code
40
+
41
+ # The transfer description. Maximum of 10 characters.
42
+ attr_accessor :description
43
+
44
+ attr_accessor :ach_class
45
+
46
+ attr_accessor :user
47
+
48
+ # An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.
49
+ attr_accessor :custom_tag
50
+
51
+ # The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: - The JSON values must be Strings (no nested JSON objects allowed) - Only ASCII characters may be used - Maximum of 50 key/value pairs - Maximum key length of 40 characters - Maximum value length of 500 characters
52
+ attr_accessor :metadata
53
+
54
+ # Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.
55
+ attr_accessor :origination_account_id
56
+
57
+ # Attribute mapping from ruby-style variable name to JSON key.
58
+ def self.attribute_map
59
+ {
60
+ :'client_id' => :'client_id',
61
+ :'secret' => :'secret',
62
+ :'idempotency_key' => :'idempotency_key',
63
+ :'processor_token' => :'processor_token',
64
+ :'type' => :'type',
65
+ :'network' => :'network',
66
+ :'amount' => :'amount',
67
+ :'iso_currency_code' => :'iso_currency_code',
68
+ :'description' => :'description',
69
+ :'ach_class' => :'ach_class',
70
+ :'user' => :'user',
71
+ :'custom_tag' => :'custom_tag',
72
+ :'metadata' => :'metadata',
73
+ :'origination_account_id' => :'origination_account_id'
74
+ }
75
+ end
76
+
77
+ # Returns all the JSON keys this model knows about
78
+ def self.acceptable_attributes
79
+ attribute_map.values
80
+ end
81
+
82
+ # Attribute type mapping.
83
+ def self.openapi_types
84
+ {
85
+ :'client_id' => :'String',
86
+ :'secret' => :'String',
87
+ :'idempotency_key' => :'String',
88
+ :'processor_token' => :'String',
89
+ :'type' => :'BankTransferType',
90
+ :'network' => :'BankTransferNetwork',
91
+ :'amount' => :'String',
92
+ :'iso_currency_code' => :'String',
93
+ :'description' => :'String',
94
+ :'ach_class' => :'ACHClass',
95
+ :'user' => :'BankTransferUser',
96
+ :'custom_tag' => :'String',
97
+ :'metadata' => :'Hash<String, String>',
98
+ :'origination_account_id' => :'String'
99
+ }
100
+ end
101
+
102
+ # List of attributes with nullable: true
103
+ def self.openapi_nullable
104
+ Set.new([
105
+ :'custom_tag',
106
+ :'metadata',
107
+ :'origination_account_id'
108
+ ])
109
+ end
110
+
111
+ # Initializes the object
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ def initialize(attributes = {})
114
+ if (!attributes.is_a?(Hash))
115
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::ProcessorBankTransferCreateRequest` initialize method"
116
+ end
117
+
118
+ # check to see if the attribute exists and convert string to symbol for hash key
119
+ attributes = attributes.each_with_object({}) { |(k, v), h|
120
+ if (!self.class.attribute_map.key?(k.to_sym))
121
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::ProcessorBankTransferCreateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
122
+ end
123
+ h[k.to_sym] = v
124
+ }
125
+
126
+ if attributes.key?(:'client_id')
127
+ self.client_id = attributes[:'client_id']
128
+ end
129
+
130
+ if attributes.key?(:'secret')
131
+ self.secret = attributes[:'secret']
132
+ end
133
+
134
+ if attributes.key?(:'idempotency_key')
135
+ self.idempotency_key = attributes[:'idempotency_key']
136
+ end
137
+
138
+ if attributes.key?(:'processor_token')
139
+ self.processor_token = attributes[:'processor_token']
140
+ end
141
+
142
+ if attributes.key?(:'type')
143
+ self.type = attributes[:'type']
144
+ end
145
+
146
+ if attributes.key?(:'network')
147
+ self.network = attributes[:'network']
148
+ end
149
+
150
+ if attributes.key?(:'amount')
151
+ self.amount = attributes[:'amount']
152
+ end
153
+
154
+ if attributes.key?(:'iso_currency_code')
155
+ self.iso_currency_code = attributes[:'iso_currency_code']
156
+ end
157
+
158
+ if attributes.key?(:'description')
159
+ self.description = attributes[:'description']
160
+ end
161
+
162
+ if attributes.key?(:'ach_class')
163
+ self.ach_class = attributes[:'ach_class']
164
+ end
165
+
166
+ if attributes.key?(:'user')
167
+ self.user = attributes[:'user']
168
+ end
169
+
170
+ if attributes.key?(:'custom_tag')
171
+ self.custom_tag = attributes[:'custom_tag']
172
+ end
173
+
174
+ if attributes.key?(:'metadata')
175
+ if (value = attributes[:'metadata']).is_a?(Hash)
176
+ self.metadata = value
177
+ end
178
+ end
179
+
180
+ if attributes.key?(:'origination_account_id')
181
+ self.origination_account_id = attributes[:'origination_account_id']
182
+ end
183
+ end
184
+
185
+ # Show invalid properties with the reasons. Usually used together with valid?
186
+ # @return Array for valid properties with the reasons
187
+ def list_invalid_properties
188
+ invalid_properties = Array.new
189
+ if @idempotency_key.nil?
190
+ invalid_properties.push('invalid value for "idempotency_key", idempotency_key cannot be nil.')
191
+ end
192
+
193
+ if @idempotency_key.to_s.length > 50
194
+ invalid_properties.push('invalid value for "idempotency_key", the character length must be smaller than or equal to 50.')
195
+ end
196
+
197
+
198
+ if @processor_token.nil?
199
+ invalid_properties.push('invalid value for "processor_token", processor_token cannot be nil.')
200
+ end
201
+
202
+ if @type.nil?
203
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
204
+ end
205
+
206
+ if @network.nil?
207
+ invalid_properties.push('invalid value for "network", network cannot be nil.')
208
+ end
209
+
210
+ if @amount.nil?
211
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
212
+ end
213
+
214
+ if @iso_currency_code.nil?
215
+ invalid_properties.push('invalid value for "iso_currency_code", iso_currency_code cannot be nil.')
216
+ end
217
+
218
+ if @description.nil?
219
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
220
+ end
221
+
222
+ if @description.to_s.length > 10
223
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 10.')
224
+ end
225
+
226
+
227
+ if @user.nil?
228
+ invalid_properties.push('invalid value for "user", user cannot be nil.')
229
+ end
230
+
231
+ if !@custom_tag.nil? && @custom_tag.to_s.length > 100
232
+ invalid_properties.push('invalid value for "custom_tag", the character length must be smaller than or equal to 100.')
233
+ end
234
+
235
+
236
+
237
+ invalid_properties
238
+ end
239
+
240
+ # Check to see if the all the properties in the model are valid
241
+ # @return true if the model is valid
242
+ def valid?
243
+ return false if @idempotency_key.nil?
244
+ return false if @idempotency_key.to_s.length > 50
245
+ return false if @processor_token.nil?
246
+ return false if @type.nil?
247
+ return false if @network.nil?
248
+ return false if @amount.nil?
249
+ return false if @iso_currency_code.nil?
250
+ return false if @description.nil?
251
+ return false if @description.to_s.length > 10
252
+ return false if @user.nil?
253
+ return false if !@custom_tag.nil? && @custom_tag.to_s.length > 100
254
+ return false if !@metadata.nil? && @metadata.length > 50
255
+ true
256
+ end
257
+
258
+ # Custom attribute writer method with validation
259
+ # @param [Object] idempotency_key Value to be assigned
260
+ def idempotency_key=(idempotency_key)
261
+ if idempotency_key.nil?
262
+ fail ArgumentError, 'idempotency_key cannot be nil'
263
+ end
264
+
265
+ if idempotency_key.to_s.length > 50
266
+ fail ArgumentError, 'invalid value for "idempotency_key", the character length must be smaller than or equal to 50.'
267
+ end
268
+
269
+
270
+ @idempotency_key = idempotency_key
271
+ end
272
+
273
+ # Custom attribute writer method with validation
274
+ # @param [Object] description Value to be assigned
275
+ def description=(description)
276
+ if description.nil?
277
+ fail ArgumentError, 'description cannot be nil'
278
+ end
279
+
280
+ if description.to_s.length > 10
281
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 10.'
282
+ end
283
+
284
+
285
+ @description = description
286
+ end
287
+
288
+ # Custom attribute writer method with validation
289
+ # @param [Object] custom_tag Value to be assigned
290
+ def custom_tag=(custom_tag)
291
+ if !custom_tag.nil? && custom_tag.to_s.length > 100
292
+ fail ArgumentError, 'invalid value for "custom_tag", the character length must be smaller than or equal to 100.'
293
+ end
294
+
295
+
296
+ @custom_tag = custom_tag
297
+ end
298
+
299
+ # Custom attribute writer method with validation
300
+ # @param [Object] metadata Value to be assigned
301
+ def metadata=(metadata)
302
+
303
+ @metadata = metadata
304
+ end
305
+
306
+ # Checks equality by comparing each attribute.
307
+ # @param [Object] Object to be compared
308
+ def ==(o)
309
+ return true if self.equal?(o)
310
+ self.class == o.class &&
311
+ client_id == o.client_id &&
312
+ secret == o.secret &&
313
+ idempotency_key == o.idempotency_key &&
314
+ processor_token == o.processor_token &&
315
+ type == o.type &&
316
+ network == o.network &&
317
+ amount == o.amount &&
318
+ iso_currency_code == o.iso_currency_code &&
319
+ description == o.description &&
320
+ ach_class == o.ach_class &&
321
+ user == o.user &&
322
+ custom_tag == o.custom_tag &&
323
+ metadata == o.metadata &&
324
+ origination_account_id == o.origination_account_id
325
+ end
326
+
327
+ # @see the `==` method
328
+ # @param [Object] Object to be compared
329
+ def eql?(o)
330
+ self == o
331
+ end
332
+
333
+ # Calculates hash code according to all attributes.
334
+ # @return [Integer] Hash code
335
+ def hash
336
+ [client_id, secret, idempotency_key, processor_token, type, network, amount, iso_currency_code, description, ach_class, user, custom_tag, metadata, origination_account_id].hash
337
+ end
338
+
339
+ # Builds the object from hash
340
+ # @param [Hash] attributes Model attributes in the form of hash
341
+ # @return [Object] Returns the model itself
342
+ def self.build_from_hash(attributes)
343
+ new.build_from_hash(attributes)
344
+ end
345
+
346
+ # Builds the object from hash
347
+ # @param [Hash] attributes Model attributes in the form of hash
348
+ # @return [Object] Returns the model itself
349
+ def build_from_hash(attributes)
350
+ return nil unless attributes.is_a?(Hash)
351
+ self.class.openapi_types.each_pair do |key, type|
352
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
353
+ self.send("#{key}=", nil)
354
+ elsif type =~ /\AArray<(.*)>/i
355
+ # check to ensure the input is an array given that the attribute
356
+ # is documented as an array but the input is not
357
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
358
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
359
+ end
360
+ elsif !attributes[self.class.attribute_map[key]].nil?
361
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
362
+ end
363
+ end
364
+
365
+ self
366
+ end
367
+
368
+ # Deserializes the data based on type
369
+ # @param string type Data type
370
+ # @param string value Value to be deserialized
371
+ # @return [Object] Deserialized data
372
+ def _deserialize(type, value)
373
+ case type.to_sym
374
+ when :Time
375
+ Time.parse(value)
376
+ when :Date
377
+ Date.parse(value)
378
+ when :String
379
+ value.to_s
380
+ when :Integer
381
+ value.to_i
382
+ when :Float
383
+ value.to_f
384
+ when :Boolean
385
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
386
+ true
387
+ else
388
+ false
389
+ end
390
+ when :Object
391
+ # generic object (usually a Hash), return directly
392
+ value
393
+ when /\AArray<(?<inner_type>.+)>\z/
394
+ inner_type = Regexp.last_match[:inner_type]
395
+ value.map { |v| _deserialize(inner_type, v) }
396
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
397
+ k_type = Regexp.last_match[:k_type]
398
+ v_type = Regexp.last_match[:v_type]
399
+ {}.tap do |hash|
400
+ value.each do |k, v|
401
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
402
+ end
403
+ end
404
+ else # model
405
+ # models (e.g. Pet) or oneOf
406
+ klass = Plaid.const_get(type)
407
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
408
+ end
409
+ end
410
+
411
+ # Returns the string representation of the object
412
+ # @return [String] String presentation of the object
413
+ def to_s
414
+ to_hash.to_s
415
+ end
416
+
417
+ # to_body is an alias to to_hash (backward compatibility)
418
+ # @return [Hash] Returns the object in the form of hash
419
+ def to_body
420
+ to_hash
421
+ end
422
+
423
+ # Returns the object in the form of hash
424
+ # @return [Hash] Returns the object in the form of hash
425
+ def to_hash
426
+ hash = {}
427
+ self.class.attribute_map.each_pair do |attr, param|
428
+ value = self.send(attr)
429
+ if value.nil?
430
+ is_nullable = self.class.openapi_nullable.include?(attr)
431
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
432
+ end
433
+
434
+ hash[param] = _to_hash(value)
435
+ end
436
+ hash
437
+ end
438
+
439
+ # Outputs non-array value in the form of hash
440
+ # For object, use to_hash. Otherwise, just return the value
441
+ # @param [Object] value Any valid value
442
+ # @return [Hash] Returns the value in the form of hash
443
+ def _to_hash(value)
444
+ if value.is_a?(Array)
445
+ value.compact.map { |v| _to_hash(v) }
446
+ elsif value.is_a?(Hash)
447
+ {}.tap do |hash|
448
+ value.each { |k, v| hash[k] = _to_hash(v) }
449
+ end
450
+ elsif value.respond_to? :to_hash
451
+ value.to_hash
452
+ else
453
+ value
454
+ end
455
+ end
456
+
457
+ end
458
+
459
+ end