plaid 14.0.0.beta.3 → 14.0.0.beta.4

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 (406) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile.lock +1 -1
  4. data/Makefile +1 -20
  5. data/PUBLISH.md +1 -2
  6. data/docs/AccountAssets.md +1 -1
  7. data/docs/AccountBase.md +1 -1
  8. data/docs/AccountIdentity.md +1 -1
  9. data/docs/AccountsBalanceGetRequest.md +2 -2
  10. data/docs/AccountsGetRequest.md +2 -2
  11. data/docs/AssetReportAuditCopyCreateRequest.md +2 -2
  12. data/docs/AssetReportAuditCopyGetRequest.md +2 -2
  13. data/docs/AssetReportAuditCopyRemoveRequest.md +2 -2
  14. data/docs/AssetReportCreateRequest.md +2 -2
  15. data/docs/AssetReportFilterRequest.md +2 -2
  16. data/docs/AssetReportGetRequest.md +2 -2
  17. data/docs/AssetReportPDFGetRequest.md +2 -2
  18. data/docs/AssetReportRefreshRequest.md +2 -2
  19. data/docs/AssetReportRemoveRequest.md +2 -2
  20. data/docs/AuthGetRequest.md +2 -2
  21. data/docs/BankTransferBalanceGetRequest.md +2 -2
  22. data/docs/BankTransferCancelRequest.md +2 -2
  23. data/docs/BankTransferCreateRequest.md +2 -2
  24. data/docs/BankTransferEventListRequest.md +2 -2
  25. data/docs/BankTransferEventSyncRequest.md +2 -2
  26. data/docs/BankTransferGetRequest.md +2 -2
  27. data/docs/BankTransferListRequest.md +2 -2
  28. data/docs/BankTransferMigrateAccountRequest.md +2 -2
  29. data/docs/BankTransfersEventsUpdateWebhook.md +20 -0
  30. data/docs/DepositSwitchAltCreateRequest.md +2 -2
  31. data/docs/DepositSwitchCreateRequest.md +2 -2
  32. data/docs/DepositSwitchGetRequest.md +2 -2
  33. data/docs/DepositSwitchTokenCreateRequest.md +2 -2
  34. data/docs/EmployersSearchRequest.md +2 -2
  35. data/docs/IdentityGetRequest.md +2 -2
  36. data/docs/IncomeVerificationCreateRequest.md +2 -2
  37. data/docs/IncomeVerificationDocumentsDownloadRequest.md +2 -2
  38. data/docs/IncomeVerificationPaystubGetRequest.md +2 -2
  39. data/docs/IncomeVerificationSummaryGetRequest.md +2 -2
  40. data/docs/InstitutionsGetByIdRequest.md +2 -2
  41. data/docs/InstitutionsGetRequest.md +2 -2
  42. data/docs/InstitutionsGetRequestOptions.md +1 -1
  43. data/docs/InstitutionsGetResponse.md +1 -1
  44. data/docs/InstitutionsSearchRequest.md +2 -2
  45. data/docs/InstitutionsSearchRequestOptions.md +1 -3
  46. data/docs/InvestmentTransaction.md +1 -1
  47. data/docs/InvestmentsHoldingsGetRequest.md +2 -2
  48. data/docs/InvestmentsTransactionsGetRequest.md +2 -2
  49. data/docs/ItemAccessTokenInvalidateRequest.md +2 -2
  50. data/docs/ItemGetRequest.md +2 -2
  51. data/docs/ItemImportRequest.md +2 -2
  52. data/docs/ItemPublicTokenCreateRequest.md +2 -2
  53. data/docs/ItemPublicTokenExchangeRequest.md +2 -2
  54. data/docs/ItemRemoveRequest.md +2 -2
  55. data/docs/ItemWebhookUpdateRequest.md +2 -2
  56. data/docs/LiabilitiesGetRequest.md +2 -2
  57. data/docs/LiabilityOverride.md +3 -3
  58. data/docs/LinkTokenCreateRequest.md +7 -3
  59. data/docs/LinkTokenCreateRequestAuth.md +18 -0
  60. data/docs/LinkTokenGetRequest.md +2 -2
  61. data/docs/PaymentInitiationPaymentCreateRequest.md +2 -2
  62. data/docs/PaymentInitiationPaymentGetRequest.md +2 -2
  63. data/docs/PaymentInitiationPaymentListRequest.md +2 -2
  64. data/docs/PaymentInitiationPaymentTokenCreateRequest.md +2 -2
  65. data/docs/PaymentInitiationRecipientCreateRequest.md +2 -2
  66. data/docs/PaymentInitiationRecipientGetRequest.md +2 -2
  67. data/docs/PaymentInitiationRecipientListRequest.md +2 -2
  68. data/docs/PlaidApi.md +492 -412
  69. data/docs/ProcessorApexProcessorTokenCreateRequest.md +2 -2
  70. data/docs/ProcessorAuthGetRequest.md +2 -2
  71. data/docs/ProcessorBalanceGetRequest.md +2 -2
  72. data/docs/ProcessorIdentityGetRequest.md +2 -2
  73. data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +2 -2
  74. data/docs/ProcessorTokenCreateRequest.md +2 -2
  75. data/docs/SandboxBankTransferFireWebhookRequest.md +22 -0
  76. data/docs/SandboxBankTransferFireWebhookResponse.md +18 -0
  77. data/docs/SandboxBankTransferSimulateRequest.md +2 -2
  78. data/docs/SandboxItemFireWebhookRequest.md +2 -2
  79. data/docs/SandboxItemResetLoginRequest.md +2 -2
  80. data/docs/SandboxItemSetVerificationStatusRequest.md +2 -2
  81. data/docs/SandboxProcessorTokenCreateRequest.md +2 -2
  82. data/docs/SandboxPublicTokenCreateRequest.md +2 -2
  83. data/docs/StudentLoan.md +1 -1
  84. data/docs/TransactionOverride.md +4 -4
  85. data/docs/TransactionsGetRequest.md +2 -2
  86. data/docs/TransactionsRefreshRequest.md +2 -2
  87. data/docs/WebhookVerificationKeyGetRequest.md +2 -2
  88. data/lib/plaid.rb +6 -2
  89. data/lib/plaid/api/plaid_api.rb +81 -12
  90. data/lib/plaid/api_client.rb +2 -2
  91. data/lib/plaid/api_error.rb +2 -2
  92. data/lib/plaid/configuration.rb +2 -2
  93. data/lib/plaid/models/account_assets.rb +3 -3
  94. data/lib/plaid/models/account_assets_all_of.rb +2 -2
  95. data/lib/plaid/models/account_balance.rb +2 -2
  96. data/lib/plaid/models/account_base.rb +3 -3
  97. data/lib/plaid/models/account_filters_response.rb +2 -2
  98. data/lib/plaid/models/account_identity.rb +3 -3
  99. data/lib/plaid/models/account_identity_all_of.rb +2 -2
  100. data/lib/plaid/models/account_subtype.rb +2 -2
  101. data/lib/plaid/models/account_type.rb +2 -2
  102. data/lib/plaid/models/accounts_balance_get_request.rb +4 -4
  103. data/lib/plaid/models/accounts_balance_get_request_options.rb +2 -2
  104. data/lib/plaid/models/accounts_get_request.rb +4 -4
  105. data/lib/plaid/models/accounts_get_request_options.rb +2 -2
  106. data/lib/plaid/models/accounts_get_response.rb +2 -2
  107. data/lib/plaid/models/ach_class.rb +2 -2
  108. data/lib/plaid/models/address.rb +2 -2
  109. data/lib/plaid/models/address_data.rb +2 -2
  110. data/lib/plaid/models/amount.rb +2 -2
  111. data/lib/plaid/models/apr.rb +2 -2
  112. data/lib/plaid/models/asset_report.rb +2 -2
  113. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +4 -4
  114. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +2 -2
  115. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +4 -4
  116. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +4 -4
  117. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +2 -2
  118. data/lib/plaid/models/asset_report_create_request.rb +28 -4
  119. data/lib/plaid/models/asset_report_create_request_options.rb +2 -2
  120. data/lib/plaid/models/asset_report_create_response.rb +2 -2
  121. data/lib/plaid/models/asset_report_filter_request.rb +4 -4
  122. data/lib/plaid/models/asset_report_filter_response.rb +2 -2
  123. data/lib/plaid/models/asset_report_get_request.rb +4 -4
  124. data/lib/plaid/models/asset_report_get_response.rb +2 -2
  125. data/lib/plaid/models/asset_report_item.rb +2 -2
  126. data/lib/plaid/models/asset_report_pdf_get_request.rb +4 -4
  127. data/lib/plaid/models/asset_report_refresh_request.rb +6 -4
  128. data/lib/plaid/models/asset_report_refresh_request_options.rb +2 -2
  129. data/lib/plaid/models/asset_report_refresh_response.rb +2 -2
  130. data/lib/plaid/models/asset_report_remove_request.rb +4 -4
  131. data/lib/plaid/models/asset_report_remove_response.rb +2 -2
  132. data/lib/plaid/models/asset_report_transaction.rb +2 -2
  133. data/lib/plaid/models/asset_report_transaction_all_of.rb +2 -2
  134. data/lib/plaid/models/asset_report_user.rb +2 -2
  135. data/lib/plaid/models/assets_error_webhook.rb +2 -2
  136. data/lib/plaid/models/assets_product_ready_webhook.rb +2 -2
  137. data/lib/plaid/models/auth_get_numbers.rb +2 -2
  138. data/lib/plaid/models/auth_get_request.rb +4 -4
  139. data/lib/plaid/models/auth_get_request_options.rb +2 -2
  140. data/lib/plaid/models/auth_get_response.rb +2 -2
  141. data/lib/plaid/models/automatically_verified_webhook.rb +2 -2
  142. data/lib/plaid/models/bank_transfer.rb +11 -2
  143. data/lib/plaid/models/bank_transfer_balance.rb +2 -2
  144. data/lib/plaid/models/bank_transfer_balance_get_request.rb +4 -4
  145. data/lib/plaid/models/bank_transfer_balance_get_response.rb +2 -2
  146. data/lib/plaid/models/bank_transfer_cancel_request.rb +4 -4
  147. data/lib/plaid/models/bank_transfer_cancel_response.rb +2 -2
  148. data/lib/plaid/models/bank_transfer_create_request.rb +19 -4
  149. data/lib/plaid/models/bank_transfer_create_response.rb +2 -2
  150. data/lib/plaid/models/bank_transfer_direction.rb +2 -2
  151. data/lib/plaid/models/bank_transfer_event.rb +4 -2
  152. data/lib/plaid/models/bank_transfer_event_list_request.rb +8 -4
  153. data/lib/plaid/models/bank_transfer_event_list_response.rb +2 -2
  154. data/lib/plaid/models/bank_transfer_event_sync_request.rb +8 -4
  155. data/lib/plaid/models/bank_transfer_event_sync_response.rb +2 -2
  156. data/lib/plaid/models/bank_transfer_event_type.rb +2 -2
  157. data/lib/plaid/models/bank_transfer_failure.rb +2 -2
  158. data/lib/plaid/models/bank_transfer_get_request.rb +4 -4
  159. data/lib/plaid/models/bank_transfer_get_response.rb +2 -2
  160. data/lib/plaid/models/bank_transfer_list_request.rb +8 -4
  161. data/lib/plaid/models/bank_transfer_list_response.rb +2 -2
  162. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +4 -4
  163. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +2 -2
  164. data/lib/plaid/models/bank_transfer_network.rb +2 -2
  165. data/lib/plaid/models/bank_transfer_receiver_details.rb +2 -2
  166. data/lib/plaid/models/bank_transfer_status.rb +2 -2
  167. data/lib/plaid/models/bank_transfer_type.rb +2 -2
  168. data/lib/plaid/models/bank_transfer_user.rb +2 -2
  169. data/lib/plaid/models/bank_transfers_events_update_webhook.rb +240 -0
  170. data/lib/plaid/models/categories_get_response.rb +2 -2
  171. data/lib/plaid/models/category.rb +2 -2
  172. data/lib/plaid/models/cause.rb +2 -2
  173. data/lib/plaid/models/country_code.rb +2 -2
  174. data/lib/plaid/models/credit_card_liability.rb +2 -2
  175. data/lib/plaid/models/credit_filter.rb +2 -2
  176. data/lib/plaid/models/default_update_webhook.rb +2 -2
  177. data/lib/plaid/models/deposit_switch_address_data.rb +2 -2
  178. data/lib/plaid/models/deposit_switch_alt_create_request.rb +4 -4
  179. data/lib/plaid/models/deposit_switch_alt_create_response.rb +2 -2
  180. data/lib/plaid/models/deposit_switch_create_request.rb +4 -4
  181. data/lib/plaid/models/deposit_switch_create_response.rb +2 -2
  182. data/lib/plaid/models/deposit_switch_get_request.rb +4 -4
  183. data/lib/plaid/models/deposit_switch_get_response.rb +2 -2
  184. data/lib/plaid/models/deposit_switch_target_account.rb +2 -2
  185. data/lib/plaid/models/deposit_switch_target_user.rb +2 -2
  186. data/lib/plaid/models/deposit_switch_token_create_request.rb +4 -4
  187. data/lib/plaid/models/deposit_switch_token_create_response.rb +2 -2
  188. data/lib/plaid/models/depository_filter.rb +2 -2
  189. data/lib/plaid/models/email.rb +2 -2
  190. data/lib/plaid/models/employee.rb +2 -2
  191. data/lib/plaid/models/employee_income_summary_field_string.rb +2 -2
  192. data/lib/plaid/models/employer.rb +2 -2
  193. data/lib/plaid/models/employer_income_summary_field_string.rb +2 -2
  194. data/lib/plaid/models/employers_search_request.rb +4 -4
  195. data/lib/plaid/models/employers_search_response.rb +2 -2
  196. data/lib/plaid/models/error.rb +2 -2
  197. data/lib/plaid/models/external_payment_schedule.rb +2 -2
  198. data/lib/plaid/models/external_payment_schedule_get.rb +2 -2
  199. data/lib/plaid/models/health_incident.rb +2 -2
  200. data/lib/plaid/models/historical_balance.rb +2 -2
  201. data/lib/plaid/models/historical_update_webhook.rb +2 -2
  202. data/lib/plaid/models/holding.rb +2 -2
  203. data/lib/plaid/models/holdings_default_update_webhook.rb +2 -2
  204. data/lib/plaid/models/identity_get_request.rb +4 -4
  205. data/lib/plaid/models/identity_get_request_options.rb +2 -2
  206. data/lib/plaid/models/identity_get_response.rb +2 -2
  207. data/lib/plaid/models/incident_update.rb +2 -2
  208. data/lib/plaid/models/income_breakdown.rb +2 -2
  209. data/lib/plaid/models/income_summary.rb +2 -2
  210. data/lib/plaid/models/income_summary_field_number.rb +2 -2
  211. data/lib/plaid/models/income_summary_field_string.rb +2 -2
  212. data/lib/plaid/models/income_verification_create_request.rb +4 -4
  213. data/lib/plaid/models/income_verification_create_response.rb +2 -2
  214. data/lib/plaid/models/income_verification_documents_download_request.rb +4 -4
  215. data/lib/plaid/models/income_verification_documents_download_response.rb +2 -2
  216. data/lib/plaid/models/income_verification_paystub_get_request.rb +4 -4
  217. data/lib/plaid/models/income_verification_paystub_get_response.rb +2 -2
  218. data/lib/plaid/models/income_verification_status_webhook.rb +2 -2
  219. data/lib/plaid/models/income_verification_summary_get_request.rb +4 -4
  220. data/lib/plaid/models/income_verification_summary_get_response.rb +2 -2
  221. data/lib/plaid/models/income_verification_webhook_status.rb +2 -2
  222. data/lib/plaid/models/inflow_model.rb +2 -2
  223. data/lib/plaid/models/initial_update_webhook.rb +2 -2
  224. data/lib/plaid/models/institution.rb +2 -2
  225. data/lib/plaid/models/institution_status.rb +2 -2
  226. data/lib/plaid/models/institutions_get_by_id_request.rb +4 -4
  227. data/lib/plaid/models/institutions_get_by_id_request_options.rb +2 -2
  228. data/lib/plaid/models/institutions_get_by_id_response.rb +2 -2
  229. data/lib/plaid/models/institutions_get_request.rb +27 -4
  230. data/lib/plaid/models/institutions_get_request_options.rb +3 -3
  231. data/lib/plaid/models/institutions_get_response.rb +3 -3
  232. data/lib/plaid/models/institutions_search_account_filter.rb +2 -2
  233. data/lib/plaid/models/institutions_search_request.rb +25 -4
  234. data/lib/plaid/models/institutions_search_request_options.rb +6 -15
  235. data/lib/plaid/models/institutions_search_response.rb +2 -2
  236. data/lib/plaid/models/investment_filter.rb +2 -2
  237. data/lib/plaid/models/investment_holdings_get_request_options.rb +2 -2
  238. data/lib/plaid/models/investment_transaction.rb +3 -2
  239. data/lib/plaid/models/investments_default_update_webhook.rb +2 -2
  240. data/lib/plaid/models/investments_holdings_get_request.rb +4 -4
  241. data/lib/plaid/models/investments_holdings_get_response.rb +2 -2
  242. data/lib/plaid/models/investments_transactions_get_request.rb +4 -4
  243. data/lib/plaid/models/investments_transactions_get_request_options.rb +6 -2
  244. data/lib/plaid/models/investments_transactions_get_response.rb +2 -2
  245. data/lib/plaid/models/item.rb +2 -2
  246. data/lib/plaid/models/item_access_token_invalidate_request.rb +4 -4
  247. data/lib/plaid/models/item_access_token_invalidate_response.rb +2 -2
  248. data/lib/plaid/models/item_error_webhook.rb +2 -2
  249. data/lib/plaid/models/item_get_request.rb +4 -4
  250. data/lib/plaid/models/item_get_response.rb +2 -2
  251. data/lib/plaid/models/item_import_request.rb +25 -4
  252. data/lib/plaid/models/item_import_request_options.rb +2 -2
  253. data/lib/plaid/models/item_import_request_user_auth.rb +2 -2
  254. data/lib/plaid/models/item_import_response.rb +2 -2
  255. data/lib/plaid/models/item_product_ready_webhook.rb +2 -2
  256. data/lib/plaid/models/item_public_token_create_request.rb +4 -4
  257. data/lib/plaid/models/item_public_token_create_response.rb +2 -2
  258. data/lib/plaid/models/item_public_token_exchange_request.rb +4 -4
  259. data/lib/plaid/models/item_public_token_exchange_response.rb +2 -2
  260. data/lib/plaid/models/item_remove_request.rb +4 -4
  261. data/lib/plaid/models/item_remove_response.rb +2 -2
  262. data/lib/plaid/models/item_status.rb +2 -2
  263. data/lib/plaid/models/item_webhook_update_request.rb +4 -4
  264. data/lib/plaid/models/item_webhook_update_response.rb +2 -2
  265. data/lib/plaid/models/jwk_public_key.rb +2 -2
  266. data/lib/plaid/models/jwt_header.rb +2 -2
  267. data/lib/plaid/models/liabilities_get_request.rb +4 -4
  268. data/lib/plaid/models/liabilities_get_request_options.rb +2 -2
  269. data/lib/plaid/models/liabilities_get_response.rb +2 -2
  270. data/lib/plaid/models/liabilities_object.rb +2 -2
  271. data/lib/plaid/models/liability_override.rb +5 -7
  272. data/lib/plaid/models/link_token_account_filters.rb +2 -2
  273. data/lib/plaid/models/link_token_create_request.rb +47 -8
  274. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +2 -2
  275. data/lib/plaid/models/link_token_create_request_auth.rb +259 -0
  276. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +2 -2
  277. data/lib/plaid/models/link_token_create_request_income_verification.rb +2 -2
  278. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +2 -2
  279. data/lib/plaid/models/link_token_create_request_user.rb +2 -2
  280. data/lib/plaid/models/link_token_create_response.rb +2 -2
  281. data/lib/plaid/models/link_token_get_metadata_response.rb +2 -2
  282. data/lib/plaid/models/link_token_get_request.rb +4 -4
  283. data/lib/plaid/models/link_token_get_response.rb +2 -2
  284. data/lib/plaid/models/loan_filter.rb +2 -2
  285. data/lib/plaid/models/location.rb +2 -2
  286. data/lib/plaid/models/meta.rb +2 -2
  287. data/lib/plaid/models/mfa.rb +2 -2
  288. data/lib/plaid/models/mortgage_interest_rate.rb +2 -2
  289. data/lib/plaid/models/mortgage_liability.rb +2 -2
  290. data/lib/plaid/models/mortgage_property_address.rb +2 -2
  291. data/lib/plaid/models/nullable_access_token.rb +2 -2
  292. data/lib/plaid/models/nullable_address.rb +2 -2
  293. data/lib/plaid/models/nullable_address_data.rb +2 -2
  294. data/lib/plaid/models/nullable_item_status.rb +2 -2
  295. data/lib/plaid/models/nullable_numbers_ach.rb +2 -2
  296. data/lib/plaid/models/nullable_numbers_bacs.rb +2 -2
  297. data/lib/plaid/models/nullable_numbers_eft.rb +2 -2
  298. data/lib/plaid/models/nullable_numbers_international.rb +2 -2
  299. data/lib/plaid/models/nullable_recipient_bacs.rb +2 -2
  300. data/lib/plaid/models/numbers.rb +2 -2
  301. data/lib/plaid/models/numbers_ach.rb +2 -2
  302. data/lib/plaid/models/numbers_bacs.rb +2 -2
  303. data/lib/plaid/models/numbers_eft.rb +2 -2
  304. data/lib/plaid/models/numbers_international.rb +2 -2
  305. data/lib/plaid/models/override_accounts.rb +2 -2
  306. data/lib/plaid/models/owner.rb +2 -2
  307. data/lib/plaid/models/owner_override.rb +2 -2
  308. data/lib/plaid/models/pay_frequency.rb +2 -2
  309. data/lib/plaid/models/pay_period_details.rb +2 -2
  310. data/lib/plaid/models/payment_amount.rb +2 -2
  311. data/lib/plaid/models/payment_initiation_address.rb +19 -2
  312. data/lib/plaid/models/payment_initiation_payment_create_request.rb +4 -4
  313. data/lib/plaid/models/payment_initiation_payment_create_response.rb +2 -2
  314. data/lib/plaid/models/payment_initiation_payment_get_request.rb +4 -4
  315. data/lib/plaid/models/payment_initiation_payment_get_response.rb +2 -2
  316. data/lib/plaid/models/payment_initiation_payment_list_request.rb +6 -4
  317. data/lib/plaid/models/payment_initiation_payment_list_response.rb +2 -2
  318. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +4 -4
  319. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +2 -2
  320. data/lib/plaid/models/payment_initiation_recipient.rb +2 -2
  321. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +4 -4
  322. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +2 -2
  323. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +4 -4
  324. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +2 -2
  325. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +4 -4
  326. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +2 -2
  327. data/lib/plaid/models/payment_meta.rb +2 -2
  328. data/lib/plaid/models/payment_status_update_webhook.rb +2 -2
  329. data/lib/plaid/models/paystub.rb +2 -2
  330. data/lib/plaid/models/paystub_deduction.rb +2 -2
  331. data/lib/plaid/models/paystub_ytd_details.rb +2 -2
  332. data/lib/plaid/models/pending_expiration_webhook.rb +2 -2
  333. data/lib/plaid/models/phone_number.rb +2 -2
  334. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +4 -4
  335. data/lib/plaid/models/processor_auth_get_request.rb +4 -4
  336. data/lib/plaid/models/processor_auth_get_response.rb +2 -2
  337. data/lib/plaid/models/processor_balance_get_request.rb +4 -4
  338. data/lib/plaid/models/processor_balance_get_response.rb +2 -2
  339. data/lib/plaid/models/processor_identity_get_request.rb +4 -4
  340. data/lib/plaid/models/processor_identity_get_response.rb +2 -2
  341. data/lib/plaid/models/processor_number.rb +2 -2
  342. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +4 -4
  343. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +2 -2
  344. data/lib/plaid/models/processor_token_create_request.rb +4 -4
  345. data/lib/plaid/models/processor_token_create_response.rb +2 -2
  346. data/lib/plaid/models/product_status.rb +2 -2
  347. data/lib/plaid/models/product_status_breakdown.rb +2 -2
  348. data/lib/plaid/models/products.rb +2 -2
  349. data/lib/plaid/models/projected_income_summary_field_number.rb +2 -2
  350. data/lib/plaid/models/pslf_status.rb +2 -2
  351. data/lib/plaid/models/recaptcha_required_error.rb +2 -2
  352. data/lib/plaid/models/recipient_bacs.rb +2 -2
  353. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +245 -0
  354. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +225 -0
  355. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +4 -4
  356. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +2 -2
  357. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +4 -4
  358. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +2 -2
  359. data/lib/plaid/models/sandbox_item_reset_login_request.rb +4 -4
  360. data/lib/plaid/models/sandbox_item_reset_login_response.rb +2 -2
  361. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +4 -4
  362. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +2 -2
  363. data/lib/plaid/models/sandbox_processor_token_create_request.rb +4 -4
  364. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +2 -2
  365. data/lib/plaid/models/sandbox_processor_token_create_response.rb +2 -2
  366. data/lib/plaid/models/sandbox_public_token_create_request.rb +25 -4
  367. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +2 -2
  368. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +2 -2
  369. data/lib/plaid/models/sandbox_public_token_create_response.rb +2 -2
  370. data/lib/plaid/models/security.rb +2 -2
  371. data/lib/plaid/models/servicer_address_data.rb +2 -2
  372. data/lib/plaid/models/standalone_account_type.rb +2 -2
  373. data/lib/plaid/models/standalone_currency_code_list.rb +2 -2
  374. data/lib/plaid/models/standalone_investment_transaction_subtype.rb +2 -2
  375. data/lib/plaid/models/standalone_investment_transaction_type.rb +2 -2
  376. data/lib/plaid/models/student_loan.rb +3 -3
  377. data/lib/plaid/models/student_loan_repayment_model.rb +2 -2
  378. data/lib/plaid/models/student_loan_status.rb +2 -2
  379. data/lib/plaid/models/student_repayment_plan.rb +2 -2
  380. data/lib/plaid/models/transaction.rb +2 -2
  381. data/lib/plaid/models/transaction_code.rb +2 -2
  382. data/lib/plaid/models/transaction_data.rb +2 -2
  383. data/lib/plaid/models/transaction_override.rb +21 -21
  384. data/lib/plaid/models/transactions_get_request.rb +4 -4
  385. data/lib/plaid/models/transactions_get_request_options.rb +6 -2
  386. data/lib/plaid/models/transactions_get_response.rb +2 -2
  387. data/lib/plaid/models/transactions_refresh_request.rb +4 -4
  388. data/lib/plaid/models/transactions_refresh_response.rb +2 -2
  389. data/lib/plaid/models/transactions_removed_webhook.rb +2 -2
  390. data/lib/plaid/models/user_custom_password.rb +2 -2
  391. data/lib/plaid/models/user_permission_revoked_webhook.rb +2 -2
  392. data/lib/plaid/models/verification_expired_webhook.rb +2 -2
  393. data/lib/plaid/models/verification_status.rb +2 -2
  394. data/lib/plaid/models/warning.rb +2 -2
  395. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +2 -2
  396. data/lib/plaid/models/webhook_verification_key_get_request.rb +4 -4
  397. data/lib/plaid/models/webhook_verification_key_get_response.rb +2 -2
  398. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +2 -2
  399. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +2 -2
  400. data/lib/plaid/version.rb +3 -3
  401. data/pkg/plaid-14.0.0.beta.4.gem +0 -0
  402. data/plaid.gemspec +2 -2
  403. data/templates/ruby/partial_model_generic.mustache +362 -0
  404. data/test/test_bank_transfers.rb +1 -0
  405. metadata +19 -10
  406. data/pkg/plaid-14.0.0.beta.3.gem +0 -0
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -16,10 +16,10 @@ require 'time'
16
16
  module Plaid
