vitable-connect 0.2.2 → 0.4.0

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +23 -1
  5. data/lib/vitable_connect/internal/transport/base_client.rb +2 -0
  6. data/lib/vitable_connect/internal/util.rb +3 -1
  7. data/lib/vitable_connect/models/employee.rb +11 -46
  8. data/lib/vitable_connect/models/employer_update_settings_params.rb +52 -0
  9. data/lib/vitable_connect/models/employer_update_settings_response.rb +56 -0
  10. data/lib/vitable_connect/models/group.rb +46 -0
  11. data/lib/vitable_connect/models/group_create_params.rb +26 -0
  12. data/lib/vitable_connect/models/group_list_params.rb +30 -0
  13. data/lib/vitable_connect/models/group_response.rb +18 -0
  14. data/lib/vitable_connect/models/group_retrieve_params.rb +22 -0
  15. data/lib/vitable_connect/models/group_update_params.rb +36 -0
  16. data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +33 -0
  17. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +57 -0
  18. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +121 -0
  19. data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +45 -0
  20. data/lib/vitable_connect/models/plan_list_params.rb +30 -0
  21. data/lib/vitable_connect/models/plan_list_response.rb +22 -0
  22. data/lib/vitable_connect/models.rb +18 -0
  23. data/lib/vitable_connect/resources/employers.rb +28 -0
  24. data/lib/vitable_connect/resources/groups/members/sync.rb +74 -0
  25. data/lib/vitable_connect/resources/groups/members.rb +20 -0
  26. data/lib/vitable_connect/resources/groups.rb +114 -0
  27. data/lib/vitable_connect/resources/plans.rb +41 -0
  28. data/lib/vitable_connect/version.rb +1 -1
  29. data/lib/vitable_connect.rb +18 -0
  30. data/rbi/vitable_connect/client.rbi +6 -0
  31. data/rbi/vitable_connect/models/employee.rbi +24 -65
  32. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +114 -0
  33. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +147 -0
  34. data/rbi/vitable_connect/models/group.rbi +65 -0
  35. data/rbi/vitable_connect/models/group_create_params.rbi +46 -0
  36. data/rbi/vitable_connect/models/group_list_params.rbi +60 -0
  37. data/rbi/vitable_connect/models/group_response.rbi +32 -0
  38. data/rbi/vitable_connect/models/group_retrieve_params.rbi +43 -0
  39. data/rbi/vitable_connect/models/group_update_params.rbi +58 -0
  40. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +56 -0
  41. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +112 -0
  42. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +214 -0
  43. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +92 -0
  44. data/rbi/vitable_connect/models/plan_list_params.rbi +60 -0
  45. data/rbi/vitable_connect/models/plan_list_response.rbi +29 -0
  46. data/rbi/vitable_connect/models.rbi +19 -0
  47. data/rbi/vitable_connect/resources/employers.rbi +22 -0
  48. data/rbi/vitable_connect/resources/groups/members/sync.rbi +62 -0
  49. data/rbi/vitable_connect/resources/groups/members.rbi +17 -0
  50. data/rbi/vitable_connect/resources/groups.rbi +79 -0
  51. data/rbi/vitable_connect/resources/plans.rbi +34 -0
  52. data/sig/vitable_connect/client.rbs +4 -0
  53. data/sig/vitable_connect/models/employee.rbs +4 -33
  54. data/sig/vitable_connect/models/employer_update_settings_params.rbs +44 -0
  55. data/sig/vitable_connect/models/employer_update_settings_response.rbs +48 -0
  56. data/sig/vitable_connect/models/group.rbs +45 -0
  57. data/sig/vitable_connect/models/group_create_params.rbs +28 -0
  58. data/sig/vitable_connect/models/group_list_params.rbs +32 -0
  59. data/sig/vitable_connect/models/group_response.rbs +13 -0
  60. data/sig/vitable_connect/models/group_retrieve_params.rbs +23 -0
  61. data/sig/vitable_connect/models/group_update_params.rbs +32 -0
  62. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +32 -0
  63. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +61 -0
  64. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +124 -0
  65. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +47 -0
  66. data/sig/vitable_connect/models/plan_list_params.rbs +32 -0
  67. data/sig/vitable_connect/models/plan_list_response.rbs +15 -0
  68. data/sig/vitable_connect/models.rbs +18 -0
  69. data/sig/vitable_connect/resources/employers.rbs +6 -0
  70. data/sig/vitable_connect/resources/groups/members/sync.rbs +23 -0
  71. data/sig/vitable_connect/resources/groups/members.rbs +11 -0
  72. data/sig/vitable_connect/resources/groups.rbs +33 -0
  73. data/sig/vitable_connect/resources/plans.rbs +13 -0
  74. metadata +56 -2
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class GroupUpdateParams < VitableConnect::Internal::Type::BaseModel
6
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
7
+ include VitableConnect::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ VitableConnect::GroupUpdateParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique group identifier (grp\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :group_id
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :external_reference_id
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :name
26
+
27
+ sig do
28
+ params(
29
+ group_id: String,
30
+ external_reference_id: T.nilable(String),
31
+ name: T.nilable(String),
32
+ request_options: VitableConnect::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Unique group identifier (grp\_\*)
37
+ group_id:,
38
+ external_reference_id: nil,
39
+ name: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ group_id: String,
48
+ external_reference_id: T.nilable(String),
49
+ name: T.nilable(String),
50
+ request_options: VitableConnect::RequestOptions
51
+ }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncRetrieveParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ VitableConnect::Groups::Members::SyncRetrieveParams,
15
+ VitableConnect::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Unique group identifier (grp\_\*)
20
+ sig { returns(String) }
21
+ attr_accessor :group_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :request_id
25
+
26
+ sig do
27
+ params(
28
+ group_id: String,
29
+ request_id: String,
30
+ request_options: VitableConnect::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ # Unique group identifier (grp\_\*)
35
+ group_id:,
36
+ request_id:,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ group_id: String,
45
+ request_id: String,
46
+ request_options: VitableConnect::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,112 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncRetrieveResponse < VitableConnect::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse,
12
+ VitableConnect::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
19
+ )
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data:
26
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ # Response containing a single group member sync request detail resource.
32
+ sig do
33
+ params(
34
+ data:
35
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(data:)
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ data:
45
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+
52
+ class Data < VitableConnect::Internal::Type::BaseModel
53
+ OrHash =
54
+ T.type_alias do
55
+ T.any(
56
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data,
57
+ VitableConnect::Internal::AnyHash
58
+ )
59
+ end
60
+
61
+ sig { returns(Time) }
62
+ attr_accessor :accepted_at
63
+
64
+ sig { returns(T.nilable(Time)) }
65
+ attr_accessor :completed_at
66
+
67
+ sig { returns(String) }
68
+ attr_accessor :group_id
69
+
70
+ sig { returns(String) }
71
+ attr_accessor :request_id
72
+
73
+ sig { returns(T.anything) }
74
+ attr_accessor :results
75
+
76
+ sig do
77
+ params(
78
+ accepted_at: Time,
79
+ completed_at: T.nilable(Time),
80
+ group_id: String,
81
+ request_id: String,
82
+ results: T.anything
83
+ ).returns(T.attached_class)
84
+ end
85
+ def self.new(
86
+ accepted_at:,
87
+ completed_at:,
88
+ group_id:,
89
+ request_id:,
90
+ results:
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ accepted_at: Time,
98
+ completed_at: T.nilable(Time),
99
+ group_id: String,
100
+ request_id: String,
101
+ results: T.anything
102
+ }
103
+ )
104
+ end
105
+ def to_hash
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,214 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncSubmitParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ VitableConnect::Groups::Members::SyncSubmitParams,
15
+ VitableConnect::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Unique group identifier (grp\_\*)
20
+ sig { returns(String) }
21
+ attr_accessor :group_id
22
+
23
+ sig do
24
+ returns(
25
+ T::Array[
26
+ VitableConnect::Groups::Members::SyncSubmitParams::Member
27
+ ]
28
+ )
29
+ end
30
+ attr_accessor :members
31
+
32
+ sig do
33
+ params(
34
+ group_id: String,
35
+ members:
36
+ T::Array[
37
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::OrHash
38
+ ],
39
+ request_options: VitableConnect::RequestOptions::OrHash
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # Unique group identifier (grp\_\*)
44
+ group_id:,
45
+ members:,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ group_id: String,
54
+ members:
55
+ T::Array[
56
+ VitableConnect::Groups::Members::SyncSubmitParams::Member
57
+ ],
58
+ request_options: VitableConnect::RequestOptions
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ class Member < VitableConnect::Internal::Type::BaseModel
66
+ OrHash =
67
+ T.type_alias do
68
+ T.any(
69
+ VitableConnect::Groups::Members::SyncSubmitParams::Member,
70
+ VitableConnect::Internal::AnyHash
71
+ )
72
+ end
73
+
74
+ sig do
75
+ returns(
76
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::Address
77
+ )
78
+ end
79
+ attr_reader :address
80
+
81
+ sig do
82
+ params(
83
+ address:
84
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::Address::OrHash
85
+ ).void
86
+ end
87
+ attr_writer :address
88
+
89
+ sig { returns(Date) }
90
+ attr_accessor :date_of_birth
91
+
92
+ sig { returns(String) }
93
+ attr_accessor :first_name
94
+
95
+ sig { returns(String) }
96
+ attr_accessor :last_name
97
+
98
+ sig { returns(String) }
99
+ attr_accessor :phone
100
+
101
+ sig { returns(String) }
102
+ attr_accessor :plan_id
103
+
104
+ sig { returns(String) }
105
+ attr_accessor :reference_id
106
+
107
+ sig { returns(T.nilable(String)) }
108
+ attr_accessor :email
109
+
110
+ sig do
111
+ params(
112
+ address:
113
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::Address::OrHash,
114
+ date_of_birth: Date,
115
+ first_name: String,
116
+ last_name: String,
117
+ phone: String,
118
+ plan_id: String,
119
+ reference_id: String,
120
+ email: T.nilable(String)
121
+ ).returns(T.attached_class)
122
+ end
123
+ def self.new(
124
+ address:,
125
+ date_of_birth:,
126
+ first_name:,
127
+ last_name:,
128
+ phone:,
129
+ plan_id:,
130
+ reference_id:,
131
+ email: nil
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ address:
139
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::Address,
140
+ date_of_birth: Date,
141
+ first_name: String,
142
+ last_name: String,
143
+ phone: String,
144
+ plan_id: String,
145
+ reference_id: String,
146
+ email: T.nilable(String)
147
+ }
148
+ )
149
+ end
150
+ def to_hash
151
+ end
152
+
153
+ class Address < VitableConnect::Internal::Type::BaseModel
154
+ OrHash =
155
+ T.type_alias do
156
+ T.any(
157
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::Address,
158
+ VitableConnect::Internal::AnyHash
159
+ )
160
+ end
161
+
162
+ sig { returns(String) }
163
+ attr_accessor :address_line_1
164
+
165
+ sig { returns(String) }
166
+ attr_accessor :city
167
+
168
+ sig { returns(String) }
169
+ attr_accessor :state
170
+
171
+ sig { returns(String) }
172
+ attr_accessor :zipcode
173
+
174
+ sig { returns(T.nilable(String)) }
175
+ attr_accessor :address_line_2
176
+
177
+ sig do
178
+ params(
179
+ address_line_1: String,
180
+ city: String,
181
+ state: String,
182
+ zipcode: String,
183
+ address_line_2: T.nilable(String)
184
+ ).returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+ address_line_1:,
188
+ city:,
189
+ state:,
190
+ zipcode:,
191
+ address_line_2: nil
192
+ )
193
+ end
194
+
195
+ sig do
196
+ override.returns(
197
+ {
198
+ address_line_1: String,
199
+ city: String,
200
+ state: String,
201
+ zipcode: String,
202
+ address_line_2: T.nilable(String)
203
+ }
204
+ )
205
+ end
206
+ def to_hash
207
+ end
208
+ end
209
+ end
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -0,0 +1,92 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncSubmitResponse < VitableConnect::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse,
12
+ VitableConnect::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data
19
+ )
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data:
26
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ # Response containing a single group member sync detail resource.
32
+ sig do
33
+ params(
34
+ data:
35
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(data:)
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ data:
45
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+
52
+ class Data < VitableConnect::Internal::Type::BaseModel
53
+ OrHash =
54
+ T.type_alias do
55
+ T.any(
56
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data,
57
+ VitableConnect::Internal::AnyHash
58
+ )
59
+ end
60
+
61
+ sig { returns(Time) }
62
+ attr_accessor :accepted_at
63
+
64
+ sig { returns(String) }
65
+ attr_accessor :group_id
66
+
67
+ sig { returns(String) }
68
+ attr_accessor :request_id
69
+
70
+ sig do
71
+ params(
72
+ accepted_at: Time,
73
+ group_id: String,
74
+ request_id: String
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(accepted_at:, group_id:, request_id:)
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ { accepted_at: Time, group_id: String, request_id: String }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class PlanListParams < VitableConnect::Internal::Type::BaseModel
6
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
7
+ include VitableConnect::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ VitableConnect::PlanListParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Items per page (default: 20, max: 100)
18
+ sig { returns(T.nilable(Integer)) }
19
+ attr_reader :limit
20
+
21
+ sig { params(limit: Integer).void }
22
+ attr_writer :limit
23
+
24
+ # Page number (default: 1)
25
+ sig { returns(T.nilable(Integer)) }
26
+ attr_reader :page
27
+
28
+ sig { params(page: Integer).void }
29
+ attr_writer :page
30
+
31
+ sig do
32
+ params(
33
+ limit: Integer,
34
+ page: Integer,
35
+ request_options: VitableConnect::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Items per page (default: 20, max: 100)
40
+ limit: nil,
41
+ # Page number (default: 1)
42
+ page: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ limit: Integer,
51
+ page: Integer,
52
+ request_options: VitableConnect::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class PlanListResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::PlanListResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :name
19
+
20
+ sig { params(id: String, name: String).returns(T.attached_class) }
21
+ def self.new(id:, name:)
22
+ end
23
+
24
+ sig { override.returns({ id: String, name: String }) }
25
+ def to_hash
26
+ end
27
+ end
28
+ end
29
+ end
@@ -40,14 +40,33 @@ module VitableConnect
40
40
  EmployerSubmitCensusSyncParams =
41
41
  VitableConnect::Models::EmployerSubmitCensusSyncParams
42
42
 
43
+ EmployerUpdateSettingsParams =
44
+ VitableConnect::Models::EmployerUpdateSettingsParams
45
+
43
46
  Enrollment = VitableConnect::Models::Enrollment
44
47
 
45
48
  EnrollmentRetrieveParams = VitableConnect::Models::EnrollmentRetrieveParams
46
49
 
47
50
  EnrollmentStatus = VitableConnect::Models::EnrollmentStatus
48
51
 
52
+ Group = VitableConnect::Models::Group
53
+
54
+ GroupCreateParams = VitableConnect::Models::GroupCreateParams
55
+
56
+ GroupListParams = VitableConnect::Models::GroupListParams
57
+
58
+ GroupResponse = VitableConnect::Models::GroupResponse
59
+
60
+ GroupRetrieveParams = VitableConnect::Models::GroupRetrieveParams
61
+
62
+ Groups = VitableConnect::Models::Groups
63
+
64
+ GroupUpdateParams = VitableConnect::Models::GroupUpdateParams
65
+
49
66
  Pagination = VitableConnect::Models::Pagination
50
67
 
68
+ PlanListParams = VitableConnect::Models::PlanListParams
69
+
51
70
  Type = VitableConnect::Models::Type
52
71
 
53
72
  WebhookEvent = VitableConnect::Models::WebhookEvent
@@ -140,6 +140,28 @@ module VitableConnect
140
140
  )
141
141
  end
142
142
 
143
+ # Updates configuration settings for a specific employer. The employer must belong
144
+ # to the authenticated organization.
145
+ sig do
146
+ params(
147
+ employer_id: String,
148
+ pay_frequency:
149
+ VitableConnect::EmployerUpdateSettingsParams::PayFrequency::OrSymbol,
150
+ request_options: VitableConnect::RequestOptions::OrHash
151
+ ).returns(VitableConnect::Models::EmployerUpdateSettingsResponse)
152
+ end
153
+ def update_settings(
154
+ # Unique employer identifier (empr\_\*)
155
+ employer_id,
156
+ # - `weekly` - weekly
157
+ # - `bi_weekly` - bi_weekly
158
+ # - `semi_monthly` - semi_monthly
159
+ # - `monthly` - monthly
160
+ pay_frequency:,
161
+ request_options: {}
162
+ )
163
+ end
164
+
143
165
  # @api private
144
166
  sig { params(client: VitableConnect::Client).returns(T.attached_class) }
145
167
  def self.new(client:)