finch-api 0.1.0.pre.alpha.42 → 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 +65 -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
@@ -346,12 +346,38 @@ module FinchAPI
346
346
  # @return [String, nil]
347
347
  required :source_id, String, nil?: true
348
348
 
349
- # @!method initialize(id:, name:, source_id:)
349
+ # @!attribute status
350
+ # The status of the entity connection
351
+ #
352
+ # @return [Symbol, FinchAPI::Models::Introspection::Entity::Status]
353
+ required :status, enum: -> { FinchAPI::Introspection::Entity::Status }
354
+
355
+ # @!method initialize(id:, name:, source_id:, status:)
350
356
  # @param id [String] The connection account ID for this entity
351
357
  #
352
358
  # @param name [String, nil] The name of the entity (payroll provider company name)
353
359
  #
354
360
  # @param source_id [String, nil] The source ID of the entity
361
+ #
362
+ # @param status [Symbol, FinchAPI::Models::Introspection::Entity::Status] The status of the entity connection
363
+
364
+ # The status of the entity connection
365
+ #
366
+ # @see FinchAPI::Models::Introspection::Entity#status
367
+ module Status
368
+ extend FinchAPI::Internal::Type::Enum
369
+
370
+ PENDING = :pending
371
+ PROCESSING = :processing
372
+ CONNECTED = :connected
373
+ ERROR_NO_ACCOUNT_SETUP = :error_no_account_setup
374
+ ERROR_PERMISSIONS = :error_permissions
375
+ REAUTH = :reauth
376
+ DISCONNECTED = :disconnected
377
+
378
+ # @!method self.values
379
+ # @return [Array<Symbol>]
380
+ end
355
381
  end
356
382
  end
357
383
  end
@@ -45,6 +45,9 @@ module FinchAPI
45
45
  JOB_BENEFIT_UNENROLL_COMPLETED = :"job.benefit_unenroll.completed"
46
46
  JOB_BENEFIT_UPDATE_COMPLETED = :"job.benefit_update.completed"
47
47
  JOB_DATA_SYNC_ALL_COMPLETED = :"job.data_sync_all.completed"
48
+ JOB_W4_FORM_EMPLOYEE_SYNC_COMPLETED = :"job.w4_form_employee_sync.completed"
49
+ JOB_INITIAL_DATA_SYNC_ORG_SUCCEEDED = :"job.initial_data_sync_org.succeeded"
50
+ JOB_INITIAL_DATA_SYNC_PAYROLL_SUCCEEDED = :"job.initial_data_sync_payroll.succeeded"
48
51
 
49
52
  # @!method self.values
50
53
  # @return [Array<Symbol>]
@@ -8,43 +8,67 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
- # @!attribute type
12
- # The type of job to start.
11
+ # @!attribute body
13
12
  #
14
- # @return [Symbol, FinchAPI::Models::Jobs::AutomatedCreateParams::Type]
15
- required :type, enum: -> { FinchAPI::Jobs::AutomatedCreateParams::Type }
13
+ # @return [FinchAPI::Models::Jobs::AutomatedCreateParams::Body::DataSyncAll, FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync]
14
+ required :body, union: -> { FinchAPI::Jobs::AutomatedCreateParams::Body }
16
15
 
17
- # @!attribute params
18
- #
19
- # @return [FinchAPI::Models::Jobs::AutomatedCreateParams::Params]
20
- required :params, -> { FinchAPI::Jobs::AutomatedCreateParams::Params }
21
-
22
- # @!method initialize(type:, params:, request_options: {})
23
- # @param type [Symbol, FinchAPI::Models::Jobs::AutomatedCreateParams::Type] The type of job to start.
24
- #
25
- # @param params [FinchAPI::Models::Jobs::AutomatedCreateParams::Params]
26
- #
16
+ # @!method initialize(body:, request_options: {})
17
+ # @param body [FinchAPI::Models::Jobs::AutomatedCreateParams::Body::DataSyncAll, FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync]
27
18
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
28
19
 