17
17
  # LiabilitiesGetRequest defines the request schema for `/liabilities/get`
18
18
  class LiabilitiesGetRequest
19
- # Your Plaid API `client_id`.
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
20
  attr_accessor :client_id
21
21
 
22
- # Your Plaid API `secret`.
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
23
  attr_accessor :secret
24
24
 
25
25
  # The access token associated with the Item data is being requested for.
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -16,7 +16,7 @@ require 'time'
16
16
  module Plaid
17
17
  # Used to configure Sandbox test data for the Liabilities product
18
18
  class LiabilityOverride
19
- # The type of the liability object, either `credit` or `student`.
19
+ # The type of the liability object, either `credit` or `student`. Mortgages are not currently supported in the custom Sandbox.
20
20
  attr_accessor :type
21
21
 
22
22
  # The purchase APR percentage value. For simplicity, this is the only interest rate used to calculate interest charges. Can only be set if `type` is `credit`.
@@ -69,13 +69,11 @@ module Plaid
69
69
  # Override the `loan_name` field. Can only be set if `type` is `student`.
70
70
  attr_accessor :loan_name
71
71
 
72
- # Override the `loan_status` field. Can only be set if `type` is `student`.
73
72
  attr_accessor :loan_status
74
73
 
75
74
  # Override the `payment_reference_number` field. Can only be set if `type` is `student`.
