finch-api 0.1.0.pre.alpha.30 → 0.1.0.pre.alpha.32

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +1 -1
  4. data/lib/finch_api/errors.rb +25 -11
  5. data/lib/finch_api/file_part.rb +10 -7
  6. data/lib/finch_api/internal/individuals_page.rb +1 -1
  7. data/lib/finch_api/internal/page.rb +1 -1
  8. data/lib/finch_api/internal/responses_page.rb +1 -1
  9. data/lib/finch_api/internal/single_page.rb +1 -1
  10. data/lib/finch_api/internal/transport/base_client.rb +11 -7
  11. data/lib/finch_api/internal/transport/pooled_net_requester.rb +34 -31
  12. data/lib/finch_api/internal/type/base_page.rb +1 -1
  13. data/lib/finch_api/internal/type/file_input.rb +7 -4
  14. data/lib/finch_api/internal/util.rb +8 -7
  15. data/lib/finch_api/models/connect/session_new_params.rb +66 -50
  16. data/lib/finch_api/models/connect/session_reauthenticate_params.rb +10 -10
  17. data/lib/finch_api/models/create_access_token_response.rb +9 -1
  18. data/lib/finch_api/models/hris/benefit_contribution.rb +124 -29
  19. data/lib/finch_api/models/hris/benefit_create_params.rb +9 -1
  20. data/lib/finch_api/models/hris/benefit_list_params.rb +9 -1
  21. data/lib/finch_api/models/hris/benefit_list_supported_benefits_params.rb +9 -1
  22. data/lib/finch_api/models/hris/benefit_retrieve_params.rb +9 -1
  23. data/lib/finch_api/models/hris/benefit_update_params.rb +9 -1
  24. data/lib/finch_api/models/hris/benefits/individual_benefit.rb +222 -6
  25. data/lib/finch_api/models/hris/benefits/individual_enroll_many_params.rb +40 -2
  26. data/lib/finch_api/models/hris/benefits/individual_enrolled_ids_params.rb +9 -1
  27. data/lib/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rb +9 -1
  28. data/lib/finch_api/models/hris/benefits/individual_unenroll_many_params.rb +9 -1
  29. data/lib/finch_api/models/hris/company/pay_statement_item/rule_create_params.rb +9 -1
  30. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rb +9 -1
  31. data/lib/finch_api/models/hris/company/pay_statement_item/rule_list_params.rb +9 -1
  32. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_params.rb +10 -1
  33. data/lib/finch_api/models/hris/company/pay_statement_item_list_params.rb +9 -1
  34. data/lib/finch_api/models/hris/company_retrieve_params.rb +9 -1
  35. data/lib/finch_api/models/hris/directory_list_individuals_params.rb +9 -1
  36. data/lib/finch_api/models/hris/directory_list_params.rb +9 -1
  37. data/lib/finch_api/models/hris/document_list_params.rb +9 -1
  38. data/lib/finch_api/models/hris/document_response.rb +11 -11
  39. data/lib/finch_api/models/hris/document_retreive_params.rb +9 -1
  40. data/lib/finch_api/models/hris/employment_retrieve_many_params.rb +9 -1
  41. data/lib/finch_api/models/hris/individual_retrieve_many_params.rb +11 -1
  42. data/lib/finch_api/models/hris/pay_statement.rb +11 -15
  43. data/lib/finch_api/models/hris/pay_statement_retrieve_many_params.rb +9 -1
  44. data/lib/finch_api/models/hris/payment_list_params.rb +9 -1
  45. data/lib/finch_api/models/hris/supported_benefit.rb +1 -0
  46. data/lib/finch_api/models/hris/w42005.rb +20 -20
  47. data/lib/finch_api/models/hris/w42020.rb +30 -30
  48. data/lib/finch_api/models/introspection.rb +38 -23
  49. data/lib/finch_api/models/jobs/automated_list_params.rb +1 -14
  50. data/lib/finch_api/models/jobs/automated_retrieve_params.rb +1 -14
  51. data/lib/finch_api/models/jobs/manual_retrieve_params.rb +1 -14
  52. data/lib/finch_api/models/payroll/pay_group_list_params.rb +11 -1
  53. data/lib/finch_api/models/payroll/pay_group_retrieve_params.rb +9 -1
  54. data/lib/finch_api/models/provider.rb +42 -1092
  55. data/lib/finch_api/models/provider_list_response.rb +143 -0
  56. data/lib/finch_api/models/request_forwarding_forward_params.rb +10 -6
  57. data/lib/finch_api/models/request_forwarding_forward_response.rb +69 -48
  58. data/lib/finch_api/resources/connect/sessions.rb +12 -12
  59. data/lib/finch_api/resources/hris/benefits/individuals.rb +24 -10
  60. data/lib/finch_api/resources/hris/benefits.rb +37 -16
  61. data/lib/finch_api/resources/hris/company/pay_statement_item/rules.rb +38 -15
  62. data/lib/finch_api/resources/hris/company/pay_statement_item.rb +3 -1
  63. data/lib/finch_api/resources/hris/company.rb +6 -2
  64. data/lib/finch_api/resources/hris/directory.rb +3 -1
  65. data/lib/finch_api/resources/hris/documents.rb +9 -3
  66. data/lib/finch_api/resources/hris/employments.rb +7 -3
  67. data/lib/finch_api/resources/hris/individuals.rb +10 -4
  68. data/lib/finch_api/resources/hris/pay_statements.rb +7 -3
  69. data/lib/finch_api/resources/hris/payments.rb +3 -1
  70. data/lib/finch_api/resources/jobs/automated.rb +3 -16
  71. data/lib/finch_api/resources/jobs/manual.rb +2 -10
  72. data/lib/finch_api/resources/payroll/pay_groups.rb +12 -3
  73. data/lib/finch_api/resources/providers.rb +2 -2
  74. data/lib/finch_api/resources/request_forwarding.rb +2 -2
  75. data/lib/finch_api/version.rb +1 -1
  76. data/lib/finch_api.rb +1 -0
  77. data/rbi/finch_api/errors.rbi +29 -2
  78. data/rbi/finch_api/file_part.rbi +1 -1
  79. data/rbi/finch_api/internal/transport/base_client.rbi +4 -5
  80. data/rbi/finch_api/internal/type/base_page.rbi +1 -1
  81. data/rbi/finch_api/internal/util.rbi +1 -1
  82. data/rbi/finch_api/models/connect/session_new_params.rbi +124 -98
  83. data/rbi/finch_api/models/connect/session_reauthenticate_params.rbi +23 -23
  84. data/rbi/finch_api/models/create_access_token_response.rbi +8 -0
  85. data/rbi/finch_api/models/hris/benefit_contribution.rbi +270 -52
  86. data/rbi/finch_api/models/hris/benefit_create_params.rbi +11 -0
  87. data/rbi/finch_api/models/hris/benefit_list_params.rbi +24 -5
  88. data/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi +24 -5
  89. data/rbi/finch_api/models/hris/benefit_retrieve_params.rbi +24 -5
  90. data/rbi/finch_api/models/hris/benefit_update_params.rbi +15 -1
  91. data/rbi/finch_api/models/hris/benefits/individual_benefit.rbi +515 -20
  92. data/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi +87 -0
  93. data/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi +22 -5
  94. data/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +11 -0
  95. data/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi +11 -0
  96. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi +11 -0
  97. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +22 -5
  98. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi +22 -5
  99. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +15 -1
  100. data/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi +11 -0
  101. data/rbi/finch_api/models/hris/company_retrieve_params.rbi +24 -5
  102. data/rbi/finch_api/models/hris/directory_list_individuals_params.rbi +11 -0
  103. data/rbi/finch_api/models/hris/directory_list_params.rbi +11 -0
  104. data/rbi/finch_api/models/hris/document_list_params.rbi +11 -0
  105. data/rbi/finch_api/models/hris/document_response.rbi +14 -29
  106. data/rbi/finch_api/models/hris/document_retreive_params.rbi +24 -5
  107. data/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi +11 -0
  108. data/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi +16 -1
  109. data/rbi/finch_api/models/hris/pay_statement.rbi +9 -34
  110. data/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi +11 -0
  111. data/rbi/finch_api/models/hris/payment_list_params.rbi +11 -0
  112. data/rbi/finch_api/models/hris/supported_benefit.rbi +5 -0
  113. data/rbi/finch_api/models/hris/w42005.rbi +28 -38
  114. data/rbi/finch_api/models/hris/w42020.rbi +37 -43
  115. data/rbi/finch_api/models/introspection.rbi +57 -33
  116. data/rbi/finch_api/models/jobs/automated_list_params.rbi +0 -15
  117. data/rbi/finch_api/models/jobs/automated_retrieve_params.rbi +5 -25
  118. data/rbi/finch_api/models/jobs/manual_retrieve_params.rbi +5 -25
  119. data/rbi/finch_api/models/payroll/pay_group_list_params.rbi +11 -0
  120. data/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi +24 -5
  121. data/rbi/finch_api/models/provider.rbi +75 -2507
  122. data/rbi/finch_api/models/provider_list_response.rbi +280 -0
  123. data/rbi/finch_api/models/request_forwarding_forward_params.rbi +6 -6
  124. data/rbi/finch_api/models/request_forwarding_forward_response.rbi +93 -60
  125. data/rbi/finch_api/resources/connect/sessions.rbi +22 -14
  126. data/rbi/finch_api/resources/hris/benefits/individuals.rbi +20 -3
  127. data/rbi/finch_api/resources/hris/benefits.rbi +39 -12
  128. data/rbi/finch_api/resources/hris/company/pay_statement_item/rules.rbi +35 -8
  129. data/rbi/finch_api/resources/hris/company/pay_statement_item.rbi +3 -0
  130. data/rbi/finch_api/resources/hris/company.rbi +9 -4
  131. data/rbi/finch_api/resources/hris/directory.rbi +3 -0
  132. data/rbi/finch_api/resources/hris/documents.rbi +6 -0
  133. data/rbi/finch_api/resources/hris/employments.rbi +4 -1
  134. data/rbi/finch_api/resources/hris/individuals.rbi +10 -1
  135. data/rbi/finch_api/resources/hris/pay_statements.rbi +4 -1
  136. data/rbi/finch_api/resources/hris/payments.rbi +3 -0
  137. data/rbi/finch_api/resources/jobs/automated.rbi +1 -14
  138. data/rbi/finch_api/resources/jobs/manual.rbi +1 -9
  139. data/rbi/finch_api/resources/payroll/pay_groups.rbi +15 -2
  140. data/rbi/finch_api/resources/providers.rbi +1 -1
  141. data/rbi/finch_api/resources/request_forwarding.rbi +2 -2
  142. data/sig/finch_api/errors.rbs +7 -0
  143. data/sig/finch_api/file_part.rbs +1 -1
  144. data/sig/finch_api/models/connect/session_new_params.rbs +45 -45
  145. data/sig/finch_api/models/connect/session_reauthenticate_params.rbs +15 -15
  146. data/sig/finch_api/models/create_access_token_response.rbs +5 -0
  147. data/sig/finch_api/models/hris/benefit_contribution.rbs +107 -21
  148. data/sig/finch_api/models/hris/benefit_create_params.rbs +7 -0
  149. data/sig/finch_api/models/hris/benefit_list_params.rbs +14 -3
  150. data/sig/finch_api/models/hris/benefit_list_supported_benefits_params.rbs +14 -3
  151. data/sig/finch_api/models/hris/benefit_retrieve_params.rbs +14 -3
  152. data/sig/finch_api/models/hris/benefit_update_params.rbs +8 -1
  153. data/sig/finch_api/models/hris/benefits/individual_benefit.rbs +201 -8
  154. data/sig/finch_api/models/hris/benefits/individual_enroll_many_params.rbs +30 -1
  155. data/sig/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbs +14 -3
  156. data/sig/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +7 -1
  157. data/sig/finch_api/models/hris/benefits/individual_unenroll_many_params.rbs +7 -1
  158. data/sig/finch_api/models/hris/benfit_contribution.rbs +1 -1
  159. data/sig/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbs +7 -0
  160. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbs +14 -3
  161. data/sig/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbs +14 -3
  162. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbs +7 -1
  163. data/sig/finch_api/models/hris/company/pay_statement_item_list_params.rbs +7 -0
  164. data/sig/finch_api/models/hris/company_retrieve_params.rbs +14 -3
  165. data/sig/finch_api/models/hris/directory_list_individuals_params.rbs +7 -1
  166. data/sig/finch_api/models/hris/directory_list_params.rbs +7 -1
  167. data/sig/finch_api/models/hris/document_list_params.rbs +7 -0
  168. data/sig/finch_api/models/hris/document_response.rbs +11 -19
  169. data/sig/finch_api/models/hris/document_retreive_params.rbs +14 -3
  170. data/sig/finch_api/models/hris/employment_retrieve_many_params.rbs +8 -1
  171. data/sig/finch_api/models/hris/individual_retrieve_many_params.rbs +7 -0
  172. data/sig/finch_api/models/hris/pay_statement.rbs +12 -12
  173. data/sig/finch_api/models/hris/pay_statement_retrieve_many_params.rbs +8 -1
  174. data/sig/finch_api/models/hris/payment_list_params.rbs +7 -1
  175. data/sig/finch_api/models/hris/supported_benefit.rbs +2 -1
  176. data/sig/finch_api/models/hris/w42005.rbs +23 -37
  177. data/sig/finch_api/models/hris/w42020.rbs +35 -45
  178. data/sig/finch_api/models/introspection.rbs +29 -20
  179. data/sig/finch_api/models/jobs/automated_list_params.rbs +1 -7
  180. data/sig/finch_api/models/jobs/automated_retrieve_params.rbs +3 -13
  181. data/sig/finch_api/models/jobs/manual_retrieve_params.rbs +3 -13
  182. data/sig/finch_api/models/payroll/pay_group_list_params.rbs +11 -1
  183. data/sig/finch_api/models/payroll/pay_group_retrieve_params.rbs +14 -3
  184. data/sig/finch_api/models/provider.rbs +31 -1366
  185. data/sig/finch_api/models/provider_list_response.rbs +128 -0
  186. data/sig/finch_api/models/request_forwarding_forward_params.rbs +8 -8
  187. data/sig/finch_api/models/request_forwarding_forward_response.rbs +40 -30
  188. data/sig/finch_api/resources/connect/sessions.rbs +9 -9
  189. data/sig/finch_api/resources/hris/benefits/individuals.rbs +4 -0
  190. data/sig/finch_api/resources/hris/benefits.rbs +5 -0
  191. data/sig/finch_api/resources/hris/company/pay_statement_item/rules.rbs +4 -0
  192. data/sig/finch_api/resources/hris/company/pay_statement_item.rbs +1 -0
  193. data/sig/finch_api/resources/hris/company.rbs +1 -0
  194. data/sig/finch_api/resources/hris/directory.rbs +1 -0
  195. data/sig/finch_api/resources/hris/documents.rbs +2 -0
  196. data/sig/finch_api/resources/hris/employments.rbs +1 -0
  197. data/sig/finch_api/resources/hris/individuals.rbs +1 -0
  198. data/sig/finch_api/resources/hris/pay_statements.rbs +1 -0
  199. data/sig/finch_api/resources/hris/payments.rbs +1 -0
  200. data/sig/finch_api/resources/jobs/automated.rbs +0 -2
  201. data/sig/finch_api/resources/jobs/manual.rbs +0 -1
  202. data/sig/finch_api/resources/payroll/pay_groups.rbs +2 -0
  203. data/sig/finch_api/resources/providers.rbs +1 -1
  204. data/sig/finch_api/resources/request_forwarding.rbs +2 -2
  205. metadata +5 -2