29
- # The type of job to start.
30
- module Type
31
- extend FinchAPI::Internal::Type::Enum
20
+ module Body
21
+ extend FinchAPI::Internal::Type::Union
32
22
 
33
- W4_FORM_EMPLOYEE_SYNC = :w4_form_employee_sync
23
+ discriminator :type
34
24
 
35
- # @!method self.values
36
- # @return [Array<Symbol>]
37
- end
25
+ variant :data_sync_all, -> { FinchAPI::Jobs::AutomatedCreateParams::Body::DataSyncAll }
26
+
27
+ variant :w4_form_employee_sync, -> { FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync }
28
+
29
+ class DataSyncAll < FinchAPI::Internal::Type::BaseModel
30
+ # @!attribute type
31
+ # The type of job to start.
32
+ #
33
+ # @return [Symbol, :data_sync_all]
34
+ required :type, const: :data_sync_all
35
+
36
+ # @!method initialize(type: :data_sync_all)
37
+ # @param type [Symbol, :data_sync_all] The type of job to start.
38
+ end
39
+
40
+ class W4FormEmployeeSync < FinchAPI::Internal::Type::BaseModel
41
+ # @!attribute params
42
+ #
43
+ # @return [FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params]
44
+ required :params, -> { FinchAPI::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params }
45
+
46
+ # @!attribute type
47
+ # The type of job to start.
48
+ #
49
+ # @return [Symbol, :w4_form_employee_sync]
50
+ required :type, const: :w4_form_employee_sync
51
+
52
+ # @!method initialize(params:, type: :w4_form_employee_sync)
53
+ # @param params [FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync::Params]
54
+ #
55
+ # @param type [Symbol, :w4_form_employee_sync] The type of job to start.
56
+
57
+ # @see FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync#params
58
+ class Params < FinchAPI::Internal::Type::BaseModel
59
+ # @!attribute individual_id
60
+ # The unique ID of the individual for W-4 data sync.
61
+ #
62
+ # @return [String]
63
+ required :individual_id, String
38
64
 
39
- class Params < FinchAPI::Internal::Type::BaseModel
40
- # @!attribute individual_id
41
- # The unique ID of the individual for W-4 data sync.
42
- #
43
- # @return [String]
44
- required :individual_id, String
65
+ # @!method initialize(individual_id:)
66
+ # @param individual_id [String] The unique ID of the individual for W-4 data sync.
67
+ end
68
+ end
45
69
 
46
- # @!method initialize(individual_id:)
47
- # @param individual_id [String] The unique ID of the individual for W-4 data sync.
70
+ # @!method self.variants
71
+ # @return [Array(FinchAPI::Models::Jobs::AutomatedCreateParams::Body::DataSyncAll, FinchAPI::Models::Jobs::AutomatedCreateParams::Body::W4FormEmployeeSync)]
48
72
  end
49
73
  end
50
74
  end
@@ -8,7 +8,13 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
- # @!method initialize(request_options: {})
11
+ # @!attribute job_id
12
+ #
13
+ # @return [String]
14
+ required :job_id, String
15
+
16
+ # @!method initialize(job_id:, request_options: {})
17
+ # @param job_id [String]
12
18
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
13
19
  end
14
20
  end
@@ -8,7 +8,13 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
- # @!method initialize(request_options: {})
11
+ # @!attribute job_id
12
+ #
13
+ # @return [String]
14
+ required :job_id, String
15
+
16
+ # @!method initialize(job_id:, request_options: {})
17
+ # @param job_id [String]
12
18
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
13
19
  end
14
20
  end
@@ -8,13 +8,20 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute pay_group_id
12
+ #
13
+ # @return [String]
14
+ required :pay_group_id, String
15
+
11
16
  # @!attribute entity_ids
12
17
  # The entity IDs to specify which entities' data to access.
13
18
  #
14
19
  # @return [Array<String>, nil]
15
20
  optional :entity_ids, FinchAPI::Internal::Type::ArrayOf[String]
16
21
 