76
75
  attr_accessor :payment_reference_number
77
76
 
78
- # Override the `pslf_status` field. Can only be set if `type` is `student`.
79
77
  attr_accessor :pslf_status
80
78
 
81
79
  # Override the `repayment_plan.description` field. Can only be set if `type` is `student`.
@@ -146,9 +144,9 @@ module Plaid
146
144
  :'guarantor' => :'String',
147
145
  :'is_federal' => :'Boolean',
148
146
  :'loan_name' => :'String',
149
- :'loan_status' => :'String',
147
+ :'loan_status' => :'StudentLoanStatus',
150
148
  :'payment_reference_number' => :'String',
151
- :'pslf_status' => :'String',
149
+ :'pslf_status' => :'PSLFStatus',
152
150
  :'repayment_plan_description' => :'String',
153
151
  :'repayment_plan_type' => :'String',
154
152
  :'sequence_number' => :'String',
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -16,10 +16,10 @@ require 'time'
16
16
  module Plaid
17
17
  # LinkTokenCreateRequest defines the request schema for `/link/token/create`
18
18
  class LinkTokenCreateRequest
19
- # Your Plaid API `client_id`.
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
20
  attr_accessor :client_id
21
21
 
22
- # Your Plaid API `secret`.
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
23
  attr_accessor :secret
