finch-api 0.1.0.pre.alpha.29 → 0.1.0.pre.alpha.31

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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +49 -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/access_token_create_params.rb +13 -13
  16. data/lib/finch_api/models/connect/session_new_params.rb +66 -50
  17. data/lib/finch_api/models/connect/session_reauthenticate_params.rb +10 -10
  18. data/lib/finch_api/models/create_access_token_response.rb +9 -1
  19. data/lib/finch_api/models/hris/benefit_contribution.rb +124 -29
  20. data/lib/finch_api/models/hris/benefit_create_params.rb +9 -1
  21. data/lib/finch_api/models/hris/benefit_list_params.rb +9 -1
  22. data/lib/finch_api/models/hris/benefit_list_supported_benefits_params.rb +9 -1
  23. data/lib/finch_api/models/hris/benefit_retrieve_params.rb +9 -1
  24. data/lib/finch_api/models/hris/benefit_update_params.rb +9 -1
  25. data/lib/finch_api/models/hris/benefits/individual_benefit.rb +222 -6
  26. data/lib/finch_api/models/hris/benefits/individual_enroll_many_params.rb +40 -2
  27. data/lib/finch_api/models/hris/benefits/individual_enrolled_ids_params.rb +9 -1
  28. data/lib/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rb +9 -1
  29. data/lib/finch_api/models/hris/benefits/individual_unenroll_many_params.rb +9 -1
  30. data/lib/finch_api/models/hris/company/pay_statement_item/rule_create_params.rb +9 -1
  31. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rb +9 -1
  32. data/lib/finch_api/models/hris/company/pay_statement_item/rule_list_params.rb +9 -1
  33. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_params.rb +10 -1
  34. data/lib/finch_api/models/hris/company/pay_statement_item_list_params.rb +9 -1
  35. data/lib/finch_api/models/hris/company_retrieve_params.rb +9 -1
  36. data/lib/finch_api/models/hris/directory_list_individuals_params.rb +9 -1
  37. data/lib/finch_api/models/hris/directory_list_params.rb +9 -1
  38. data/lib/finch_api/models/hris/document_list_params.rb +9 -1
  39. data/lib/finch_api/models/hris/document_response.rb +11 -11
  40. data/lib/finch_api/models/hris/document_retreive_params.rb +9 -1
  41. data/lib/finch_api/models/hris/employment_retrieve_many_params.rb +9 -1
  42. data/lib/finch_api/models/hris/individual_retrieve_many_params.rb +11 -1
  43. data/lib/finch_api/models/hris/pay_statement.rb +53 -103
  44. data/lib/finch_api/models/hris/pay_statement_retrieve_many_params.rb +9 -1
  45. data/lib/finch_api/models/hris/payment_list_params.rb +9 -1
  46. data/lib/finch_api/models/hris/supported_benefit.rb +1 -0
  47. data/lib/finch_api/models/hris/w42005.rb +20 -20
  48. data/lib/finch_api/models/hris/w42020.rb +30 -30
  49. data/lib/finch_api/models/introspection.rb +38 -23
  50. data/lib/finch_api/models/jobs/automated_list_params.rb +1 -14
  51. data/lib/finch_api/models/jobs/automated_retrieve_params.rb +1 -14
  52. data/lib/finch_api/models/jobs/manual_retrieve_params.rb +1 -14
  53. data/lib/finch_api/models/payroll/pay_group_list_params.rb +11 -1
  54. data/lib/finch_api/models/payroll/pay_group_retrieve_params.rb +9 -1
  55. data/lib/finch_api/models/provider.rb +42 -1092
  56. data/lib/finch_api/models/provider_list_response.rb +143 -0
  57. data/lib/finch_api/models/request_forwarding_forward_params.rb +10 -6
  58. data/lib/finch_api/models/request_forwarding_forward_response.rb +69 -48
  59. data/lib/finch_api/resources/access_tokens.rb +3 -3
  60. data/lib/finch_api/resources/connect/sessions.rb +12 -12
  61. data/lib/finch_api/resources/hris/benefits/individuals.rb +24 -10
  62. data/lib/finch_api/resources/hris/benefits.rb +37 -16
  63. data/lib/finch_api/resources/hris/company/pay_statement_item/rules.rb +38 -15
  64. data/lib/finch_api/resources/hris/company/pay_statement_item.rb +3 -1
  65. data/lib/finch_api/resources/hris/company.rb +6 -2
  66. data/lib/finch_api/resources/hris/directory.rb +3 -1
  67. data/lib/finch_api/resources/hris/documents.rb +9 -3
  68. data/lib/finch_api/resources/hris/employments.rb +7 -3
  69. data/lib/finch_api/resources/hris/individuals.rb +10 -4
  70. data/lib/finch_api/resources/hris/pay_statements.rb +7 -3
  71. data/lib/finch_api/resources/hris/payments.rb +3 -1
  72. data/lib/finch_api/resources/jobs/automated.rb +3 -16
  73. data/lib/finch_api/resources/jobs/manual.rb +2 -10
  74. data/lib/finch_api/resources/payroll/pay_groups.rb +12 -3
  75. data/lib/finch_api/resources/providers.rb +2 -2
  76. data/lib/finch_api/resources/request_forwarding.rb +2 -2
  77. data/lib/finch_api/version.rb +1 -1
  78. data/lib/finch_api.rb +1 -0
  79. data/rbi/finch_api/errors.rbi +29 -2
  80. data/rbi/finch_api/file_part.rbi +1 -1
  81. data/rbi/finch_api/internal/transport/base_client.rbi +4 -5
  82. data/rbi/finch_api/internal/type/base_page.rbi +1 -1
  83. data/rbi/finch_api/internal/util.rbi +1 -1
  84. data/rbi/finch_api/models/access_token_create_params.rbi +19 -13
  85. data/rbi/finch_api/models/connect/session_new_params.rbi +124 -98
  86. data/rbi/finch_api/models/connect/session_reauthenticate_params.rbi +23 -23
  87. data/rbi/finch_api/models/create_access_token_response.rbi +8 -0
  88. data/rbi/finch_api/models/hris/benefit_contribution.rbi +270 -52
  89. data/rbi/finch_api/models/hris/benefit_create_params.rbi +11 -0
  90. data/rbi/finch_api/models/hris/benefit_list_params.rbi +24 -5
  91. data/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi +24 -5
  92. data/rbi/finch_api/models/hris/benefit_retrieve_params.rbi +24 -5
  93. data/rbi/finch_api/models/hris/benefit_update_params.rbi +15 -1
  94. data/rbi/finch_api/models/hris/benefits/individual_benefit.rbi +515 -20
  95. data/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi +87 -0
  96. data/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi +22 -5
  97. data/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +11 -0
  98. data/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi +11 -0
  99. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi +11 -0
  100. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +22 -5
  101. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi +22 -5
  102. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +15 -1
  103. data/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi +11 -0
  104. data/rbi/finch_api/models/hris/company_retrieve_params.rbi +24 -5
  105. data/rbi/finch_api/models/hris/directory_list_individuals_params.rbi +11 -0
  106. data/rbi/finch_api/models/hris/directory_list_params.rbi +11 -0
  107. data/rbi/finch_api/models/hris/document_list_params.rbi +11 -0
  108. data/rbi/finch_api/models/hris/document_response.rbi +14 -29
  109. data/rbi/finch_api/models/hris/document_retreive_params.rbi +24 -5
  110. data/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi +11 -0
  111. data/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi +16 -1
  112. data/rbi/finch_api/models/hris/pay_statement.rbi +69 -272
  113. data/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi +11 -0
  114. data/rbi/finch_api/models/hris/payment_list_params.rbi +11 -0
  115. data/rbi/finch_api/models/hris/supported_benefit.rbi +5 -0
  116. data/rbi/finch_api/models/hris/w42005.rbi +28 -38
  117. data/rbi/finch_api/models/hris/w42020.rbi +37 -43
  118. data/rbi/finch_api/models/introspection.rbi +57 -33
  119. data/rbi/finch_api/models/jobs/automated_list_params.rbi +0 -15
  120. data/rbi/finch_api/models/jobs/automated_retrieve_params.rbi +5 -25
  121. data/rbi/finch_api/models/jobs/manual_retrieve_params.rbi +5 -25
  122. data/rbi/finch_api/models/payroll/pay_group_list_params.rbi +11 -0
  123. data/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi +24 -5
  124. data/rbi/finch_api/models/provider.rbi +75 -2507
  125. data/rbi/finch_api/models/provider_list_response.rbi +280 -0
  126. data/rbi/finch_api/models/request_forwarding_forward_params.rbi +6 -6
  127. data/rbi/finch_api/models/request_forwarding_forward_response.rbi +93 -60
  128. data/rbi/finch_api/resources/access_tokens.rbi +5 -5
  129. data/rbi/finch_api/resources/connect/sessions.rbi +22 -14
  130. data/rbi/finch_api/resources/hris/benefits/individuals.rbi +20 -3
  131. data/rbi/finch_api/resources/hris/benefits.rbi +39 -12
  132. data/rbi/finch_api/resources/hris/company/pay_statement_item/rules.rbi +35 -8
  133. data/rbi/finch_api/resources/hris/company/pay_statement_item.rbi +3 -0
  134. data/rbi/finch_api/resources/hris/company.rbi +9 -4
  135. data/rbi/finch_api/resources/hris/directory.rbi +3 -0
  136. data/rbi/finch_api/resources/hris/documents.rbi +6 -0
  137. data/rbi/finch_api/resources/hris/employments.rbi +4 -1
  138. data/rbi/finch_api/resources/hris/individuals.rbi +10 -1
  139. data/rbi/finch_api/resources/hris/pay_statements.rbi +4 -1
  140. data/rbi/finch_api/resources/hris/payments.rbi +3 -0
  141. data/rbi/finch_api/resources/jobs/automated.rbi +1 -14
  142. data/rbi/finch_api/resources/jobs/manual.rbi +1 -9
  143. data/rbi/finch_api/resources/payroll/pay_groups.rbi +15 -2
  144. data/rbi/finch_api/resources/providers.rbi +1 -1
  145. data/rbi/finch_api/resources/request_forwarding.rbi +2 -2
  146. data/sig/finch_api/errors.rbs +7 -0
  147. data/sig/finch_api/file_part.rbs +1 -1
  148. data/sig/finch_api/models/access_token_create_params.rbs +11 -7
  149. data/sig/finch_api/models/connect/session_new_params.rbs +45 -45
  150. data/sig/finch_api/models/connect/session_reauthenticate_params.rbs +15 -15
  151. data/sig/finch_api/models/create_access_token_response.rbs +5 -0
  152. data/sig/finch_api/models/hris/benefit_contribution.rbs +107 -21
  153. data/sig/finch_api/models/hris/benefit_create_params.rbs +7 -0
  154. data/sig/finch_api/models/hris/benefit_list_params.rbs +14 -3
  155. data/sig/finch_api/models/hris/benefit_list_supported_benefits_params.rbs +14 -3
  156. data/sig/finch_api/models/hris/benefit_retrieve_params.rbs +14 -3
  157. data/sig/finch_api/models/hris/benefit_update_params.rbs +8 -1
  158. data/sig/finch_api/models/hris/benefits/individual_benefit.rbs +201 -8
  159. data/sig/finch_api/models/hris/benefits/individual_enroll_many_params.rbs +30 -1
  160. data/sig/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbs +14 -3
  161. data/sig/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +7 -1
  162. data/sig/finch_api/models/hris/benefits/individual_unenroll_many_params.rbs +7 -1
  163. data/sig/finch_api/models/hris/benfit_contribution.rbs +1 -1
  164. data/sig/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbs +7 -0
  165. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbs +14 -3
  166. data/sig/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbs +14 -3
  167. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbs +7 -1
  168. data/sig/finch_api/models/hris/company/pay_statement_item_list_params.rbs +7 -0
  169. data/sig/finch_api/models/hris/company_retrieve_params.rbs +14 -3
  170. data/sig/finch_api/models/hris/directory_list_individuals_params.rbs +7 -1
  171. data/sig/finch_api/models/hris/directory_list_params.rbs +7 -1
  172. data/sig/finch_api/models/hris/document_list_params.rbs +7 -0
  173. data/sig/finch_api/models/hris/document_response.rbs +11 -19
  174. data/sig/finch_api/models/hris/document_retreive_params.rbs +14 -3
  175. data/sig/finch_api/models/hris/employment_retrieve_many_params.rbs +8 -1
  176. data/sig/finch_api/models/hris/individual_retrieve_many_params.rbs +7 -0
  177. data/sig/finch_api/models/hris/pay_statement.rbs +28 -96
  178. data/sig/finch_api/models/hris/pay_statement_retrieve_many_params.rbs +8 -1
  179. data/sig/finch_api/models/hris/payment_list_params.rbs +7 -1
  180. data/sig/finch_api/models/hris/supported_benefit.rbs +2 -1
  181. data/sig/finch_api/models/hris/w42005.rbs +23 -37
  182. data/sig/finch_api/models/hris/w42020.rbs +35 -45
  183. data/sig/finch_api/models/introspection.rbs +29 -20
  184. data/sig/finch_api/models/jobs/automated_list_params.rbs +1 -7
  185. data/sig/finch_api/models/jobs/automated_retrieve_params.rbs +3 -13
  186. data/sig/finch_api/models/jobs/manual_retrieve_params.rbs +3 -13
  187. data/sig/finch_api/models/payroll/pay_group_list_params.rbs +11 -1
  188. data/sig/finch_api/models/payroll/pay_group_retrieve_params.rbs +14 -3
  189. data/sig/finch_api/models/provider.rbs +31 -1366
  190. data/sig/finch_api/models/provider_list_response.rbs +128 -0
  191. data/sig/finch_api/models/request_forwarding_forward_params.rbs +8 -8
  192. data/sig/finch_api/models/request_forwarding_forward_response.rbs +40 -30
  193. data/sig/finch_api/resources/access_tokens.rbs +2 -2
  194. data/sig/finch_api/resources/connect/sessions.rbs +9 -9
  195. data/sig/finch_api/resources/hris/benefits/individuals.rbs +4 -0
  196. data/sig/finch_api/resources/hris/benefits.rbs +5 -0
  197. data/sig/finch_api/resources/hris/company/pay_statement_item/rules.rbs +4 -0
  198. data/sig/finch_api/resources/hris/company/pay_statement_item.rbs +1 -0
  199. data/sig/finch_api/resources/hris/company.rbs +1 -0
  200. data/sig/finch_api/resources/hris/directory.rbs +1 -0
  201. data/sig/finch_api/resources/hris/documents.rbs +2 -0
  202. data/sig/finch_api/resources/hris/employments.rbs +1 -0
  203. data/sig/finch_api/resources/hris/individuals.rbs +1 -0
  204. data/sig/finch_api/resources/hris/pay_statements.rbs +1 -0
  205. data/sig/finch_api/resources/hris/payments.rbs +1 -0
  206. data/sig/finch_api/resources/jobs/automated.rbs +0 -2
  207. data/sig/finch_api/resources/jobs/manual.rbs +0 -1
  208. data/sig/finch_api/resources/payroll/pay_groups.rbs +2 -0
  209. data/sig/finch_api/resources/providers.rbs +1 -1
  210. data/sig/finch_api/resources/request_forwarding.rbs +2 -2
  211. metadata +5 -2