@@ -0,0 +1,280 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Models
5
+ class ProviderListResponse < FinchAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ FinchAPI::Models::ProviderListResponse,
10
+ FinchAPI::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The id of the payroll provider used in Connect.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The display name of the payroll provider.
19
+ sig { returns(String) }
20
+ attr_accessor :display_name
21
+
22
+ # The list of Finch products supported on this payroll provider.
23
+ sig { returns(T::Array[String]) }
24
+ attr_accessor :products
25
+
26
+ # The authentication methods supported by the provider.
27
+ sig do
28
+ returns(
29
+ T.nilable(
30
+ T::Array[
31
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod
32
+ ]
33
+ )
34
+ )
35
+ end
36
+ attr_reader :authentication_methods
37
+
38
+ sig do
39
+ params(
40
+ authentication_methods:
41
+ T::Array[
42
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::OrHash
43
+ ]
44
+ ).void
45
+ end
46
+ attr_writer :authentication_methods
47
+
48
+ # `true` if the integration is in a beta state, `false` otherwise
49
+ sig { returns(T.nilable(T::Boolean)) }
50
+ attr_reader :beta
51
+
52
+ sig { params(beta: T::Boolean).void }
53
+ attr_writer :beta
54
+
55
+ # The url to the official icon of the payroll provider.
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :icon
58
+
59
+ sig { params(icon: String).void }
60
+ attr_writer :icon
61
+
62
+ # The url to the official logo of the payroll provider.
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :logo
65
+
66
+ sig { params(logo: String).void }
67
+ attr_writer :logo
68
+
69
+ # [DEPRECATED] Whether the Finch integration with this provider uses the Assisted
70
+ # Connect Flow by default. This field is now deprecated. Please check for a `type`
71
+ # of `assisted` in the `authentication_methods` field instead.
72
+ sig { returns(T.nilable(T::Boolean)) }
73
+ attr_reader :manual
74
+
75
+ sig { params(manual: T::Boolean).void }
76
+ attr_writer :manual
77
+
78
+ # whether MFA is required for the provider.
79
+ sig { returns(T.nilable(T::Boolean)) }
80
+ attr_reader :mfa_required
81
+
82
+ sig { params(mfa_required: T::Boolean).void }
83
+ attr_writer :mfa_required
84
+
85
+ # The hex code for the primary color of the payroll provider.
86
+ sig { returns(T.nilable(String)) }
87
+ attr_reader :primary_color
88
+
89
+ sig { params(primary_color: String).void }
90
+ attr_writer :primary_color
91
+
92
+ sig do
93
+ params(
94
+ id: String,
95
+ display_name: String,
96
+ products: T::Array[String],
97
+ authentication_methods:
98
+ T::Array[
99
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::OrHash
100
+ ],
101
+ beta: T::Boolean,
102
+ icon: String,
103
+ logo: String,
104
+ manual: T::Boolean,
105
+ mfa_required: T::Boolean,
106
+ primary_color: String
107
+ ).returns(T.attached_class)
108
+ end
109
+ def self.new(
110
+ # The id of the payroll provider used in Connect.
111
+ id:,
112
+ # The display name of the payroll provider.
113
+ display_name:,
114
+ # The list of Finch products supported on this payroll provider.
115
+ products:,
116
+ # The authentication methods supported by the provider.
117
+ authentication_methods: nil,
118
+ # `true` if the integration is in a beta state, `false` otherwise
119
+ beta: nil,
120
+ # The url to the official icon of the payroll provider.
121
+ icon: nil,
122
+ # The url to the official logo of the payroll provider.
123
+ logo: nil,
124
+ # [DEPRECATED] Whether the Finch integration with this provider uses the Assisted
125
+ # Connect Flow by default. This field is now deprecated. Please check for a `type`
126
+ # of `assisted` in the `authentication_methods` field instead.
127
+ manual: nil,
128
+ # whether MFA is required for the provider.
129
+ mfa_required: nil,
130
+ # The hex code for the primary color of the payroll provider.
131
+ primary_color: nil
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ id: String,
139
+ display_name: String,
140
+ products: T::Array[String],
141
+ authentication_methods:
142
+ T::Array[
143
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod
144
+ ],
145
+ beta: T::Boolean,
146
+ icon: String,
147
+ logo: String,
148
+ manual: T::Boolean,
149
+ mfa_required: T::Boolean,
150
+ primary_color: String
151
+ }
152
+ )
153
+ end
154
+ def to_hash
155
+ end
156
+
157
+ class AuthenticationMethod < FinchAPI::Internal::Type::BaseModel
158
+ OrHash =
159
+ T.type_alias do
160
+ T.any(
161
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod,
162
+ FinchAPI::Internal::AnyHash
163
+ )
164
+ end
165
+
166
+ # The type of authentication method
167
+ sig do
168
+ returns(
169
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
170
+ )
171
+ end
172
+ attr_accessor :type
173
+
174
+ # The supported benefit types and their configurations
175
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
176
+ attr_reader :benefits_support
177
+
178
+ sig do
179
+ params(benefits_support: T::Hash[Symbol, T.nilable(T.anything)]).void
180
+ end
181
+ attr_writer :benefits_support
182
+
183
+ # The supported fields for each Finch product
184
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
185
+ attr_reader :supported_fields
186
+
187
+ sig do
188
+ params(supported_fields: T::Hash[Symbol, T.nilable(T.anything)]).void
189
+ end
190
+ attr_writer :supported_fields
191
+
192
+ sig do
193
+ params(
194
+ type:
195
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::OrSymbol,
196
+ benefits_support: T::Hash[Symbol, T.nilable(T.anything)],
197
+ supported_fields: T::Hash[Symbol, T.nilable(T.anything)]
198
+ ).returns(T.attached_class)
199
+ end
200
+ def self.new(
201
+ # The type of authentication method
202
+ type:,
203
+ # The supported benefit types and their configurations
204
+ benefits_support: nil,
205
+ # The supported fields for each Finch product
206
+ supported_fields: nil
207
+ )
208
+ end
209
+
210
+ sig do
211
+ override.returns(
212
+ {
213
+ type:
214
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol,
215
+ benefits_support: T::Hash[Symbol, T.nilable(T.anything)],
216
+ supported_fields: T::Hash[Symbol, T.nilable(T.anything)]
217
+ }
218
+ )
219
+ end
220
+ def to_hash
221
+ end
222
+
223
+ # The type of authentication method
224
+ module Type
225
+ extend FinchAPI::Internal::Type::Enum
226
+
227
+ TaggedSymbol =
228
+ T.type_alias do
229
+ T.all(
230
+ Symbol,
231
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type
232
+ )
233
+ end
234
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
235
+
236
+ ASSISTED =
237
+ T.let(
238
+ :assisted,
239
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
240
+ )
241
+ CREDENTIAL =
242
+ T.let(
243
+ :credential,
244
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
245
+ )
246
+ API_TOKEN =
247
+ T.let(
248
+ :api_token,
249
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
250
+ )
251
+ API_CREDENTIAL =
252
+ T.let(
253
+ :api_credential,
254
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
255
+ )
256
+ OAUTH =
257
+ T.let(
258
+ :oauth,
259
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
260
+ )
261
+ API =
262
+ T.let(
263
+ :api,
264
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
265
+ )
266
+
267
+ sig do
268
+ override.returns(
269
+ T::Array[
270
+ FinchAPI::Models::ProviderListResponse::AuthenticationMethod::Type::TaggedSymbol
271
+ ]
272
+ )
273
+ end
274
+ def self.values
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end
@@ -33,12 +33,12 @@ module FinchAPI
33
33
  # The HTTP headers to include on the forwarded request. This value must be