17
- # @!method initialize(entity_ids: nil, request_options: {})
22
+ # @!method initialize(pay_group_id:, entity_ids: nil, request_options: {})
23
+ # @param pay_group_id [String]
24
+ #
18
25
  # @param entity_ids [Array<String>] The entity IDs to specify which entities' data to access.
19
26
  #
20
27
  # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
@@ -105,6 +105,17 @@ module FinchAPI
105
105
  # @return [String, nil]
106
106
  optional :first_name, String, nil?: true
107
107
 
108
+ # @!attribute flsa_status
109
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
110
+ # `unknown`.
111
+ #
112
+ # @return [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::FlsaStatus, nil]
113
+ optional :flsa_status,
114
+ enum: -> {
115
+ FinchAPI::Sandbox::DirectoryCreateParams::Body::FlsaStatus
116
+ },
117
+ nil?: true
118
+
108
119
  # @!attribute gender
109
120
  # The gender of the individual.
110
121
  #
@@ -208,7 +219,7 @@ module FinchAPI
208
219
  # @return [String, nil]
209
220
  optional :title, String, nil?: true
210
221
 
211
- # @!method initialize(class_code: nil, custom_fields: nil, department: nil, dob: nil, emails: nil, employment: nil, employment_status: nil, encrypted_ssn: nil, end_date: nil, ethnicity: nil, first_name: nil, gender: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, source_id: nil, ssn: nil, start_date: nil, title: nil)
222
+ # @!method initialize(class_code: nil, custom_fields: nil, department: nil, dob: nil, emails: nil, employment: nil, employment_status: nil, encrypted_ssn: nil, end_date: nil, ethnicity: nil, first_name: nil, flsa_status: nil, gender: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, source_id: nil, ssn: nil, start_date: nil, title: nil)
212
223
  # Some parameter documentations has been truncated, see
213
224
  # {FinchAPI::Models::Sandbox::DirectoryCreateParams::Body} for more details.
214
225
  #
@@ -234,6 +245,8 @@ module FinchAPI
234
245
  #
235
246
  # @param first_name [String, nil] The legal first name of the individual.
236
247
  #
248
+ # @param flsa_status [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::FlsaStatus, nil] The FLSA status of the individual. Available options: `exempt`, `non_exempt`, `u
249
+ #
237
250
  # @param gender [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::Gender, nil] The gender of the individual.
238
251
  #
239
252
  # @param income [FinchAPI::Models::Income, nil] The employee's income as reported by the provider. This may not always be annual
@@ -274,12 +287,35 @@ module FinchAPI
274
287
 
275
288
  # @!attribute value
276
289
  #
277
- # @return [Object, nil]
278
- optional :value, FinchAPI::Internal::Type::Unknown
290
+ # @return [String, Array<Object>, Object, Float, Boolean, nil]
291
+ optional :value,
292
+ union: -> { FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField::Value },
293
+ nil?: true
279
294
 
280
295
  # @!method initialize(name: nil, value: nil)
281
296
  # @param name [String, nil]
282
- # @param value [Object]
297
+ # @param value [String, Array<Object>, Object, Float, Boolean, nil]
298
+
299
+ # @see FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::CustomField#value
300
+ module Value
301
+ extend FinchAPI::Internal::Type::Union
302
+
303
+ variant String
304
+
305
+ variant -> { FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::CustomField::Value::UnionMember1Array }
306
+
307
+ variant FinchAPI::Internal::Type::Unknown
308
+
309
+ variant Float
310
+
311
+ variant FinchAPI::Internal::Type::Boolean
312
+
313
+ # @!method self.variants
314
+ # @return [Array(String, Array<Object>, Object, Float, Boolean)]
315
+
316
+ # @type [FinchAPI::Internal::Type::Converter]
317
+ UnionMember1Array = FinchAPI::Internal::Type::ArrayOf[FinchAPI::Internal::Type::Unknown]
318
+ end
283
319
  end
284
320
 
285
321
  # @see FinchAPI::Models::Sandbox::DirectoryCreateParams::Body#department
@@ -428,6 +464,21 @@ module FinchAPI
428
464
  # @return [Array<Symbol>]
429
465
  end
430
466
 