@@ -23,18 +23,28 @@ module FinchAPI
23
23
  end
24
24
  attr_accessor :requests
25
25
 
26
+ # The entity IDs to specify which entities' data to access.
27
+ sig { returns(T.nilable(T::Array[String])) }
28
+ attr_reader :entity_ids
29
+
30
+ sig { params(entity_ids: T::Array[String]).void }
31
+ attr_writer :entity_ids
32
+
26
33
  sig do
27
34
  params(
28
35
  requests:
29
36
  T::Array[
30
37
  FinchAPI::HRIS::PayStatementRetrieveManyParams::Request::OrHash
31
38
  ],
39
+ entity_ids: T::Array[String],
32
40
  request_options: FinchAPI::RequestOptions::OrHash
33
41
  ).returns(T.attached_class)
34
42
  end
35
43
  def self.new(
36
44
  # The array of batch requests.
37
45
  requests:,
46
+ # The entity IDs to specify which entities' data to access.
47
+ entity_ids: nil,
38
48
  request_options: {}
39
49
  )
40
50
  end
@@ -46,6 +56,7 @@ module FinchAPI
46
56
  T::Array[
47
57
  FinchAPI::HRIS::PayStatementRetrieveManyParams::Request
48
58
  ],
59
+ entity_ids: T::Array[String],
49
60
  request_options: FinchAPI::RequestOptions