34
34
  # specified as an object of key-value pairs. Example:
35
35
  # `{"Content-Type": "application/xml", "X-API-Version": "v1" }`
36
- sig { returns(T.nilable(T.anything)) }
36
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
37
37
  attr_accessor :headers
38
38
 
39
39
  # The query parameters for the forwarded request. This value must be specified as
40
40
  # a valid JSON object rather than a query string.
41
- sig { returns(T.nilable(T.anything)) }
41
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
42
42
  attr_accessor :params
43
43
 
44
44
  sig do
@@ -46,8 +46,8 @@ module FinchAPI
46
46
  method_: String,
47
47
  route: String,
48
48
  data: T.nilable(String),
49
- headers: T.nilable(T.anything),
50
- params: T.nilable(T.anything),
49
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
50
+ params: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
51
51
  request_options: FinchAPI::RequestOptions::OrHash
52
52
  ).returns(T.attached_class)
53
53
  end
@@ -79,8 +79,8 @@ module FinchAPI
79
79
  method_: String,
80
80
  route: String,
81
81
  data: T.nilable(String),
82
- headers: T.nilable(T.anything),
83
- params: T.nilable(T.anything),
82
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
83
+ params: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
84
84
  request_options: FinchAPI::RequestOptions
85
85
  }
86
86
  )
