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,40 +15,37 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
- # The type of job to start.
19
- sig { returns(FinchAPI::Jobs::AutomatedCreateParams::Type::OrSymbol) }
20
- attr_accessor :type
21
-
22
- sig { returns(FinchAPI::Jobs::AutomatedCreateParams::Params) }
23
- attr_reader :params
24
-
25
18
  sig do
26
- params(
27
- params: FinchAPI::Jobs::AutomatedCreateParams::Params::OrHash
28
- ).void
19
+ returns(
20
+ T.any(
21
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll,
22
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync
23
+ )
24
+ )
29
25
  end
30
- attr_writer :params
26
+ attr_accessor :body
31
27
 
32
28
  sig do
33
29
  params(
34
- type: FinchAPI::Jobs::AutomatedCreateParams::Type::OrSymbol,
35
- params: FinchAPI::Jobs::AutomatedCreateParams::Params::OrHash,
30
+ body:
31
+ T.any(
32
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll::OrHash,
33
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::OrHash
34
+ ),
36
35
  request_options: FinchAPI::RequestOptions::OrHash
37
36
  ).returns(T.attached_class)
38
37
  end
39
- def self.new(
40
- # The type of job to start.
41
- type:,
42
- params:,
43
- request_options: {}
44
- )
38
+ def self.new(body:, request_options: {})
45
39
  end
46
40
 
47
41
  sig do
48
42
  override.returns(
49
43
  {
50
- type: FinchAPI::Jobs::AutomatedCreateParams::Type::OrSymbol,
51
- params: FinchAPI::Jobs::AutomatedCreateParams::Params,
44
+ body:
45
+ T.any(
46
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll,
47
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync
48
+ ),
52
49
  request_options: FinchAPI::RequestOptions
53
50
  }
54
51
  )
@@ -56,55 +53,128 @@ module FinchAPI
56
53
  def to_hash
57
54
  end
58
55
 
59
- # The type of job to start.
60
- module Type
61
- extend FinchAPI::Internal::Type::Enum
56
+ module Body
57
+ extend FinchAPI::Internal::Type::Union
62
58
 
63
- TaggedSymbol =
59
+ Variants =
64
60
  T.type_alias do
65
- T.all(Symbol, FinchAPI::Jobs::AutomatedCreateParams::Type)
61
+ T.any(
62
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll,
63
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync
64
+ )
66
65
  end
67
- OrSymbol = T.type_alias { T.any(Symbol, String) }
68
66
 
69
- W4_FORM_EMPLOYEE_SYNC =
70
- T.let(
71
- :w4_form_employee_sync,
72
- FinchAPI::Jobs::AutomatedCreateParams::Type::TaggedSymbol
73
- )
67
+ class DataSyncAll < FinchAPI::Internal::Type::BaseModel
68
+ OrHash =
69
+ T.type_alias do
70
+ T.any(
71
+ FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll,
72
+ FinchAPI::Internal::AnyHash
73
+ )
74
+ end
74
75
 
