finch-api 0.1.0.pre.alpha.41 → 0.1.0.pre.alpha.43

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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +73 -0
  3. data/README.md +3 -3
  4. data/lib/finch_api/client.rb +22 -4
  5. data/lib/finch_api/internal/transport/base_client.rb +30 -3
  6. data/lib/finch_api/internal/transport/pooled_net_requester.rb +1 -1
  7. data/lib/finch_api/internal/util.rb +54 -8
  8. data/lib/finch_api/models/account_disconnect_entity_params.rb +22 -0
  9. data/lib/finch_api/models/base_webhook_event.rb +9 -1
  10. data/lib/finch_api/models/connect/session_new_params.rb +5 -3
  11. data/lib/finch_api/models/connect/session_reauthenticate_params.rb +5 -3
  12. data/lib/finch_api/models/create_access_token_response.rb +10 -1
  13. data/lib/finch_api/models/disconnect_entity_response.rb +17 -0
  14. data/lib/finch_api/models/hris/benefit_contribution.rb +24 -23
  15. data/lib/finch_api/models/hris/benefit_register_params.rb +47 -0
  16. data/lib/finch_api/models/hris/benefit_retrieve_params.rb +8 -1
  17. data/lib/finch_api/models/hris/benefit_update_params.rb +8 -1
  18. data/lib/finch_api/models/hris/benefits/individual_benefit.rb +63 -59
  19. data/lib/finch_api/models/hris/benefits/individual_enroll_many_params.rb +8 -1
  20. data/lib/finch_api/models/hris/benefits/individual_enrolled_ids_params.rb +8 -1
  21. data/lib/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rb +8 -1
  22. data/lib/finch_api/models/hris/benefits/individual_unenroll_many_params.rb +8 -1
  23. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rb +8 -1
  24. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_params.rb +8 -1
  25. data/lib/finch_api/models/hris/document_retreive_params.rb +8 -1
  26. data/lib/finch_api/models/hris/employment_data.rb +76 -37
  27. data/lib/finch_api/models/hris/employment_data_response.rb +2 -2
  28. data/lib/finch_api/models/hris/individual.rb +38 -28
  29. data/lib/finch_api/models/hris/individual_response.rb +2 -2
  30. data/lib/finch_api/models/hris/register_company_benefit_response.rb +26 -0
  31. data/lib/finch_api/models/introspection.rb +27 -1
  32. data/lib/finch_api/models/job_completion_event.rb +3 -0
  33. data/lib/finch_api/models/jobs/automated_create_params.rb +53 -29
  34. data/lib/finch_api/models/jobs/automated_retrieve_params.rb +7 -1
  35. data/lib/finch_api/models/jobs/manual_retrieve_params.rb +7 -1
  36. data/lib/finch_api/models/payroll/pay_group_retrieve_params.rb +8 -1
  37. data/lib/finch_api/models/sandbox/directory_create_params.rb +55 -4
  38. data/lib/finch_api/models/sandbox/employment_update_params.rb +58 -4
  39. data/lib/finch_api/models/sandbox/employment_update_response.rb +53 -4
  40. data/lib/finch_api/models/sandbox/individual_update_params.rb +8 -1
  41. data/lib/finch_api/models.rb +4 -0
  42. data/lib/finch_api/resources/access_tokens.rb +1 -0
  43. data/lib/finch_api/resources/account.rb +26 -0
  44. data/lib/finch_api/resources/connect/sessions.rb +4 -2
  45. data/lib/finch_api/resources/hris/benefits/individuals.rb +13 -5
  46. data/lib/finch_api/resources/hris/benefits.rb +50 -7
  47. data/lib/finch_api/resources/hris/company/pay_statement_item/rules.rb +14 -6
  48. data/lib/finch_api/resources/hris/company/pay_statement_item.rb +3 -1
  49. data/lib/finch_api/resources/hris/company.rb +3 -1
  50. data/lib/finch_api/resources/hris/directory.rb +3 -1
  51. data/lib/finch_api/resources/hris/documents.rb +6 -2
  52. data/lib/finch_api/resources/hris/employments.rb +4 -2
  53. data/lib/finch_api/resources/hris/individuals.rb +4 -2
  54. data/lib/finch_api/resources/hris/pay_statements.rb +4 -2
  55. data/lib/finch_api/resources/hris/payments.rb +3 -1
  56. data/lib/finch_api/resources/jobs/automated.rb +8 -7
  57. data/lib/finch_api/resources/jobs/manual.rb +1 -0
  58. data/lib/finch_api/resources/payroll/pay_groups.rb +6 -2
  59. data/lib/finch_api/resources/providers.rb +1 -0
  60. data/lib/finch_api/resources/request_forwarding.rb +1 -0
  61. data/lib/finch_api/resources/sandbox/company.rb +1 -0
  62. data/lib/finch_api/resources/sandbox/connections/accounts.rb +2 -0
  63. data/lib/finch_api/resources/sandbox/connections.rb +1 -0
  64. data/lib/finch_api/resources/sandbox/directory.rb +1 -0
  65. data/lib/finch_api/resources/sandbox/employment.rb +4 -1
  66. data/lib/finch_api/resources/sandbox/individual.rb +1 -0
  67. data/lib/finch_api/resources/sandbox/jobs/configuration.rb +2 -0
  68. data/lib/finch_api/resources/sandbox/jobs.rb +1 -0
  69. data/lib/finch_api/resources/sandbox/payment.rb +1 -0
  70. data/lib/finch_api/version.rb +1 -1
  71. data/lib/finch_api.rb +4 -0
  72. data/rbi/finch_api/client.rbi +12 -2
  73. data/rbi/finch_api/internal/transport/base_client.rbi +6 -1
  74. data/rbi/finch_api/internal/util.rbi +29 -1
  75. data/rbi/finch_api/models/account_disconnect_entity_params.rbi +46 -0
  76. data/rbi/finch_api/models/base_webhook_event.rbi +18 -3
  77. data/rbi/finch_api/models/connect/session_new_params.rbi +11 -3
  78. data/rbi/finch_api/models/connect/session_reauthenticate_params.rbi +11 -3
  79. data/rbi/finch_api/models/create_access_token_response.rbi +13 -3
  80. data/rbi/finch_api/models/disconnect_entity_response.rbi +27 -0
  81. data/rbi/finch_api/models/hris/benefit_contribution.rbi +33 -31
  82. data/rbi/finch_api/models/hris/benefit_register_params.rbi +76 -0
  83. data/rbi/finch_api/models/hris/benefit_retrieve_params.rbi +6 -0
  84. data/rbi/finch_api/models/hris/benefit_update_params.rbi +6 -0
  85. data/rbi/finch_api/models/hris/benefits/individual_benefit.rbi +71 -71
  86. data/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi +6 -0
  87. data/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi +6 -0
  88. data/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +6 -0
  89. data/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi +6 -0
  90. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +6 -0
  91. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +6 -0
  92. data/rbi/finch_api/models/hris/document_retreive_params.rbi +6 -0
  93. data/rbi/finch_api/models/hris/employment_data.rbi +121 -56
  94. data/rbi/finch_api/models/hris/employment_data_response.rbi +1 -1
  95. data/rbi/finch_api/models/hris/individual.rbi +54 -47
  96. data/rbi/finch_api/models/hris/individual_response.rbi +1 -1
  97. data/rbi/finch_api/models/hris/register_company_benefit_response.rbi +38 -0
  98. data/rbi/finch_api/models/introspection.rbi +66 -3
  99. data/rbi/finch_api/models/job_completion_event.rbi +15 -0
  100. data/rbi/finch_api/models/jobs/automated_create_params.rbi +126 -56
  101. data/rbi/finch_api/models/jobs/automated_retrieve_params.rbi +13 -5
  102. data/rbi/finch_api/models/jobs/manual_retrieve_params.rbi +13 -5
  103. data/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi +6 -0
  104. data/rbi/finch_api/models/sandbox/directory_create_params.rbi +122 -9
  105. data/rbi/finch_api/models/sandbox/employment_update_params.rbi +128 -9
  106. data/rbi/finch_api/models/sandbox/employment_update_response.rbi +122 -9
  107. data/rbi/finch_api/models/sandbox/individual_update_params.rbi +6 -0
  108. data/rbi/finch_api/models.rbi +5 -0
  109. data/rbi/finch_api/resources/account.rbi +15 -0
  110. data/rbi/finch_api/resources/connect/sessions.rbi +6 -2
  111. data/rbi/finch_api/resources/hris/benefits.rbi +24 -0
  112. data/rbi/finch_api/resources/jobs/automated.rbi +6 -8
  113. data/rbi/finch_api/resources/sandbox/employment.rbi +7 -0
  114. data/sig/finch_api/client.rbs +6 -1
  115. data/sig/finch_api/internal/transport/base_client.rbs +2 -0
  116. data/sig/finch_api/internal/util.rbs +14 -0
  117. data/sig/finch_api/models/account_disconnect_entity_params.rbs +24 -0
  118. data/sig/finch_api/models/base_webhook_event.rbs +14 -3
  119. data/sig/finch_api/models/connect/session_new_params.rbs +2 -0
  120. data/sig/finch_api/models/connect/session_reauthenticate_params.rbs +2 -0
  121. data/sig/finch_api/models/create_access_token_response.rbs +8 -3
  122. data/sig/finch_api/models/disconnect_entity_response.rbs +13 -0
  123. data/sig/finch_api/models/hris/benefit_contribution.rbs +28 -28
  124. data/sig/finch_api/models/hris/benefit_register_params.rbs +47 -0
  125. data/sig/finch_api/models/hris/benefit_retrieve_params.rbs +5 -1
  126. data/sig/finch_api/models/hris/benefit_update_params.rbs +5 -1
  127. data/sig/finch_api/models/hris/benefits/individual_benefit.rbs +62 -62
  128. data/sig/finch_api/models/hris/benefits/individual_enroll_many_params.rbs +5 -0
  129. data/sig/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbs +5 -1
  130. data/sig/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +9 -1
  131. data/sig/finch_api/models/hris/benefits/individual_unenroll_many_params.rbs +9 -1
  132. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbs +5 -1
  133. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbs +9 -1
  134. data/sig/finch_api/models/hris/document_retreive_params.rbs +5 -1
  135. data/sig/finch_api/models/hris/employment_data.rbs +56 -39
  136. data/sig/finch_api/models/hris/individual.rbs +31 -31
  137. data/sig/finch_api/models/hris/register_company_benefit_response.rbs +18 -0
  138. data/sig/finch_api/models/introspection.rbs +44 -3
  139. data/sig/finch_api/models/job_completion_event.rbs +6 -0
  140. data/sig/finch_api/models/jobs/automated_create_params.rbs +47 -22
  141. data/sig/finch_api/models/jobs/automated_retrieve_params.rbs +11 -3
  142. data/sig/finch_api/models/jobs/manual_retrieve_params.rbs +11 -3
  143. data/sig/finch_api/models/payroll/pay_group_retrieve_params.rbs +5 -1
  144. data/sig/finch_api/models/sandbox/directory_create_params.rbs +40 -5
  145. data/sig/finch_api/models/sandbox/employment_update_params.rbs +45 -5
  146. data/sig/finch_api/models/sandbox/employment_update_response.rbs +40 -5
  147. data/sig/finch_api/models/sandbox/individual_update_params.rbs +5 -0
  148. data/sig/finch_api/models.rbs +4 -0
  149. data/sig/finch_api/resources/account.rbs +5 -0
  150. data/sig/finch_api/resources/hris/benefits.rbs +8 -0
  151. data/sig/finch_api/resources/jobs/automated.rbs +1 -2
  152. data/sig/finch_api/resources/sandbox/employment.rbs +1 -0
  153. metadata +14 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0c2c976c70cb05a8a51e10cc2dd857fe65096c2547a525d0322d728d6b9c273