50
61
  }
51
62
  )
@@ -25,10 +25,18 @@ module FinchAPI
25
25
  sig { returns(Date) }
26
26
  attr_accessor :start_date
27
27
 
28
+ # The entity IDs to specify which entities' data to access.
29
+ sig { returns(T.nilable(T::Array[String])) }
30
+ attr_reader :entity_ids
31
+
32
+ sig { params(entity_ids: T::Array[String]).void }
33
+ attr_writer :entity_ids
34
+
28
35
  sig do
29
36
  params(
30
37
  end_date: Date,
31
38
  start_date: Date,
39
+ entity_ids: T::Array[String],
32
40
  request_options: FinchAPI::RequestOptions::OrHash
33
41
  ).returns(T.attached_class)
34
42
  end
@@ -39,6 +47,8 @@ module FinchAPI
39
47
  # The start date to retrieve payments by a company (inclusive) in `YYYY-MM-DD`
40
48
  # format.
41
49
  start_date:,
50
+ # The entity IDs to specify which entities' data to access.
51
+ entity_ids: nil,
42
52
  request_options: {}
43
53
  )
44
54
  end
@@ -48,6 +58,7 @@ module FinchAPI
48
58
  {
49
59
  end_date: Date,
50
60
  start_date: Date,
61
+ entity_ids: T::Array[String],
51
62
  request_options: FinchAPI::RequestOptions
52
63
  }