@@ -11,17 +11,6 @@ module FinchAPI
11
11
  )
12
12
  end
13
13
 
14
- # A string representation of the HTTP response body of the forwarded request's
15
- # response received from the underlying integration's API. This field may be null
16
- # in the case where the upstream system's response is empty.
17
- sig { returns(T.nilable(String)) }
18
- attr_accessor :data
19
-
20
- # The HTTP headers of the forwarded request's response, exactly as received from
21
- # the underlying integration's API.
22
- sig { returns(T.nilable(T.anything)) }
23
- attr_accessor :headers
24
-
25
14
  # An object containing details of your original forwarded request, for your ease
26
15
  # of reference.
27
16
  sig do
@@ -42,40 +31,51 @@ module FinchAPI
42
31
  sig { returns(Integer) }
43
32
  attr_accessor :status_code
44
33
 
34
+ # A string representation of the HTTP response body of the forwarded request's
35
+ # response received from the underlying integration's API. This field may be null
36
+ # in the case where the upstream system's response is empty.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :data
39
+
40
+ # The HTTP headers of the forwarded request's response, exactly as received from
41
+ # the underlying integration's API.
42
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
43
+ attr_accessor :headers
44
+
45
45
  sig do
46
46
  params(
47
- data: T.nilable(String),
48
- headers: T.nilable(T.anything),
49
47
  request:
50
48
  FinchAPI::Models::RequestForwardingForwardResponse::Request::OrHash,
51
- status_code: Integer
49
+ status_code: Integer,
50
+ data: T.nilable(String),
51
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)])
52
52
  ).returns(T.attached_class)