24
24
 
25
25
  # The name of your application, as it should be displayed in Link.
@@ -60,6 +60,10 @@ module Plaid
60
60
 
61
61
  attr_accessor :deposit_switch
62
62
 
63
+ attr_accessor :income_verification
64
+
65
+ attr_accessor :auth
66
+
63
67
  # Attribute mapping from ruby-style variable name to JSON key.
64
68
  def self.attribute_map
65
69
  {
@@ -78,7 +82,9 @@ module Plaid
78
82
  :'account_filters' => :'account_filters',
79
83
  :'institution_id' => :'institution_id',
80
84
  :'payment_initiation' => :'payment_initiation',
81
- :'deposit_switch' => :'deposit_switch'
85
+ :'deposit_switch' => :'deposit_switch',
86
+ :'income_verification' => :'income_verification',
87
+ :'auth' => :'auth'
82
88
  }
83
89
  end
84
90
 
@@ -105,7 +111,9 @@ module Plaid
105
111
  :'account_filters' => :'LinkTokenAccountFilters',
106
112
  :'institution_id' => :'String',
107
113
  :'payment_initiation' => :'LinkTokenCreateRequestPaymentInitiation',
108
- :'deposit_switch' => :'LinkTokenCreateRequestDepositSwitch'
114
+ :'deposit_switch' => :'LinkTokenCreateRequestDepositSwitch',
115
+ :'income_verification' => :'LinkTokenCreateRequestIncomeVerification',
116
+ :'auth' => :'LinkTokenCreateRequestAuth'
109
117
  }
