apimatic-plaid-sdk 0.0.1

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