53
53
  end
54
54
  def self.new(
55
- # A string representation of the HTTP response body of the forwarded request's
56
- # response received from the underlying integration's API. This field may be null
57
- # in the case where the upstream system's response is empty.
58
- data:,
59
- # The HTTP headers of the forwarded request's response, exactly as received from
60
- # the underlying integration's API.
61
- headers:,
62
55
  # An object containing details of your original forwarded request, for your ease
63
56
  # of reference.
64
57
  request:,
65
58
  # The HTTP status code of the forwarded request's response, exactly received from
66
59
  # the underlying integration's API. This value will be returned as an integer.
67
- status_code:
60
+ status_code:,
61
+ # A string representation of the HTTP response body of the forwarded request's
62
+ # response received from the underlying integration's API. This field may be null
63
+ # in the case where the upstream system's response is empty.
64
+ data: nil,
65
+ # The HTTP headers of the forwarded request's response, exactly as received from
66
+ # the underlying integration's API.
67
+ headers: nil
68
68
  )
69
69
  end
70
70
 
71
71
  sig do
72
72
  override.returns(
73
73
  {
74
- data: T.nilable(String),
75
- headers: T.nilable(T.anything),
76
74
  request:
77
75
  FinchAPI::Models::RequestForwardingForwardResponse::Request,
78
- status_code: Integer
76
+ status_code: Integer,
77
+ data: T.nilable(String),
78
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)])
79
79
  }