110
118
  end
111
119
 
@@ -197,6 +205,14 @@ module Plaid
197
205
  if attributes.key?(:'deposit_switch')
198
206
  self.deposit_switch = attributes[:'deposit_switch']
199
207
  end
208
+
209
+ if attributes.key?(:'income_verification')
210
+ self.income_verification = attributes[:'income_verification']
211
+ end
212
+
213
+ if attributes.key?(:'auth')
214
+ self.auth = attributes[:'auth']
215
+ end
200
216
  end
201
217
 
202
218
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -215,6 +231,11 @@ module Plaid
215
231
  invalid_properties.push('invalid value for "country_codes", country_codes cannot be nil.')
216
232
  end
217
233
 
234
+
235
+ if @country_codes.length < 1
236
+ invalid_properties.push('invalid value for "country_codes", number of items must be greater than or equal to 1.')
237
+ end
238
+
218
239
  if @user.nil?
219
240
  invalid_properties.push('invalid value for "user", user cannot be nil.')
220
241
  end
@@ -228,10 +249,26 @@ module Plaid
228
249
  return false if @client_name.nil?
229
250
  return false if @language.nil?
230
251
  return false if @country_codes.nil?
252
+ return false if @country_codes.length < 1
231
253
  return false if @user.nil?
232
254
  true