53
64
  )
@@ -190,6 +190,11 @@ module FinchAPI
190
190
  :percent,
191
191
  FinchAPI::HRIS::SupportedBenefit::CompanyContribution::TaggedSymbol
192
192
  )
193
+ TIERED =
194
+ T.let(
195
+ :tiered,
196
+ FinchAPI::HRIS::SupportedBenefit::CompanyContribution::TaggedSymbol
197
+ )
193
198
 
194
199
  sig do
195
200
  override.returns(
@@ -10,21 +10,18 @@ module FinchAPI
10
10
  end
11
11
 
12
12
  # Detailed information specific to the 2005 W4 form.
13
- sig { returns(T.nilable(FinchAPI::HRIS::W42005::Data)) }
13
+ sig { returns(FinchAPI::HRIS::W42005::Data) }
14
14
  attr_reader :data
15
15
 
16
16
  sig { params(data: FinchAPI::HRIS::W42005::Data::OrHash).void }
17
17
  attr_writer :data
18
18
 
19
19
  # Specifies the form type, indicating that this document is a 2005 W4 form.
20
- sig { returns(T.nilable(FinchAPI::HRIS::W42005::Type::TaggedSymbol)) }
21
- attr_reader :type
22
-
23
- sig { params(type: FinchAPI::HRIS::W42005::Type::OrSymbol).void }
24
- attr_writer :type
20
+ sig { returns(FinchAPI::HRIS::W42005::Type::TaggedSymbol) }
21
+ attr_accessor :type
25
22
 
26
23
  # The tax year this W4 document applies to.
27
- sig { returns(T.nilable(Float)) }
24
+ sig { returns(Float) }
28
25
  attr_accessor :year
29
26
 
30
27
  # A 2005 version of the W-4 tax form containing information on an individual's
@@ -33,16 +30,16 @@ module FinchAPI
33
30
  params(
34
31
  data: FinchAPI::HRIS::W42005::Data::OrHash,
35
32
  type: FinchAPI::HRIS::W42005::Type::OrSymbol,
36
- year: T.nilable(Float)
33
+ year: Float
37
34
  ).returns(T.attached_class)
38
35
  end
39
36
  def self.new(
40
37
  # Detailed information specific to the 2005 W4 form.
41
- data: nil,
38
+ data:,
42
39
  # Specifies the form type, indicating that this document is a 2005 W4 form.
43
- type: nil,
40
+ type:,
44
41
  # The tax year this W4 document applies to.
45
- year: nil
42
+ year:
46
43
  )
47
44
  end
48
45
 
@@ -51,7 +48,7 @@ module FinchAPI
51
48
  {
52
49
  data: FinchAPI::HRIS::W42005::Data,
53
50
  type: FinchAPI::HRIS::W42005::Type::TaggedSymbol,
54
- year: T.nilable(Float)
51
+ year: Float
55
52
  }
56
53
  )