80
80
  )
81
81
  end
@@ -91,74 +91,107 @@ module FinchAPI
91
91
  )
92
92
  end
93
93
 
94
- # The body that was specified for the forwarded request. If a value was not
95
- # specified in the original request, this value will be returned as null ;
96
- # otherwise, this value will always be returned as a string.
97
- sig { returns(T.nilable(String)) }
98
- attr_accessor :data
99
-
100
- # The specified HTTP headers that were included in the forwarded request. If no
101
- # headers were specified, this will be returned as `null`.
102
- sig { returns(T.nilable(T.anything)) }
103
- attr_accessor :headers
104
-
105
94
  # The HTTP method that was specified for the forwarded request. Valid values
106
95
  # include: `GET` , `POST` , `PUT` , `DELETE` , and `PATCH`.
107
96
  sig { returns(String) }
108
97
  attr_accessor :method_
109
98
 
110
- # The query parameters that were included in the forwarded request. If no query
111
- # parameters were specified, this will be returned as `null`.
112
- sig { returns(T.nilable(T.anything)) }
113
- attr_accessor :params
114
-
115
99
  # The URL route path that was specified for the forwarded request.
116
100
  sig { returns(String) }
117
101
  attr_accessor :route
118
102
 
103
+ # The body that was specified for the forwarded request.
104
+ sig do
105
+ returns(
106
+ T.nilable(
107
+ FinchAPI::Models::RequestForwardingForwardResponse::Request::Data::Variants
108
+ )
109
+ )
110
+ end
111
+ attr_accessor :data
112
+
113
+ # The HTTP headers that were specified for the forwarded request.
114
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
115
+ attr_accessor :headers
116
+
117
+ # The query parameters that were specified for the forwarded request.
118
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
119
+ attr_accessor :params
120
+
119
121
  # An object containing details of your original forwarded request, for your ease