233
255
  end
234
256
 
257
+ # Custom attribute writer method with validation
258
+ # @param [Object] country_codes Value to be assigned
259
+ def country_codes=(country_codes)
260
+ if country_codes.nil?
261
+ fail ArgumentError, 'country_codes cannot be nil'
262
+ end
263
+
264
+
265
+ if country_codes.length < 1
266
+ fail ArgumentError, 'invalid value for "country_codes", number of items must be greater than or equal to 1.'
267
+ end
268
+
269
+ @country_codes = country_codes
270
+ end
271
+
235
272
  # Checks equality by comparing each attribute.
236
273
  # @param [Object] Object to be compared
237
274
  def ==(o)
@@ -252,7 +289,9 @@ module Plaid
252
289
  account_filters == o.account_filters &&
253
290
  institution_id == o.institution_id &&
254
291
  payment_initiation == o.payment_initiation &&
255
- deposit_switch == o.deposit_switch
292
+ deposit_switch == o.deposit_switch &&
293
+ income_verification == o.income_verification &&
294
+ auth == o.auth
256
295
  end
257
296
 
258
297
  # @see the `==` method
@@ -264,7 +303,7 @@ module Plaid
264
303
  # Calculates hash code according to all attributes.
265
304
  # @return [Integer] Hash code