57
54
  end
@@ -65,7 +62,7 @@ module FinchAPI
65
62
  end
66
63
 
67
64
  # Additional withholding amount (in cents).
68
- sig { returns(T.nilable(Integer)) }
65
+ sig { returns(Integer) }
69
66
  attr_accessor :additional_withholding
70
67
 
71
68
  # Indicates exemption status from federal tax withholding.
@@ -74,14 +71,7 @@ module FinchAPI
74
71
  T.nilable(FinchAPI::HRIS::W42005::Data::Exemption::TaggedSymbol)
75
72
  )
76
73
  end
77
- attr_reader :exemption
78
-
79
- sig do
80
- params(
81
- exemption: FinchAPI::HRIS::W42005::Data::Exemption::OrSymbol
82
- ).void
83
- end
84
- attr_writer :exemption
74
+ attr_accessor :exemption
85
75
 
86
76
  # The individual's filing status for tax purposes.
87
77
  sig do
@@ -94,53 +84,53 @@ module FinchAPI
94
84
  attr_accessor :filing_status
95
85
 
96
86
  # The unique identifier for the individual associated with this 2005 W4 form.
97
- sig { returns(T.nilable(String)) }
98
- attr_reader :individual_id
99
-
100
- sig { params(individual_id: String).void }
101
- attr_writer :individual_id
87
+ sig { returns(String) }
88
+ attr_accessor :individual_id
102
89
 
103
90
  # Total number of allowances claimed (in cents).
104
- sig { returns(T.nilable(Integer)) }
91
+ sig { returns(Integer) }
105
92
  attr_accessor :total_number_of_allowances
106
93
 
107
94
  # Detailed information specific to the 2005 W4 form.
108
95
  sig do
109
96
  params(
110
- additional_withholding: T.nilable(Integer),
111
- exemption: FinchAPI::HRIS::W42005::Data::Exemption::OrSymbol,
97
+ additional_withholding: Integer,
98
+ exemption:
99
+ T.nilable(FinchAPI::HRIS::W42005::Data::Exemption::OrSymbol),
112
100
  filing_status:
113
101
  T.nilable(FinchAPI::HRIS::W42005::Data::FilingStatus::OrSymbol),
114
102
  individual_id: String,
115
- total_number_of_allowances: T.nilable(Integer)
103
+ total_number_of_allowances: Integer
116
104
  ).returns(T.attached_class)
117
105
  end
118
106
  def self.new(
119
107
  # Additional withholding amount (in cents).
120
- additional_withholding: nil,
108
+ additional_withholding:,
121
109
  # Indicates exemption status from federal tax withholding.
122
- exemption: nil,
110
+ exemption:,
123
111
  # The individual's filing status for tax purposes.
124
- filing_status: nil,
112
+ filing_status:,
125
113
  # The unique identifier for the individual associated with this 2005 W4 form.
126
- individual_id: nil,
114
+ individual_id:,
127
115
  # Total number of allowances claimed (in cents).
128
- total_number_of_allowances: nil
116
+ total_number_of_allowances:
129
117
  )
130
118
  end
131
119
 
132
120
  sig do
133
121
  override.returns(
134
122
  {
135
- additional_withholding: T.nilable(Integer),
123
+ additional_withholding: Integer,
136
124
  exemption:
137
- FinchAPI::HRIS::W42005::Data::Exemption::TaggedSymbol,
125
+ T.nilable(
126
+ FinchAPI::HRIS::W42005::Data::Exemption::TaggedSymbol
127
+ ),
138
128
  filing_status:
139
129
  T.nilable(
140
130
  FinchAPI::HRIS::W42005::Data::FilingStatus::TaggedSymbol
141
131
  ),
142
132
  individual_id: String,
143
- total_number_of_allowances: T.nilable(Integer)
133
+ total_number_of_allowances: Integer
144
134
  }
145
135
  )
146
136
  end
@@ -10,21 +10,18 @@ module FinchAPI
10
10
  end
11
11
 
12
12
  # Detailed information specific to the 2020 W4 form.
13
- sig { returns(T.nilable(FinchAPI::HRIS::W42020::Data)) }
13
+ sig { returns(FinchAPI::HRIS::W42020::Data) }
14
14
  attr_reader :data
15
15
 
16
16
  sig { params(data: FinchAPI::HRIS::W42020::Data::OrHash).void }
17
17
  attr_writer :data
18
18
 
19
19
  # Specifies the form type, indicating that this document is a 2020 W4 form.
20
- sig { returns(T.nilable(FinchAPI::HRIS::W42020::Type::TaggedSymbol)) }
21
- attr_reader :type
22
-
23
- sig { params(type: FinchAPI::HRIS::W42020::Type::OrSymbol).void }
24
- attr_writer :type
20
+ sig { returns(FinchAPI::HRIS::W42020::Type::TaggedSymbol) }
21
+ attr_accessor :type
25
22
 
26
23
  # The tax year this W4 document applies to.
27
- sig { returns(T.nilable(Float)) }
24
+ sig { returns(Float) }
28
25
  attr_accessor :year
29
26
 
30
27
  # A 2020 version of the W-4 tax form containing information on an individual's