120
122
  # of reference.
121
123
  sig do
122
124
  params(
123
- data: T.nilable(String),
124
- headers: T.nilable(T.anything),
125
125
  method_: String,
126
- params: T.nilable(T.anything),
127
- route: String
126
+ route: String,
127
+ data:
128
+ T.nilable(
129
+ FinchAPI::Models::RequestForwardingForwardResponse::Request::Data::Variants
130
+ ),
131
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
132
+ params: T.nilable(T::Hash[Symbol, T.nilable(T.anything)])
128
133
  ).returns(T.attached_class)
129
134
  end
130
135
  def self.new(
131
- # The body that was specified for the forwarded request. If a value was not
132
- # specified in the original request, this value will be returned as null ;
133
- # otherwise, this value will always be returned as a string.
134
- data:,
135
- # The specified HTTP headers that were included in the forwarded request. If no
136
- # headers were specified, this will be returned as `null`.
137
- headers:,
138
136
  # The HTTP method that was specified for the forwarded request. Valid values
139
137
  # include: `GET` , `POST` , `PUT` , `DELETE` , and `PATCH`.
140
138
  method_:,
141
- # The query parameters that were included in the forwarded request. If no query
142
- # parameters were specified, this will be returned as `null`.
143
- params:,
144
139
  # The URL route path that was specified for the forwarded request.
145
- route:
140
+ route:,
141
+ # The body that was specified for the forwarded request.
142
+ data: nil,
143
+ # The HTTP headers that were specified for the forwarded request.
144
+ headers: nil,
145
+ # The query parameters that were specified for the forwarded request.
146
+ params: nil
146
147
  )
147
148
  end
148
149
 
149
150
  sig do
150
151
  override.returns(
151
152
  {
152
- data: T.nilable(String),
153
- headers: T.nilable(T.anything),
154
153
  method_: String,
155
- params: T.nilable(T.anything),
156
- route: String
154
+ route: String,
155
+ data:
156
+ T.nilable(
157
+ FinchAPI::Models::RequestForwardingForwardResponse::Request::Data::Variants
158
+ ),
159
+ headers: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
160
+ params: T.nilable(T::Hash[Symbol, T.nilable(T.anything)])
157
161
  }
158
162
  )
159
163
  end
160
164
  def to_hash
161
165
  end
166
+
167
+ # The body that was specified for the forwarded request.
168
+ module Data
169
+ extend FinchAPI::Internal::Type::Union
170
+
171
+ Variants =
172
+ T.type_alias do
173
+ T.any(String, T::Hash[Symbol, T.nilable(T.anything)])
174
+ end
175
+
176
+ sig do
177
+ override.returns(
178
+ T::Array[
179
+ FinchAPI::Models::RequestForwardingForwardResponse::Request::Data::Variants
180
+ ]
181
+ )
182
+ end
183
+ def self.variants
184
+ end
185
+
186
+ UnionMember1Map =
187
+ T.let(
188
+ FinchAPI::Internal::Type::HashOf[
189
+ FinchAPI::Internal::Type::Unknown,
190
+ nil?: true
191
+ ],
192
+ FinchAPI::Internal::Type::Converter
193
+ )
194
+ end
162
195
  end
163
196
  end
164
197
  end
@@ -7,17 +7,17 @@ module FinchAPI
7
7
  # Create a new connect session for an employer
8
8
  sig do
9
9
  params(
10
+ customer_email: T.nilable(String),
10
11
  customer_id: String,
11
12
  customer_name: String,
12
- products:
13
- T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol],
14
- customer_email: T.nilable(String),
15
13
  integration:
16
14
  T.nilable(
17
15
  FinchAPI::Connect::SessionNewParams::Integration::OrHash
18
16
  ),
19
17
  manual: T.nilable(T::Boolean),
20
18
  minutes_to_expire: T.nilable(Float),
19
+ products:
20
+ T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol],
21
21
  redirect_uri: T.nilable(String),
22
22
  sandbox:
23
23
  T.nilable(FinchAPI::Connect::SessionNewParams::Sandbox::OrSymbol),
@@ -25,17 +25,25 @@ module FinchAPI
25
25
  ).returns(FinchAPI::Models::Connect::SessionNewResponse)