4
- data.tar.gz: 25b6ecd53cfa6fbab429c14406bbe99d4b29cf261123db10253d66c6b9d56004
3
+ metadata.gz: 39e45309b04809464e51d02f94daf61eb2a64ef5b019b80805983e384368f98d
4
+ data.tar.gz: 3bd650890941c404e755310d77f0b19978c6631f4ea90fc52cda596e3da9f1d7
5
5
  SHA512:
6
- metadata.gz: 0676202b2ce5c5e50799b4b507b92a27fc63ba723ac05e56363621082032992c1f2bf3a9f74d27c860120141eb8e2df3904d37a3acf8f17f8fc55cfafb36fc4f
7
- data.tar.gz: acaa49d18fc5567cd1d04cb8f34b80d62570f08d9c0cd4bc69230736249f2b5c138191e5b5f82e79875ae225175265a502a479604d341b40ae7657d675c4174e
6
+ metadata.gz: b3c234051d8f5f1293d96495bcf6775676459dd8630f5a033f2289d086a0e0c5b2c837f467fbd385944de11c2d9f404f1f86bf22c31dfa3282646f3b7be50fc1
7
+ data.tar.gz: 802ae3e3654d7bb558a9ea5f9aac2b89ffe2b2f360428b6748211cee71611a87d1ec906dfeb9f03c7ee7704c71b107bc26bca73c1e328084fc022e8df94a9782
data/CHANGELOG.md CHANGED
@@ -1,5 +1,78 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.43 (2026-06-16)
4
+
5
+ Full Changelog: [v0.1.0-alpha.42...v0.1.0-alpha.43](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.42...v0.1.0-alpha.43)
6
+
7
+ ### Features
8
+
9
+ * **api:** add per endpoint security ([ac937c1](https://github.com/Finch-API/finch-api-ruby/commit/ac937c138291704137a33d18cea1571d2e6f96ca))
10
+ * **api:** add register benefits method ([89807f1](https://github.com/Finch-API/finch-api-ruby/commit/89807f1e708599cb05875e3f17aae5048ea7f583))
11
+ * **api:** api update ([d67143c](https://github.com/Finch-API/finch-api-ruby/commit/d67143ccd5299f0f6e67e9bb2fb0e6088f52f5d6))
12
+ * **api:** api update ([9e8d805](https://github.com/Finch-API/finch-api-ruby/commit/9e8d805da92b732b225c58454d1a1938448733ba))
13
+ * **api:** api update ([2a1f82f](https://github.com/Finch-API/finch-api-ruby/commit/2a1f82f3af8070b630bb9ba9f10cd9b6f91a02eb))
14
+ * **api:** api update ([d0d32b0](https://github.com/Finch-API/finch-api-ruby/commit/d0d32b0861ed65a60d1636da5cc37c5052ca7e28))
15
+ * **api:** api update ([ee649a8](https://github.com/Finch-API/finch-api-ruby/commit/ee649a8915029f8bce8e676d7af80bbfe5846c61))
16
+ * **api:** api update ([4496981](https://github.com/Finch-API/finch-api-ruby/commit/44969816152b1033dc51052723d552de315c6c9d))
17
+ * **api:** api update ([8ff38e4](https://github.com/Finch-API/finch-api-ruby/commit/8ff38e4aeb774f2ec8f5be0692c787652a72b88f))
18
+ * **api:** api update ([04d90f0](https://github.com/Finch-API/finch-api-ruby/commit/04d90f03077ba6b6459e3a1ecbb41baffd1e9eb5))
19
+ * **api:** change auth to npm to oidc ([de40fd7](https://github.com/Finch-API/finch-api-ruby/commit/de40fd771fe09e381c1439f3c9efd1c5d075572c))
20
+ * **api:** manual updates ([7a3e05f](https://github.com/Finch-API/finch-api-ruby/commit/7a3e05f0e143eb5fdaf5589b29a7cf223bc4a763))
21
+ * **client:** add webhook support ([f4ad88e](https://github.com/Finch-API/finch-api-ruby/commit/f4ad88e63dcec2d9c6f9b64e9f10aa01a34c2af4))
22
+ * support setting headers via env ([d563eb5](https://github.com/Finch-API/finch-api-ruby/commit/d563eb54c98253fff9a54c05632c7f4c19f1616c))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **aliases:** resolve broken types for alias methods with pagination ([f591bd3](https://github.com/Finch-API/finch-api-ruby/commit/f591bd32e12660e3104486b7b5297d6bf2dfc613))
28
+ * align path encoding with RFC 3986 section 3.3 ([0a99d63](https://github.com/Finch-API/finch-api-ruby/commit/0a99d63c11aa9516a7cac12937d35972c9638f32))
29
+ * **api:** remove invalid transform config ([826feaa](https://github.com/Finch-API/finch-api-ruby/commit/826feaab2ca5d0afd202b196f5da0910c029a591))
30
+ * **client:** always add content-length to post body, even when empty ([66e8f66](https://github.com/Finch-API/finch-api-ruby/commit/66e8f668ba49f9959bd0067d4161d972ebad46ee))
31
+ * **client:** elide content type header on requests without body ([d087396](https://github.com/Finch-API/finch-api-ruby/commit/d087396167b6ad3cbe79acef1745955a844a8933))
32
+ * **client:** loosen json header parsing ([7bc3e65](https://github.com/Finch-API/finch-api-ruby/commit/7bc3e6509545d52948558cc20180865f09e946dc))
33
+ * **client:** send content-type header for requests with an omitted optional body ([4286c51](https://github.com/Finch-API/finch-api-ruby/commit/4286c51395109aa33a0642f5fc0d73ed15f05b95))
34
+ * **docs:** fix mcp installation instructions for remote servers ([8022436](https://github.com/Finch-API/finch-api-ruby/commit/8022436ca504321dffdb8eedabc0c9ee82e0bf45))
35
+ * **internal:** correct multipart form field name encoding ([76c688f](https://github.com/Finch-API/finch-api-ruby/commit/76c688f93a7a6bf6827baa4b1b06ad715826c491))
36
+ * multipart encoding for file arrays ([13e7bc1](https://github.com/Finch-API/finch-api-ruby/commit/13e7bc161a931d7a13128cb32d4bd2cc859784b4))
37
+ * properly mock time in ruby ci tests ([86ece75](https://github.com/Finch-API/finch-api-ruby/commit/86ece75b5fefd736c827c70dc7b6140ec67fdf35))
38
+ * **tests:** skip broken date validation test ([2ee41c8](https://github.com/Finch-API/finch-api-ruby/commit/2ee41c81ef9707aa7180723a283789a5bbaa041d))
39
+ * variable name typo ([09ceda2](https://github.com/Finch-API/finch-api-ruby/commit/09ceda237d92712263d0942f1deb8654afc18071))
40
+
41
+
42
+ ### Chores
43
+
44
+ * **ci:** skip lint on metadata-only changes ([b8e66d9](https://github.com/Finch-API/finch-api-ruby/commit/b8e66d9232c428b9c4104bf5c6ce6673690afa2a))
45
+ * **ci:** skip uploading artifacts on stainless-internal branches ([1229fe8](https://github.com/Finch-API/finch-api-ruby/commit/1229fe85090c9c58caeb17b10434a8923fe2dcb2))
46
+ * **ci:** support opting out of skipping builds on metadata-only commits ([f892be4](https://github.com/Finch-API/finch-api-ruby/commit/f892be499c5676f466ac47676d4106bb67f52f77))
47
+ * **docs:** remove www prefix ([57bc88c](https://github.com/Finch-API/finch-api-ruby/commit/57bc88cdd60bfec535752170ffeeebe157a0bfce))
48
+ * fix custom code ([3d5cf2f](https://github.com/Finch-API/finch-api-ruby/commit/3d5cf2fde4f02b8b29d07e2ccb98117ddfc75f74))
49
+ * **internal:** codegen related update ([796b4db](https://github.com/Finch-API/finch-api-ruby/commit/796b4dba769b768e65dcff3921257f098d6ff9df))
50
+ * **internal:** codegen related update ([a021ffb](https://github.com/Finch-API/finch-api-ruby/commit/a021ffb4eec64de459cb22c27b4c7c4592003d21))
51
+ * **internal:** more robust bootstrap script ([6be623f](https://github.com/Finch-API/finch-api-ruby/commit/6be623fd1d3ddf902856844d74be66cf00b84195))
52
+ * **internal:** tweak CI branches ([c0b42bc](https://github.com/Finch-API/finch-api-ruby/commit/c0b42bcd72ff06cf71fec9a98856c12043b5cfe2))
53
+ * **internal:** update gitignore ([a315475](https://github.com/Finch-API/finch-api-ruby/commit/a3154752a39a30ad3cb8aac78b2d473c3bb86dcf))
54
+ * **tests:** bump steady to v0.19.4 ([93617aa](https://github.com/Finch-API/finch-api-ruby/commit/93617aad24e3c174e12dfdf2de4bad5cce0aeb2f))
55
+ * **tests:** bump steady to v0.19.5 ([424035c](https://github.com/Finch-API/finch-api-ruby/commit/424035c08a1d4c56c3b1118cd1071bc1cbaad28a))
56
+ * **tests:** bump steady to v0.19.6 ([b832805](https://github.com/Finch-API/finch-api-ruby/commit/b8328058d1e51765ee48832897ebf00984272323))
57
+ * **tests:** bump steady to v0.19.7 ([fe2f5fb](https://github.com/Finch-API/finch-api-ruby/commit/fe2f5fb484c9684d6586106172cd984f17e914c1))
58
+ * **tests:** bump steady to v0.20.1 ([6fb5f11](https://github.com/Finch-API/finch-api-ruby/commit/6fb5f11fe816634a6ea3267f5c10831b2f5a1058))
59
+ * **tests:** bump steady to v0.20.2 ([a37acc5](https://github.com/Finch-API/finch-api-ruby/commit/a37acc5ccb90a944a7bb903befbf8a5faa60a32e))
60
+ * **tests:** bump steady to v0.22.1 ([582e669](https://github.com/Finch-API/finch-api-ruby/commit/582e669ac39599bd86c77b66c2bafcd0b4204ace))
61
+ * update mock server docs ([47876a8](https://github.com/Finch-API/finch-api-ruby/commit/47876a8821367b8d730229c8bf401bc92907d4f0))
62
+
63
+
64
+ ### Refactors
65
+
66
+ * **tests:** switch from prism to steady ([e294a79](https://github.com/Finch-API/finch-api-ruby/commit/e294a795e94df460394978881960bbc067181a7e))
67
+
68
+ ## 0.1.0-alpha.42 (2026-01-16)
69
+
70
+ Full Changelog: [v0.1.0-alpha.41...v0.1.0-alpha.42](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.41...v0.1.0-alpha.42)
71
+
72
+ ### Chores
73
+
74
+ * **internal:** update `actions/checkout` version ([e0297b6](https://github.com/Finch-API/finch-api-ruby/commit/e0297b62f06fd43c8c451fcb40acf8e17a446098))
75
+
3
76
  ## 0.1.0-alpha.41 (2026-01-13)
4
77
 
5
78
  Full Changelog: [v0.1.0-alpha.40...v0.1.0-alpha.41](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.40...v0.1.0-alpha.41)
data/README.md CHANGED
@@ -8,8 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
8
8
 
9
9
  Use the Finch MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
10
10
 
11
- [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40tryfinch%2Ffinch-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0cnlmaW5jaC9maW5jaC1hcGktbWNwIl19)
12
- [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40tryfinch%2Ffinch-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tryfinch%2Ffinch-api-mcp%22%5D%7D)
11
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40tryfinch%2Ffinch-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0cnlmaW5jaC9maW5jaC1hcGktbWNwIl0sImVudiI6eyJGSU5DSF9BQ0NFU1NfVE9LRU4iOiJNeSBBY2Nlc3MgVG9rZW4iLCJGSU5DSF9DTElFTlRfSUQiOiI0YWIxNWU1MS0xMWFkLTQ5ZjQtYWNhZS1mMzQzYjc3OTQzNzUiLCJGSU5DSF9DTElFTlRfU0VDUkVUIjoiTXkgQ2xpZW50IFNlY3JldCIsIkZJTkNIX1dFQkhPT0tfU0VDUkVUIjoiTXkgV2ViaG9vayBTZWNyZXQifX0)
12
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40tryfinch%2Ffinch-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tryfinch%2Ffinch-api-mcp%22%5D%2C%22env%22%3A%7B%22FINCH_ACCESS_TOKEN%22%3A%22My%20Access%20Token%22%2C%22FINCH_CLIENT_ID%22%3A%224ab15e51-11ad-49f4-acae-f343b7794375%22%2C%22FINCH_CLIENT_SECRET%22%3A%22My%20Client%20Secret%22%2C%22FINCH_WEBHOOK_SECRET%22%3A%22My%20Webhook%20Secret%22%7D%7D)
13
13
 
14
14
  > Note: You may need to set environment variables in your MCP client.
15
15
 
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "finch-api", "~> 0.1.0.pre.alpha.41"
29
+ gem "finch-api", "~> 0.1.0.pre.alpha.43"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -24,6 +24,9 @@ module FinchAPI
24
24
  # @return [String, nil]
25
25
  attr_reader :client_secret
26
26
 
27
+ # @return [String, nil]
28
+ attr_reader :webhook_secret
29
+
27
30
  # @return [FinchAPI::Resources::AccessTokens]
28
31
  attr_reader :access_tokens
29
32
 
@@ -56,11 +59,11 @@ module FinchAPI
56
59
 
57
60
  # @api private
58
61
  #
62
+ # @param security [Hash{Symbol=>Boolean}]
63
+ #
59
64
  # @return [Hash{String=>String}]
60
- private def auth_headers
61
- return bearer_auth unless bearer_auth.empty?
62
- return basic_auth unless basic_auth.empty?
63
- {}
65
+ private def auth_headers(security:)
66
+ {bearer_auth:, basic_auth:}.slice(*security.keys).values.reduce({}, :merge)
64
67
  end
65
68
 
66
69
  # @api private
@@ -90,6 +93,8 @@ module FinchAPI
90
93
  #
91
94
  # @param access_token [String, nil]
92
95
  #
96
+ # @param webhook_secret [String, nil] Defaults to `ENV["FINCH_WEBHOOK_SECRET"]`
97
+ #
93
98
  # @param base_url [String, nil] Override the default base URL for the API, e.g.,
94
99
  # `"https://api.example.com/v2/"`. Defaults to `ENV["FINCH_BASE_URL"]`
95
100
  #
@@ -104,6 +109,7 @@ module FinchAPI
104
109
  client_id: ENV["FINCH_CLIENT_ID"],
105
110
  client_secret: ENV["FINCH_CLIENT_SECRET"],
106
111
  access_token: nil,
112
+ webhook_secret: ENV["FINCH_WEBHOOK_SECRET"],
107
113
  base_url: ENV["FINCH_BASE_URL"],
108
114
  max_retries: self.class::DEFAULT_MAX_RETRIES,
109
115
  timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
@@ -115,10 +121,22 @@ module FinchAPI
115
121
  headers = {
116
122
  "finch-api-version" => "2020-09-17"
117
123
  }
124
+ custom_headers_env = ENV["FINCH_CUSTOM_HEADERS"]
125
+ unless custom_headers_env.nil?
126
+ parsed = {}
127
+ custom_headers_env.split("\n").each do |line|
128
+ colon = line.index(":")
129
+ unless colon.nil?
130
+ parsed[line[0...colon].strip] = line[(colon + 1)..].strip
131
+ end
132
+ end
133
+ headers = parsed.merge(headers)
134
+ end
118
135
 
119
136
  @client_id = client_id&.to_s
120
137
  @client_secret = client_secret&.to_s
121
138
  @access_token = access_token&.to_s
139
+ @webhook_secret = webhook_secret&.to_s
122
140
 
123
141
  super(
124
142
  base_url: base_url,
@@ -31,7 +31,19 @@ module FinchAPI
31
31
  #
32
32
  # @raise [ArgumentError]
33
33
  def validate!(req)
34
- keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :stream, :model, :options]
34
+ keys = [
35
+ :method,
36
+ :path,
37
+ :query,
38
+ :headers,
39
+ :body,
40
+ :unwrap,
41
+ :page,
42
+ :stream,
43
+ :model,
44
+ :security,
45
+ :options
46
+ ]
35
47
  case req
36
48
  in Hash
37
49
  req.each_key do |k|
@@ -252,6 +264,8 @@ module FinchAPI
252
264
  #
253
265
  # @option req [FinchAPI::Internal::Type::Converter, Class, nil] :model
254
266
  #
267
+ # @option req [Hash{Symbol=>Boolean}, nil] :security
268
+ #
255
269
  # @param opts [Hash{Symbol=>Object}] .
256
270
  #
257
271
  # @option opts [String, nil] :idempotency_key
@@ -276,7 +290,12 @@ module FinchAPI
276
290
 
277
291
  headers = FinchAPI::Internal::Util.normalized_headers(
278
292
  @headers,
279
- auth_headers,
293
+ auth_headers(
294
+ security: req.fetch(
295
+ :security,
296
+ {bearer_auth: true, basic_auth: true}
297
+ )
298
+ ),
280
299
  req[:headers].to_h,
281
300
  opts[:extra_headers].to_h
282
301
  )
@@ -306,6 +325,11 @@ module FinchAPI
306
325
  FinchAPI::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
307
326
  end
308
327
 
328
+ # Generated methods always pass `req[:body]` for operations that define a
329
+ # request body, so only elide the content-type header when the operation
330
+ # has no body at all, not when an optional body param was omitted.
331
+ headers.delete("content-type") if body.nil? && !req.key?(:body)
332
+
309
333
  url = FinchAPI::Internal::Util.join_parsed_uri(
310
334
  @base_url_components,
311
335
  {**req, path: path, query: query}
@@ -439,7 +463,7 @@ module FinchAPI
439
463
  # Execute the request specified by `req`. This is the method that all resource
440
464
  # methods call into.
441
465
  #
442
- # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: FinchAPI::Internal::Type::Unknown, options: {})
466
+ # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: FinchAPI::Internal::Type::Unknown, security: {bearer_auth: true, basic_auth: true}, options: {})
443
467
  #
444
468
  # @param method [Symbol]
445
469
  #
@@ -459,6 +483,8 @@ module FinchAPI
459
483
  #
460
484
  # @param model [FinchAPI::Internal::Type::Converter, Class, nil]
461
485
  #
486
+ # @param security [Hash{Symbol=>Boolean}, nil]
487
+ #
462
488
  # @param options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] .
463
489
  #
464
490
  # @option options [String, nil] :idempotency_key
@@ -551,6 +577,7 @@ module FinchAPI
551
577
  page: T.nilable(T::Class[FinchAPI::Internal::Type::BasePage[FinchAPI::Internal::Type::BaseModel]]),
552
578
  stream: T.nilable(T::Class[T.anything]),
553
579
  model: T.nilable(FinchAPI::Internal::Type::Converter::Input),
580
+ security: T.nilable({bearer_auth: T::Boolean, basic_auth: T::Boolean}),
554
581
  options: T.nilable(FinchAPI::RequestOptions::OrHash)
555
582
  }
556
583
  end
@@ -75,7 +75,7 @@ module FinchAPI
75
75
 
76
76
  case body
77
77
  in nil
78
- nil
78
+ req["content-length"] ||= 0 unless req["transfer-encoding"]
79
79
  in String
80
80
  req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
81
81
  req.body_stream = FinchAPI::Internal::Util::ReadIOAdapter.new(body, &blk)
@@ -157,7 +157,7 @@ module FinchAPI
157
157
  in Hash | nil => coerced
158
158
  coerced
159
159
  else
160
- message = "Expected a #{Hash} or #{FinchAPI::Internal::Type::BaseModel}, got #{data.inspect}"
160
+ message = "Expected a #{Hash} or #{FinchAPI::Internal::Type::BaseModel}, got #{input.inspect}"
161
161
  raise ArgumentError.new(message)
162
162
  end
163
163
  end
@@ -237,6 +237,11 @@ module FinchAPI
237
237
  end
238
238
  end
239
239
 
240
+ # @type [Regexp]
241
+ #
242
+ # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
243
+ RFC_3986_NOT_PCHARS = /[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/
244
+
240
245
  class << self
241
246
  # @api private
242
247
  #
@@ -247,6 +252,15 @@ module FinchAPI
247
252
  "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
248
253
  end
249
254
 
255
+ # @api private
256
+ #
257
+ # @param path [String, Integer]
258
+ #
259
+ # @return [String]
260
+ def encode_path(path)
261
+ path.to_s.gsub(FinchAPI::Internal::Util::RFC_3986_NOT_PCHARS) { ERB::Util.url_encode(_1) }
262
+ end
263
+
250
264
  # @api private
251
265
  #
252
266
  # @param path [String, Array<String>]
@@ -259,7 +273,7 @@ module FinchAPI
259
273
  in []
260
274
  ""
261
275
  in [String => p, *interpolations]
262
- encoded = interpolations.map { ERB::Util.url_encode(_1) }
276
+ encoded = interpolations.map { encode_path(_1) }
263
277
  format(p, *encoded)
264
278
  end
265
279
  end
@@ -485,11 +499,42 @@ module FinchAPI
485
499
  end
486
500
 
487
501
  # @type [Regexp]
488
- JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
502
+ JSON_CONTENT = %r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}
489
503
  # @type [Regexp]
490
504
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
505
 
492
506
  class << self
507
+ # @api private
508
+ #
509
+ # @param query [Hash{Symbol=>Object}]
510
+ #
511
+ # @return [Hash{Symbol=>Object}]
512
+ def encode_query_params(query)
513
+ out = {}
514
+ query.each { write_query_param_element!(out, _1, _2) }
515
+ out
516
+ end
517
+
518
+ # @api private
519
+ #
520
+ # @param collection [Hash{Symbol=>Object}]
521
+ # @param key [String]
522
+ # @param element [Object]
523
+ #
524
+ # @return [nil]
525
+ private def write_query_param_element!(collection, key, element)
526
+ case element
527
+ in Hash
528
+ element.each do |name, value|
529
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
530
+ end
531
+ in Array
532
+ collection["#{key}[]"] = element.map(&:to_s)
533
+ else
534
+ collection[key] = element.to_s
535
+ end
536
+ end
537
+
493
538
  # @api private
494
539
  #
495
540
  # @param y [Enumerator::Yielder]
@@ -540,16 +585,15 @@ module FinchAPI
540
585
  y << "Content-Disposition: form-data"
541
586
 
542
587
  unless key.nil?
543
- name = ERB::Util.url_encode(key.to_s)
544
- y << "; name=\"#{name}\""
588
+ y << "; name=\"#{key}\""
545
589
  end
546
590
 
547
591
  case val
548
592
  in FinchAPI::FilePart unless val.filename.nil?
549
- filename = ERB::Util.url_encode(val.filename)
593
+ filename = encode_path(val.filename)
550
594
  y << "; filename=\"#{filename}\""
551
595
  in Pathname | IO
552
- filename = ERB::Util.url_encode(::File.basename(val.to_path))
596
+ filename = encode_path(::File.basename(val.to_path))
553
597
  y << "; filename=\"#{filename}\""
554
598
  else
555
599
  end
@@ -566,6 +610,7 @@ module FinchAPI
566
610
  #
567
611
  # @return [Array(String, Enumerable<String>)]
568
612
  private def encode_multipart_streaming(body)
613
+ # rubocop:disable Style/CaseEquality
569
614
  # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length
570
615
  boundary = SecureRandom.urlsafe_base64(46)
571
616
 
@@ -575,7 +620,7 @@ module FinchAPI
575
620
  in Hash
576
621
  body.each do |key, val|
577
622
  case val
578
- in Array if val.all? { primitive?(_1) }
623
+ in Array if val.all? { primitive?(_1) || FinchAPI::Internal::Type::FileInput === _1 }
579
624
  val.each do |v|
580
625
  write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing)
581
626
  end
@@ -591,6 +636,7 @@ module FinchAPI
591
636
 
592
637
  fused_io = fused_enum(strio) { closing.each(&:call) }
593
638
  [boundary, fused_io]
639
+ # rubocop:enable Style/CaseEquality
594
640
  end
595
641
 
596
642
  # @api private
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinchAPI
4
+ module Models
5
+ # @see FinchAPI::Resources::Account#disconnect_entity
6
+ class AccountDisconnectEntityParams < FinchAPI::Internal::Type::BaseModel
7
+ extend FinchAPI::Internal::Type::RequestParameters::Converter
8
+ include FinchAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute entity_ids
11
+ # Array of entity UUIDs to disconnect. At least one entity ID must be provided.
12
+ #
13
+ # @return [Array<String>]
14
+ required :entity_ids, FinchAPI::Internal::Type::ArrayOf[String]
15
+
16
+ # @!method initialize(entity_ids:, request_options: {})
17
+ # @param entity_ids [Array<String>] Array of entity UUIDs to disconnect. At least one entity ID must be provided.
18
+ #
19
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -28,7 +28,13 @@ module FinchAPI
28
28
  # @return [String, nil]
29
29
  optional :connection_id, String
30
30
 
31
- # @!method initialize(account_id:, company_id:, connection_id: nil)
31
+ # @!attribute entity_id
32
+ # Unique Finch id of the entity for which data has been updated.
33
+ #
34
+ # @return [String, nil]
35
+ optional :entity_id, String
36
+
37
+ # @!method initialize(account_id:, company_id:, connection_id: nil, entity_id: nil)
32
38
  # Some parameter documentations has been truncated, see
33
39
  # {FinchAPI::Models::BaseWebhookEvent} for more details.
34
40
  #
@@ -37,6 +43,8 @@ module FinchAPI
37
43
  # @param company_id [String] [DEPRECATED] Unique Finch ID of the company for which data has been updated. Use
38
44
  #
39
45
  # @param connection_id [String] Unique Finch ID of the connection associated with the webhook event.
46
+ #
47
+ # @param entity_id [String] Unique Finch id of the entity for which data has been updated.
40
48
  end
41
49
  end
42
50
  end
@@ -21,7 +21,9 @@ module FinchAPI
21
21
  required :customer_name, String
22
22
 
23
23
  # @!attribute products
24
- # The Finch products to request access to
24
+ # The Finch products to request access to. Use `benefits` to access deductions
25
+ # endpoints — `deduction` is a deprecated alias that is still accepted but should
26
+ # not be combined with `benefits`.
25
27
  #
26
28
  # @return [Array<Symbol, FinchAPI::Models::Connect::SessionNewParams::Product>]
27
29
  required :products,
@@ -72,7 +74,7 @@ module FinchAPI
72
74
  #
73
75
  # @param customer_name [String] Name of the customer
74
76
  #
75
- # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionNewParams::Product>] The Finch products to request access to
77
+ # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionNewParams::Product>] The Finch products to request access to. Use `benefits` to access deductions end
76
78
  #
77
79
  # @param customer_email [String, nil] Email address of the customer
78
80
  #
@@ -88,7 +90,6 @@ module FinchAPI
88
90
  #
89
91
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
90
92
 
91
- # The Finch products that can be requested during the Connect flow.
92
93
  module Product
93
94
  extend FinchAPI::Internal::Type::Enum
94
95
 
@@ -101,6 +102,7 @@ module FinchAPI
101
102
  INDIVIDUAL = :individual
102
103
  PAYMENT = :payment
103
104
  PAY_STATEMENT = :pay_statement
105
+ RECORDKEEPING = :recordkeeping
104
106
  SSN = :ssn
105
107
 
106
108
  # @!method self.values
@@ -22,7 +22,9 @@ module FinchAPI
22
22
  optional :minutes_to_expire, Integer
23
23
 
24
24
  # @!attribute products
25
- # The products to request access to (optional for reauthentication)
25
+ # The products to request access to (optional for reauthentication). Use
26
+ # `benefits` to access deductions endpoints — `deduction` is a deprecated alias
27
+ # that is still accepted but should not be combined with `benefits`.
26
28
  #
27
29
  # @return [Array<Symbol, FinchAPI::Models::Connect::SessionReauthenticateParams::Product>, nil]
28
30
  optional :products,
@@ -45,13 +47,12 @@ module FinchAPI
45
47
  #
46
48
  # @param minutes_to_expire [Integer] The number of minutes until the session expires (defaults to 43,200, which is 30
47
49
  #
48
- # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionReauthenticateParams::Product>, nil] The products to request access to (optional for reauthentication)
50
+ # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionReauthenticateParams::Product>, nil] The products to request access to (optional for reauthentication). Use `benefits
49
51
  #
50
52
  # @param redirect_uri [String, nil] The URI to redirect to after the Connect flow is completed
51
53
  #
52
54
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
53
55
 
54
- # The Finch products that can be requested during the Connect flow.
55
56
  module Product
56
57
  extend FinchAPI::Internal::Type::Enum
57
58
 
@@ -64,6 +65,7 @@ module FinchAPI
64
65
  INDIVIDUAL = :individual
65
66
  PAYMENT = :payment
66
67
  PAY_STATEMENT = :pay_statement
68
+ RECORDKEEPING = :recordkeeping
67
69
  SSN = :ssn
68
70
 
69
71
  # @!method self.values
@@ -80,7 +80,14 @@ module FinchAPI
80
80
  # @return [String, nil]
81
81
  optional :customer_id, String, nil?: true
82
82
 
83
- # @!method initialize(access_token:, client_type:, connection_id:, connection_type:, entity_ids:, products:, provider_id:, token_type:, account_id: nil, company_id: nil, customer_id: nil)
83
+ # @!attribute customer_name
84
+ # The name of your customer you provided to Finch when a connect session was
85
+ # created for this connection
86
+ #
87
+ # @return [String, nil]
88
+ optional :customer_name, String, nil?: true
89
+
90
+ # @!method initialize(access_token:, client_type:, connection_id:, connection_type:, entity_ids:, products:, provider_id:, token_type:, account_id: nil, company_id: nil, customer_id: nil, customer_name: nil)
84
91
  # Some parameter documentations has been truncated, see
85
92
  # {FinchAPI::Models::CreateAccessTokenResponse} for more details.
86
93
  #
@@ -105,6 +112,8 @@ module FinchAPI
105
112
  # @param company_id [String] [DEPRECATED] Use `connection_id` to identify the connection instead of this comp
106
113
  #
107
114
  # @param customer_id [String, nil] The ID of your customer you provided to Finch when a connect session was created
115
+ #
116
+ # @param customer_name [String, nil] The name of your customer you provided to Finch when a connect session was creat
108
117
 
109
118
  # The type of application associated with a token.
110
119
  #
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinchAPI
4
+ module Models
5
+ # @see FinchAPI::Resources::Account#disconnect_entity
6
+ class DisconnectEntityResponse < FinchAPI::Internal::Type::BaseModel
7
+ # @!attribute status
8
+ # If the request is successful, Finch will return "success" (HTTP 200 status).
9
+ #
10
+ # @return [String]
11
+ required :status, String
12
+
13
+ # @!method initialize(status:)
14
+ # @param status [String] If the request is successful, Finch will return "success" (HTTP 200 status).
15
+ end
16
+ end
17
+ end