@@ -33,16 +30,16 @@ module FinchAPI
33
30
  params(
34
31
  data: FinchAPI::HRIS::W42020::Data::OrHash,
35
32
  type: FinchAPI::HRIS::W42020::Type::OrSymbol,
36
- year: T.nilable(Float)
33
+ year: Float
37
34
  ).returns(T.attached_class)
38
35
  end
39
36
  def self.new(
40
37
  # Detailed information specific to the 2020 W4 form.
41
- data: nil,
38
+ data:,
42
39
  # Specifies the form type, indicating that this document is a 2020 W4 form.
43
- type: nil,
40
+ type:,
44
41
  # The tax year this W4 document applies to.
45
- year: nil
42
+ year:
46
43
  )
47
44
  end
48
45
 
@@ -51,7 +48,7 @@ module FinchAPI
51
48
  {
52
49
  data: FinchAPI::HRIS::W42020::Data,
53
50
  type: FinchAPI::HRIS::W42020::Type::TaggedSymbol,
54
- year: T.nilable(Float)
51
+ year: Float
55
52
  }
56
53
  )
57
54
  end
@@ -66,19 +63,19 @@ module FinchAPI
66
63
 
67
64
  # Amount claimed for dependents other than qualifying children under 17 (in
68
65
  # cents).
69
- sig { returns(T.nilable(Integer)) }
66
+ sig { returns(Integer) }
70
67
  attr_accessor :amount_for_other_dependents
71
68
 
72
69
  # Amount claimed for dependents under 17 years old (in cents).
73
- sig { returns(T.nilable(Integer)) }
70
+ sig { returns(Integer) }
74
71
  attr_accessor :amount_for_qualifying_children_under_17
75
72
 
76
73
  # Deductible expenses (in cents).
77
- sig { returns(T.nilable(Integer)) }
74
+ sig { returns(Integer) }
78
75
  attr_accessor :deductions
79
76
 
80
77
  # Additional withholding amount (in cents).
81
- sig { returns(T.nilable(Integer)) }
78
+ sig { returns(Integer) }
82
79
  attr_accessor :extra_withholding
83
80
 
84
81
  # The individual's filing status for tax purposes.
@@ -92,69 +89,66 @@ module FinchAPI
92
89
  attr_accessor :filing_status
93
90
 
94
91
  # The unique identifier for the individual associated with this document.
95
- sig { returns(T.nilable(String)) }
96
- attr_reader :individual_id
97
-
98
- sig { params(individual_id: String).void }
99
- attr_writer :individual_id
92
+ sig { returns(String) }
93
+ attr_accessor :individual_id
100
94
 
101
95
  # Additional income from sources outside of primary employment (in cents).
102
- sig { returns(T.nilable(Integer)) }
96
+ sig { returns(Integer) }
103
97
  attr_accessor :other_income
104
98
 
105
99
  # Total amount claimed for dependents and other credits (in cents).
106
- sig { returns(T.nilable(Integer)) }
100
+ sig { returns(Integer) }
107
101
  attr_accessor :total_claim_dependent_and_other_credits
108
102
 
109
103
  # Detailed information specific to the 2020 W4 form.
110
104
  sig do
111
105
  params(
112
- amount_for_other_dependents: T.nilable(Integer),
113
- amount_for_qualifying_children_under_17: T.nilable(Integer),
114
- deductions: T.nilable(Integer),
115
- extra_withholding: T.nilable(Integer),
106
+ amount_for_other_dependents: Integer,
107
+ amount_for_qualifying_children_under_17: Integer,
108
+ deductions: Integer,
109
+ extra_withholding: Integer,
116
110
  filing_status:
117
111
  T.nilable(FinchAPI::HRIS::W42020::Data::FilingStatus::OrSymbol),
118
112
  individual_id: String,
119
- other_income: T.nilable(Integer),
120
- total_claim_dependent_and_other_credits: T.nilable(Integer)
113
+ other_income: Integer,
114
+ total_claim_dependent_and_other_credits: Integer
121
115
  ).returns(T.attached_class)
122
116
  end
123
117
  def self.new(
124
118
  # Amount claimed for dependents other than qualifying children under 17 (in
125
119
  # cents).
126
- amount_for_other_dependents: nil,
120
+ amount_for_other_dependents:,
127
121
  # Amount claimed for dependents under 17 years old (in cents).
128
- amount_for_qualifying_children_under_17: nil,
122
+ amount_for_qualifying_children_under_17:,
129
123
  # Deductible expenses (in cents).
130
- deductions: nil,
124
+ deductions:,
131
125
  # Additional withholding amount (in cents).
132
- extra_withholding: nil,
126
+ extra_withholding:,
133
127
  # The individual's filing status for tax purposes.
134
- filing_status: nil,
128
+ filing_status:,
135
129
  # The unique identifier for the individual associated with this document.
136
- individual_id: nil,
130
+ individual_id:,
137
131
  # Additional income from sources outside of primary employment (in cents).
138
- other_income: nil,
132
+ other_income:,
139
133
  # Total amount claimed for dependents and other credits (in cents).
140
- total_claim_dependent_and_other_credits: nil
134
+ total_claim_dependent_and_other_credits:
141
135
  )
142
136
  end
143
137
 
144
138
  sig do