467
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
468
+ # `unknown`.
469
+ #
470
+ # @see FinchAPI::Models::Sandbox::DirectoryCreateParams::Body#flsa_status
471
+ module FlsaStatus
472
+ extend FinchAPI::Internal::Type::Enum
473
+
474
+ EXEMPT = :exempt
475
+ NON_EXEMPT = :non_exempt
476
+ UNKNOWN = :unknown
477
+
478
+ # @!method self.values
479
+ # @return [Array<Symbol>]
480
+ end
481
+
431
482
  # The gender of the individual.
432
483
  #
433
484
  # @see FinchAPI::Models::Sandbox::DirectoryCreateParams::Body#gender
@@ -8,6 +8,11 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute individual_id
12
+ #
13
+ # @return [String]
14
+ required :individual_id, String
15
+
11
16
  # @!attribute class_code
12
17
  # Worker's compensation classification code for this employee
13
18
  #
@@ -57,6 +62,13 @@ module FinchAPI
57
62
  # @return [String, nil]
58
63
  optional :first_name, String, nil?: true
59
64
 
65
+ # @!attribute flsa_status
66
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
67
+ # `unknown`.
68
+ #
69
+ # @return [Symbol, FinchAPI::Models::Sandbox::EmploymentUpdateParams::FlsaStatus, nil]
70
+ optional :flsa_status, enum: -> { FinchAPI::Sandbox::EmploymentUpdateParams::FlsaStatus }, nil?: true
71
+
60
72
  # @!attribute income
61
73
  # The employee's income as reported by the provider. This may not always be
62
74
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
@@ -124,10 +136,12 @@ module FinchAPI
124
136
  # @return [String, nil]
125
137
  optional :title, String, nil?: true
126
138
 
127
- # @!method initialize(class_code: nil, custom_fields: nil, department: nil, employment: nil, employment_status: nil, end_date: nil, first_name: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, source_id: nil, start_date: nil, title: nil, request_options: {})
139
+ # @!method initialize(individual_id:, class_code: nil, custom_fields: nil, department: nil, employment: nil, employment_status: nil, end_date: nil, first_name: nil, flsa_status: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, source_id: nil, start_date: nil, title: nil, request_options: {})
128
140
  # Some parameter documentations has been truncated, see
129
141
  # {FinchAPI::Models::Sandbox::EmploymentUpdateParams} for more details.
130
142
  #
143
+ # @param individual_id [String]
144
+ #
131
145
  # @param class_code [String, nil] Worker's compensation classification code for this employee
132
146
  #
133
147
  # @param custom_fields [Array<FinchAPI::Models::Sandbox::EmploymentUpdateParams::CustomField>, nil] Custom fields for the individual. These are fields which are defined by the empl
@@ -142,6 +156,8 @@ module FinchAPI
142
156
  #
143
157
  # @param first_name [String, nil] The legal first name of the individual.
144
158
  #
159
+ # @param flsa_status [Symbol, FinchAPI::Models::Sandbox::EmploymentUpdateParams::FlsaStatus, nil] The FLSA status of the individual. Available options: `exempt`, `non_exempt`, `u
160
+ #
145
161
  # @param income [FinchAPI::Models::Income, nil] The employee's income as reported by the provider. This may not always be annual
146
162
  #
147
163
  # @param income_history [Array<FinchAPI::Models::Income, nil>, nil] The array of income history.
@@ -174,12 +190,37 @@ module FinchAPI
174
190
 
175
191
  # @!attribute value
176
192
  #
177
- # @return [Object, nil]
178
- optional :value, FinchAPI::Internal::Type::Unknown
193
+ # @return [String, Array<Object>, Object, Float, Boolean, nil]
194
+ optional :value,
195
+ union: -> {
196
+ FinchAPI::Sandbox::EmploymentUpdateParams::CustomField::Value
197
+ },
198
+ nil?: true
179
199
 
180
200
  # @!method initialize(name: nil, value: nil)
181
201
  # @param name [String, nil]