266
305
  def hash
267
- [client_id, secret, client_name, language, country_codes, user, products, webhook, access_token, link_customization_name, redirect_uri, android_package_name, account_filters, institution_id, payment_initiation, deposit_switch].hash
306
+ [client_id, secret, client_name, language, country_codes, user, products, webhook, access_token, link_customization_name, redirect_uri, android_package_name, account_filters, institution_id, payment_initiation, deposit_switch, income_verification, auth].hash
268
307
  end
269
308
 
270
309
  # Builds the object from hash
@@ -3,10 +3,10 @@
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.8.0
6
+ The version of the OpenAPI document: 2020-09-14_1.11.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0
9
+ OpenAPI Generator version: 5.1.0
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,259 @@
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.11.0
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
+ # Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta).
18
+ class LinkTokenCreateRequestAuth
19
+ # The optional Auth flow to use. Currently only used to enable Flexible Auth.
20
+ attr_accessor :auth_flow
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'auth_flow' => :'auth_flow'
48
+ }
49
+ end
50
+
51
+ # Returns all the JSON keys this model knows about
52
+ def self.acceptable_attributes
53
+ attribute_map.values
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.openapi_types
58
+ {
59
+ :'auth_flow' => :'String'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([
66
+ ])
67
+ end
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::LinkTokenCreateRequestAuth` initialize method"
74
+ end
75
+
76
+ # check to see if the attribute exists and convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!self.class.attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::LinkTokenCreateRequestAuth`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'auth_flow')
85
+ self.auth_flow = attributes[:'auth_flow']
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ invalid_properties = Array.new
93
+ if @auth_flow.nil?
94
+ invalid_properties.push('invalid value for "auth_flow", auth_flow cannot be nil.')
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ return false if @auth_flow.nil?
104
+ auth_flow_validator = EnumAttributeValidator.new('String', ["FLEXIBLE_AUTH"])
105
+ return false unless auth_flow_validator.valid?(@auth_flow)
106
+ true
107
+ end
108
+
109
+ # Custom attribute writer method checking allowed values (enum).
110
+ # @param [Object] auth_flow Object to be assigned
111
+ def auth_flow=(auth_flow)
112
+ validator = EnumAttributeValidator.new('String', ["FLEXIBLE_AUTH"])
113
+ unless validator.valid?(auth_flow)
114
+ fail ArgumentError, "invalid value for \"auth_flow\", must be one of #{validator.allowable_values}."
115
+ end
116
+ @auth_flow = auth_flow
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ auth_flow == o.auth_flow
125
+ end
126
+
127
+ # @see the `==` method
128
+ # @param [Object] Object to be compared
129
+ def eql?(o)
130
+ self == o
131
+ end
132
+
133
+ # Calculates hash code according to all attributes.
134
+ # @return [Integer] Hash code
135
+ def hash
136
+ [auth_flow].hash
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def self.build_from_hash(attributes)
143
+ new.build_from_hash(attributes)
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+ self.class.openapi_types.each_pair do |key, type|
152
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
153
+ self.send("#{key}=", nil)
154
+ elsif type =~ /\AArray<(.*)>/i
155
+ # check to ensure the input is an array given that the attribute
156
+ # is documented as an array but the input is not
157
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
158
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
+ end
160
+ elsif !attributes[self.class.attribute_map[key]].nil?
161
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
+ end
163
+ end
164
+
165
+ self
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def _deserialize(type, value)
173
+ case type.to_sym
174
+ when :Time
175
+ Time.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ # models (e.g. Pet) or oneOf
206
+ klass = Plaid.const_get(type)
207
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+
257
+ end
258
+
259
+ end