145
139
  override.returns(
146
140
  {
147
- amount_for_other_dependents: T.nilable(Integer),
148
- amount_for_qualifying_children_under_17: T.nilable(Integer),
149
- deductions: T.nilable(Integer),
150
- extra_withholding: T.nilable(Integer),
141
+ amount_for_other_dependents: Integer,
142
+ amount_for_qualifying_children_under_17: Integer,
143
+ deductions: Integer,
144
+ extra_withholding: Integer,
151
145
  filing_status:
152
146
  T.nilable(
153
147
  FinchAPI::HRIS::W42020::Data::FilingStatus::TaggedSymbol
154
148
  ),
155
149
  individual_id: String,
156
- other_income: T.nilable(Integer),
157
- total_claim_dependent_and_other_credits: T.nilable(Integer)
150
+ other_income: Integer,
151
+ total_claim_dependent_and_other_credits: Integer
158
152
  }
159
153
  )
160
154
  end
@@ -95,23 +95,15 @@ module FinchAPI
95
95
  sig { returns(T.nilable(String)) }
96
96
  attr_accessor :customer_name
97
97
 
98
- # Array of entity IDs associated with this connection.
99
- sig { returns(T.nilable(T::Array[String])) }
100
- attr_reader :entity_ids
101
-
102
- sig { params(entity_ids: T::Array[String]).void }
103
- attr_writer :entity_ids
104
-
105
- # Indicates whether this connection manages a single entity or multiple entities.
106
- sig do
107
- returns(T.nilable(FinchAPI::Introspection::EntityMode::TaggedSymbol))
108
- end
109
- attr_reader :entity_mode
98
+ # Array of detailed entity information for each connected account in multi-account
99
+ # mode
100
+ sig { returns(T.nilable(T::Array[FinchAPI::Introspection::Entity])) }
101
+ attr_reader :entities
110
102
 
111
103
  sig do
112
- params(entity_mode: FinchAPI::Introspection::EntityMode::OrSymbol).void
104
+ params(entities: T::Array[FinchAPI::Introspection::Entity::OrHash]).void
113
105
  end
114
- attr_writer :entity_mode
106
+ attr_writer :entities
115
107
 
116
108
  # Whether the connection associated with the `access_token` uses the Assisted
117
109
  # Connect Flow. (`true` if using Assisted Connect, `false` if connection is
@@ -151,8 +143,7 @@ module FinchAPI
151
143
  customer_email: T.nilable(String),
152
144
  customer_id: T.nilable(String),
153
145
  customer_name: T.nilable(String),
154
- entity_ids: T::Array[String],
155
- entity_mode: FinchAPI::Introspection::EntityMode::OrSymbol,
146
+ entities: T::Array[FinchAPI::Introspection::Entity::OrHash],
156
147
  manual: T::Boolean,
157
148
  payroll_provider_id: String,
158
149
  username: T.nilable(String)
@@ -193,10 +184,9 @@ module FinchAPI
193
184
  # The name of your customer you provided to Finch when a connect session was
194
185
  # created for this connection
195
186
  customer_name: nil,
196
- # Array of entity IDs associated with this connection.
197
- entity_ids: nil,
198
- # Indicates whether this connection manages a single entity or multiple entities.
199
- entity_mode: nil,
187
+ # Array of detailed entity information for each connected account in multi-account
188
+ # mode
189
+ entities: nil,
200
190
  # Whether the connection associated with the `access_token` uses the Assisted
201
191
  # Connect Flow. (`true` if using Assisted Connect, `false` if connection is
202
192
  # automated)
@@ -228,8 +218,7 @@ module FinchAPI
228
218
  customer_email: T.nilable(String),
229
219
  customer_id: T.nilable(String),
230
220
  customer_name: T.nilable(String),
231
- entity_ids: T::Array[String],
232
- entity_mode: FinchAPI::Introspection::EntityMode::TaggedSymbol,
221
+ entities: T::Array[FinchAPI::Introspection::Entity],
233
222
  manual: T::Boolean,
234
223
  payroll_provider_id: String,
235
224
  username: T.nilable(String)
@@ -571,24 +560,59 @@ module FinchAPI
571
560
  end
572
561
  end
573
562
 
574
- # Indicates whether this connection manages a single entity or multiple entities.
575
- module EntityMode
576
- extend FinchAPI::Internal::Type::Enum
563
+ class Entity < FinchAPI::Internal::Type::BaseModel
564
+ OrHash =
565
+ T.type_alias do
566
+ T.any(FinchAPI::Introspection::Entity, FinchAPI::Internal::AnyHash)
567
+ end
577
568
 
578
- TaggedSymbol =
579
- T.type_alias { T.all(Symbol, FinchAPI::Introspection::EntityMode) }
580
- OrSymbol = T.type_alias { T.any(Symbol, String) }
569
+ # The connection account ID for this entity
570
+ sig { returns(String) }
571
+ attr_accessor :id
581
572
 