182
- # @param value [Object]
202
+ # @param value [String, Array<Object>, Object, Float, Boolean, nil]
203
+
204
+ # @see FinchAPI::Models::Sandbox::EmploymentUpdateParams::CustomField#value
205
+ module Value
206
+ extend FinchAPI::Internal::Type::Union
207
+
208
+ variant String
209
+
210
+ variant -> { FinchAPI::Models::Sandbox::EmploymentUpdateParams::CustomField::Value::UnionMember1Array }
211
+
212
+ variant FinchAPI::Internal::Type::Unknown
213
+
214
+ variant Float
215
+
216
+ variant FinchAPI::Internal::Type::Boolean
217
+
218
+ # @!method self.variants
219
+ # @return [Array(String, Array<Object>, Object, Float, Boolean)]
220
+
221
+ # @type [FinchAPI::Internal::Type::Converter]
222
+ UnionMember1Array = FinchAPI::Internal::Type::ArrayOf[FinchAPI::Internal::Type::Unknown]
223
+ end
183
224
  end
184
225
 
185
226
  class Department < FinchAPI::Internal::Type::BaseModel
@@ -272,6 +313,19 @@ module FinchAPI
272
313
  # @return [Array<Symbol>]
273
314
  end
274
315
 
316
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
317
+ # `unknown`.
318
+ module FlsaStatus
319
+ extend FinchAPI::Internal::Type::Enum
320
+
321
+ EXEMPT = :exempt
322
+ NON_EXEMPT = :non_exempt
323
+ UNKNOWN = :unknown
324
+
325
+ # @!method self.values
326
+ # @return [Array<Symbol>]
327
+ end
328
+
275
329
  class Manager < FinchAPI::Internal::Type::BaseModel
276
330
  # @!attribute id
277
331
  # A stable Finch `id` (UUID v4) for an individual in the company.
@@ -58,6 +58,15 @@ module FinchAPI
58
58
  # @return [String, nil]
59
59
  optional :first_name, String, nil?: true
60
60
 
61
+ # @!attribute flsa_status
62
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
63
+ # `unknown`.
64
+ #
65
+ # @return [Symbol, FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus, nil]
66
+ optional :flsa_status,
67
+ enum: -> { FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus },
68
+ nil?: true
69
+
61
70
  # @!attribute income
62
71
  # The employee's income as reported by the provider. This may not always be
63
72
  # annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc,
@@ -125,7 +134,7 @@ module FinchAPI
125
134
  # @return [String, nil]
126
135
  optional :title, String, nil?: true
127
136
 
128
- # @!method initialize(id: nil, class_code: nil, custom_fields: nil, department: nil, employment: nil, employment_status: nil, end_date: nil, first_name: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, source_id: nil, start_date: nil, title: nil)
137
+ # @!method initialize(id: nil, class_code: nil, custom_fields: nil, department: nil, employment: nil, employment_status: nil, end_date: nil, first_name: nil, flsa_status: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, source_id: nil, start_date: nil, title: nil)
129
138
  # Some parameter documentations has been truncated, see
130
139
  # {FinchAPI::Models::Sandbox::EmploymentUpdateResponse} for more details.
131
140
  #
@@ -145,6 +154,8 @@ module FinchAPI
145
154
  #
146
155
  # @param first_name [String, nil] The legal first name of the individual.
147
156
  #
157
+ # @param flsa_status [Symbol, FinchAPI::Models::Sandbox::EmploymentUpdateResponse::FlsaStatus, nil] The FLSA status of the individual. Available options: `exempt`, `non_exempt`, `u
158
+ #
148
159
  # @param income [FinchAPI::Models::Income, nil] The employee's income as reported by the provider. This may not always be annual
149
160
  #
150
161
  # @param income_history [Array<FinchAPI::Models::Income, nil>, nil] The array of income history.
@@ -175,12 +186,35 @@ module FinchAPI
175
186
 
176
187
  # @!attribute value
177
188
  #
178
- # @return [Object, nil]
179
- optional :value, FinchAPI::Internal::Type::Unknown
189
+ # @return [String, Array<Object>, Object, Float, Boolean, nil]
190
+ optional :value,
191
+ union: -> { FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value },
192
+ nil?: true
180
193
 
