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,110 @@
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 both the current pay period and year to date amount
8
+ # for a category.
9
+ class Total < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Commonly used term to describe the line item.
14
+ # @return [CanonicalDescription]
15
+ attr_accessor :canonical_description
16
+
17
+ # Text of the line item as printed on the paystub.
18
+ # @return [String]
19
+ attr_accessor :description
20
+
21
+ # An object representing a monetary amount.
22
+ # @return [Pay]
23
+ attr_accessor :current_pay
24
+
25
+ # An object representing a monetary amount.
26
+ # @return [Pay]
27
+ attr_accessor :ytd_pay
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['canonical_description'] = 'canonical_description'
33
+ @_hash['description'] = 'description'
34
+ @_hash['current_pay'] = 'current_pay'
35
+ @_hash['ytd_pay'] = 'ytd_pay'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ canonical_description
43
+ description
44
+ current_pay
45
+ ytd_pay
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ %w[
52
+ description
53
+ ]
54
+ end
55
+
56
+ def initialize(canonical_description: SKIP, description: SKIP,
57
+ current_pay: SKIP, ytd_pay: SKIP, additional_properties: nil)
58
+ # Add additional model properties to the instance
59
+ additional_properties = {} if additional_properties.nil?
60
+
61
+ @canonical_description = canonical_description unless canonical_description == SKIP
62
+ @description = description unless description == SKIP
63
+ @current_pay = current_pay unless current_pay == SKIP
64
+ @ytd_pay = ytd_pay unless ytd_pay == SKIP
65
+ @additional_properties = additional_properties
66
+ end
67
+
68
+ # Creates an instance of the object from a hash.
69
+ def self.from_hash(hash)
70
+ return nil unless hash
71
+
72
+ # Extract variables from the hash.
73
+ canonical_description =
74
+ hash.key?('canonical_description') ? hash['canonical_description'] : SKIP
75
+ description = hash.key?('description') ? hash['description'] : SKIP
76
+ current_pay = Pay.from_hash(hash['current_pay']) if hash['current_pay']
77
+ ytd_pay = Pay.from_hash(hash['ytd_pay']) if hash['ytd_pay']
78
+
79
+ # Create a new hash for additional properties, removing known properties.
80
+ new_hash = hash.reject { |k, _| names.value?(k) }
81
+
82
+ additional_properties = APIHelper.get_additional_properties(
83
+ new_hash, proc { |value| value }
84
+ )
85
+
86
+ # Create object from extracted values.
87
+ Total.new(canonical_description: canonical_description,
88
+ description: description,
89
+ current_pay: current_pay,
90
+ ytd_pay: ytd_pay,
91
+ additional_properties: additional_properties)
92
+ end
93
+
94
+ # Provides a human-readable string representation of the object.
95
+ def to_s
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} canonical_description: #{@canonical_description}, description:"\
98
+ " #{@description}, current_pay: #{@current_pay}, ytd_pay: #{@ytd_pay},"\
99
+ " additional_properties: #{@additional_properties}>"
100
+ end
101
+
102
+ # Provides a debugging-friendly string with detailed object information.
103
+ def inspect
104
+ class_name = self.class.name.split('::').last
105
+ "<#{class_name} canonical_description: #{@canonical_description.inspect}, description:"\
106
+ " #{@description.inspect}, current_pay: #{@current_pay.inspect}, ytd_pay:"\
107
+ " #{@ytd_pay.inspect}, additional_properties: #{@additional_properties}>"
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,426 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Plaid
8
+ # A representation of a transaction
9
+ class Transaction < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Please use the `payment_channel` field, `transaction_type` will be
14
+ # deprecated in the future.
15
+ # `digital:` transactions that took place online.
16
+ # `place:` transactions that were made at a physical location.
17
+ # `special:` transactions that relate to banks, e.g. fees or deposits.
18
+ # `unresolved:` transactions that do not fit into the other three types.
19
+ # @return [TransactionType]
20
+ attr_accessor :transaction_type
21
+
22
+ # The ID of a posted transaction's associated pending transaction, where
23
+ # applicable.
24
+ # @return [String]
25
+ attr_accessor :pending_transaction_id
26
+
27
+ # The ID of the category to which this transaction belongs. See
28
+ # [Categories](https://plaid.com/docs/#category-overview).
29
+ # If the `transactions` object was returned by an Assets endpoint such as
30
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
31
+ # appear in an Asset Report with Insights.
32
+ # @return [String]
33
+ attr_accessor :category_id
34
+
35
+ # A hierarchical array of the categories to which this transaction belongs.
36
+ # See [Categories](https://plaid.com/docs/#category-overview).
37
+ # If the `transactions` object was returned by an Assets endpoint such as
38
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
39
+ # appear in an Asset Report with Insights.
40
+ # @return [Array[String]]
41
+ attr_accessor :category
42
+
43
+ # A representation of where a transaction took place
44
+ # @return [TransactionLocation]
45
+ attr_accessor :location
46
+
47
+ # Transaction information specific to inter-bank transfers. If the
48
+ # transaction was not an inter-bank transfer, all fields will be `null`.
49
+ # If the `transactions` object was returned by a Transactions endpoint such
50
+ # as `/transactions/get`, the `payment_meta` key will always appear, but no
51
+ # data elements are guaranteed. If the `transactions` object was returned by
52
+ # an Assets endpoint such as `/asset_report/get/` or
53
+ # `/asset_report/pdf/get`, this field will only appear in an Asset Report
54
+ # with Insights.
55
+ # @return [PaymentMeta]
56
+ attr_accessor :payment_meta
57
+
58
+ # The name of the account owner. This field is not typically populated and
59
+ # only relevant when dealing with sub-accounts.
60
+ # @return [String]
61
+ attr_accessor :account_owner
62
+
63
+ # The merchant name or transaction description.
64
+ # If the `transactions` object was returned by a Transactions endpoint such
65
+ # as `/transactions/get`, this field will always appear. If the
66
+ # `transactions` object was returned by an Assets endpoint such as
67
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
68
+ # appear in an Asset Report with Insights.
69
+ # @return [String]
70
+ attr_accessor :name
71
+
72
+ # The string returned by the financial institution to describe the
73
+ # transaction. For transactions returned by `/transactions/get`, this field
74
+ # is in beta and will be omitted unless the client is both enrolled in the
75
+ # closed beta program and has set `options.include_original_description` to
76
+ # `true`.
77
+ # @return [String]
78
+ attr_accessor :original_description
79
+
80
+ # The ID of the account in which this transaction occurred.
81
+ # @return [String]
82
+ attr_accessor :account_id
83
+
84
+ # The settled value of the transaction, denominated in the account's
85
+ # currency, as stated in `iso_currency_code` or `unofficial_currency_code`.
86
+ # Positive values when money moves out of the account; negative values when
87
+ # money moves in. For example, debit card purchases are positive; credit
88
+ # card payments, direct deposits, and refunds are negative.
89
+ # @return [Float]
90
+ attr_accessor :amount
91
+
92
+ # The ISO-4217 currency code of the transaction. Always `null` if
93
+ # `unofficial_currency_code` is non-null.
94
+ # @return [String]
95
+ attr_accessor :iso_currency_code
96
+
97
+ # The unofficial currency code associated with the transaction. Always
98
+ # `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are
99
+ # used for currencies that do not have official ISO currency codes, such as
100
+ # cryptocurrencies and the currencies of certain countries.
101
+ # See the [currency code
102
+ # schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a
103
+ # full listing of supported `iso_currency_code`s.
104
+ # @return [String]
105
+ attr_accessor :unofficial_currency_code
106
+
107
+ # For pending transactions, the date that the transaction occurred; for
108
+ # posted transactions, the date that the transaction posted. Both dates are
109
+ # returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (
110
+ # `YYYY-MM-DD` ).
111
+ # @return [Date]
112
+ attr_accessor :date
113
+
114
+ # When `true`, identifies the transaction as pending or unsettled. Pending
115
+ # transaction details (name, type, amount, category ID) may change before
116
+ # they are settled.
117
+ # @return [TrueClass | FalseClass]
118
+ attr_accessor :pending
119
+
120
+ # The unique ID of the transaction. Like all Plaid identifiers, the
121
+ # `transaction_id` is case sensitive.
122
+ # @return [String]
123
+ attr_accessor :transaction_id
124
+
125
+ # The channel used to make a payment.
126
+ # `online:` transactions that took place online.
127
+ # `in store:` transactions that were made at a physical location.
128
+ # `other:` transactions that relate to banks, e.g. fees or deposits.
129
+ # This field replaces the `transaction_type` field.
130
+ # @return [PaymentChannel]
131
+ attr_accessor :payment_channel
132
+
133
+ # The merchant name, as extracted by Plaid from the `name` field.
134
+ # @return [String]
135
+ attr_accessor :merchant_name
136
+
137
+ # The date that the transaction was authorized. Dates are returned in an
138
+ # [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).
139
+ # @return [Date]
140
+ attr_accessor :authorized_date
141
+
142
+ # Date and time when a transaction was authorized in [ISO
143
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ`
144
+ # ).
145
+ # This field is only populated for UK institutions. For institutions in
146
+ # other countries, will be `null`.
147
+ # @return [DateTime]
148
+ attr_accessor :authorized_datetime
149
+
150
+ # Date and time when a transaction was posted in [ISO
151
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ`
152
+ # ).
153
+ # This field is only populated for UK institutions. For institutions in
154
+ # other countries, will be `null`.
155
+ # @return [DateTime]
156
+ attr_accessor :datetime
157
+
158
+ # The check number of the transaction. This field is only populated for
159
+ # check transactions.
160
+ # @return [String]
161
+ attr_accessor :check_number
162
+
163
+ # An identifier classifying the transaction type.
164
+ # This field is only populated for European institutions. For institutions
165
+ # in the US and Canada, this field is set to `null`.
166
+ # `adjustment:` Bank adjustment
167
+ # `atm:` Cash deposit or withdrawal via an automated teller machine
168
+ # `bank charge:` Charge or fee levied by the institution
169
+ # `bill payment`: Payment of a bill
170
+ # `cash:` Cash deposit or withdrawal
171
+ # `cashback:` Cash withdrawal while making a debit card purchase
172
+ # `cheque:` Document ordering the payment of money to another person or
173
+ # organization
174
+ # `direct debit:` Automatic withdrawal of funds initiated by a third party
175
+ # at a regular interval
176
+ # `interest:` Interest earned or incurred
177
+ # `purchase:` Purchase made with a debit or credit card
178
+ # `standing order:` Payment instructed by the account holder to a third
179
+ # party at a regular interval
180
+ # `transfer:` Transfer of money between accounts
181
+ # @return [TransactionCode]
182
+ attr_accessor :transaction_code
183
+
184
+ # An identifier classifying the transaction type.
185
+ # This field is only populated for European institutions. For institutions
186
+ # in the US and Canada, this field is set to `null`.
187
+ # `adjustment:` Bank adjustment
188
+ # `atm:` Cash deposit or withdrawal via an automated teller machine
189
+ # `bank charge:` Charge or fee levied by the institution
190
+ # `bill payment`: Payment of a bill
191
+ # `cash:` Cash deposit or withdrawal
192
+ # `cashback:` Cash withdrawal while making a debit card purchase
193
+ # `cheque:` Document ordering the payment of money to another person or
194
+ # organization
195
+ # `direct debit:` Automatic withdrawal of funds initiated by a third party
196
+ # at a regular interval
197
+ # `interest:` Interest earned or incurred
198
+ # `purchase:` Purchase made with a debit or credit card
199
+ # `standing order:` Payment instructed by the account holder to a third
200
+ # party at a regular interval
201
+ # `transfer:` Transfer of money between accounts
202
+ # @return [PersonalFinanceCategory2]
203
+ attr_accessor :personal_finance_category
204
+
205
+ # A mapping from model property names to API property names.
206
+ def self.names
207
+ @_hash = {} if @_hash.nil?
208
+ @_hash['transaction_type'] = 'transaction_type'
209
+ @_hash['pending_transaction_id'] = 'pending_transaction_id'
210
+ @_hash['category_id'] = 'category_id'
211
+ @_hash['category'] = 'category'
212
+ @_hash['location'] = 'location'
213
+ @_hash['payment_meta'] = 'payment_meta'
214
+ @_hash['account_owner'] = 'account_owner'
215
+ @_hash['name'] = 'name'
216
+ @_hash['original_description'] = 'original_description'
217
+ @_hash['account_id'] = 'account_id'
218
+ @_hash['amount'] = 'amount'
219
+ @_hash['iso_currency_code'] = 'iso_currency_code'
220
+ @_hash['unofficial_currency_code'] = 'unofficial_currency_code'
221
+ @_hash['date'] = 'date'
222
+ @_hash['pending'] = 'pending'
223
+ @_hash['transaction_id'] = 'transaction_id'
224
+ @_hash['payment_channel'] = 'payment_channel'
225
+ @_hash['merchant_name'] = 'merchant_name'
226
+ @_hash['authorized_date'] = 'authorized_date'
227
+ @_hash['authorized_datetime'] = 'authorized_datetime'
228
+ @_hash['datetime'] = 'datetime'
229
+ @_hash['check_number'] = 'check_number'
230
+ @_hash['transaction_code'] = 'transaction_code'
231
+ @_hash['personal_finance_category'] = 'personal_finance_category'
232
+ @_hash
233
+ end
234
+
235
+ # An array for optional fields
236
+ def self.optionals
237
+ %w[
238
+ transaction_type
239
+ original_description
240
+ personal_finance_category
241
+ ]
242
+ end
243
+
244
+ # An array for nullable fields
245
+ def self.nullables
246
+ %w[
247
+ pending_transaction_id
248
+ category_id
249
+ category
250
+ account_owner
251
+ original_description
252
+ iso_currency_code
253
+ unofficial_currency_code
254
+ merchant_name
255
+ authorized_date
256
+ authorized_datetime
257
+ datetime
258
+ check_number
259
+ ]
260
+ end
261
+
262
+ def initialize(pending_transaction_id:, category_id:, category:, location:,
263
+ payment_meta:, account_owner:, name:, account_id:, amount:,
264
+ iso_currency_code:, unofficial_currency_code:, date:,
265
+ pending:, transaction_id:, payment_channel:, merchant_name:,
266
+ authorized_date:, authorized_datetime:, datetime:,
267
+ check_number:, transaction_code:, transaction_type: SKIP,
268
+ original_description: SKIP, personal_finance_category: SKIP,
269
+ additional_properties: nil)
270
+ # Add additional model properties to the instance
271
+ additional_properties = {} if additional_properties.nil?
272
+
273
+ @transaction_type = transaction_type unless transaction_type == SKIP
274
+ @pending_transaction_id = pending_transaction_id
275
+ @category_id = category_id
276
+ @category = category
277
+ @location = location
278
+ @payment_meta = payment_meta
279
+ @account_owner = account_owner
280
+ @name = name
281
+ @original_description = original_description unless original_description == SKIP
282
+ @account_id = account_id
283
+ @amount = amount
284
+ @iso_currency_code = iso_currency_code
285
+ @unofficial_currency_code = unofficial_currency_code
286
+ @date = date
287
+ @pending = pending
288
+ @transaction_id = transaction_id
289
+ @payment_channel = payment_channel
290
+ @merchant_name = merchant_name
291
+ @authorized_date = authorized_date
292
+ @authorized_datetime = authorized_datetime
293
+ @datetime = datetime
294
+ @check_number = check_number
295
+ @transaction_code = transaction_code
296
+ unless personal_finance_category == SKIP
297
+ @personal_finance_category =
298
+ personal_finance_category
299
+ end
300
+ @additional_properties = additional_properties
301
+ end
302
+
303
+ # Creates an instance of the object from a hash.
304
+ def self.from_hash(hash)
305
+ return nil unless hash
306
+
307
+ # Extract variables from the hash.
308
+ pending_transaction_id =
309
+ hash.key?('pending_transaction_id') ? hash['pending_transaction_id'] : nil
310
+ category_id = hash.key?('category_id') ? hash['category_id'] : nil
311
+ category = hash.key?('category') ? hash['category'] : nil
312
+ location = TransactionLocation.from_hash(hash['location']) if hash['location']
313
+ payment_meta = PaymentMeta.from_hash(hash['payment_meta']) if hash['payment_meta']
314
+ account_owner = hash.key?('account_owner') ? hash['account_owner'] : nil
315
+ name = hash.key?('name') ? hash['name'] : nil
316
+ account_id = hash.key?('account_id') ? hash['account_id'] : nil
317
+ amount = hash.key?('amount') ? hash['amount'] : nil
318
+ iso_currency_code =
319
+ hash.key?('iso_currency_code') ? hash['iso_currency_code'] : nil
320
+ unofficial_currency_code =
321
+ hash.key?('unofficial_currency_code') ? hash['unofficial_currency_code'] : nil
322
+ date = hash.key?('date') ? hash['date'] : nil
323
+ pending = hash.key?('pending') ? hash['pending'] : nil
324
+ transaction_id =
325
+ hash.key?('transaction_id') ? hash['transaction_id'] : nil
326
+ payment_channel =
327
+ hash.key?('payment_channel') ? hash['payment_channel'] : nil
328
+ merchant_name = hash.key?('merchant_name') ? hash['merchant_name'] : nil
329
+ authorized_date =
330
+ hash.key?('authorized_date') ? hash['authorized_date'] : nil
331
+ authorized_datetime = if hash.key?('authorized_datetime')
332
+ (DateTimeHelper.from_rfc3339(hash['authorized_datetime']) if hash['authorized_datetime'])
333
+ end
334
+ datetime = if hash.key?('datetime')
335
+ (DateTimeHelper.from_rfc3339(hash['datetime']) if hash['datetime'])
336
+ end
337
+ check_number = hash.key?('check_number') ? hash['check_number'] : nil
338
+ transaction_code =
339
+ hash.key?('transaction_code') ? hash['transaction_code'] : nil
340
+ transaction_type =
341
+ hash.key?('transaction_type') ? hash['transaction_type'] : SKIP
342
+ original_description =
343
+ hash.key?('original_description') ? hash['original_description'] : SKIP
344
+ if hash['personal_finance_category']
345
+ personal_finance_category = PersonalFinanceCategory2.from_hash(hash['personal_finance_category'])
346
+ end
347
+
348
+ # Create a new hash for additional properties, removing known properties.
349
+ new_hash = hash.reject { |k, _| names.value?(k) }
350
+
351
+ additional_properties = APIHelper.get_additional_properties(
352
+ new_hash, proc { |value| value }
353
+ )
354
+
355
+ # Create object from extracted values.
356
+ Transaction.new(pending_transaction_id: pending_transaction_id,
357
+ category_id: category_id,
358
+ category: category,
359
+ location: location,
360
+ payment_meta: payment_meta,
361
+ account_owner: account_owner,
362
+ name: name,
363
+ account_id: account_id,
364
+ amount: amount,
365
+ iso_currency_code: iso_currency_code,
366
+ unofficial_currency_code: unofficial_currency_code,
367
+ date: date,
368
+ pending: pending,
369
+ transaction_id: transaction_id,
370
+ payment_channel: payment_channel,
371
+ merchant_name: merchant_name,
372
+ authorized_date: authorized_date,
373
+ authorized_datetime: authorized_datetime,
374
+ datetime: datetime,
375
+ check_number: check_number,
376
+ transaction_code: transaction_code,
377
+ transaction_type: transaction_type,
378
+ original_description: original_description,
379
+ personal_finance_category: personal_finance_category,
380
+ additional_properties: additional_properties)
381
+ end
382
+
383
+ def to_custom_authorized_datetime
384
+ DateTimeHelper.to_rfc3339(authorized_datetime)
385
+ end
386
+
387
+ def to_custom_datetime
388
+ DateTimeHelper.to_rfc3339(datetime)
389
+ end
390
+
391
+ # Provides a human-readable string representation of the object.
392
+ def to_s
393
+ class_name = self.class.name.split('::').last
394
+ "<#{class_name} transaction_type: #{@transaction_type}, pending_transaction_id:"\
395
+ " #{@pending_transaction_id}, category_id: #{@category_id}, category: #{@category},"\
396
+ " location: #{@location}, payment_meta: #{@payment_meta}, account_owner: #{@account_owner},"\
397
+ " name: #{@name}, original_description: #{@original_description}, account_id:"\
398
+ " #{@account_id}, amount: #{@amount}, iso_currency_code: #{@iso_currency_code},"\
399
+ " unofficial_currency_code: #{@unofficial_currency_code}, date: #{@date}, pending:"\
400
+ " #{@pending}, transaction_id: #{@transaction_id}, payment_channel: #{@payment_channel},"\
401
+ " merchant_name: #{@merchant_name}, authorized_date: #{@authorized_date},"\
402
+ " authorized_datetime: #{@authorized_datetime}, datetime: #{@datetime}, check_number:"\
403
+ " #{@check_number}, transaction_code: #{@transaction_code}, personal_finance_category:"\
404
+ " #{@personal_finance_category}, additional_properties: #{@additional_properties}>"
405
+ end
406
+
407
+ # Provides a debugging-friendly string with detailed object information.
408
+ def inspect
409
+ class_name = self.class.name.split('::').last
410
+ "<#{class_name} transaction_type: #{@transaction_type.inspect}, pending_transaction_id:"\
411
+ " #{@pending_transaction_id.inspect}, category_id: #{@category_id.inspect}, category:"\
412
+ " #{@category.inspect}, location: #{@location.inspect}, payment_meta:"\
413
+ " #{@payment_meta.inspect}, account_owner: #{@account_owner.inspect}, name:"\
414
+ " #{@name.inspect}, original_description: #{@original_description.inspect}, account_id:"\
415
+ " #{@account_id.inspect}, amount: #{@amount.inspect}, iso_currency_code:"\
416
+ " #{@iso_currency_code.inspect}, unofficial_currency_code:"\
417
+ " #{@unofficial_currency_code.inspect}, date: #{@date.inspect}, pending:"\
418
+ " #{@pending.inspect}, transaction_id: #{@transaction_id.inspect}, payment_channel:"\
419
+ " #{@payment_channel.inspect}, merchant_name: #{@merchant_name.inspect}, authorized_date:"\
420
+ " #{@authorized_date.inspect}, authorized_datetime: #{@authorized_datetime.inspect},"\
421
+ " datetime: #{@datetime.inspect}, check_number: #{@check_number.inspect}, transaction_code:"\
422
+ " #{@transaction_code.inspect}, personal_finance_category:"\
423
+ " #{@personal_finance_category.inspect}, additional_properties: #{@additional_properties}>"
424
+ end
425
+ end
426
+ end