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
@@ -15,6 +15,9 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :individual_id
20
+
18
21
  # Worker's compensation classification code for this employee
19
22
  sig { returns(T.nilable(String)) }
20
23
  attr_accessor :class_code
@@ -84,6 +87,17 @@ module FinchAPI
84
87
  sig { returns(T.nilable(String)) }
85
88
  attr_accessor :first_name
86
89
 
90
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
91
+ # `unknown`.
92
+ sig do
93
+ returns(
94
+ T.nilable(
95
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::OrSymbol
96
+ )
97
+ )
98
+ end
99
+ attr_accessor :flsa_status
100
+
87
101
  # The employee's income as reported by the provider. This may not always be
88
102
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
89
103
  # depending on what information the provider returns.
@@ -147,6 +161,7 @@ module FinchAPI
147
161
 
148
162
  sig do
149
163
  params(
164
+ individual_id: String,
150
165
  class_code: T.nilable(String),
151
166
  custom_fields:
152
167
  T.nilable(
@@ -168,6 +183,10 @@ module FinchAPI
168
183
  ),
169
184
  end_date: T.nilable(String),
170
185
  first_name: T.nilable(String),
186
+ flsa_status:
187
+ T.nilable(
188
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::OrSymbol
189
+ ),
171
190
  income: T.nilable(FinchAPI::Income::OrHash),
172
191
  income_history:
173
192
  T.nilable(T::Array[T.nilable(FinchAPI::Income::OrHash)]),
@@ -187,6 +206,7 @@ module FinchAPI
187
206
  ).returns(T.attached_class)
188
207
  end
