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,346 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # W2 is an object that represents income data taken from a W2 tax document.
8
+ class W2 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Employer2]
14
+ attr_accessor :employer
15
+
16
+ # Data about the employee.
17
+ # @return [Employee]
18
+ attr_accessor :employee
19
+
20
+ # The tax year of the W2 document.
21
+ # @return [String]
22
+ attr_accessor :tax_year
23
+
24
+ # An employee identification number or EIN.
25
+ # @return [String]
26
+ attr_accessor :employer_id_number
27
+
28
+ # Wages from tips and other compensation.
29
+ # @return [String]
30
+ attr_accessor :wages_tips_other_comp
31
+
32
+ # Federal income tax withheld for the tax year.
33
+ # @return [String]
34
+ attr_accessor :federal_income_tax_withheld
35
+
36
+ # Wages from social security.
37
+ # @return [String]
38
+ attr_accessor :social_security_wages
39
+
40
+ # Social security tax withheld for the tax year.
41
+ # @return [String]
42
+ attr_accessor :social_security_tax_withheld
43
+
44
+ # Wages and tips from medicare.
45
+ # @return [String]
46
+ attr_accessor :medicare_wages_and_tips
47
+
48
+ # Medicare tax withheld for the tax year.
49
+ # @return [String]
50
+ attr_accessor :medicare_tax_withheld
51
+
52
+ # Tips from social security.
53
+ # @return [String]
54
+ attr_accessor :social_security_tips
55
+
56
+ # Allocated tips.
57
+ # @return [String]
58
+ attr_accessor :allocated_tips
59
+
60
+ # Contents from box 9 on the W2.
61
+ # @return [String]
62
+ attr_accessor :box_9
63
+
64
+ # Dependent care benefits.
65
+ # @return [String]
66
+ attr_accessor :dependent_care_benefits
67
+
68
+ # Nonqualified plans.
69
+ # @return [String]
70
+ attr_accessor :nonqualified_plans
71
+
72
+ # Nonqualified plans.
73
+ # @return [Array[W2Box12]]
74
+ attr_accessor :box_12
75
+
76
+ # Statutory employee.
77
+ # @return [String]
78
+ attr_accessor :statutory_employee
79
+
80
+ # Retirement plan.
81
+ # @return [String]
82
+ attr_accessor :retirement_plan
83
+
84
+ # Third party sick pay.
85
+ # @return [String]
86
+ attr_accessor :third_party_sick_pay
87
+
88
+ # Other.
89
+ # @return [String]
90
+ attr_accessor :other
91
+
92
+ # Other.
93
+ # @return [Array[W2StateAndLocalWages]]
94
+ attr_accessor :state_and_local_wages
95
+
96
+ # A mapping from model property names to API property names.
97
+ def self.names
98
+ @_hash = {} if @_hash.nil?
99
+ @_hash['employer'] = 'employer'
100
+ @_hash['employee'] = 'employee'
101
+ @_hash['tax_year'] = 'tax_year'
102
+ @_hash['employer_id_number'] = 'employer_id_number'
103
+ @_hash['wages_tips_other_comp'] = 'wages_tips_other_comp'
104
+ @_hash['federal_income_tax_withheld'] = 'federal_income_tax_withheld'
105
+ @_hash['social_security_wages'] = 'social_security_wages'
106
+ @_hash['social_security_tax_withheld'] = 'social_security_tax_withheld'
107
+ @_hash['medicare_wages_and_tips'] = 'medicare_wages_and_tips'
108
+ @_hash['medicare_tax_withheld'] = 'medicare_tax_withheld'
109
+ @_hash['social_security_tips'] = 'social_security_tips'
110
+ @_hash['allocated_tips'] = 'allocated_tips'
111
+ @_hash['box_9'] = 'box_9'
112
+ @_hash['dependent_care_benefits'] = 'dependent_care_benefits'
113
+ @_hash['nonqualified_plans'] = 'nonqualified_plans'
114
+ @_hash['box_12'] = 'box_12'
115
+ @_hash['statutory_employee'] = 'statutory_employee'
116
+ @_hash['retirement_plan'] = 'retirement_plan'
117
+ @_hash['third_party_sick_pay'] = 'third_party_sick_pay'
118
+ @_hash['other'] = 'other'
119
+ @_hash['state_and_local_wages'] = 'state_and_local_wages'
120
+ @_hash
121
+ end
122
+
123
+ # An array for optional fields
124
+ def self.optionals
125
+ %w[
126
+ employer
127
+ employee
128
+ tax_year
129
+ employer_id_number
130
+ wages_tips_other_comp
131
+ federal_income_tax_withheld
132
+ social_security_wages
133
+ social_security_tax_withheld
134
+ medicare_wages_and_tips
135
+ medicare_tax_withheld
136
+ social_security_tips
137
+ allocated_tips
138
+ box_9
139
+ dependent_care_benefits
140
+ nonqualified_plans
141
+ box_12
142
+ statutory_employee
143
+ retirement_plan
144
+ third_party_sick_pay
145
+ other
146
+ state_and_local_wages
147
+ ]
148
+ end
149
+
150
+ # An array for nullable fields
151
+ def self.nullables
152
+ %w[
153
+ tax_year
154
+ employer_id_number
155
+ wages_tips_other_comp
156
+ federal_income_tax_withheld
157
+ social_security_wages
158
+ social_security_tax_withheld
159
+ medicare_wages_and_tips
160
+ medicare_tax_withheld
161
+ social_security_tips
162
+ allocated_tips
163
+ box_9
164
+ dependent_care_benefits
165
+ nonqualified_plans
166
+ statutory_employee
167
+ retirement_plan
168
+ third_party_sick_pay
169
+ other
170
+ ]
171
+ end
172
+
173
+ def initialize(employer: SKIP, employee: SKIP, tax_year: SKIP,
174
+ employer_id_number: SKIP, wages_tips_other_comp: SKIP,
175
+ federal_income_tax_withheld: SKIP,
176
+ social_security_wages: SKIP,
177
+ social_security_tax_withheld: SKIP,
178
+ medicare_wages_and_tips: SKIP, medicare_tax_withheld: SKIP,
179
+ social_security_tips: SKIP, allocated_tips: SKIP,
180
+ box_9: SKIP, dependent_care_benefits: SKIP,
181
+ nonqualified_plans: SKIP, box_12: SKIP,
182
+ statutory_employee: SKIP, retirement_plan: SKIP,
183
+ third_party_sick_pay: SKIP, other: SKIP,
184
+ state_and_local_wages: SKIP, additional_properties: nil)
185
+ # Add additional model properties to the instance
186
+ additional_properties = {} if additional_properties.nil?
187
+
188
+ @employer = employer unless employer == SKIP
189
+ @employee = employee unless employee == SKIP
190
+ @tax_year = tax_year unless tax_year == SKIP
191
+ @employer_id_number = employer_id_number unless employer_id_number == SKIP
192
+ @wages_tips_other_comp = wages_tips_other_comp unless wages_tips_other_comp == SKIP
193
+ unless federal_income_tax_withheld == SKIP
194
+ @federal_income_tax_withheld =
195
+ federal_income_tax_withheld
196
+ end
197
+ @social_security_wages = social_security_wages unless social_security_wages == SKIP
198
+ unless social_security_tax_withheld == SKIP
199
+ @social_security_tax_withheld =
200
+ social_security_tax_withheld
201
+ end
202
+ @medicare_wages_and_tips = medicare_wages_and_tips unless medicare_wages_and_tips == SKIP
203
+ @medicare_tax_withheld = medicare_tax_withheld unless medicare_tax_withheld == SKIP
204
+ @social_security_tips = social_security_tips unless social_security_tips == SKIP
205
+ @allocated_tips = allocated_tips unless allocated_tips == SKIP
206
+ @box_9 = box_9 unless box_9 == SKIP
207
+ @dependent_care_benefits = dependent_care_benefits unless dependent_care_benefits == SKIP
208
+ @nonqualified_plans = nonqualified_plans unless nonqualified_plans == SKIP
209
+ @box_12 = box_12 unless box_12 == SKIP
210
+ @statutory_employee = statutory_employee unless statutory_employee == SKIP
211
+ @retirement_plan = retirement_plan unless retirement_plan == SKIP
212
+ @third_party_sick_pay = third_party_sick_pay unless third_party_sick_pay == SKIP
213
+ @other = other unless other == SKIP
214
+ @state_and_local_wages = state_and_local_wages unless state_and_local_wages == SKIP
215
+ @additional_properties = additional_properties
216
+ end
217
+
218
+ # Creates an instance of the object from a hash.
219
+ def self.from_hash(hash)
220
+ return nil unless hash
221
+
222
+ # Extract variables from the hash.
223
+ employer = Employer2.from_hash(hash['employer']) if hash['employer']
224
+ employee = Employee.from_hash(hash['employee']) if hash['employee']
225
+ tax_year = hash.key?('tax_year') ? hash['tax_year'] : SKIP
226
+ employer_id_number =
227
+ hash.key?('employer_id_number') ? hash['employer_id_number'] : SKIP
228
+ wages_tips_other_comp =
229
+ hash.key?('wages_tips_other_comp') ? hash['wages_tips_other_comp'] : SKIP
230
+ federal_income_tax_withheld =
231
+ hash.key?('federal_income_tax_withheld') ? hash['federal_income_tax_withheld'] : SKIP
232
+ social_security_wages =
233
+ hash.key?('social_security_wages') ? hash['social_security_wages'] : SKIP
234
+ social_security_tax_withheld =
235
+ hash.key?('social_security_tax_withheld') ? hash['social_security_tax_withheld'] : SKIP
236
+ medicare_wages_and_tips =
237
+ hash.key?('medicare_wages_and_tips') ? hash['medicare_wages_and_tips'] : SKIP
238
+ medicare_tax_withheld =
239
+ hash.key?('medicare_tax_withheld') ? hash['medicare_tax_withheld'] : SKIP
240
+ social_security_tips =
241
+ hash.key?('social_security_tips') ? hash['social_security_tips'] : SKIP
242
+ allocated_tips =
243
+ hash.key?('allocated_tips') ? hash['allocated_tips'] : SKIP
244
+ box_9 = hash.key?('box_9') ? hash['box_9'] : SKIP
245
+ dependent_care_benefits =
246
+ hash.key?('dependent_care_benefits') ? hash['dependent_care_benefits'] : SKIP
247
+ nonqualified_plans =
248
+ hash.key?('nonqualified_plans') ? hash['nonqualified_plans'] : SKIP
249
+ # Parameter is an array, so we need to iterate through it
250
+ box_12 = nil
251
+ unless hash['box_12'].nil?
252
+ box_12 = []
253
+ hash['box_12'].each do |structure|
254
+ box_12 << (W2Box12.from_hash(structure) if structure)
255
+ end
256
+ end
257
+
258
+ box_12 = SKIP unless hash.key?('box_12')
259
+ statutory_employee =
260
+ hash.key?('statutory_employee') ? hash['statutory_employee'] : SKIP
261
+ retirement_plan =
262
+ hash.key?('retirement_plan') ? hash['retirement_plan'] : SKIP
263
+ third_party_sick_pay =
264
+ hash.key?('third_party_sick_pay') ? hash['third_party_sick_pay'] : SKIP
265
+ other = hash.key?('other') ? hash['other'] : SKIP
266
+ # Parameter is an array, so we need to iterate through it
267
+ state_and_local_wages = nil
268
+ unless hash['state_and_local_wages'].nil?
269
+ state_and_local_wages = []
270
+ hash['state_and_local_wages'].each do |structure|
271
+ state_and_local_wages << (W2StateAndLocalWages.from_hash(structure) if structure)
272
+ end
273
+ end
274
+
275
+ state_and_local_wages = SKIP unless hash.key?('state_and_local_wages')
276
+
277
+ # Create a new hash for additional properties, removing known properties.
278
+ new_hash = hash.reject { |k, _| names.value?(k) }
279
+
280
+ additional_properties = APIHelper.get_additional_properties(
281
+ new_hash, proc { |value| value }
282
+ )
283
+
284
+ # Create object from extracted values.
285
+ W2.new(employer: employer,
286
+ employee: employee,
287
+ tax_year: tax_year,
288
+ employer_id_number: employer_id_number,
289
+ wages_tips_other_comp: wages_tips_other_comp,
290
+ federal_income_tax_withheld: federal_income_tax_withheld,
291
+ social_security_wages: social_security_wages,
292
+ social_security_tax_withheld: social_security_tax_withheld,
293
+ medicare_wages_and_tips: medicare_wages_and_tips,
294
+ medicare_tax_withheld: medicare_tax_withheld,
295
+ social_security_tips: social_security_tips,
296
+ allocated_tips: allocated_tips,
297
+ box_9: box_9,
298
+ dependent_care_benefits: dependent_care_benefits,
299
+ nonqualified_plans: nonqualified_plans,
300
+ box_12: box_12,
301
+ statutory_employee: statutory_employee,
302
+ retirement_plan: retirement_plan,
303
+ third_party_sick_pay: third_party_sick_pay,
304
+ other: other,
305
+ state_and_local_wages: state_and_local_wages,
306
+ additional_properties: additional_properties)
307
+ end
308
+
309
+ # Provides a human-readable string representation of the object.
310
+ def to_s
311
+ class_name = self.class.name.split('::').last
312
+ "<#{class_name} employer: #{@employer}, employee: #{@employee}, tax_year: #{@tax_year},"\
313
+ " employer_id_number: #{@employer_id_number}, wages_tips_other_comp:"\
314
+ " #{@wages_tips_other_comp}, federal_income_tax_withheld: #{@federal_income_tax_withheld},"\
315
+ " social_security_wages: #{@social_security_wages}, social_security_tax_withheld:"\
316
+ " #{@social_security_tax_withheld}, medicare_wages_and_tips: #{@medicare_wages_and_tips},"\
317
+ " medicare_tax_withheld: #{@medicare_tax_withheld}, social_security_tips:"\
318
+ " #{@social_security_tips}, allocated_tips: #{@allocated_tips}, box_9: #{@box_9},"\
319
+ " dependent_care_benefits: #{@dependent_care_benefits}, nonqualified_plans:"\
320
+ " #{@nonqualified_plans}, box_12: #{@box_12}, statutory_employee: #{@statutory_employee},"\
321
+ " retirement_plan: #{@retirement_plan}, third_party_sick_pay: #{@third_party_sick_pay},"\
322
+ " other: #{@other}, state_and_local_wages: #{@state_and_local_wages}, additional_properties:"\
323
+ " #{@additional_properties}>"
324
+ end
325
+
326
+ # Provides a debugging-friendly string with detailed object information.
327
+ def inspect
328
+ class_name = self.class.name.split('::').last
329
+ "<#{class_name} employer: #{@employer.inspect}, employee: #{@employee.inspect}, tax_year:"\
330
+ " #{@tax_year.inspect}, employer_id_number: #{@employer_id_number.inspect},"\
331
+ " wages_tips_other_comp: #{@wages_tips_other_comp.inspect}, federal_income_tax_withheld:"\
332
+ " #{@federal_income_tax_withheld.inspect}, social_security_wages:"\
333
+ " #{@social_security_wages.inspect}, social_security_tax_withheld:"\
334
+ " #{@social_security_tax_withheld.inspect}, medicare_wages_and_tips:"\
335
+ " #{@medicare_wages_and_tips.inspect}, medicare_tax_withheld:"\
336
+ " #{@medicare_tax_withheld.inspect}, social_security_tips: #{@social_security_tips.inspect},"\
337
+ " allocated_tips: #{@allocated_tips.inspect}, box_9: #{@box_9.inspect},"\
338
+ " dependent_care_benefits: #{@dependent_care_benefits.inspect}, nonqualified_plans:"\
339
+ " #{@nonqualified_plans.inspect}, box_12: #{@box_12.inspect}, statutory_employee:"\
340
+ " #{@statutory_employee.inspect}, retirement_plan: #{@retirement_plan.inspect},"\
341
+ " third_party_sick_pay: #{@third_party_sick_pay.inspect}, other: #{@other.inspect},"\
342
+ " state_and_local_wages: #{@state_and_local_wages.inspect}, additional_properties:"\
343
+ " #{@additional_properties}>"
344
+ end
345
+ end
346
+ end
@@ -0,0 +1,88 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # W2Box12 Model.
8
+ class W2Box12 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # W2 Box 12 code.
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # W2 Box 12 amount.
17
+ # @return [String]
18
+ attr_accessor :amount
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['code'] = 'code'
24
+ @_hash['amount'] = 'amount'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ code
32
+ amount
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ %w[
39
+ code
40
+ amount
41
+ ]
42
+ end
43
+
44
+ def initialize(code: SKIP, amount: SKIP, additional_properties: nil)
45
+ # Add additional model properties to the instance
46
+ additional_properties = {} if additional_properties.nil?
47
+
48
+ @code = code unless code == SKIP
49
+ @amount = amount unless amount == SKIP
50
+ @additional_properties = additional_properties
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ code = hash.key?('code') ? hash['code'] : SKIP
59
+ amount = hash.key?('amount') ? hash['amount'] : SKIP
60
+
61
+ # Create a new hash for additional properties, removing known properties.
62
+ new_hash = hash.reject { |k, _| names.value?(k) }
63
+
64
+ additional_properties = APIHelper.get_additional_properties(
65
+ new_hash, proc { |value| value }
66
+ )
67
+
68
+ # Create object from extracted values.
69
+ W2Box12.new(code: code,
70
+ amount: amount,
71
+ additional_properties: additional_properties)
72
+ end
73
+
74
+ # Provides a human-readable string representation of the object.
75
+ def to_s
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} code: #{@code}, amount: #{@amount}, additional_properties:"\
78
+ " #{@additional_properties}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} code: #{@code.inspect}, amount: #{@amount.inspect}, additional_properties:"\
85
+ " #{@additional_properties}>"
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,152 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # W2StateAndLocalWages Model.
8
+ class W2StateAndLocalWages < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # State associated with the wage.
13
+ # @return [String]
14
+ attr_accessor :state
15
+
16
+ # State identification number of the employer.
17
+ # @return [String]
18
+ attr_accessor :employer_state_id_number
19
+
20
+ # Wages and tips from the specified state.
21
+ # @return [String]
22
+ attr_accessor :state_wages_tips
23
+
24
+ # Income tax from the specified state.
25
+ # @return [String]
26
+ attr_accessor :state_income_tax
27
+
28
+ # Wages and tips from the locality.
29
+ # @return [String]
30
+ attr_accessor :local_wages_tips
31
+
32
+ # Income tax from the locality.
33
+ # @return [String]
34
+ attr_accessor :local_income_tax
35
+
36
+ # Name of the locality.
37
+ # @return [String]
38
+ attr_accessor :locality_name
39
+
40
+ # A mapping from model property names to API property names.
41
+ def self.names
42
+ @_hash = {} if @_hash.nil?
43
+ @_hash['state'] = 'state'
44
+ @_hash['employer_state_id_number'] = 'employer_state_id_number'
45
+ @_hash['state_wages_tips'] = 'state_wages_tips'
46
+ @_hash['state_income_tax'] = 'state_income_tax'
47
+ @_hash['local_wages_tips'] = 'local_wages_tips'
48
+ @_hash['local_income_tax'] = 'local_income_tax'
49
+ @_hash['locality_name'] = 'locality_name'
50
+ @_hash
51
+ end
52
+
53
+ # An array for optional fields
54
+ def self.optionals
55
+ %w[
56
+ state
57
+ employer_state_id_number
58
+ state_wages_tips
59
+ state_income_tax
60
+ local_wages_tips
61
+ local_income_tax
62
+ locality_name
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ %w[
69
+ state
70
+ employer_state_id_number
71
+ state_wages_tips
72
+ state_income_tax
73
+ local_wages_tips
74
+ local_income_tax
75
+ locality_name
76
+ ]
77
+ end
78
+
79
+ def initialize(state: SKIP, employer_state_id_number: SKIP,
80
+ state_wages_tips: SKIP, state_income_tax: SKIP,
81
+ local_wages_tips: SKIP, local_income_tax: SKIP,
82
+ locality_name: SKIP, additional_properties: nil)
83
+ # Add additional model properties to the instance
84
+ additional_properties = {} if additional_properties.nil?
85
+
86
+ @state = state unless state == SKIP
87
+ @employer_state_id_number = employer_state_id_number unless employer_state_id_number == SKIP
88
+ @state_wages_tips = state_wages_tips unless state_wages_tips == SKIP
89
+ @state_income_tax = state_income_tax unless state_income_tax == SKIP
90
+ @local_wages_tips = local_wages_tips unless local_wages_tips == SKIP
91
+ @local_income_tax = local_income_tax unless local_income_tax == SKIP
92
+ @locality_name = locality_name unless locality_name == SKIP
93
+ @additional_properties = additional_properties
94
+ end
95
+
96
+ # Creates an instance of the object from a hash.
97
+ def self.from_hash(hash)
98
+ return nil unless hash
99
+
100
+ # Extract variables from the hash.
101
+ state = hash.key?('state') ? hash['state'] : SKIP
102
+ employer_state_id_number =
103
+ hash.key?('employer_state_id_number') ? hash['employer_state_id_number'] : SKIP
104
+ state_wages_tips =
105
+ hash.key?('state_wages_tips') ? hash['state_wages_tips'] : SKIP
106
+ state_income_tax =
107
+ hash.key?('state_income_tax') ? hash['state_income_tax'] : SKIP
108
+ local_wages_tips =
109
+ hash.key?('local_wages_tips') ? hash['local_wages_tips'] : SKIP
110
+ local_income_tax =
111
+ hash.key?('local_income_tax') ? hash['local_income_tax'] : SKIP
112
+ locality_name = hash.key?('locality_name') ? hash['locality_name'] : SKIP
113
+
114
+ # Create a new hash for additional properties, removing known properties.
115
+ new_hash = hash.reject { |k, _| names.value?(k) }
116
+
117
+ additional_properties = APIHelper.get_additional_properties(
118
+ new_hash, proc { |value| value }
119
+ )
120
+
121
+ # Create object from extracted values.
122
+ W2StateAndLocalWages.new(state: state,
123
+ employer_state_id_number: employer_state_id_number,
124
+ state_wages_tips: state_wages_tips,
125
+ state_income_tax: state_income_tax,
126
+ local_wages_tips: local_wages_tips,
127
+ local_income_tax: local_income_tax,
128
+ locality_name: locality_name,
129
+ additional_properties: additional_properties)
130
+ end
131
+
132
+ # Provides a human-readable string representation of the object.
133
+ def to_s
134
+ class_name = self.class.name.split('::').last
135
+ "<#{class_name} state: #{@state}, employer_state_id_number: #{@employer_state_id_number},"\
136
+ " state_wages_tips: #{@state_wages_tips}, state_income_tax: #{@state_income_tax},"\
137
+ " local_wages_tips: #{@local_wages_tips}, local_income_tax: #{@local_income_tax},"\
138
+ " locality_name: #{@locality_name}, additional_properties: #{@additional_properties}>"
139
+ end
140
+
141
+ # Provides a debugging-friendly string with detailed object information.
142
+ def inspect
143
+ class_name = self.class.name.split('::').last
144
+ "<#{class_name} state: #{@state.inspect}, employer_state_id_number:"\
145
+ " #{@employer_state_id_number.inspect}, state_wages_tips: #{@state_wages_tips.inspect},"\
146
+ " state_income_tax: #{@state_income_tax.inspect}, local_wages_tips:"\
147
+ " #{@local_wages_tips.inspect}, local_income_tax: #{@local_income_tax.inspect},"\
148
+ " locality_name: #{@locality_name.inspect}, additional_properties:"\
149
+ " #{@additional_properties}>"
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,98 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # It is possible for an Asset Report to be returned with missing account owner
8
+ # information. In such cases, the Asset Report will contain warning data in
9
+ # the response, indicating why obtaining the owner information failed.
10
+ class Warning < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # The warning type, which will always be `ASSET_REPORT_WARNING`
15
+ # @return [String]
16
+ attr_accessor :warning_type
17
+
18
+ # The warning code identifies a specific kind of warning. Currently, the
19
+ # only possible warning code is `OWNERS_UNAVAILABLE`, which indicates that
20
+ # account-owner information is not available.
21
+ # @return [String]
22
+ attr_accessor :warning_code
23
+
24
+ # An error object and associated `item_id` used to identify a specific Item
25
+ # and error when a batch operation operating on multiple Items has
26
+ # encountered an error in one of the Items.
27
+ # @return [Cause]
28
+ attr_accessor :cause
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['warning_type'] = 'warning_type'
34
+ @_hash['warning_code'] = 'warning_code'
35
+ @_hash['cause'] = 'cause'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ []
42
+ end
43
+
44
+ # An array for nullable fields
45
+ def self.nullables
46
+ []
47
+ end
48
+
49
+ def initialize(warning_type:, warning_code:, cause:,
50
+ additional_properties: nil)
51
+ # Add additional model properties to the instance
52
+ additional_properties = {} if additional_properties.nil?
53
+
54
+ @warning_type = warning_type
55
+ @warning_code = warning_code
56
+ @cause = cause
57
+ @additional_properties = additional_properties
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ warning_type = hash.key?('warning_type') ? hash['warning_type'] : nil
66
+ warning_code = hash.key?('warning_code') ? hash['warning_code'] : nil
67
+ cause = Cause.from_hash(hash['cause']) if hash['cause']
68
+
69
+ # Create a new hash for additional properties, removing known properties.
70
+ new_hash = hash.reject { |k, _| names.value?(k) }
71
+
72
+ additional_properties = APIHelper.get_additional_properties(
73
+ new_hash, proc { |value| value }
74
+ )
75
+
76
+ # Create object from extracted values.
77
+ Warning.new(warning_type: warning_type,
78
+ warning_code: warning_code,
79
+ cause: cause,
80
+ additional_properties: additional_properties)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} warning_type: #{@warning_type}, warning_code: #{@warning_code}, cause:"\
87
+ " #{@cause}, additional_properties: #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} warning_type: #{@warning_type.inspect}, warning_code:"\
94
+ " #{@warning_code.inspect}, cause: #{@cause.inspect}, additional_properties:"\
95
+ " #{@additional_properties}>"
96
+ end
97
+ end
98
+ end