75
- sig do
76
- override.returns(
77
- T::Array[
78
- FinchAPI::Jobs::AutomatedCreateParams::Type::TaggedSymbol
79
- ]
76
+ # The type of job to start.
77
+ sig { returns(Symbol) }
78
+ attr_accessor :type
79
+
80
+ sig { params(type: Symbol).returns(T.attached_class) }
81
+ def self.new(
82
+ # The type of job to start.
83
+ type: :data_sync_all
80
84
  )
85
+ end
86
+
87
+ sig { override.returns({ type: Symbol }) }
88
+ def to_hash
89
+ end
81
90
  end
82
- def self.values
83
- end
84
- end
85
91
 
86
- class Params < FinchAPI::Internal::Type::BaseModel
87
- OrHash =
88
- T.type_alias do
89
- T.any(
90
- FinchAPI::Jobs::AutomatedCreateParams::Params,
91
- FinchAPI::Internal::AnyHash
92
+ class W4FormEmployeeSync < FinchAPI::Internal::Type::BaseModel
93
+ OrHash =
94
+ T.type_alias do
95
+ T.any(
96
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync,
97
+ FinchAPI::Internal::AnyHash
98
+ )
99
+ end
100
+
101
+ sig do
102
+ returns(
103
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params
92
104
  )
93
105
  end
106
+ attr_reader :params
94
107
 
95
- # The unique ID of the individual for W-4 data sync.
96
- sig { returns(String) }
97
- attr_accessor :individual_id
108
+ sig do
109
+ params(
110
+ params:
111
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params::OrHash
112
+ ).void
113
+ end
114
+ attr_writer :params
98
115
 
99
- sig { params(individual_id: String).returns(T.attached_class) }
100
- def self.new(
101
- # The unique ID of the individual for W-4 data sync.
102
- individual_id:
103
- )
116
+ # The type of job to start.
117
+ sig { returns(Symbol) }
118
+ attr_accessor :type
119
+
120
+ sig do
121
+ params(
122
+ params:
123
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params::OrHash,
124
+ type: Symbol
125
+ ).returns(T.attached_class)
126
+ end
127
+ def self.new(
128
+ params:,
129
+ # The type of job to start.
130
+ type: :w4_form_employee_sync
131
+ )
132
+ end
133
+
134
+ sig do
135
+ override.returns(
136
+ {
137
+ params:
138
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params,
139
+ type: Symbol
140
+ }
141
+ )
142
+ end
143
+ def to_hash
144
+ end
145
+
146
+ class Params < FinchAPI::Internal::Type::BaseModel
147
+ OrHash =
148
+ T.type_alias do
149
+ T.any(
150
+ FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params,
151
+ FinchAPI::Internal::AnyHash
152
+ )
153
+ end
154
+
155
+ # The unique ID of the individual for W-4 data sync.
156
+ sig { returns(String) }
157
+ attr_accessor :individual_id
158
+
159
+ sig { params(individual_id: String).returns(T.attached_class) }
160
+ def self.new(
161
+ # The unique ID of the individual for W-4 data sync.
162
+ individual_id:
163
+ )
164
+ end
165
+
166
+ sig { override.returns({ individual_id: String }) }
167
+ def to_hash
168
+ end
169
+ end
104
170
  end
105
171
 
106
- sig { override.returns({ individual_id: String }) }
107
- def to_hash
172
+ sig do
173
+ override.returns(
174
+ T::Array[FinchAPI::Jobs::AutomatedCreateParams::Body::Variants]
175
+ )
176
+ end
177
+ def self.variants
108
178
  end
109
179
  end
110
180
  end
@@ -15,15 +15,23 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :job_id
20
+
18
21
  sig do
19
- params(request_options: FinchAPI::RequestOptions::OrHash).returns(
20
- T.attached_class
21
- )
22
+ params(
23
+ job_id: String,
24
+ request_options: FinchAPI::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
22
26
  end
23
- def self.new(request_options: {})
27
+ def self.new(job_id:, request_options: {})
24
28
  end
25
29
 
26
- sig { override.returns({ request_options: FinchAPI::RequestOptions }) }
30
+ sig do
31
+ override.returns(
32
+ { job_id: String, request_options: FinchAPI::RequestOptions }
33
+ )
34
+ end
27
35
  def to_hash
28
36
  end
29
37
  end
@@ -15,15 +15,23 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :job_id
20
+
18
21
  sig do
19
- params(request_options: FinchAPI::RequestOptions::OrHash).returns(
20
- T.attached_class
21
- )
22
+ params(
23
+ job_id: String,
24
+ request_options: FinchAPI::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
22
26
  end
23
- def self.new(request_options: {})
27
+ def self.new(job_id:, request_options: {})
24
28
  end
25
29
 
26
- sig { override.returns({ request_options: FinchAPI::RequestOptions }) }
30
+ sig do
31
+ override.returns(
32
+ { job_id: String, request_options: FinchAPI::RequestOptions }
33
+ )
34
+ end
27
35
  def to_hash
28
36
  end
29
37
  end
@@ -15,6 +15,9 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :pay_group_id
20
+
18
21
  # The entity IDs to specify which entities' data to access.
19
22
  sig { returns(T.nilable(T::Array[String])) }
20
23
  attr_reader :entity_ids
@@ -24,11 +27,13 @@ module FinchAPI
24
27
 
25
28
  sig do
26
29
  params(
30
+ pay_group_id: String,
27
31
  entity_ids: T::Array[String],
28
32
  request_options: FinchAPI::RequestOptions::OrHash
29
33
  ).returns(T.attached_class)
30
34
  end
31
35
  def self.new(
36
+ pay_group_id:,
32
37
  # The entity IDs to specify which entities' data to access.
33
38
  entity_ids: nil,
34
39
  request_options: {}
@@ -38,6 +43,7 @@ module FinchAPI
38
43
  sig do
39
44
  override.returns(
40
45
  {
46
+ pay_group_id: String,
41
47
  entity_ids: T::Array[String],
42
48
  request_options: FinchAPI::RequestOptions
43
49
  }
@@ -170,6 +170,17 @@ module FinchAPI
170
170
  sig { returns(T.nilable(String)) }
171
171
  attr_accessor :first_name
172
172
 
173
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
174
+ # `unknown`.
175
+ sig do
176
+ returns(
177
+ T.nilable(
178
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::OrSymbol
179
+ )
180
+ )
181
+ end
182
+ attr_accessor :flsa_status
183
+
173
184
  # The gender of the individual.
174
185
  sig do
175
186
  returns(
@@ -308,6 +319,10 @@ module FinchAPI
308
319
  FinchAPI::Sandbox::DirectoryCreateParams::Body::Ethnicity::OrSymbol
309
320
  ),
310
321
  first_name: T.nilable(String),
322
+ flsa_status:
323
+ T.nilable(
324
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::OrSymbol
325
+ ),
311
326
  gender:
312
327
  T.nilable(
313
328
  FinchAPI::Sandbox::DirectoryCreateParams::Body::Gender::OrSymbol
@@ -364,6 +379,9 @@ module FinchAPI
364
379
  ethnicity: nil,
365
380
  # The legal first name of the individual.
366
381
  first_name: nil,
382
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
383
+ # `unknown`.
384
+ flsa_status: nil,
367
385
  # The gender of the individual.
368
386
  gender: nil,
369
387
  # The employee's income as reported by the provider. This may not always be
@@ -435,6 +453,10 @@ module FinchAPI
435
453
  FinchAPI::Sandbox::DirectoryCreateParams::Body::Ethnicity::OrSymbol
436
454
  ),
437
455
  first_name: T.nilable(String),
456
+ flsa_status:
457
+ T.nilable(
458
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::OrSymbol
459
+ ),
438
460
  gender:
439
461
  T.nilable(
440
462
  FinchAPI::Sandbox::DirectoryCreateParams::Body::Gender::OrSymbol
@@ -483,25 +505,75 @@ module FinchAPI
483
505
  sig { returns(T.nilable(String)) }
484
506
  attr_accessor :name
485
507
 
486
- sig { returns(T.nilable(T.anything)) }
487
- attr_reader :value
488
-
489
- sig { params(value: T.anything).void }
490
- attr_writer :value
491
-
492
508
  sig do
493
- params(name: T.nilable(String), value: T.anything).returns(
494
- T.attached_class
509
+ returns(
510
+ T.nilable(
511
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField::Value::Variants
512
+ )
495
513
  )
496
514
  end
515
+ attr_accessor :value
516
+
517
+ sig do
518
+ params(
519
+ name: T.nilable(String),
520
+ value:
521
+ T.nilable(
522
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField::Value::Variants
523
+ )
524
+ ).returns(T.attached_class)
525
+ end
497
526
  def self.new(name: nil, value: nil)
498
527
  end
499
528
 
500
529
  sig do
501
- override.returns({ name: T.nilable(String), value: T.anything })
530
+ override.returns(
531
+ {
532
+ name: T.nilable(String),
533
+ value:
534
+ T.nilable(
535
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField::Value::Variants
536
+ )
537
+ }
538
+ )
502
539
  end
503
540
  def to_hash
504
541
  end
542
+
543
+ module Value
544
+ extend FinchAPI::Internal::Type::Union
545
+
546
+ Variants =
547
+ T.type_alias do
548
+ T.nilable(
549
+ T.any(
550
+ String,
551
+ T::Array[T.anything],
552
+ T.anything,
553
+ Float,
554
+ T::Boolean
555
+ )
556
+ )
557
+ end
558
+
559
+ sig do
560
+ override.returns(
561
+ T::Array[
562
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField::Value::Variants
563
+ ]
564
+ )
565
+ end
566
+ def self.variants
567
+ end
568
+
569
+ UnionMember1Array =
570
+ T.let(
571
+ FinchAPI::Internal::Type::ArrayOf[
572
+ FinchAPI::Internal::Type::Unknown
573
+ ],
574
+ FinchAPI::Internal::Type::Converter
575
+ )
576
+ end
505
577
  end
506
578
 
507
579
  class Department < FinchAPI::Internal::Type::BaseModel
@@ -901,6 +973,47 @@ module FinchAPI
901
973
  end
902
974
  end
903
975
 
976
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
977
+ # `unknown`.
978
+ module FlsaStatus
979
+ extend FinchAPI::Internal::Type::Enum
980
+
981
+ TaggedSymbol =
982
+ T.type_alias do
983
+ T.all(
984
+ Symbol,
985
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus
986
+ )
987
+ end
988
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
989
+
990
+ EXEMPT =
991
+ T.let(
992
+ :exempt,
993
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::TaggedSymbol
994
+ )
995
+ NON_EXEMPT =
996
+ T.let(
997
+ :non_exempt,
998
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::TaggedSymbol
999
+ )
1000
+ UNKNOWN =
1001
+ T.let(
1002
+ :unknown,
1003
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::TaggedSymbol
1004
+ )
1005
+
1006
+ sig do
1007
+ override.returns(
1008
+ T::Array[
1009
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus::TaggedSymbol
1010
+ ]
1011
+ )
1012
+ end
1013
+ def self.values
1014
+ end
1015
+ end
1016
+
904
1017
  # The gender of the individual.
905
1018
  module Gender
906
1019
  extend FinchAPI::Internal::Type::Enum