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,73 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # The status of the payment. `PAYMENT_STATUS_INPUT_NEEDED`: This is the
8
+ # initial state of all payments. It indicates that the payment is waiting on
9
+ # user input to continue processing. A payment may re-enter this state later
10
+ # on if further input is needed. `PAYMENT_STATUS_PROCESSING`: The payment is
11
+ # currently being processed. The payment will automatically exit this state
12
+ # when processing is complete. `PAYMENT_STATUS_INITIATED`: The payment has
13
+ # been successfully initiated and is considered complete.
14
+ # `PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been
15
+ # successfully established. This state is only used for standing orders.
16
+ # `PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to
17
+ # insufficient funds. `PAYMENT_STATUS_FAILED`: The payment has failed to be
18
+ # initiated. This error is retryable once the root cause is resolved.
19
+ # `PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable
20
+ # error. `PAYMENT_STATUS_UNKNOWN`: The payment status is unknown.
21
+ class Status3
22
+ STATUS3 = [
23
+ # TODO: Write general description for PAYMENT_STATUS_INPUT_NEEDED
24
+ PAYMENT_STATUS_INPUT_NEEDED = 'PAYMENT_STATUS_INPUT_NEEDED'.freeze,
25
+
26
+ # TODO: Write general description for PAYMENT_STATUS_PROCESSING
27
+ PAYMENT_STATUS_PROCESSING = 'PAYMENT_STATUS_PROCESSING'.freeze,
28
+
29
+ # TODO: Write general description for PAYMENT_STATUS_INITIATED
30
+ PAYMENT_STATUS_INITIATED = 'PAYMENT_STATUS_INITIATED'.freeze,
31
+
32
+ # TODO: Write general description for PAYMENT_STATUS_COMPLETED
33
+ PAYMENT_STATUS_COMPLETED = 'PAYMENT_STATUS_COMPLETED'.freeze,
34
+
35
+ # TODO: Write general description for PAYMENT_STATUS_INSUFFICIENT_FUNDS
36
+ PAYMENT_STATUS_INSUFFICIENT_FUNDS = 'PAYMENT_STATUS_INSUFFICIENT_FUNDS'.freeze,
37
+
38
+ # TODO: Write general description for PAYMENT_STATUS_FAILED
39
+ PAYMENT_STATUS_FAILED = 'PAYMENT_STATUS_FAILED'.freeze,
40
+
41
+ # TODO: Write general description for PAYMENT_STATUS_BLOCKED
42
+ PAYMENT_STATUS_BLOCKED = 'PAYMENT_STATUS_BLOCKED'.freeze,
43
+
44
+ # TODO: Write general description for PAYMENT_STATUS_UNKNOWN
45
+ PAYMENT_STATUS_UNKNOWN = 'PAYMENT_STATUS_UNKNOWN'.freeze
46
+ ].freeze
47
+
48
+ def self.validate(value)
49
+ return false if value.nil?
50
+
51
+ true
52
+ end
53
+
54
+ def self.from_value(value, default_value = PAYMENT_STATUS_INPUT_NEEDED)
55
+ return default_value if value.nil?
56
+
57
+ str = value.to_s.strip
58
+
59
+ case str.downcase
60
+ when 'payment_status_input_needed' then PAYMENT_STATUS_INPUT_NEEDED
61
+ when 'payment_status_processing' then PAYMENT_STATUS_PROCESSING
62
+ when 'payment_status_initiated' then PAYMENT_STATUS_INITIATED
63
+ when 'payment_status_completed' then PAYMENT_STATUS_COMPLETED
64
+ when 'payment_status_insufficient_funds' then PAYMENT_STATUS_INSUFFICIENT_FUNDS
65
+ when 'payment_status_failed' then PAYMENT_STATUS_FAILED
66
+ when 'payment_status_blocked' then PAYMENT_STATUS_BLOCKED
67
+ when 'payment_status_unknown' then PAYMENT_STATUS_UNKNOWN
68
+ else
69
+ default_value
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,111 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # A detailed breakdown of the institution's performance for a request type.
8
+ # The values for `success`, `error_plaid`, and `error_institution` sum to 1.
9
+ class StatusBreakdown < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The percentage of login attempts that are successful, expressed as a
14
+ # decimal.
15
+ # @return [Float]
16
+ attr_accessor :success
17
+
18
+ # The percentage of logins that are failing due to an internal Plaid issue,
19
+ # expressed as a decimal.
20
+ # @return [Float]
21
+ attr_accessor :error_plaid
22
+
23
+ # The percentage of logins that are failing due to an issue in the
24
+ # institution's system, expressed as a decimal.
25
+ # @return [Float]
26
+ attr_accessor :error_institution
27
+
28
+ # The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success
29
+ # rate is high. This value is only returned for Transactions status
30
+ # breakdowns.
31
+ # @return [RefreshInterval]
32
+ attr_accessor :refresh_interval
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['success'] = 'success'
38
+ @_hash['error_plaid'] = 'error_plaid'
39
+ @_hash['error_institution'] = 'error_institution'
40
+ @_hash['refresh_interval'] = 'refresh_interval'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ refresh_interval
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(success:, error_plaid:, error_institution:,
57
+ refresh_interval: SKIP, additional_properties: nil)
58
+ # Add additional model properties to the instance
59
+ additional_properties = {} if additional_properties.nil?
60
+
61
+ @success = success
62
+ @error_plaid = error_plaid
63
+ @error_institution = error_institution
64
+ @refresh_interval = refresh_interval unless refresh_interval == SKIP
65
+ @additional_properties = additional_properties
66
+ end
67
+
68
+ # Creates an instance of the object from a hash.
69
+ def self.from_hash(hash)
70
+ return nil unless hash
71
+
72
+ # Extract variables from the hash.
73
+ success = hash.key?('success') ? hash['success'] : nil
74
+ error_plaid = hash.key?('error_plaid') ? hash['error_plaid'] : nil
75
+ error_institution =
76
+ hash.key?('error_institution') ? hash['error_institution'] : nil
77
+ refresh_interval =
78
+ hash.key?('refresh_interval') ? hash['refresh_interval'] : SKIP
79
+
80
+ # Create a new hash for additional properties, removing known properties.
81
+ new_hash = hash.reject { |k, _| names.value?(k) }
82
+
83
+ additional_properties = APIHelper.get_additional_properties(
84
+ new_hash, proc { |value| value }
85
+ )
86
+
87
+ # Create object from extracted values.
88
+ StatusBreakdown.new(success: success,
89
+ error_plaid: error_plaid,
90
+ error_institution: error_institution,
91
+ refresh_interval: refresh_interval,
92
+ additional_properties: additional_properties)
93
+ end
94
+
95
+ # Provides a human-readable string representation of the object.
96
+ def to_s
97
+ class_name = self.class.name.split('::').last
98
+ "<#{class_name} success: #{@success}, error_plaid: #{@error_plaid}, error_institution:"\
99
+ " #{@error_institution}, refresh_interval: #{@refresh_interval}, additional_properties:"\
100
+ " #{@additional_properties}>"
101
+ end
102
+
103
+ # Provides a debugging-friendly string with detailed object information.
104
+ def inspect
105
+ class_name = self.class.name.split('::').last
106
+ "<#{class_name} success: #{@success.inspect}, error_plaid: #{@error_plaid.inspect},"\
107
+ " error_institution: #{@error_institution.inspect}, refresh_interval:"\
108
+ " #{@refresh_interval.inspect}, additional_properties: #{@additional_properties}>"
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,367 @@
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 student loan account
8
+ class StudentLoan < 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. For some institutions, this may be a
17
+ # masked version of the number (e.g., the last 4 digits instead of the
18
+ # entire number).
19
+ # @return [String]
20
+ attr_accessor :account_number
21
+
22
+ # The dates on which loaned funds were disbursed or will be disbursed. These
23
+ # are often in the past. Dates are returned in an [ISO
24
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
25
+ # @return [Array[Date]]
26
+ attr_accessor :disbursement_dates
27
+
28
+ # The date when the student loan is expected to be paid off. Availability
29
+ # for this field is limited. Dates are returned in an [ISO
30
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
31
+ # @return [Date]
32
+ attr_accessor :expected_payoff_date
33
+
34
+ # The guarantor of the student loan.
35
+ # @return [String]
36
+ attr_accessor :guarantor
37
+
38
+ # The interest rate on the loan as a percentage.
39
+ # @return [Float]
40
+ attr_accessor :interest_rate_percentage
41
+
42
+ # `true` if a payment is currently overdue. Availability for this field is
43
+ # limited.
44
+ # @return [TrueClass | FalseClass]
45
+ attr_accessor :is_overdue
46
+
47
+ # The amount of the last payment.
48
+ # @return [Float]
49
+ attr_accessor :last_payment_amount
50
+
51
+ # The date of the last payment. Dates are returned in an [ISO
52
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
53
+ # @return [Date]
54
+ attr_accessor :last_payment_date
55
+
56
+ # The date of the last statement. Dates are returned in an [ISO
57
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
58
+ # @return [Date]
59
+ attr_accessor :last_statement_issue_date
60
+
61
+ # The type of loan, e.g., "Consolidation Loans".
62
+ # @return [String]
63
+ attr_accessor :loan_name
64
+
65
+ # An object representing the status of the student loan
66
+ # @return [StudentLoanStatus]
67
+ attr_accessor :loan_status
68
+
69
+ # The minimum payment due for the next billing cycle. There are some
70
+ # exceptions:
71
+ # Some institutions require a minimum payment across all loans associated
72
+ # with an account number. Our API presents that same minimum payment amount
73
+ # on each loan. The institutions that do this are: Great Lakes (
74
+ # `ins_116861`), Firstmark (`ins_116295`), Commonbond Firstmark Services
75
+ # (`ins_116950`), Nelnet (`ins_116528`), EdFinancial Services
76
+ # (`ins_116304`), Granite State (`ins_116308`), and Oklahoma Student Loan
77
+ # Authority (`ins_116945`).
78
+ # Firstmark (`ins_116295` ) will display as $0 if there is an autopay
79
+ # program in effect.
80
+ # @return [Float]
81
+ attr_accessor :minimum_payment_amount
82
+
83
+ # The due date for the next payment. The due date is `null` if a payment is
84
+ # not expected. A payment is not expected if `loan_status.type` is
85
+ # `deferment`, `in_school`, `consolidated`, `paid in full`, or
86
+ # `transferred`. Dates are returned in an [ISO
87
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
88
+ # @return [Date]
89
+ attr_accessor :next_payment_due_date
90
+
91
+ # The date on which the loan was initially lent. Dates are returned in an
92
+ # [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
93
+ # @return [Date]
94
+ attr_accessor :origination_date
95
+
96
+ # The original principal balance of the loan.
97
+ # @return [Float]
98
+ attr_accessor :origination_principal_amount
99
+
100
+ # The total dollar amount of the accrued interest balance. For Sallie Mae (
101
+ # `ins_116944`), this amount is included in the current balance of the loan,
102
+ # so this field will return as `null`.
103
+ # @return [Float]
104
+ attr_accessor :outstanding_interest_amount
105
+
106
+ # The relevant account number that should be used to reference this loan for
107
+ # payments. In the majority of cases, `payment_reference_number` will match
108
+ # a`ccount_number,` but in some institutions, such as Great Lakes
109
+ # (`ins_116861`), it will be different.
110
+ # @return [String]
111
+ attr_accessor :payment_reference_number
112
+
113
+ # Information about the student's eligibility in the Public Service Loan
114
+ # Forgiveness program. This is only returned if the institution is Fedloan
115
+ # (`ins_116527`).
116
+ # @return [PslfStatus]
117
+ attr_accessor :pslf_status
118
+
119
+ # An object representing the repayment plan for the student loan
120
+ # @return [StudentRepaymentPlan]
121
+ attr_accessor :repayment_plan
122
+
123
+ # The sequence number of the student loan. Heartland ECSI (`ins_116948`)
124
+ # does not make this field available.
125
+ # @return [String]
126
+ attr_accessor :sequence_number
127
+
128
+ # The address of the student loan servicer. This is generally the remittance
129
+ # address to which payments should be sent.
130
+ # @return [ServicerAddressData]
131
+ attr_accessor :servicer_address
132
+
133
+ # The year to date (YTD) interest paid. Availability for this field is
134
+ # limited.
135
+ # @return [Float]
136
+ attr_accessor :ytd_interest_paid
137
+
138
+ # The year to date (YTD) principal paid. Availability for this field is
139
+ # limited.
140
+ # @return [Float]
141
+ attr_accessor :ytd_principal_paid
142
+
143
+ # A mapping from model property names to API property names.
144
+ def self.names
145
+ @_hash = {} if @_hash.nil?
146
+ @_hash['account_id'] = 'account_id'
147
+ @_hash['account_number'] = 'account_number'
148
+ @_hash['disbursement_dates'] = 'disbursement_dates'
149
+ @_hash['expected_payoff_date'] = 'expected_payoff_date'
150
+ @_hash['guarantor'] = 'guarantor'
151
+ @_hash['interest_rate_percentage'] = 'interest_rate_percentage'
152
+ @_hash['is_overdue'] = 'is_overdue'
153
+ @_hash['last_payment_amount'] = 'last_payment_amount'
154
+ @_hash['last_payment_date'] = 'last_payment_date'
155
+ @_hash['last_statement_issue_date'] = 'last_statement_issue_date'
156
+ @_hash['loan_name'] = 'loan_name'
157
+ @_hash['loan_status'] = 'loan_status'
158
+ @_hash['minimum_payment_amount'] = 'minimum_payment_amount'
159
+ @_hash['next_payment_due_date'] = 'next_payment_due_date'
160
+ @_hash['origination_date'] = 'origination_date'
161
+ @_hash['origination_principal_amount'] = 'origination_principal_amount'
162
+ @_hash['outstanding_interest_amount'] = 'outstanding_interest_amount'
163
+ @_hash['payment_reference_number'] = 'payment_reference_number'
164
+ @_hash['pslf_status'] = 'pslf_status'
165
+ @_hash['repayment_plan'] = 'repayment_plan'
166
+ @_hash['sequence_number'] = 'sequence_number'
167
+ @_hash['servicer_address'] = 'servicer_address'
168
+ @_hash['ytd_interest_paid'] = 'ytd_interest_paid'
169
+ @_hash['ytd_principal_paid'] = 'ytd_principal_paid'
170
+ @_hash
171
+ end
172
+
173
+ # An array for optional fields
174
+ def self.optionals
175
+ []
176
+ end
177
+
178
+ # An array for nullable fields
179
+ def self.nullables
180
+ %w[
181
+ account_id
182
+ account_number
183
+ disbursement_dates
184
+ expected_payoff_date
185
+ guarantor
186
+ is_overdue
187
+ last_payment_amount
188
+ last_payment_date
189
+ last_statement_issue_date
190
+ loan_name
191
+ minimum_payment_amount
192
+ next_payment_due_date
193
+ origination_date
194
+ origination_principal_amount
195
+ outstanding_interest_amount
196
+ payment_reference_number
197
+ sequence_number
198
+ ytd_interest_paid
199
+ ytd_principal_paid
200
+ ]
201
+ end
202
+
203
+ def initialize(account_id:, account_number:, disbursement_dates:,
204
+ expected_payoff_date:, guarantor:, interest_rate_percentage:,
205
+ is_overdue:, last_payment_amount:, last_payment_date:,
206
+ last_statement_issue_date:, loan_name:, loan_status:,
207
+ minimum_payment_amount:, next_payment_due_date:,
208
+ origination_date:, origination_principal_amount:,
209
+ outstanding_interest_amount:, payment_reference_number:,
210
+ pslf_status:, repayment_plan:, sequence_number:,
211
+ servicer_address:, ytd_interest_paid:, ytd_principal_paid:,
212
+ additional_properties: nil)
213
+ # Add additional model properties to the instance
214
+ additional_properties = {} if additional_properties.nil?
215
+
216
+ @account_id = account_id
217
+ @account_number = account_number
218
+ @disbursement_dates = disbursement_dates
219
+ @expected_payoff_date = expected_payoff_date
220
+ @guarantor = guarantor
221
+ @interest_rate_percentage = interest_rate_percentage
222
+ @is_overdue = is_overdue
223
+ @last_payment_amount = last_payment_amount
224
+ @last_payment_date = last_payment_date
225
+ @last_statement_issue_date = last_statement_issue_date
226
+ @loan_name = loan_name
227
+ @loan_status = loan_status
228
+ @minimum_payment_amount = minimum_payment_amount
229
+ @next_payment_due_date = next_payment_due_date
230
+ @origination_date = origination_date
231
+ @origination_principal_amount = origination_principal_amount
232
+ @outstanding_interest_amount = outstanding_interest_amount
233
+ @payment_reference_number = payment_reference_number
234
+ @pslf_status = pslf_status
235
+ @repayment_plan = repayment_plan
236
+ @sequence_number = sequence_number
237
+ @servicer_address = servicer_address
238
+ @ytd_interest_paid = ytd_interest_paid
239
+ @ytd_principal_paid = ytd_principal_paid
240
+ @additional_properties = additional_properties
241
+ end
242
+
243
+ # Creates an instance of the object from a hash.
244
+ def self.from_hash(hash)
245
+ return nil unless hash
246
+
247
+ # Extract variables from the hash.
248
+ account_id = hash.key?('account_id') ? hash['account_id'] : nil
249
+ account_number =
250
+ hash.key?('account_number') ? hash['account_number'] : nil
251
+ disbursement_dates =
252
+ hash.key?('disbursement_dates') ? hash['disbursement_dates'] : nil
253
+ expected_payoff_date =
254
+ hash.key?('expected_payoff_date') ? hash['expected_payoff_date'] : nil
255
+ guarantor = hash.key?('guarantor') ? hash['guarantor'] : nil
256
+ interest_rate_percentage =
257
+ hash.key?('interest_rate_percentage') ? hash['interest_rate_percentage'] : nil
258
+ is_overdue = hash.key?('is_overdue') ? hash['is_overdue'] : nil
259
+ last_payment_amount =
260
+ hash.key?('last_payment_amount') ? hash['last_payment_amount'] : nil
261
+ last_payment_date =
262
+ hash.key?('last_payment_date') ? hash['last_payment_date'] : nil
263
+ last_statement_issue_date =
264
+ hash.key?('last_statement_issue_date') ? hash['last_statement_issue_date'] : nil
265
+ loan_name = hash.key?('loan_name') ? hash['loan_name'] : nil
266
+ loan_status = StudentLoanStatus.from_hash(hash['loan_status']) if hash['loan_status']
267
+ minimum_payment_amount =
268
+ hash.key?('minimum_payment_amount') ? hash['minimum_payment_amount'] : nil
269
+ next_payment_due_date =
270
+ hash.key?('next_payment_due_date') ? hash['next_payment_due_date'] : nil
271
+ origination_date =
272
+ hash.key?('origination_date') ? hash['origination_date'] : nil
273
+ origination_principal_amount =
274
+ hash.key?('origination_principal_amount') ? hash['origination_principal_amount'] : nil
275
+ outstanding_interest_amount =
276
+ hash.key?('outstanding_interest_amount') ? hash['outstanding_interest_amount'] : nil
277
+ payment_reference_number =
278
+ hash.key?('payment_reference_number') ? hash['payment_reference_number'] : nil
279
+ pslf_status = PslfStatus.from_hash(hash['pslf_status']) if hash['pslf_status']
280
+ repayment_plan = StudentRepaymentPlan.from_hash(hash['repayment_plan']) if
281
+ hash['repayment_plan']
282
+ sequence_number =
283
+ hash.key?('sequence_number') ? hash['sequence_number'] : nil
284
+ servicer_address = ServicerAddressData.from_hash(hash['servicer_address']) if
285
+ hash['servicer_address']
286
+ ytd_interest_paid =
287
+ hash.key?('ytd_interest_paid') ? hash['ytd_interest_paid'] : nil
288
+ ytd_principal_paid =
289
+ hash.key?('ytd_principal_paid') ? hash['ytd_principal_paid'] : nil
290
+
291
+ # Create a new hash for additional properties, removing known properties.
292
+ new_hash = hash.reject { |k, _| names.value?(k) }
293
+
294
+ additional_properties = APIHelper.get_additional_properties(
295
+ new_hash, proc { |value| value }
296
+ )
297
+
298
+ # Create object from extracted values.
299
+ StudentLoan.new(account_id: account_id,
300
+ account_number: account_number,
301
+ disbursement_dates: disbursement_dates,
302
+ expected_payoff_date: expected_payoff_date,
303
+ guarantor: guarantor,
304
+ interest_rate_percentage: interest_rate_percentage,
305
+ is_overdue: is_overdue,
306
+ last_payment_amount: last_payment_amount,
307
+ last_payment_date: last_payment_date,
308
+ last_statement_issue_date: last_statement_issue_date,
309
+ loan_name: loan_name,
310
+ loan_status: loan_status,
311
+ minimum_payment_amount: minimum_payment_amount,
312
+ next_payment_due_date: next_payment_due_date,
313
+ origination_date: origination_date,
314
+ origination_principal_amount: origination_principal_amount,
315
+ outstanding_interest_amount: outstanding_interest_amount,
316
+ payment_reference_number: payment_reference_number,
317
+ pslf_status: pslf_status,
318
+ repayment_plan: repayment_plan,
319
+ sequence_number: sequence_number,
320
+ servicer_address: servicer_address,
321
+ ytd_interest_paid: ytd_interest_paid,
322
+ ytd_principal_paid: ytd_principal_paid,
323
+ additional_properties: additional_properties)
324
+ end
325
+
326
+ # Provides a human-readable string representation of the object.
327
+ def to_s
328
+ class_name = self.class.name.split('::').last
329
+ "<#{class_name} account_id: #{@account_id}, account_number: #{@account_number},"\
330
+ " disbursement_dates: #{@disbursement_dates}, expected_payoff_date:"\
331
+ " #{@expected_payoff_date}, guarantor: #{@guarantor}, interest_rate_percentage:"\
332
+ " #{@interest_rate_percentage}, is_overdue: #{@is_overdue}, last_payment_amount:"\
333
+ " #{@last_payment_amount}, last_payment_date: #{@last_payment_date},"\
334
+ " last_statement_issue_date: #{@last_statement_issue_date}, loan_name: #{@loan_name},"\
335
+ " loan_status: #{@loan_status}, minimum_payment_amount: #{@minimum_payment_amount},"\
336
+ " next_payment_due_date: #{@next_payment_due_date}, origination_date: #{@origination_date},"\
337
+ " origination_principal_amount: #{@origination_principal_amount},"\
338
+ " outstanding_interest_amount: #{@outstanding_interest_amount}, payment_reference_number:"\
339
+ " #{@payment_reference_number}, pslf_status: #{@pslf_status}, repayment_plan:"\
340
+ " #{@repayment_plan}, sequence_number: #{@sequence_number}, servicer_address:"\
341
+ " #{@servicer_address}, ytd_interest_paid: #{@ytd_interest_paid}, ytd_principal_paid:"\
342
+ " #{@ytd_principal_paid}, additional_properties: #{@additional_properties}>"
343
+ end
344
+
345
+ # Provides a debugging-friendly string with detailed object information.
346
+ def inspect
347
+ class_name = self.class.name.split('::').last
348
+ "<#{class_name} account_id: #{@account_id.inspect}, account_number:"\
349
+ " #{@account_number.inspect}, disbursement_dates: #{@disbursement_dates.inspect},"\
350
+ " expected_payoff_date: #{@expected_payoff_date.inspect}, guarantor: #{@guarantor.inspect},"\
351
+ " interest_rate_percentage: #{@interest_rate_percentage.inspect}, is_overdue:"\
352
+ " #{@is_overdue.inspect}, last_payment_amount: #{@last_payment_amount.inspect},"\
353
+ " last_payment_date: #{@last_payment_date.inspect}, last_statement_issue_date:"\
354
+ " #{@last_statement_issue_date.inspect}, loan_name: #{@loan_name.inspect}, loan_status:"\
355
+ " #{@loan_status.inspect}, minimum_payment_amount: #{@minimum_payment_amount.inspect},"\
356
+ " next_payment_due_date: #{@next_payment_due_date.inspect}, origination_date:"\
357
+ " #{@origination_date.inspect}, origination_principal_amount:"\
358
+ " #{@origination_principal_amount.inspect}, outstanding_interest_amount:"\
359
+ " #{@outstanding_interest_amount.inspect}, payment_reference_number:"\
360
+ " #{@payment_reference_number.inspect}, pslf_status: #{@pslf_status.inspect},"\
361
+ " repayment_plan: #{@repayment_plan.inspect}, sequence_number: #{@sequence_number.inspect},"\
362
+ " servicer_address: #{@servicer_address.inspect}, ytd_interest_paid:"\
363
+ " #{@ytd_interest_paid.inspect}, ytd_principal_paid: #{@ytd_principal_paid.inspect},"\
364
+ " additional_properties: #{@additional_properties}>"
365
+ end
366
+ end
367
+ end
@@ -0,0 +1,95 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Student loan repayment information used to configure Sandbox test data for
8
+ # the Liabilities product
9
+ class StudentLoanRepaymentModel < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The only currently supported value for this field is `standard`.
14
+ # @return [String]
15
+ attr_accessor :type
16
+
17
+ # Configures the number of months before repayment starts.
18
+ # @return [Float]
19
+ attr_accessor :non_repayment_months
20
+
21
+ # Configures the number of months of repayments before the loan is paid off.
22
+ # @return [Float]
23
+ attr_accessor :repayment_months
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['type'] = 'type'
29
+ @_hash['non_repayment_months'] = 'non_repayment_months'
30
+ @_hash['repayment_months'] = 'repayment_months'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ []
37
+ end
38
+
39
+ # An array for nullable fields
40
+ def self.nullables
41
+ []
42
+ end
43
+
44
+ def initialize(type:, non_repayment_months:, repayment_months:,
45
+ additional_properties: nil)
46
+ # Add additional model properties to the instance
47
+ additional_properties = {} if additional_properties.nil?
48
+
49
+ @type = type
50
+ @non_repayment_months = non_repayment_months
51
+ @repayment_months = repayment_months
52
+ @additional_properties = additional_properties
53
+ end
54
+
55
+ # Creates an instance of the object from a hash.
56
+ def self.from_hash(hash)
57
+ return nil unless hash
58
+
59
+ # Extract variables from the hash.
60
+ type = hash.key?('type') ? hash['type'] : nil
61
+ non_repayment_months =
62
+ hash.key?('non_repayment_months') ? hash['non_repayment_months'] : nil
63
+ repayment_months =
64
+ hash.key?('repayment_months') ? hash['repayment_months'] : nil
65
+
66
+ # Create a new hash for additional properties, removing known properties.
67
+ new_hash = hash.reject { |k, _| names.value?(k) }
68
+
69
+ additional_properties = APIHelper.get_additional_properties(
70
+ new_hash, proc { |value| value }
71
+ )
72
+
73
+ # Create object from extracted values.
74
+ StudentLoanRepaymentModel.new(type: type,
75
+ non_repayment_months: non_repayment_months,
76
+ repayment_months: repayment_months,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} type: #{@type}, non_repayment_months: #{@non_repayment_months},"\
84
+ " repayment_months: #{@repayment_months}, additional_properties: #{@additional_properties}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} type: #{@type.inspect}, non_repayment_months:"\
91
+ " #{@non_repayment_months.inspect}, repayment_months: #{@repayment_months.inspect},"\
92
+ " additional_properties: #{@additional_properties}>"
93
+ end
94
+ end
95
+ end