181
194
  # @!method initialize(name: nil, value: nil)
182
195
  # @param name [String, nil]
183
- # @param value [Object]
196
+ # @param value [String, Array<Object>, Object, Float, Boolean, nil]
197
+
198
+ # @see FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField#value
199
+ module Value
200
+ extend FinchAPI::Internal::Type::Union
201
+
202
+ variant String
203
+
204
+ variant -> { FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField::Value::UnionMember1Array }
205
+
206
+ variant FinchAPI::Internal::Type::Unknown
207
+
208
+ variant Float
209
+
210
+ variant FinchAPI::Internal::Type::Boolean
211
+
212
+ # @!method self.variants
213
+ # @return [Array(String, Array<Object>, Object, Float, Boolean)]
214
+
215
+ # @type [FinchAPI::Internal::Type::Converter]
216
+ UnionMember1Array = FinchAPI::Internal::Type::ArrayOf[FinchAPI::Internal::Type::Unknown]
217
+ end
184
218
  end
185
219
 
186
220
  # @see FinchAPI::Models::Sandbox::EmploymentUpdateResponse#department
@@ -277,6 +311,21 @@ module FinchAPI
277
311
  # @return [Array<Symbol>]
278
312
  end
279
313
 
314
+ # The FLSA status of the individual. Available options: `exempt`, `non_exempt`,
315
+ # `unknown`.
316
+ #
317
+ # @see FinchAPI::Models::Sandbox::EmploymentUpdateResponse#flsa_status
318
+ module FlsaStatus
319
+ extend FinchAPI::Internal::Type::Enum
320
+
321
+ EXEMPT = :exempt
322
+ NON_EXEMPT = :non_exempt
323
+ UNKNOWN = :unknown
324
+
325
+ # @!method self.values
326
+ # @return [Array<Symbol>]
327
+ end
328
+
280
329
  # @see FinchAPI::Models::Sandbox::EmploymentUpdateResponse#manager
281
330
  class Manager < FinchAPI::Internal::Type::BaseModel
282
331
  # @!attribute id
@@ -8,6 +8,11 @@ module FinchAPI
8
8
  extend FinchAPI::Internal::Type::RequestParameters::Converter
9
9
  include FinchAPI::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute individual_id
12
+ #
13
+ # @return [String]
14
+ required :individual_id, String
15
+
11
16
  # @!attribute dob
12
17
  #
13
18
  # @return [String, nil]
@@ -88,10 +93,12 @@ module FinchAPI
88
93
  # @return [String, nil]
89
94
  optional :ssn, String, nil?: true
90
95
 
91
- # @!method initialize(dob: nil, emails: nil, encrypted_ssn: nil, ethnicity: nil, first_name: nil, gender: nil, last_name: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, ssn: nil, request_options: {})
96
+ # @!method initialize(individual_id:, dob: nil, emails: nil, encrypted_ssn: nil, ethnicity: nil, first_name: nil, gender: nil, last_name: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, ssn: nil, request_options: {})
92
97
  # Some parameter documentations has been truncated, see
93
98
  # {FinchAPI::Models::Sandbox::IndividualUpdateParams} for more details.
94
99
  #
100
+ # @param individual_id [String]
101
+ #
95
102
  # @param dob [String, nil]
96
103
  #
97
104
  # @param emails [Array<FinchAPI::Models::Sandbox::IndividualUpdateParams::Email>, nil]
@@ -41,6 +41,8 @@ module FinchAPI
41
41
 
42
42
  AccessTokenCreateParams = FinchAPI::Models::AccessTokenCreateParams
43
43
 
44
+ AccountDisconnectEntityParams = FinchAPI::Models::AccountDisconnectEntityParams
45
+
44
46
  AccountDisconnectParams = FinchAPI::Models::AccountDisconnectParams
45
47
 
46
48
  AccountIntrospectParams = FinchAPI::Models::AccountIntrospectParams
@@ -59,6 +61,8 @@ module FinchAPI
59
61
 