26
26
  end
27
27
  def new(
28
+ # Email address of the customer
29
+ customer_email:,
30
+ # Unique identifier for the customer
28
31
  customer_id:,
32
+ # Name of the customer
29
33
  customer_name:,
30
- products:,
31
- customer_email: nil,
32
- integration: nil,
33
- manual: nil,
34
+ # Integration configuration for the connect session
35
+ integration:,
36
+ # Enable manual authentication mode
37
+ manual:,
34
38
  # The number of minutes until the session expires (defaults to 129,600, which is
35
39
  # 90 days)
36
- minutes_to_expire: nil,
37
- redirect_uri: nil,
38
- sandbox: nil,
40
+ minutes_to_expire:,
41
+ # The Finch products to request access to
42
+ products:,
43
+ # The URI to redirect to after the Connect flow is completed
44
+ redirect_uri:,
45
+ # Sandbox mode for testing
46
+ sandbox:,
39
47
  request_options: {}
40
48
  )
41
49
  end
@@ -44,7 +52,7 @@ module FinchAPI
44
52
  sig do
45
53
  params(
46
54
  connection_id: String,
47
- minutes_to_expire: T.nilable(Integer),
55
+ minutes_to_expire: Integer,
48
56
  products:
49
57
  T.nilable(
50
58
  T::Array[
@@ -60,11 +68,11 @@ module FinchAPI
60
68
  connection_id:,
61
69
  # The number of minutes until the session expires (defaults to 43,200, which is 30
62
70
  # days)
63
- minutes_to_expire: nil,
71
+ minutes_to_expire:,
64
72
  # The products to request access to (optional for reauthentication)
65
- products: nil,
73
+ products:,
66
74
  # The URI to redirect to after the Connect flow is completed
67
- redirect_uri: nil,
75
+ redirect_uri:,
68
76
  request_options: {}
69
77
  )
70
78
  end
@@ -12,6 +12,7 @@ module FinchAPI
12
12
  sig do
13
13
  params(
14
14
  benefit_id: String,
15
+ entity_ids: T::Array[String],
15
16
  individuals:
16
17
  T::Array[
17
18
  FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual::OrHash
@@ -22,8 +23,11 @@ module FinchAPI
22
23
  )
23
24
  end
24
25
  def enroll_many(
26
+ # Path param:
25
27
  benefit_id,
26
- # Array of the individual_id to enroll and a configuration object.
28
+ # Query param: The entity IDs to specify which entities' data to access.
29
+ entity_ids: nil,
30
+ # Body param: Array of the individual_id to enroll and a configuration object.
27
31
  individuals: nil,
28
32
  request_options: {}
29
33
  )
@@ -33,18 +37,25 @@ module FinchAPI
33
37
  sig do
34
38
  params(
35
39
  benefit_id: String,
40
+ entity_ids: T::Array[String],
36
41
  request_options: FinchAPI::RequestOptions::OrHash
37
42
  ).returns(
38
43
  FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse
39
44
  )
40
45
  end
41
- def enrolled_ids(benefit_id, request_options: {})
46
+ def enrolled_ids(
47
+ benefit_id,
48
+ # The entity IDs to specify which entities' data to access.
49
+ entity_ids: nil,
50
+ request_options: {}
51
+ )
42
52
  end
43
53
 
44
54
  # Get enrollment information for the given individuals.
45
55
  sig do
46
56
  params(
47
57
  benefit_id: String,
58
+ entity_ids: T::Array[String],
48
59
  individual_ids: String,
49
60
  request_options: FinchAPI::RequestOptions::OrHash
50
61
  ).returns(
@@ -55,6 +66,8 @@ module FinchAPI
55
66
  end
56
67
  def retrieve_many_benefits(
57
68
  benefit_id,
69
+ # The entity IDs to specify which entities' data to access.
70
+ entity_ids: nil,
58
71
  # comma-delimited list of stable Finch uuids for each individual. If empty,
59
72
  # defaults to all individuals
60
73
  individual_ids: nil,
@@ -66,6 +79,7 @@ module FinchAPI
66
79
  sig do
67
80
  params(
68
81
  benefit_id: String,
82
+ entity_ids: T::Array[String],
69
83
  individual_ids: T::Array[String],
70
84
  request_options: FinchAPI::RequestOptions::OrHash
71
85
  ).returns(
@@ -73,8 +87,11 @@ module FinchAPI
73
87
  )
74
88
  end
75
89
  def unenroll_many(
90
+ # Path param:
76
91
  benefit_id,
77
- # Array of individual_ids to unenroll.
92
+ # Query param: The entity IDs to specify which entities' data to access.
93
+ entity_ids: nil,
94
+ # Body param: Array of individual_ids to unenroll.
78
95
  individual_ids: nil,
79
96
  request_options: {}
80
97
  )