582
- SINGLE =
583
- T.let(:single, FinchAPI::Introspection::EntityMode::TaggedSymbol)
584
- MULTI = T.let(:multi, FinchAPI::Introspection::EntityMode::TaggedSymbol)
573
+ # The name of the entity (payroll provider company name)
574
+ sig { returns(T.nilable(String)) }
575
+ attr_accessor :name
576
+
577
+ # The source ID of the entity
578
+ sig { returns(T.nilable(String)) }
579
+ attr_accessor :source_id
580
+
581
+ # The type of entity
582
+ sig { returns(T.nilable(String)) }
583
+ attr_accessor :type
584
+
585
+ sig do
586
+ params(
587
+ id: String,
588
+ name: T.nilable(String),
589
+ source_id: T.nilable(String),
590
+ type: T.nilable(String)
591
+ ).returns(T.attached_class)
592
+ end
593
+ def self.new(
594
+ # The connection account ID for this entity
595
+ id:,
596
+ # The name of the entity (payroll provider company name)
597
+ name:,
598
+ # The source ID of the entity
599
+ source_id:,
600
+ # The type of entity
601
+ type:
602
+ )
603
+ end
585
604
 
586
605
  sig do
587
606
  override.returns(
588
- T::Array[FinchAPI::Introspection::EntityMode::TaggedSymbol]
607
+ {
608
+ id: String,
609
+ name: T.nilable(String),
610
+ source_id: T.nilable(String),
611
+ type: T.nilable(String)
612
+ }
589
613
  )
590
614
  end
591
- def self.values
615
+ def to_hash
592
616
  end
593
617
  end
594
618
  end
@@ -15,15 +15,6 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
- # The entity ID to use when authenticating with a multi-account token. Required
19
- # when using a multi-account token to specify which entity's data to access.
20
- # Example: `123e4567-e89b-12d3-a456-426614174000`
21
- sig { returns(T.nilable(String)) }
22
- attr_reader :entity_id
23
-
24
- sig { params(entity_id: String).void }
25
- attr_writer :entity_id
26
-
27
18
  # Number of items to return
28
19
  sig { returns(T.nilable(Integer)) }
29
20
  attr_reader :limit
@@ -40,17 +31,12 @@ module FinchAPI
40
31
 
41
32
  sig do
42
33
  params(
43
- entity_id: String,
44
34
  limit: Integer,
45
35
  offset: Integer,
46
36
  request_options: FinchAPI::RequestOptions::OrHash
47
37
  ).returns(T.attached_class)
48
38
  end
49
39
  def self.new(
50
- # The entity ID to use when authenticating with a multi-account token. Required
51
- # when using a multi-account token to specify which entity's data to access.
52
- # Example: `123e4567-e89b-12d3-a456-426614174000`
53
- entity_id: nil,
54
40
  # Number of items to return
55
41
  limit: nil,
56
42
  # Index to start from (defaults to 0)
@@ -62,7 +48,6 @@ module FinchAPI
62
48
  sig do
63
49
  override.returns(
64
50
  {
65
- entity_id: String,
66
51
  limit: Integer,
67
52
  offset: Integer,
68
53
  request_options: FinchAPI::RequestOptions
@@ -15,35 +15,15 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
- # The entity ID to use when authenticating with a multi-account token. Required
19
- # when using a multi-account token to specify which entity's data to access.
20
- # Example: `123e4567-e89b-12d3-a456-426614174000`
21
- sig { returns(T.nilable(String)) }
22
- attr_reader :entity_id
23
-
24
- sig { params(entity_id: String).void }
25
- attr_writer :entity_id
26
-
27
18
  sig do
28
- params(
29
- entity_id: String,
30
- request_options: FinchAPI::RequestOptions::OrHash
31
- ).returns(T.attached_class)
19
+ params(request_options: FinchAPI::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
32
22
  end
33
- def self.new(
34
- # The entity ID to use when authenticating with a multi-account token. Required
35
- # when using a multi-account token to specify which entity's data to access.
36
- # Example: `123e4567-e89b-12d3-a456-426614174000`
37
- entity_id: nil,
38
- request_options: {}
39
- )
23
+ def self.new(request_options: {})
40
24
  end
41
25
 
42
- sig do
43
- override.returns(
44
- { entity_id: String, request_options: FinchAPI::RequestOptions }
45
- )
46
- end
26
+ sig { override.returns({ request_options: FinchAPI::RequestOptions }) }
47
27
  def to_hash
48
28
  end
49
29
  end
@@ -15,35 +15,15 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
- # The entity ID to use when authenticating with a multi-account token. Required
19
- # when using a multi-account token to specify which entity's data to access.
20
- # Example: `123e4567-e89b-12d3-a456-426614174000`
21
- sig { returns(T.nilable(String)) }
22
- attr_reader :entity_id
23
-
24
- sig { params(entity_id: String).void }
25
- attr_writer :entity_id
26
-
27
18
  sig do
28
- params(
29
- entity_id: String,
30
- request_options: FinchAPI::RequestOptions::OrHash
31
- ).returns(T.attached_class)
19
+ params(request_options: FinchAPI::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
32
22
  end
33
- def self.new(
34
- # The entity ID to use when authenticating with a multi-account token. Required
35
- # when using a multi-account token to specify which entity's data to access.
36
- # Example: `123e4567-e89b-12d3-a456-426614174000`
37
- entity_id: nil,
38
- request_options: {}
39
- )
23
+ def self.new(request_options: {})
40
24
  end
41
25
 
42
- sig do
43
- override.returns(
44
- { entity_id: String, request_options: FinchAPI::RequestOptions }
45
- )
46
- end
26
+ sig { override.returns({ request_options: FinchAPI::RequestOptions }) }
47
27
  def to_hash
48
28
  end
49
29
  end