60
62
  DirectoryEvent = FinchAPI::Models::DirectoryEvent
61
63
 
64
+ DisconnectEntityResponse = FinchAPI::Models::DisconnectEntityResponse
65
+
62
66
  DisconnectResponse = FinchAPI::Models::DisconnectResponse
63
67
 
64
68
  EmploymentEvent = FinchAPI::Models::EmploymentEvent
@@ -27,6 +27,7 @@ module FinchAPI
27
27
  path: "auth/token",
28
28
  body: parsed,
29
29
  model: FinchAPI::CreateAccessTokenResponse,
30
+ security: {},
30
31
  options: options
31
32
  )
32
33
  end
@@ -17,10 +17,35 @@ module FinchAPI
17
17
  method: :post,
18
18
  path: "disconnect",
19
19
  model: FinchAPI::DisconnectResponse,
20
+ security: {bearer_auth: true},
20
21
  options: params[:request_options]
21
22
  )
22
23
  end
23
24
 
25
+ # Disconnect entity(s) from a connection without affecting other entities
26
+ # associated with the same connection.
27
+ #
28
+ # @overload disconnect_entity(entity_ids:, request_options: {})
29
+ #
30
+ # @param entity_ids [Array<String>] Array of entity UUIDs to disconnect. At least one entity ID must be provided.
31
+ #
32
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
33
+ #
34
+ # @return [FinchAPI::Models::DisconnectEntityResponse]
35
+ #
36
+ # @see FinchAPI::Models::AccountDisconnectEntityParams
37
+ def disconnect_entity(params)
38
+ parsed, options = FinchAPI::AccountDisconnectEntityParams.dump_request(params)
39
+ @client.request(
40
+ method: :post,
41
+ path: "disconnect-entity",
42
+ body: parsed,
43
+ model: FinchAPI::DisconnectEntityResponse,
44
+ security: {bearer_auth: true},
45
+ options: options
46
+ )
47
+ end
48
+
24
49
  # Read account information associated with an `access_token`
25
50
  #
26
51
  # @overload introspect(request_options: {})
@@ -35,6 +60,7 @@ module FinchAPI
35
60
  method: :get,
36
61
  path: "introspect",
37
62
  model: FinchAPI::Introspection,
63
+ security: {bearer_auth: true},
38
64
  options: params[:request_options]
39
65
  )
40
66
  end
@@ -15,7 +15,7 @@ module FinchAPI
15
15
  #
16
16
  # @param customer_name [String] Name of the customer
17
17
  #
18
- # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionNewParams::Product>] The Finch products to request access to
18
+ # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionNewParams::Product>] The Finch products to request access to. Use `benefits` to access deductions end
19
19
  #
20
20
  # @param customer_email [String, nil] Email address of the customer
21
21
  #
@@ -41,6 +41,7 @@ module FinchAPI
41
41
  path: "connect/sessions",
42
42
  body: parsed,
43
43
  model: FinchAPI::Models::Connect::SessionNewResponse,
44
+ security: {basic_auth: true},
44
45
  options: options
45
46
  )
46
47
  end
@@ -56,7 +57,7 @@ module FinchAPI
56
57
  #
57
58
  # @param minutes_to_expire [Integer] The number of minutes until the session expires (defaults to 43,200, which is 30
58
59
  #
59
- # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionReauthenticateParams::Product>, nil] The products to request access to (optional for reauthentication)
60
+ # @param products [Array<Symbol, FinchAPI::Models::Connect::SessionReauthenticateParams::Product>, nil] The products to request access to (optional for reauthentication). Use `benefits
60
61
  #
61
62
  # @param redirect_uri [String, nil] The URI to redirect to after the Connect flow is completed
62
63
  #
@@ -72,6 +73,7 @@ module FinchAPI
72
73
  path: "connect/sessions/reauthenticate",
73
74
  body: parsed,
74
75
  model: FinchAPI::Models::Connect::SessionReauthenticateResponse,
76
+ security: {basic_auth: true},
75
77
  options: options
76
78
  )
77
79
  end