189
208
  def self.new(
209
+ individual_id:,
190
210
  # Worker's compensation classification code for this employee
191
211
  class_code: nil,
192
212
  # Custom fields for the individual. These are fields which are defined by the
@@ -202,6 +222,9 @@ module FinchAPI
202
222
  end_date: nil,
203
223
  # The legal first name of the individual.
204
224
  first_name: nil,
225
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
226
+ # `unknown`.
227
+ flsa_status: nil,
205
228
  # The employee's income as reported by the provider. This may not always be
206
229
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
207
230
  # depending on what information the provider returns.
@@ -230,6 +253,7 @@ module FinchAPI
230
253
  sig do
231
254
  override.returns(
232
255
  {
256
+ individual_id: String,
233
257
  class_code: T.nilable(String),
234
258
  custom_fields:
235
259
  T.nilable(
@@ -251,6 +275,10 @@ module FinchAPI
251
275
  ),
252
276
  end_date: T.nilable(String),
253
277
  first_name: T.nilable(String),
278
+ flsa_status:
279
+ T.nilable(
280
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::OrSymbol
281
+ ),
254
282
  income: T.nilable(FinchAPI::Income),
255
283
  income_history: T.nilable(T::Array[T.nilable(FinchAPI::Income)]),
256
284
  is_active: T.nilable(T::Boolean),
@@ -282,25 +310,75 @@ module FinchAPI
282
310
  sig { returns(T.nilable(String)) }
283
311
  attr_accessor :name
284
312
 
285
- sig { returns(T.nilable(T.anything)) }
286
- attr_reader :value
287
-
288
- sig { params(value: T.anything).void }
289
- attr_writer :value
290
-
291
313
  sig do
292
- params(name: T.nilable(String), value: T.anything).returns(
293
- T.attached_class
314
+ returns(
315
+ T.nilable(
316
+ FinchAPI::Sandbox::EmploymentUpdateParams::CustomField::Value::Variants
317
+ )
294
318
  )
295
319
  end
320
+ attr_accessor :value
321
+
322
+ sig do
323
+ params(
324
+ name: T.nilable(String),
325
+ value:
326
+ T.nilable(
327
+ FinchAPI::Sandbox::EmploymentUpdateParams::CustomField::Value::Variants
328
+ )
329
+ ).returns(T.attached_class)
330
+ end
296
331
  def self.new(name: nil, value: nil)
297
332
  end
298
333
 
299
334
  sig do
300
- override.returns({ name: T.nilable(String), value: T.anything })
335
+ override.returns(
336
+ {
337
+ name: T.nilable(String),
338
+ value:
339
+ T.nilable(
340
+ FinchAPI::Sandbox::EmploymentUpdateParams::CustomField::Value::Variants
341
+ )
342
+ }
343
+ )
301
344
  end
302
345
  def to_hash
303
346
  end
347
+
348
+ module Value
349
+ extend FinchAPI::Internal::Type::Union
350
+
351
+ Variants =
352
+ T.type_alias do
353
+ T.nilable(
354
+ T.any(
355
+ String,
356
+ T::Array[T.anything],
357
+ T.anything,
358
+ Float,
359
+ T::Boolean
360
+ )
361
+ )
362
+ end
363
+
364
+ sig do
365
+ override.returns(
366
+ T::Array[
367
+ FinchAPI::Sandbox::EmploymentUpdateParams::CustomField::Value::Variants
368
+ ]
369
+ )
370
+ end
371
+ def self.variants
372
+ end
373
+
374
+ UnionMember1Array =
375
+ T.let(
376
+ FinchAPI::Internal::Type::ArrayOf[
377
+ FinchAPI::Internal::Type::Unknown
378
+ ],
379
+ FinchAPI::Internal::Type::Converter
380
+ )
381
+ end
304
382
  end
305
383
 
306
384
  class Department < FinchAPI::Internal::Type::BaseModel
@@ -550,6 +628,47 @@ module FinchAPI
550
628
  end
551
629
  end
552
630
 
631
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
632
+ # `unknown`.
633
+ module FlsaStatus
634
+ extend FinchAPI::Internal::Type::Enum
635
+
636
+ TaggedSymbol =
637
+ T.type_alias do
638
+ T.all(
639
+ Symbol,
640
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus
641
+ )
642
+ end
643
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
644
+
645
+ EXEMPT =
646
+ T.let(
647
+ :exempt,
648
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::TaggedSymbol
649
+ )
650
+ NON_EXEMPT =
651
+ T.let(
652
+ :non_exempt,
653
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::TaggedSymbol
654
+ )
655
+ UNKNOWN =
656
+ T.let(
657
+ :unknown,
658
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::TaggedSymbol
659
+ )
660
+
661
+ sig do
662
+ override.returns(
663
+ T::Array[
664
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::TaggedSymbol
665
+ ]
666
+ )
667
+ end
668
+ def self.values
669
+ end
670
+ end
671
+
553
672
  class Manager < FinchAPI::Internal::Type::BaseModel
554
673
  OrHash =
555
674
  T.type_alias do
@@ -94,6 +94,17 @@ module FinchAPI
94
94
  sig { returns(T.nilable(String)) }
95
95
  attr_accessor :first_name
96
96
 
97
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
98
+ # `unknown`.
99
+ sig do
100
+ returns(
101
+ T.nilable(
102
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
103
+ )
104
+ )
105
+ end
106
+ attr_accessor :flsa_status
107
+
97
108
  # The employee's income as reported by the provider. This may not always be
98
109
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
99
110
  # depending on what information the provider returns.
@@ -183,6 +194,10 @@ module FinchAPI
183
194
  ),
184
195
  end_date: T.nilable(String),
185
196
  first_name: T.nilable(String),
197
+ flsa_status:
198
+ T.nilable(
199
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::OrSymbol
200
+ ),
186
201
  income: T.nilable(FinchAPI::Income::OrHash),
187
202
  income_history:
188
203
  T.nilable(T::Array[T.nilable(FinchAPI::Income::OrHash)]),
@@ -218,6 +233,9 @@ module FinchAPI
218
233
  end_date: nil,
219
234
  # The legal first name of the individual.
220
235
  first_name: nil,
236
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
237
+ # `unknown`.
238
+ flsa_status: nil,
221
239
  # The employee's income as reported by the provider. This may not always be
222
240
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
223
241
  # depending on what information the provider returns.
@@ -267,6 +285,10 @@ module FinchAPI
267
285
  ),
268
286
  end_date: T.nilable(String),
269
287
  first_name: T.nilable(String),
288
+ flsa_status:
289
+ T.nilable(
290
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
291
+ ),
270
292
  income: T.nilable(FinchAPI::Income),
271
293
  income_history: T.nilable(T::Array[T.nilable(FinchAPI::Income)]),
272
294
  is_active: T.nilable(T::Boolean),
@@ -299,25 +321,75 @@ module FinchAPI
299
321
  sig { returns(T.nilable(String)) }
300
322
  attr_accessor :name
301
323
 
302
- sig { returns(T.nilable(T.anything)) }
303
- attr_reader :value
304
-
305
- sig { params(value: T.anything).void }
306
- attr_writer :value
307
-
308
324
  sig do
309
- params(name: T.nilable(String), value: T.anything).returns(
310
- T.attached_class
325
+ returns(
326
+ T.nilable(
327
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value::Variants
328
+ )
311
329
  )
312
330
  end
331
+ attr_accessor :value
332
+
333
+ sig do
334
+ params(
335
+ name: T.nilable(String),
336
+ value:
337
+ T.nilable(
338
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value::Variants
339
+ )
340
+ ).returns(T.attached_class)
341
+ end
313
342
  def self.new(name: nil, value: nil)
314
343
  end
315
344
 
316
345
  sig do
317
- override.returns({ name: T.nilable(String), value: T.anything })
346
+ override.returns(
347
+ {
348
+ name: T.nilable(String),
349
+ value:
350
+ T.nilable(
351
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value::Variants
352
+ )
353
+ }
354
+ )
318
355
  end
319
356
  def to_hash
320
357
  end
358
+
359
+ module Value
360
+ extend FinchAPI::Internal::Type::Union
361
+
362
+ Variants =
363
+ T.type_alias do
364
+ T.nilable(
365
+ T.any(
366
+ String,
367
+ T::Array[T.anything],
368
+ T.anything,
369
+ Float,
370
+ T::Boolean
371
+ )
372
+ )
373
+ end
374
+
375
+ sig do
376
+ override.returns(
377
+ T::Array[
378
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value::Variants
379
+ ]
380
+ )
381
+ end
382
+ def self.variants
383
+ end
384
+
385
+ UnionMember1Array =
386
+ T.let(
387
+ FinchAPI::Internal::Type::ArrayOf[
388
+ FinchAPI::Internal::Type::Unknown
389
+ ],
390
+ FinchAPI::Internal::Type::Converter
391
+ )
392
+ end
321
393
  end
322
394
 
323
395
  class Department < FinchAPI::Internal::Type::BaseModel
@@ -567,6 +639,47 @@ module FinchAPI
567
639
  end
568
640
  end
569
641
 
642
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
643
+ # `unknown`.
644
+ module FlsaStatus
645
+ extend FinchAPI::Internal::Type::Enum
646
+
647
+ TaggedSymbol =
648
+ T.type_alias do
649
+ T.all(
650
+ Symbol,
651
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus
652
+ )
653
+ end
654
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
655
+
656
+ EXEMPT =
657
+ T.let(
658
+ :exempt,
659
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
660
+ )
661
+ NON_EXEMPT =
662
+ T.let(
663
+ :non_exempt,
664
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
665
+ )
666
+ UNKNOWN =
667
+ T.let(
668
+ :unknown,
669
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
670
+ )
671
+
672
+ sig do
673
+ override.returns(
674
+ T::Array[
675
+ FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus::TaggedSymbol
676
+ ]
677
+ )
678
+ end
679
+ def self.values
680
+ end
681
+ end
682
+
570
683
  class Manager < FinchAPI::Internal::Type::BaseModel
571
684
  OrHash =
572
685
  T.type_alias do
@@ -15,6 +15,9 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :individual_id
20
+
18
21
  sig { returns(T.nilable(String)) }
19
22
  attr_accessor :dob
20
23
 
@@ -97,6 +100,7 @@ module FinchAPI
97
100
 
98
101
  sig do
99
102
  params(
103
+ individual_id: String,
100
104
  dob: T.nilable(String),
101
105
  emails:
102
106
  T.nilable(
@@ -131,6 +135,7 @@ module FinchAPI
131
135
  ).returns(T.attached_class)
132
136
  end
133
137
  def self.new(
138
+ individual_id:,
134
139
  dob: nil,
135
140
  emails: nil,
136
141
  # Social Security Number of the individual in **encrypted** format. This field is
@@ -163,6 +168,7 @@ module FinchAPI
163
168
  sig do
164
169
  override.returns(
165
170
  {
171
+ individual_id: String,
166
172
  dob: T.nilable(String),
167
173
  emails:
168
174
  T.nilable(
@@ -3,6 +3,9 @@
3
3
  module FinchAPI
4
4
  AccessTokenCreateParams = FinchAPI::Models::AccessTokenCreateParams
5
5
 
6
+ AccountDisconnectEntityParams =
7
+ FinchAPI::Models::AccountDisconnectEntityParams
8
+
6
9
  AccountDisconnectParams = FinchAPI::Models::AccountDisconnectParams
7
10
 
8
11
  AccountIntrospectParams = FinchAPI::Models::AccountIntrospectParams
@@ -21,6 +24,8 @@ module FinchAPI
21
24
 
22
25
  DirectoryEvent = FinchAPI::Models::DirectoryEvent
23
26
 
27
+ DisconnectEntityResponse = FinchAPI::Models::DisconnectEntityResponse
28
+
24
29
  DisconnectResponse = FinchAPI::Models::DisconnectResponse
25
30
 
26
31
  EmploymentEvent = FinchAPI::Models::EmploymentEvent
@@ -12,6 +12,21 @@ module FinchAPI
12
12
  def disconnect(request_options: {})
13
13
  end
14
14
 
15
+ # Disconnect entity(s) from a connection without affecting other entities
16
+ # associated with the same connection.
17
+ sig do
18
+ params(
19
+ entity_ids: T::Array[String],
20
+ request_options: FinchAPI::RequestOptions::OrHash
21
+ ).returns(FinchAPI::DisconnectEntityResponse)
22
+ end
23
+ def disconnect_entity(
24
+ # Array of entity UUIDs to disconnect. At least one entity ID must be provided.
25
+ entity_ids:,
26
+ request_options: {}
27
+ )
28
+ end
29
+
15
30
  # Read account information associated with an `access_token`
16
31
  sig do
17
32
  params(request_options: FinchAPI::RequestOptions::OrHash).returns(
@@ -29,7 +29,9 @@ module FinchAPI
29
29
  customer_id:,
30
30
  # Name of the customer
31
31
  customer_name:,
32
- # The Finch products to request access to
32
+ # The Finch products to request access to. Use `benefits` to access deductions
33
+ # endpoints — `deduction` is a deprecated alias that is still accepted but should
34
+ # not be combined with `benefits`.
33
35
  products:,
34
36
  # Email address of the customer
35
37
  customer_email: nil,
@@ -69,7 +71,9 @@ module FinchAPI
69
71
  # The number of minutes until the session expires (defaults to 43,200, which is 30
70
72
  # days)
71
73
  minutes_to_expire: nil,
72
- # The products to request access to (optional for reauthentication)
74
+ # The products to request access to (optional for reauthentication). Use
75
+ # `benefits` to access deductions endpoints — `deduction` is a deprecated alias
76
+ # that is still accepted but should not be combined with `benefits`.
73
77
  products: nil,
74
78
  # The URI to redirect to after the Connect flow is completed
75
79
  redirect_uri: nil,
@@ -107,6 +107,30 @@ module FinchAPI
107
107
  )
108
108
  end
109
109
 
110
+ # Register existing benefits from the customer on the provider, on Finch's end.
111
+ # Please use the `/provider` endpoint to view available types for each provider.
112
+ sig do
113
+ params(
114
+ entity_ids: T::Array[String],
115
+ description: String,
116
+ frequency: T.nilable(FinchAPI::HRIS::BenefitFrequency::OrSymbol),
117
+ type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol),
118
+ request_options: FinchAPI::RequestOptions::OrHash
119
+ ).returns(FinchAPI::HRIS::RegisterCompanyBenefitResponse)
120
+ end
121
+ def register(
122
+ # Query param: The entity IDs to specify which entities' data to access.
123
+ entity_ids: nil,
124
+ # Body param
125
+ description: nil,
126
+ # Body param: The frequency of the benefit deduction/contribution.
127
+ frequency: nil,
128
+ # Body param: Type of benefit.
129
+ type: nil,
130
+ request_options: {}
131
+ )
132
+ end
133
+
110
134
  # @api private
111
135
  sig { params(client: FinchAPI::Client).returns(T.attached_class) }
112
136
  def self.new(client:)
@@ -20,17 +20,15 @@ module FinchAPI
20
20
  # access to this endpoint, please contact your Finch account manager.
21
21
  sig do
22
22
  params(
23
- type: FinchAPI::Jobs::AutomatedCreateParams::Type::OrSymbol,
24
- params: FinchAPI::Jobs::AutomatedCreateParams::Params::OrHash,
23
+ body:
24
+ T.any(
25
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll::OrHash,
26
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::OrHash
27
+ ),
25
28
  request_options: FinchAPI::RequestOptions::OrHash
26
29
  ).returns(FinchAPI::Models::Jobs::AutomatedCreateResponse)
27
30
  end
28
- def create(
29
- # The type of job to start.
30
- type:,
31
- params:,
32
- request_options: {}
33
- )
31
+ def create(body:, request_options: {})
34
32
  end
35
33
 
36
34
  # Get an automated job by `job_id`.
@@ -29,6 +29,10 @@ module FinchAPI
29
29
  ),
30
30
  end_date: T.nilable(String),
31
31
  first_name: T.nilable(String),
32
+ flsa_status:
33
+ T.nilable(
34
+ FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus::OrSymbol
35
+ ),
32
36
  income: T.nilable(FinchAPI::Income::OrHash),
33
37
  income_history:
34
38
  T.nilable(T::Array[T.nilable(FinchAPI::Income::OrHash)]),
@@ -64,6 +68,9 @@ module FinchAPI
64
68
  end_date: nil,
65
69
  # The legal first name of the individual.
66
70
  first_name: nil,
71
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
72
+ # `unknown`.
73
+ flsa_status: nil,
67
74
  # The employee's income as reported by the provider. This may not always be
68
75
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
69
76
  # depending on what information the provider returns.
@@ -14,6 +14,8 @@ module FinchAPI
14
14
 
15
15
  attr_reader client_secret: String?
16
16
 
17
+ attr_reader webhook_secret: String?
18
+
17
19
  attr_reader access_tokens: FinchAPI::Resources::AccessTokens
18
20
 
19
21
  attr_reader hris: FinchAPI::Resources::HRIS
@@ -34,7 +36,9 @@ module FinchAPI
34
36
 
35
37
  attr_reader connect: FinchAPI::Resources::Connect
36
38
 
37
- private def auth_headers: -> ::Hash[String, String]
39
+ private def auth_headers: (
40
+ security: { bearer_auth: bool, basic_auth: bool }
41
+ ) -> ::Hash[String, String]
38
42
 
39
43
  private def bearer_auth: -> ::Hash[String, String]
40
44
 
@@ -44,6 +48,7 @@ module FinchAPI
44
48
  ?client_id: String?,
45
49
  ?client_secret: String?,
46
50
  ?access_token: String?,
51
+ ?webhook_secret: String?,
47
52
  ?base_url: String?,
48
53
  ?max_retries: Integer,
49
54
  ?timeout: Float,
@@ -20,6 +20,7 @@ module FinchAPI
20
20
  page: Class?,
21
21
  stream: Class?,
22
22
  model: FinchAPI::Internal::Type::Converter::input?,
23
+ security: { bearer_auth: bool, basic_auth: bool }?,
23
24
  options: FinchAPI::request_opts?
24
25
  }
25
26
  type request_input =
@@ -123,6 +124,7 @@ module FinchAPI
123
124
  ?page: Class?,
124
125
  ?stream: Class?,
125
126
  ?model: FinchAPI::Internal::Type::Converter::input?,
127
+ ?security: { bearer_auth: bool, basic_auth: bool }?,
126
128
  ?options: FinchAPI::request_opts?
127
129
  ) -> top
128
130
 
@@ -45,8 +45,12 @@ module FinchAPI
45
45
  -> top?
46
46
  } -> top?
47
47
 
48
+ RFC_3986_NOT_PCHARS: Regexp
49
+
48
50
  def self?.uri_origin: (URI::Generic uri) -> String
49
51
 
52
+ def self?.encode_path: (String | Integer path) -> String
53
+
50
54
  def self?.interpolate_path: (String | ::Array[String] path) -> String
51
55
 
52
56
  def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
@@ -106,6 +110,16 @@ module FinchAPI
106
110
  JSON_CONTENT: Regexp
107
111
  JSONL_CONTENT: Regexp
108
112
 
113
+ def encode_query_params: (
114
+ ::Hash[Symbol, top] query
115
+ ) -> ::Hash[Symbol, top]
116
+
117
+ private def write_query_param_element!: (
118
+ ::Hash[Symbol, top] collection,
119
+ String key,
120
+ top element
121
+ ) -> nil
122
+
109
123
  def self?.write_multipart_content: (
110
124
  Enumerator::Yielder y,
111
125
  val: top,
@@ -0,0 +1,24 @@
1
+ module FinchAPI
2
+ module Models
3
+ type account_disconnect_entity_params =
4
+ { entity_ids: ::Array[String] }
5
+ & FinchAPI::Internal::Type::request_parameters
6
+
7
+ class AccountDisconnectEntityParams < FinchAPI::Internal::Type::BaseModel
8
+ extend FinchAPI::Internal::Type::RequestParameters::Converter
9
+ include FinchAPI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor entity_ids: ::Array[String]
12
+
13
+ def initialize: (
14
+ entity_ids: ::Array[String],
15
+ ?request_options: FinchAPI::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ entity_ids: ::Array[String],
20
+ request_options: FinchAPI::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end