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,186 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # An object representing data extracted from the end user's paystub.
8
+ class Paystub < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An object with the deduction information found on a paystub.
13
+ # @return [Deductions]
14
+ attr_accessor :deductions
15
+
16
+ # An identifier of the document referenced by the document metadata.
17
+ # @return [String]
18
+ attr_accessor :doc_id
19
+
20
+ # An object representing both a breakdown of earnings on a paystub and the
21
+ # total earnings.
22
+ # @return [Earnings]
23
+ attr_accessor :earnings
24
+
25
+ # An object representing both a breakdown of earnings on a paystub and the
26
+ # total earnings.
27
+ # @return [Employer2]
28
+ attr_accessor :employer
29
+
30
+ # Data about the employee.
31
+ # @return [Employee]
32
+ attr_accessor :employee
33
+
34
+ # An object representing employment details found on a paystub.
35
+ # @return [EmploymentDetails]
36
+ attr_accessor :employment_details
37
+
38
+ # An object representing information about the net pay amount on the
39
+ # paystub.
40
+ # @return [NetPay]
41
+ attr_accessor :net_pay
42
+
43
+ # Details about the pay period.
44
+ # @return [PayPeriodDetails]
45
+ attr_accessor :pay_period_details
46
+
47
+ # An object representing details that can be found on the paystub.
48
+ # @return [PaystubDetails]
49
+ attr_accessor :paystub_details
50
+
51
+ # An object representing details that can be found on the paystub.
52
+ # @return [Array[IncomeBreakdown]]
53
+ attr_accessor :income_breakdown
54
+
55
+ # The amount of income earned year to date, as based on paystub data.
56
+ # @return [PaystubYtdDetails]
57
+ attr_accessor :ytd_earnings
58
+
59
+ # A mapping from model property names to API property names.
60
+ def self.names
61
+ @_hash = {} if @_hash.nil?
62
+ @_hash['deductions'] = 'deductions'
63
+ @_hash['doc_id'] = 'doc_id'
64
+ @_hash['earnings'] = 'earnings'
65
+ @_hash['employer'] = 'employer'
66
+ @_hash['employee'] = 'employee'
67
+ @_hash['employment_details'] = 'employment_details'
68
+ @_hash['net_pay'] = 'net_pay'
69
+ @_hash['pay_period_details'] = 'pay_period_details'
70
+ @_hash['paystub_details'] = 'paystub_details'
71
+ @_hash['income_breakdown'] = 'income_breakdown'
72
+ @_hash['ytd_earnings'] = 'ytd_earnings'
73
+ @_hash
74
+ end
75
+
76
+ # An array for optional fields
77
+ def self.optionals
78
+ %w[
79
+ deductions
80
+ doc_id
81
+ earnings
82
+ employment_details
83
+ net_pay
84
+ paystub_details
85
+ ]
86
+ end
87
+
88
+ # An array for nullable fields
89
+ def self.nullables
90
+ []
91
+ end
92
+
93
+ def initialize(employer:, employee:, pay_period_details:, income_breakdown:,
94
+ ytd_earnings:, deductions: SKIP, doc_id: SKIP,
95
+ earnings: SKIP, employment_details: SKIP, net_pay: SKIP,
96
+ paystub_details: SKIP, additional_properties: nil)
97
+ # Add additional model properties to the instance
98
+ additional_properties = {} if additional_properties.nil?
99
+
100
+ @deductions = deductions unless deductions == SKIP
101
+ @doc_id = doc_id unless doc_id == SKIP
102
+ @earnings = earnings unless earnings == SKIP
103
+ @employer = employer
104
+ @employee = employee
105
+ @employment_details = employment_details unless employment_details == SKIP
106
+ @net_pay = net_pay unless net_pay == SKIP
107
+ @pay_period_details = pay_period_details
108
+ @paystub_details = paystub_details unless paystub_details == SKIP
109
+ @income_breakdown = income_breakdown
110
+ @ytd_earnings = ytd_earnings
111
+ @additional_properties = additional_properties
112
+ end
113
+
114
+ # Creates an instance of the object from a hash.
115
+ def self.from_hash(hash)
116
+ return nil unless hash
117
+
118
+ # Extract variables from the hash.
119
+ employer = Employer2.from_hash(hash['employer']) if hash['employer']
120
+ employee = Employee.from_hash(hash['employee']) if hash['employee']
121
+ pay_period_details = PayPeriodDetails.from_hash(hash['pay_period_details']) if
122
+ hash['pay_period_details']
123
+ # Parameter is an array, so we need to iterate through it
124
+ income_breakdown = nil
125
+ unless hash['income_breakdown'].nil?
126
+ income_breakdown = []
127
+ hash['income_breakdown'].each do |structure|
128
+ income_breakdown << (IncomeBreakdown.from_hash(structure) if structure)
129
+ end
130
+ end
131
+
132
+ income_breakdown = nil unless hash.key?('income_breakdown')
133
+ ytd_earnings = PaystubYtdDetails.from_hash(hash['ytd_earnings']) if hash['ytd_earnings']
134
+ deductions = Deductions.from_hash(hash['deductions']) if hash['deductions']
135
+ doc_id = hash.key?('doc_id') ? hash['doc_id'] : SKIP
136
+ earnings = Earnings.from_hash(hash['earnings']) if hash['earnings']
137
+ employment_details = EmploymentDetails.from_hash(hash['employment_details']) if
138
+ hash['employment_details']
139
+ net_pay = NetPay.from_hash(hash['net_pay']) if hash['net_pay']
140
+ paystub_details = PaystubDetails.from_hash(hash['paystub_details']) if
141
+ hash['paystub_details']
142
+
143
+ # Create a new hash for additional properties, removing known properties.
144
+ new_hash = hash.reject { |k, _| names.value?(k) }
145
+
146
+ additional_properties = APIHelper.get_additional_properties(
147
+ new_hash, proc { |value| value }
148
+ )
149
+
150
+ # Create object from extracted values.
151
+ Paystub.new(employer: employer,
152
+ employee: employee,
153
+ pay_period_details: pay_period_details,
154
+ income_breakdown: income_breakdown,
155
+ ytd_earnings: ytd_earnings,
156
+ deductions: deductions,
157
+ doc_id: doc_id,
158
+ earnings: earnings,
159
+ employment_details: employment_details,
160
+ net_pay: net_pay,
161
+ paystub_details: paystub_details,
162
+ additional_properties: additional_properties)
163
+ end
164
+
165
+ # Provides a human-readable string representation of the object.
166
+ def to_s
167
+ class_name = self.class.name.split('::').last
168
+ "<#{class_name} deductions: #{@deductions}, doc_id: #{@doc_id}, earnings: #{@earnings},"\
169
+ " employer: #{@employer}, employee: #{@employee}, employment_details:"\
170
+ " #{@employment_details}, net_pay: #{@net_pay}, pay_period_details: #{@pay_period_details},"\
171
+ " paystub_details: #{@paystub_details}, income_breakdown: #{@income_breakdown},"\
172
+ " ytd_earnings: #{@ytd_earnings}, additional_properties: #{@additional_properties}>"
173
+ end
174
+
175
+ # Provides a debugging-friendly string with detailed object information.
176
+ def inspect
177
+ class_name = self.class.name.split('::').last
178
+ "<#{class_name} deductions: #{@deductions.inspect}, doc_id: #{@doc_id.inspect}, earnings:"\
179
+ " #{@earnings.inspect}, employer: #{@employer.inspect}, employee: #{@employee.inspect},"\
180
+ " employment_details: #{@employment_details.inspect}, net_pay: #{@net_pay.inspect},"\
181
+ " pay_period_details: #{@pay_period_details.inspect}, paystub_details:"\
182
+ " #{@paystub_details.inspect}, income_breakdown: #{@income_breakdown.inspect}, ytd_earnings:"\
183
+ " #{@ytd_earnings.inspect}, additional_properties: #{@additional_properties}>"
184
+ end
185
+ end
186
+ 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
+ # PaystubDeduction Model.
8
+ class PaystubDeduction < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The description of the deduction, as provided on the paystub. For example:
13
+ # `"401(k)"`, `"FICA MED TAX"`.
14
+ # @return [String]
15
+ attr_accessor :type
16
+
17
+ # `true` if the deduction is pre-tax; `false` otherwise.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :is_pretax
20
+
21
+ # The amount of the deduction.
22
+ # @return [Float]
23
+ attr_accessor :total
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['is_pretax'] = 'is_pretax'
30
+ @_hash['total'] = 'total'
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
+ %w[
42
+ type
43
+ is_pretax
44
+ total
45
+ ]
46
+ end
47
+
48
+ def initialize(type:, is_pretax:, total:, additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @type = type
53
+ @is_pretax = is_pretax
54
+ @total = total
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ type = hash.key?('type') ? hash['type'] : nil
64
+ is_pretax = hash.key?('is_pretax') ? hash['is_pretax'] : nil
65
+ total = hash.key?('total') ? hash['total'] : nil
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ PaystubDeduction.new(type: type,
76
+ is_pretax: is_pretax,
77
+ total: total,
78
+ additional_properties: additional_properties)
79
+ end
80
+
81
+ # Provides a human-readable string representation of the object.
82
+ def to_s
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} type: #{@type}, is_pretax: #{@is_pretax}, total: #{@total},"\
85
+ " additional_properties: #{@additional_properties}>"
86
+ end
87
+
88
+ # Provides a debugging-friendly string with detailed object information.
89
+ def inspect
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} type: #{@type.inspect}, is_pretax: #{@is_pretax.inspect}, total:"\
92
+ " #{@total.inspect}, additional_properties: #{@additional_properties}>"
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,127 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # An object representing details that can be found on the paystub.
8
+ class PaystubDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Beginning date of the pay period on the paystub in the 'YYYY-MM-DD'
13
+ # format.
14
+ # @return [Date]
15
+ attr_accessor :pay_period_start_date
16
+
17
+ # Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format.
18
+ # @return [Date]
19
+ attr_accessor :pay_period_end_date
20
+
21
+ # Pay date on the paystub in the 'YYYY-MM-DD' format.
22
+ # @return [Date]
23
+ attr_accessor :pay_date
24
+
25
+ # The name of the payroll provider that generated the paystub, e.g. ADP
26
+ # @return [String]
27
+ attr_accessor :paystub_provider
28
+
29
+ # The frequency at which the employee is paid. Possible values: `MONTHLY`,
30
+ # `BI-WEEKLY`, `WEEKLY`, `SEMI-MONTHLY`.
31
+ # @return [PayFrequency1]
32
+ attr_accessor :pay_frequency
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['pay_period_start_date'] = 'pay_period_start_date'
38
+ @_hash['pay_period_end_date'] = 'pay_period_end_date'
39
+ @_hash['pay_date'] = 'pay_date'
40
+ @_hash['paystub_provider'] = 'paystub_provider'
41
+ @_hash['pay_frequency'] = 'pay_frequency'
42
+ @_hash
43
+ end
44
+
45
+ # An array for optional fields
46
+ def self.optionals
47
+ %w[
48
+ pay_period_start_date
49
+ pay_period_end_date
50
+ pay_date
51
+ paystub_provider
52
+ pay_frequency
53
+ ]
54
+ end
55
+
56
+ # An array for nullable fields
57
+ def self.nullables
58
+ %w[
59
+ pay_period_start_date
60
+ pay_period_end_date
61
+ pay_date
62
+ paystub_provider
63
+ ]
64
+ end
65
+
66
+ def initialize(pay_period_start_date: SKIP, pay_period_end_date: SKIP,
67
+ pay_date: SKIP, paystub_provider: SKIP, pay_frequency: SKIP,
68
+ additional_properties: nil)
69
+ # Add additional model properties to the instance
70
+ additional_properties = {} if additional_properties.nil?
71
+
72
+ @pay_period_start_date = pay_period_start_date unless pay_period_start_date == SKIP
73
+ @pay_period_end_date = pay_period_end_date unless pay_period_end_date == SKIP
74
+ @pay_date = pay_date unless pay_date == SKIP
75
+ @paystub_provider = paystub_provider unless paystub_provider == SKIP
76
+ @pay_frequency = pay_frequency unless pay_frequency == SKIP
77
+ @additional_properties = additional_properties
78
+ end
79
+
80
+ # Creates an instance of the object from a hash.
81
+ def self.from_hash(hash)
82
+ return nil unless hash
83
+
84
+ # Extract variables from the hash.
85
+ pay_period_start_date =
86
+ hash.key?('pay_period_start_date') ? hash['pay_period_start_date'] : SKIP
87
+ pay_period_end_date =
88
+ hash.key?('pay_period_end_date') ? hash['pay_period_end_date'] : SKIP
89
+ pay_date = hash.key?('pay_date') ? hash['pay_date'] : SKIP
90
+ paystub_provider =
91
+ hash.key?('paystub_provider') ? hash['paystub_provider'] : SKIP
92
+ pay_frequency = hash.key?('pay_frequency') ? hash['pay_frequency'] : SKIP
93
+
94
+ # Create a new hash for additional properties, removing known properties.
95
+ new_hash = hash.reject { |k, _| names.value?(k) }
96
+
97
+ additional_properties = APIHelper.get_additional_properties(
98
+ new_hash, proc { |value| value }
99
+ )
100
+
101
+ # Create object from extracted values.
102
+ PaystubDetails.new(pay_period_start_date: pay_period_start_date,
103
+ pay_period_end_date: pay_period_end_date,
104
+ pay_date: pay_date,
105
+ paystub_provider: paystub_provider,
106
+ pay_frequency: pay_frequency,
107
+ additional_properties: additional_properties)
108
+ end
109
+
110
+ # Provides a human-readable string representation of the object.
111
+ def to_s
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} pay_period_start_date: #{@pay_period_start_date}, pay_period_end_date:"\
114
+ " #{@pay_period_end_date}, pay_date: #{@pay_date}, paystub_provider: #{@paystub_provider},"\
115
+ " pay_frequency: #{@pay_frequency}, additional_properties: #{@additional_properties}>"
116
+ end
117
+
118
+ # Provides a debugging-friendly string with detailed object information.
119
+ def inspect
120
+ class_name = self.class.name.split('::').last
121
+ "<#{class_name} pay_period_start_date: #{@pay_period_start_date.inspect},"\
122
+ " pay_period_end_date: #{@pay_period_end_date.inspect}, pay_date: #{@pay_date.inspect},"\
123
+ " paystub_provider: #{@paystub_provider.inspect}, pay_frequency: #{@pay_frequency.inspect},"\
124
+ " additional_properties: #{@additional_properties}>"
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,116 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # An object representing data from a paystub.
8
+ class PaystubOverride < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The employer on the paystub.
13
+ # @return [Employer3]
14
+ attr_accessor :employer
15
+
16
+ # The employee on the paystub.
17
+ # @return [Employee2]
18
+ attr_accessor :employee
19
+
20
+ # The employee on the paystub.
21
+ # @return [Array[IncomeBreakdown]]
22
+ attr_accessor :income_breakdown
23
+
24
+ # Details about the pay period.
25
+ # @return [PayPeriodDetails]
26
+ attr_accessor :pay_period_details
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['employer'] = 'employer'
32
+ @_hash['employee'] = 'employee'
33
+ @_hash['income_breakdown'] = 'income_breakdown'
34
+ @_hash['pay_period_details'] = 'pay_period_details'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ employer
42
+ employee
43
+ income_breakdown
44
+ pay_period_details
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(employer: SKIP, employee: SKIP, income_breakdown: SKIP,
54
+ pay_period_details: SKIP, additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @employer = employer unless employer == SKIP
59
+ @employee = employee unless employee == SKIP
60
+ @income_breakdown = income_breakdown unless income_breakdown == SKIP
61
+ @pay_period_details = pay_period_details unless pay_period_details == SKIP
62
+ @additional_properties = additional_properties
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ employer = Employer3.from_hash(hash['employer']) if hash['employer']
71
+ employee = Employee2.from_hash(hash['employee']) if hash['employee']
72
+ # Parameter is an array, so we need to iterate through it
73
+ income_breakdown = nil
74
+ unless hash['income_breakdown'].nil?
75
+ income_breakdown = []
76
+ hash['income_breakdown'].each do |structure|
77
+ income_breakdown << (IncomeBreakdown.from_hash(structure) if structure)
78
+ end
79
+ end
80
+
81
+ income_breakdown = SKIP unless hash.key?('income_breakdown')
82
+ pay_period_details = PayPeriodDetails.from_hash(hash['pay_period_details']) if
83
+ hash['pay_period_details']
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ PaystubOverride.new(employer: employer,
94
+ employee: employee,
95
+ income_breakdown: income_breakdown,
96
+ pay_period_details: pay_period_details,
97
+ additional_properties: additional_properties)
98
+ end
99
+
100
+ # Provides a human-readable string representation of the object.
101
+ def to_s
102
+ class_name = self.class.name.split('::').last
103
+ "<#{class_name} employer: #{@employer}, employee: #{@employee}, income_breakdown:"\
104
+ " #{@income_breakdown}, pay_period_details: #{@pay_period_details}, additional_properties:"\
105
+ " #{@additional_properties}>"
106
+ end
107
+
108
+ # Provides a debugging-friendly string with detailed object information.
109
+ def inspect
110
+ class_name = self.class.name.split('::').last
111
+ "<#{class_name} employer: #{@employer.inspect}, employee: #{@employee.inspect},"\
112
+ " income_breakdown: #{@income_breakdown.inspect}, pay_period_details:"\
113
+ " #{@pay_period_details.inspect}, additional_properties: #{@additional_properties}>"
114
+ end
115
+ end
116
+ end
@@ -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
+ # The amount of income earned year to date, as based on paystub data.
8
+ class PaystubYtdDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Year-to-date gross earnings.
13
+ # @return [Float]
14
+ attr_accessor :gross_earnings
15
+
16
+ # Year-to-date net (take home) earnings.
17
+ # @return [Float]
18
+ attr_accessor :net_earnings
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['gross_earnings'] = 'gross_earnings'
24
+ @_hash['net_earnings'] = 'net_earnings'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ gross_earnings
32
+ net_earnings
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ %w[
39
+ gross_earnings
40
+ net_earnings
41
+ ]
42
+ end
43
+
44
+ def initialize(gross_earnings: SKIP, net_earnings: SKIP,
45
+ additional_properties: nil)
46
+ # Add additional model properties to the instance
47
+ additional_properties = {} if additional_properties.nil?
48
+
49
+ @gross_earnings = gross_earnings unless gross_earnings == SKIP
50
+ @net_earnings = net_earnings unless net_earnings == SKIP
51
+ @additional_properties = additional_properties
52
+ end
53
+
54
+ # Creates an instance of the object from a hash.
55
+ def self.from_hash(hash)
56
+ return nil unless hash
57
+
58
+ # Extract variables from the hash.
59
+ gross_earnings =
60
+ hash.key?('gross_earnings') ? hash['gross_earnings'] : SKIP
61
+ net_earnings = hash.key?('net_earnings') ? hash['net_earnings'] : SKIP
62
+
63
+ # Create a new hash for additional properties, removing known properties.
64
+ new_hash = hash.reject { |k, _| names.value?(k) }
65
+
66
+ additional_properties = APIHelper.get_additional_properties(
67
+ new_hash, proc { |value| value }
68
+ )
69
+
70
+ # Create object from extracted values.
71
+ PaystubYtdDetails.new(gross_earnings: gross_earnings,
72
+ net_earnings: net_earnings,
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} gross_earnings: #{@gross_earnings}, net_earnings: #{@net_earnings},"\
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} gross_earnings: #{@gross_earnings.inspect}, net_earnings:"\
87
+ " #{@net_earnings.inspect}, additional_properties: #{@additional_properties}>"
88
+ end
89
+ end
90
+ end