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,285 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # A representation of a transaction
8
+ class TransactionBase < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Please use the `payment_channel` field, `transaction_type` will be
13
+ # deprecated in the future.
14
+ # `digital:` transactions that took place online.
15
+ # `place:` transactions that were made at a physical location.
16
+ # `special:` transactions that relate to banks, e.g. fees or deposits.
17
+ # `unresolved:` transactions that do not fit into the other three types.
18
+ # @return [TransactionType]
19
+ attr_accessor :transaction_type
20
+
21
+ # The ID of a posted transaction's associated pending transaction, where
22
+ # applicable.
23
+ # @return [String]
24
+ attr_accessor :pending_transaction_id
25
+
26
+ # The ID of the category to which this transaction belongs. See
27
+ # [Categories](https://plaid.com/docs/#category-overview).
28
+ # If the `transactions` object was returned by an Assets endpoint such as
29
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
30
+ # appear in an Asset Report with Insights.
31
+ # @return [String]
32
+ attr_accessor :category_id
33
+
34
+ # A hierarchical array of the categories to which this transaction belongs.
35
+ # See [Categories](https://plaid.com/docs/#category-overview).
36
+ # If the `transactions` object was returned by an Assets endpoint such as
37
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
38
+ # appear in an Asset Report with Insights.
39
+ # @return [Array[String]]
40
+ attr_accessor :category
41
+
42
+ # A representation of where a transaction took place
43
+ # @return [TransactionLocation]
44
+ attr_accessor :location
45
+
46
+ # Transaction information specific to inter-bank transfers. If the
47
+ # transaction was not an inter-bank transfer, all fields will be `null`.
48
+ # If the `transactions` object was returned by a Transactions endpoint such
49
+ # as `/transactions/get`, the `payment_meta` key will always appear, but no
50
+ # data elements are guaranteed. If the `transactions` object was returned by
51
+ # an Assets endpoint such as `/asset_report/get/` or
52
+ # `/asset_report/pdf/get`, this field will only appear in an Asset Report
53
+ # with Insights.
54
+ # @return [PaymentMeta]
55
+ attr_accessor :payment_meta
56
+
57
+ # The name of the account owner. This field is not typically populated and
58
+ # only relevant when dealing with sub-accounts.
59
+ # @return [String]
60
+ attr_accessor :account_owner
61
+
62
+ # The merchant name or transaction description.
63
+ # If the `transactions` object was returned by a Transactions endpoint such
64
+ # as `/transactions/get`, this field will always appear. If the
65
+ # `transactions` object was returned by an Assets endpoint such as
66
+ # `/asset_report/get/` or `/asset_report/pdf/get`, this field will only
67
+ # appear in an Asset Report with Insights.
68
+ # @return [String]
69
+ attr_accessor :name
70
+
71
+ # The string returned by the financial institution to describe the
72
+ # transaction. For transactions returned by `/transactions/get`, this field
73
+ # is in beta and will be omitted unless the client is both enrolled in the
74
+ # closed beta program and has set `options.include_original_description` to
75
+ # `true`.
76
+ # @return [String]
77
+ attr_accessor :original_description
78
+
79
+ # The ID of the account in which this transaction occurred.
80
+ # @return [String]
81
+ attr_accessor :account_id
82
+
83
+ # The settled value of the transaction, denominated in the account's
84
+ # currency, as stated in `iso_currency_code` or `unofficial_currency_code`.
85
+ # Positive values when money moves out of the account; negative values when
86
+ # money moves in. For example, debit card purchases are positive; credit
87
+ # card payments, direct deposits, and refunds are negative.
88
+ # @return [Float]
89
+ attr_accessor :amount
90
+
91
+ # The ISO-4217 currency code of the transaction. Always `null` if
92
+ # `unofficial_currency_code` is non-null.
93
+ # @return [String]
94
+ attr_accessor :iso_currency_code
95
+
96
+ # The unofficial currency code associated with the transaction. Always
97
+ # `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are
98
+ # used for currencies that do not have official ISO currency codes, such as
99
+ # cryptocurrencies and the currencies of certain countries.
100
+ # See the [currency code
101
+ # schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a
102
+ # full listing of supported `iso_currency_code`s.
103
+ # @return [String]
104
+ attr_accessor :unofficial_currency_code
105
+
106
+ # For pending transactions, the date that the transaction occurred; for
107
+ # posted transactions, the date that the transaction posted. Both dates are
108
+ # returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (
109
+ # `YYYY-MM-DD` ).
110
+ # @return [Date]
111
+ attr_accessor :date
112
+
113
+ # When `true`, identifies the transaction as pending or unsettled. Pending
114
+ # transaction details (name, type, amount, category ID) may change before
115
+ # they are settled.
116
+ # @return [TrueClass | FalseClass]
117
+ attr_accessor :pending
118
+
119
+ # The unique ID of the transaction. Like all Plaid identifiers, the
120
+ # `transaction_id` is case sensitive.
121
+ # @return [String]
122
+ attr_accessor :transaction_id
123
+
124
+ # A mapping from model property names to API property names.
125
+ def self.names
126
+ @_hash = {} if @_hash.nil?
127
+ @_hash['transaction_type'] = 'transaction_type'
128
+ @_hash['pending_transaction_id'] = 'pending_transaction_id'
129
+ @_hash['category_id'] = 'category_id'
130
+ @_hash['category'] = 'category'
131
+ @_hash['location'] = 'location'
132
+ @_hash['payment_meta'] = 'payment_meta'
133
+ @_hash['account_owner'] = 'account_owner'
134
+ @_hash['name'] = 'name'
135
+ @_hash['original_description'] = 'original_description'
136
+ @_hash['account_id'] = 'account_id'
137
+ @_hash['amount'] = 'amount'
138
+ @_hash['iso_currency_code'] = 'iso_currency_code'
139
+ @_hash['unofficial_currency_code'] = 'unofficial_currency_code'
140
+ @_hash['date'] = 'date'
141
+ @_hash['pending'] = 'pending'
142
+ @_hash['transaction_id'] = 'transaction_id'
143
+ @_hash
144
+ end
145
+
146
+ # An array for optional fields
147
+ def self.optionals
148
+ %w[
149
+ transaction_type
150
+ pending_transaction_id
151
+ category_id
152
+ category
153
+ location
154
+ payment_meta
155
+ account_owner
156
+ name
157
+ original_description
158
+ ]
159
+ end
160
+
161
+ # An array for nullable fields
162
+ def self.nullables
163
+ %w[
164
+ pending_transaction_id
165
+ category_id
166
+ category
167
+ account_owner
168
+ original_description
169
+ iso_currency_code
170
+ unofficial_currency_code
171
+ ]
172
+ end
173
+
174
+ def initialize(account_id:, amount:, iso_currency_code:,
175
+ unofficial_currency_code:, date:, pending:, transaction_id:,
176
+ transaction_type: SKIP, pending_transaction_id: SKIP,
177
+ category_id: SKIP, category: SKIP, location: SKIP,
178
+ payment_meta: SKIP, account_owner: SKIP, name: SKIP,
179
+ original_description: SKIP, additional_properties: nil)
180
+ # Add additional model properties to the instance
181
+ additional_properties = {} if additional_properties.nil?
182
+
183
+ @transaction_type = transaction_type unless transaction_type == SKIP
184
+ @pending_transaction_id = pending_transaction_id unless pending_transaction_id == SKIP
185
+ @category_id = category_id unless category_id == SKIP
186
+ @category = category unless category == SKIP
187
+ @location = location unless location == SKIP
188
+ @payment_meta = payment_meta unless payment_meta == SKIP
189
+ @account_owner = account_owner unless account_owner == SKIP
190
+ @name = name unless name == SKIP
191
+ @original_description = original_description unless original_description == SKIP
192
+ @account_id = account_id
193
+ @amount = amount
194
+ @iso_currency_code = iso_currency_code
195
+ @unofficial_currency_code = unofficial_currency_code
196
+ @date = date
197
+ @pending = pending
198
+ @transaction_id = transaction_id
199
+ @additional_properties = additional_properties
200
+ end
201
+
202
+ # Creates an instance of the object from a hash.
203
+ def self.from_hash(hash)
204
+ return nil unless hash
205
+
206
+ # Extract variables from the hash.
207
+ account_id = hash.key?('account_id') ? hash['account_id'] : nil
208
+ amount = hash.key?('amount') ? hash['amount'] : nil
209
+ iso_currency_code =
210
+ hash.key?('iso_currency_code') ? hash['iso_currency_code'] : nil
211
+ unofficial_currency_code =
212
+ hash.key?('unofficial_currency_code') ? hash['unofficial_currency_code'] : nil
213
+ date = hash.key?('date') ? hash['date'] : nil
214
+ pending = hash.key?('pending') ? hash['pending'] : nil
215
+ transaction_id =
216
+ hash.key?('transaction_id') ? hash['transaction_id'] : nil
217
+ transaction_type =
218
+ hash.key?('transaction_type') ? hash['transaction_type'] : SKIP
219
+ pending_transaction_id =
220
+ hash.key?('pending_transaction_id') ? hash['pending_transaction_id'] : SKIP
221
+ category_id = hash.key?('category_id') ? hash['category_id'] : SKIP
222
+ category = hash.key?('category') ? hash['category'] : SKIP
223
+ location = TransactionLocation.from_hash(hash['location']) if hash['location']
224
+ payment_meta = PaymentMeta.from_hash(hash['payment_meta']) if hash['payment_meta']
225
+ account_owner = hash.key?('account_owner') ? hash['account_owner'] : SKIP
226
+ name = hash.key?('name') ? hash['name'] : SKIP
227
+ original_description =
228
+ hash.key?('original_description') ? hash['original_description'] : SKIP
229
+
230
+ # Create a new hash for additional properties, removing known properties.
231
+ new_hash = hash.reject { |k, _| names.value?(k) }
232
+
233
+ additional_properties = APIHelper.get_additional_properties(
234
+ new_hash, proc { |value| value }
235
+ )
236
+
237
+ # Create object from extracted values.
238
+ TransactionBase.new(account_id: account_id,
239
+ amount: amount,
240
+ iso_currency_code: iso_currency_code,
241
+ unofficial_currency_code: unofficial_currency_code,
242
+ date: date,
243
+ pending: pending,
244
+ transaction_id: transaction_id,
245
+ transaction_type: transaction_type,
246
+ pending_transaction_id: pending_transaction_id,
247
+ category_id: category_id,
248
+ category: category,
249
+ location: location,
250
+ payment_meta: payment_meta,
251
+ account_owner: account_owner,
252
+ name: name,
253
+ original_description: original_description,
254
+ additional_properties: additional_properties)
255
+ end
256
+
257
+ # Provides a human-readable string representation of the object.
258
+ def to_s
259
+ class_name = self.class.name.split('::').last
260
+ "<#{class_name} transaction_type: #{@transaction_type}, pending_transaction_id:"\
261
+ " #{@pending_transaction_id}, category_id: #{@category_id}, category: #{@category},"\
262
+ " location: #{@location}, payment_meta: #{@payment_meta}, account_owner: #{@account_owner},"\
263
+ " name: #{@name}, original_description: #{@original_description}, account_id:"\
264
+ " #{@account_id}, amount: #{@amount}, iso_currency_code: #{@iso_currency_code},"\
265
+ " unofficial_currency_code: #{@unofficial_currency_code}, date: #{@date}, pending:"\
266
+ " #{@pending}, transaction_id: #{@transaction_id}, additional_properties:"\
267
+ " #{@additional_properties}>"
268
+ end
269
+
270
+ # Provides a debugging-friendly string with detailed object information.
271
+ def inspect
272
+ class_name = self.class.name.split('::').last
273
+ "<#{class_name} transaction_type: #{@transaction_type.inspect}, pending_transaction_id:"\
274
+ " #{@pending_transaction_id.inspect}, category_id: #{@category_id.inspect}, category:"\
275
+ " #{@category.inspect}, location: #{@location.inspect}, payment_meta:"\
276
+ " #{@payment_meta.inspect}, account_owner: #{@account_owner.inspect}, name:"\
277
+ " #{@name.inspect}, original_description: #{@original_description.inspect}, account_id:"\
278
+ " #{@account_id.inspect}, amount: #{@amount.inspect}, iso_currency_code:"\
279
+ " #{@iso_currency_code.inspect}, unofficial_currency_code:"\
280
+ " #{@unofficial_currency_code.inspect}, date: #{@date.inspect}, pending:"\
281
+ " #{@pending.inspect}, transaction_id: #{@transaction_id.inspect}, additional_properties:"\
282
+ " #{@additional_properties}>"
283
+ end
284
+ end
285
+ end
@@ -0,0 +1,87 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # An identifier classifying the transaction type. This field is only populated
8
+ # for European institutions. For institutions in the US and Canada, this field
9
+ # is set to `null`. `adjustment:` Bank adjustment `atm:` Cash deposit or
10
+ # withdrawal via an automated teller machine `bank charge:` Charge or fee
11
+ # levied by the institution `bill payment`: Payment of a bill `cash:` Cash
12
+ # deposit or withdrawal `cashback:` Cash withdrawal while making a debit card
13
+ # purchase `cheque:` Document ordering the payment of money to another person
14
+ # or organization `direct debit:` Automatic withdrawal of funds initiated by a
15
+ # third party at a regular interval `interest:` Interest earned or incurred
16
+ # `purchase:` Purchase made with a debit or credit card `standing order:`
17
+ # Payment instructed by the account holder to a third party at a regular
18
+ # interval `transfer:` Transfer of money between accounts
19
+ class TransactionCode
20
+ TRANSACTION_CODE = [
21
+ # TODO: Write general description for ADJUSTMENT
22
+ ADJUSTMENT = 'adjustment'.freeze,
23
+
24
+ # TODO: Write general description for ATM
25
+ ATM = 'atm'.freeze,
26
+
27
+ # TODO: Write general description for ENUM_BANK_CHARGE
28
+ ENUM_BANK_CHARGE = 'bank charge'.freeze,
29
+
30
+ # TODO: Write general description for ENUM_BILL_PAYMENT
31
+ ENUM_BILL_PAYMENT = 'bill payment'.freeze,
32
+
33
+ # TODO: Write general description for CASH
34
+ CASH = 'cash'.freeze,
35
+
36
+ # TODO: Write general description for CASHBACK
37
+ CASHBACK = 'cashback'.freeze,
38
+
39
+ # TODO: Write general description for CHEQUE
40
+ CHEQUE = 'cheque'.freeze,
41
+
42
+ # TODO: Write general description for ENUM_DIRECT_DEBIT
43
+ ENUM_DIRECT_DEBIT = 'direct debit'.freeze,
44
+
45
+ # TODO: Write general description for INTEREST
46
+ INTEREST = 'interest'.freeze,
47
+
48
+ # TODO: Write general description for PURCHASE
49
+ PURCHASE = 'purchase'.freeze,
50
+
51
+ # TODO: Write general description for ENUM_STANDING_ORDER
52
+ ENUM_STANDING_ORDER = 'standing order'.freeze,
53
+
54
+ # TODO: Write general description for TRANSFER
55
+ TRANSFER = 'transfer'.freeze
56
+ ].freeze
57
+
58
+ def self.validate(value)
59
+ return false if value.nil?
60
+
61
+ true
62
+ end
63
+
64
+ def self.from_value(value, default_value = ADJUSTMENT)
65
+ return default_value if value.nil?
66
+
67
+ str = value.to_s.strip
68
+
69
+ case str.downcase
70
+ when 'adjustment' then ADJUSTMENT
71
+ when 'atm' then ATM
72
+ when 'enum_bank_charge' then ENUM_BANK_CHARGE
73
+ when 'enum_bill_payment' then ENUM_BILL_PAYMENT
74
+ when 'cash' then CASH
75
+ when 'cashback' then CASHBACK
76
+ when 'cheque' then CHEQUE
77
+ when 'enum_direct_debit' then ENUM_DIRECT_DEBIT
78
+ when 'interest' then INTEREST
79
+ when 'purchase' then PURCHASE
80
+ when 'enum_standing_order' then ENUM_STANDING_ORDER
81
+ when 'transfer' then TRANSFER
82
+ else
83
+ default_value
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,112 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # Information about the matched direct deposit transaction used to verify a
8
+ # user's payroll information.
9
+ class TransactionData < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The description of the transaction.
14
+ # @return [String]
15
+ attr_accessor :description
16
+
17
+ # The amount of the transaction.
18
+ # @return [Float]
19
+ attr_accessor :amount
20
+
21
+ # The date of the transaction, in [ISO
22
+ # 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").
23
+ # @return [Date]
24
+ attr_accessor :date
25
+
26
+ # A unique identifier for the end user's account.
27
+ # @return [String]
28
+ attr_accessor :account_id
29
+
30
+ # A unique identifier for the transaction.
31
+ # @return [String]
32
+ attr_accessor :transaction_id
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['description'] = 'description'
38
+ @_hash['amount'] = 'amount'
39
+ @_hash['date'] = 'date'
40
+ @_hash['account_id'] = 'account_id'
41
+ @_hash['transaction_id'] = 'transaction_id'
42
+ @_hash
43
+ end
44
+
45
+ # An array for optional fields
46
+ def self.optionals
47
+ []
48
+ end
49
+
50
+ # An array for nullable fields
51
+ def self.nullables
52
+ []
53
+ end
54
+
55
+ def initialize(description:, amount:, date:, account_id:, transaction_id:,
56
+ additional_properties: nil)
57
+ # Add additional model properties to the instance
58
+ additional_properties = {} if additional_properties.nil?
59
+
60
+ @description = description
61
+ @amount = amount
62
+ @date = date
63
+ @account_id = account_id
64
+ @transaction_id = transaction_id
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
+ description = hash.key?('description') ? hash['description'] : nil
74
+ amount = hash.key?('amount') ? hash['amount'] : nil
75
+ date = hash.key?('date') ? hash['date'] : nil
76
+ account_id = hash.key?('account_id') ? hash['account_id'] : nil
77
+ transaction_id =
78
+ hash.key?('transaction_id') ? hash['transaction_id'] : nil
79
+
80
+ # Create a new hash for additional properties, removing known properties.
81
+ new_hash = hash.reject { |k, _| names.value?(k) }
82
+
83
+ additional_properties = APIHelper.get_additional_properties(
84
+ new_hash, proc { |value| value }
85
+ )
86
+
87
+ # Create object from extracted values.
88
+ TransactionData.new(description: description,
89
+ amount: amount,
90
+ date: date,
91
+ account_id: account_id,
92
+ transaction_id: transaction_id,
93
+ additional_properties: additional_properties)
94
+ end
95
+
96
+ # Provides a human-readable string representation of the object.
97
+ def to_s
98
+ class_name = self.class.name.split('::').last
99
+ "<#{class_name} description: #{@description}, amount: #{@amount}, date: #{@date},"\
100
+ " account_id: #{@account_id}, transaction_id: #{@transaction_id}, additional_properties:"\
101
+ " #{@additional_properties}>"
102
+ end
103
+
104
+ # Provides a debugging-friendly string with detailed object information.
105
+ def inspect
106
+ class_name = self.class.name.split('::').last
107
+ "<#{class_name} description: #{@description.inspect}, amount: #{@amount.inspect}, date:"\
108
+ " #{@date.inspect}, account_id: #{@account_id.inspect}, transaction_id:"\
109
+ " #{@transaction_id.inspect}, additional_properties: #{@additional_properties}>"
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,143 @@
1
+ # plaid
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Plaid
7
+ # A representation of where a transaction took place
8
+ class TransactionLocation < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The street address where the transaction occurred.
13
+ # @return [String]
14
+ attr_accessor :address
15
+
16
+ # The city where the transaction occurred.
17
+ # @return [String]
18
+ attr_accessor :city
19
+
20
+ # The region or state where the transaction occurred.
21
+ # @return [String]
22
+ attr_accessor :region
23
+
24
+ # The postal code where the transaction occurred.
25
+ # @return [String]
26
+ attr_accessor :postal_code
27
+
28
+ # The ISO 3166-1 alpha-2 country code where the transaction occurred.
29
+ # @return [String]
30
+ attr_accessor :country
31
+
32
+ # The latitude where the transaction occurred.
33
+ # @return [Float]
34
+ attr_accessor :lat
35
+
36
+ # The longitude where the transaction occurred.
37
+ # @return [Float]
38
+ attr_accessor :lon
39
+
40
+ # The merchant defined store number where the transaction occurred.
41
+ # @return [String]
42
+ attr_accessor :store_number
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['address'] = 'address'
48
+ @_hash['city'] = 'city'
49
+ @_hash['region'] = 'region'
50
+ @_hash['postal_code'] = 'postal_code'
51
+ @_hash['country'] = 'country'
52
+ @_hash['lat'] = 'lat'
53
+ @_hash['lon'] = 'lon'
54
+ @_hash['store_number'] = 'store_number'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ []
61
+ end
62
+
63
+ # An array for nullable fields
64
+ def self.nullables
65
+ %w[
66
+ address
67
+ city
68
+ region
69
+ postal_code
70
+ country
71
+ lat
72
+ lon
73
+ store_number
74
+ ]
75
+ end
76
+
77
+ def initialize(address:, city:, region:, postal_code:, country:, lat:, lon:,
78
+ store_number:, additional_properties: nil)
79
+ # Add additional model properties to the instance
80
+ additional_properties = {} if additional_properties.nil?
81
+
82
+ @address = address
83
+ @city = city
84
+ @region = region
85
+ @postal_code = postal_code
86
+ @country = country
87
+ @lat = lat
88
+ @lon = lon
89
+ @store_number = store_number
90
+ @additional_properties = additional_properties
91
+ end
92
+
93
+ # Creates an instance of the object from a hash.
94
+ def self.from_hash(hash)
95
+ return nil unless hash
96
+
97
+ # Extract variables from the hash.
98
+ address = hash.key?('address') ? hash['address'] : nil
99
+ city = hash.key?('city') ? hash['city'] : nil
100
+ region = hash.key?('region') ? hash['region'] : nil
101
+ postal_code = hash.key?('postal_code') ? hash['postal_code'] : nil
102
+ country = hash.key?('country') ? hash['country'] : nil
103
+ lat = hash.key?('lat') ? hash['lat'] : nil
104
+ lon = hash.key?('lon') ? hash['lon'] : nil
105
+ store_number = hash.key?('store_number') ? hash['store_number'] : nil
106
+
107
+ # Create a new hash for additional properties, removing known properties.
108
+ new_hash = hash.reject { |k, _| names.value?(k) }
109
+
110
+ additional_properties = APIHelper.get_additional_properties(
111
+ new_hash, proc { |value| value }
112
+ )
113
+
114
+ # Create object from extracted values.
115
+ TransactionLocation.new(address: address,
116
+ city: city,
117
+ region: region,
118
+ postal_code: postal_code,
119
+ country: country,
120
+ lat: lat,
121
+ lon: lon,
122
+ store_number: store_number,
123
+ additional_properties: additional_properties)
124
+ end
125
+
126
+ # Provides a human-readable string representation of the object.
127
+ def to_s
128
+ class_name = self.class.name.split('::').last
129
+ "<#{class_name} address: #{@address}, city: #{@city}, region: #{@region}, postal_code:"\
130
+ " #{@postal_code}, country: #{@country}, lat: #{@lat}, lon: #{@lon}, store_number:"\
131
+ " #{@store_number}, additional_properties: #{@additional_properties}>"
132
+ end
133
+
134
+ # Provides a debugging-friendly string with detailed object information.
135
+ def inspect
136
+ class_name = self.class.name.split('::').last
137
+ "<#{class_name} address: #{@address.inspect}, city: #{@city.inspect}, region:"\
138
+ " #{@region.inspect}, postal_code: #{@postal_code.inspect}, country: #{@country.inspect},"\
139
+ " lat: #{@lat.inspect}, lon: #{@lon.inspect}, store_number: #{@store_number.inspect},"\
140
+ " additional_properties: #{@additional_properties}>"
141
+ end
142
+ end
143
+ end