@rippling/rippling-sdk 0.2.0-alpha.56 → 0.2.0-alpha.58

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 (160) hide show
  1. package/client.d.mts +28 -10
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +28 -10
  4. package/client.d.ts.map +1 -1
  5. package/client.js +33 -7
  6. package/client.js.map +1 -1
  7. package/client.mjs +33 -7
  8. package/client.mjs.map +1 -1
  9. package/lib/manifest/field.d.mts +0 -2
  10. package/lib/manifest/field.d.mts.map +1 -1
  11. package/lib/manifest/field.d.ts +0 -2
  12. package/lib/manifest/field.d.ts.map +1 -1
  13. package/lib/manifest/field.js +1 -1
  14. package/lib/manifest/field.js.map +1 -1
  15. package/lib/manifest/field.mjs +1 -1
  16. package/lib/manifest/field.mjs.map +1 -1
  17. package/package.json +1 -1
  18. package/resources/break-policies.d.mts +91 -0
  19. package/resources/break-policies.d.mts.map +1 -0
  20. package/resources/break-policies.d.ts +91 -0
  21. package/resources/break-policies.d.ts.map +1 -0
  22. package/resources/break-policies.js +32 -0
  23. package/resources/break-policies.js.map +1 -0
  24. package/resources/break-policies.mjs +28 -0
  25. package/resources/break-policies.mjs.map +1 -0
  26. package/resources/break-types.d.mts +105 -2
  27. package/resources/break-types.d.mts.map +1 -1
  28. package/resources/break-types.d.ts +105 -2
  29. package/resources/break-types.d.ts.map +1 -1
  30. package/resources/break-types.js +4 -2
  31. package/resources/break-types.js.map +1 -1
  32. package/resources/break-types.mjs +4 -2
  33. package/resources/break-types.mjs.map +1 -1
  34. package/resources/candidate-applications.d.mts +5 -1
  35. package/resources/candidate-applications.d.mts.map +1 -1
  36. package/resources/candidate-applications.d.ts +5 -1
  37. package/resources/candidate-applications.d.ts.map +1 -1
  38. package/resources/candidate-applications.js +1 -1
  39. package/resources/candidate-applications.js.map +1 -1
  40. package/resources/candidate-applications.mjs +1 -1
  41. package/resources/candidate-applications.mjs.map +1 -1
  42. package/resources/employee-documents.d.mts +149 -0
  43. package/resources/employee-documents.d.mts.map +1 -0
  44. package/resources/employee-documents.d.ts +149 -0
  45. package/resources/employee-documents.d.ts.map +1 -0
  46. package/resources/employee-documents.js +18 -0
  47. package/resources/employee-documents.js.map +1 -0
  48. package/resources/employee-documents.mjs +14 -0
  49. package/resources/employee-documents.mjs.map +1 -0
  50. package/resources/index.d.mts +6 -3
  51. package/resources/index.d.mts.map +1 -1
  52. package/resources/index.d.ts +6 -3
  53. package/resources/index.d.ts.map +1 -1
  54. package/resources/index.js +10 -4
  55. package/resources/index.js.map +1 -1
  56. package/resources/index.mjs +4 -1
  57. package/resources/index.mjs.map +1 -1
  58. package/resources/job-assignments.d.mts +32 -2
  59. package/resources/job-assignments.d.mts.map +1 -1
  60. package/resources/job-assignments.d.ts +32 -2
  61. package/resources/job-assignments.d.ts.map +1 -1
  62. package/resources/job-assignments.js +2 -1
  63. package/resources/job-assignments.js.map +1 -1
  64. package/resources/job-assignments.mjs +2 -1
  65. package/resources/job-assignments.mjs.map +1 -1
  66. package/resources/scheduled-job-assignments.d.mts +13 -21
  67. package/resources/scheduled-job-assignments.d.mts.map +1 -1
  68. package/resources/scheduled-job-assignments.d.ts +13 -21
  69. package/resources/scheduled-job-assignments.d.ts.map +1 -1
  70. package/resources/worker-change-fields.d.mts +45 -0
  71. package/resources/worker-change-fields.d.mts.map +1 -0
  72. package/resources/worker-change-fields.d.ts +45 -0
  73. package/resources/worker-change-fields.d.ts.map +1 -0
  74. package/resources/worker-change-fields.js +21 -0
  75. package/resources/worker-change-fields.js.map +1 -0
  76. package/resources/worker-change-fields.mjs +17 -0
  77. package/resources/worker-change-fields.mjs.map +1 -0
  78. package/resources/worker-changes.d.mts +267 -0
  79. package/resources/worker-changes.d.mts.map +1 -0
  80. package/resources/worker-changes.d.ts +267 -0
  81. package/resources/worker-changes.d.ts.map +1 -0
  82. package/resources/worker-changes.js +36 -0
  83. package/resources/worker-changes.js.map +1 -0
  84. package/resources/worker-changes.mjs +32 -0
  85. package/resources/worker-changes.mjs.map +1 -0
  86. package/resources/workflow-action-executions.d.mts +18 -3
  87. package/resources/workflow-action-executions.d.mts.map +1 -1
  88. package/resources/workflow-action-executions.d.ts +18 -3
  89. package/resources/workflow-action-executions.d.ts.map +1 -1
  90. package/src/client.ts +87 -17
  91. package/src/lib/manifest/field.ts +1 -3
  92. package/src/resources/break-policies.ts +126 -0
  93. package/src/resources/break-types.ts +129 -2
  94. package/src/resources/candidate-applications.ts +6 -1
  95. package/src/resources/employee-documents.ts +179 -0
  96. package/src/resources/index.ts +27 -5
  97. package/src/resources/job-assignments.ts +43 -1
  98. package/src/resources/scheduled-job-assignments.ts +13 -23
  99. package/src/resources/worker-change-fields.ts +64 -0
  100. package/src/resources/worker-changes.ts +354 -0
  101. package/src/resources/workflow-action-executions.ts +18 -3
  102. package/src/version.ts +1 -1
  103. package/version.d.mts +1 -1
  104. package/version.d.ts +1 -1
  105. package/version.js +1 -1
  106. package/version.mjs +1 -1
  107. package/resources/metadata/components.d.mts +0 -28
  108. package/resources/metadata/components.d.mts.map +0 -1
  109. package/resources/metadata/components.d.ts +0 -28
  110. package/resources/metadata/components.d.ts.map +0 -1
  111. package/resources/metadata/components.js +0 -21
  112. package/resources/metadata/components.js.map +0 -1
  113. package/resources/metadata/components.mjs +0 -17
  114. package/resources/metadata/components.mjs.map +0 -1
  115. package/resources/metadata/index.d.mts +0 -5
  116. package/resources/metadata/index.d.mts.map +0 -1
  117. package/resources/metadata/index.d.ts +0 -5
  118. package/resources/metadata/index.d.ts.map +0 -1
  119. package/resources/metadata/index.js +0 -13
  120. package/resources/metadata/index.js.map +0 -1
  121. package/resources/metadata/index.mjs +0 -6
  122. package/resources/metadata/index.mjs.map +0 -1
  123. package/resources/metadata/metadata.d.mts +0 -40
  124. package/resources/metadata/metadata.d.mts.map +0 -1
  125. package/resources/metadata/metadata.d.ts +0 -40
  126. package/resources/metadata/metadata.d.ts.map +0 -1
  127. package/resources/metadata/metadata.js +0 -37
  128. package/resources/metadata/metadata.js.map +0 -1
  129. package/resources/metadata/metadata.mjs +0 -32
  130. package/resources/metadata/metadata.mjs.map +0 -1
  131. package/resources/metadata/summary.d.mts +0 -28
  132. package/resources/metadata/summary.d.mts.map +0 -1
  133. package/resources/metadata/summary.d.ts +0 -28
  134. package/resources/metadata/summary.d.ts.map +0 -1
  135. package/resources/metadata/summary.js +0 -21
  136. package/resources/metadata/summary.js.map +0 -1
  137. package/resources/metadata/summary.mjs +0 -17
  138. package/resources/metadata/summary.mjs.map +0 -1
  139. package/resources/metadata/types.d.mts +0 -28
  140. package/resources/metadata/types.d.mts.map +0 -1
  141. package/resources/metadata/types.d.ts +0 -28
  142. package/resources/metadata/types.d.ts.map +0 -1
  143. package/resources/metadata/types.js +0 -21
  144. package/resources/metadata/types.js.map +0 -1
  145. package/resources/metadata/types.mjs +0 -17
  146. package/resources/metadata/types.mjs.map +0 -1
  147. package/resources/metadata.d.mts +0 -2
  148. package/resources/metadata.d.mts.map +0 -1
  149. package/resources/metadata.d.ts +0 -2
  150. package/resources/metadata.d.ts.map +0 -1
  151. package/resources/metadata.js +0 -6
  152. package/resources/metadata.js.map +0 -1
  153. package/resources/metadata.mjs +0 -3
  154. package/resources/metadata.mjs.map +0 -1
  155. package/src/resources/metadata/components.ts +0 -38
  156. package/src/resources/metadata/index.ts +0 -10
  157. package/src/resources/metadata/metadata.ts +0 -70
  158. package/src/resources/metadata/summary.ts +0 -38
  159. package/src/resources/metadata/types.ts +0 -38
  160. package/src/resources/metadata.ts +0 -3
@@ -15,6 +15,8 @@ export class BreakTypes extends APIResource {
15
15
  * A list of break types.
16
16
  *
17
17
  * - Requires: `API Tier 2`
18
+ * - Filterable fields: `policy_id`
19
+ * - Expandable fields: `policy`
18
20
  * - Sortable fields: `id`, `created_at`, `updated_at`
19
21
  */
20
22
  list(
@@ -30,8 +32,12 @@ export class BreakTypes extends APIResource {
30
32
  /**
31
33
  * Retrieve a specific break type
32
34
  */
33
- retrieve(id: string, options?: RequestOptions): APIPromise<BreakTypeRetrieveResponse> {
34
- return this._client.get(path`/break-types/${id}/`, options);
35
+ retrieve(
36
+ id: string,
37
+ query: BreakTypeRetrieveParams | null | undefined = {},
38
+ options?: RequestOptions,
39
+ ): APIPromise<BreakTypeRetrieveResponse> {
40
+ return this._client.get(path`/break-types/${id}/`, { query, ...options });
35
41
  }
36
42
  }
37
43
 
@@ -67,6 +73,62 @@ export interface BreakTypeListResponse {
67
73
  * Whether this is a paid break (true) or unpaid (false).
68
74
  */
69
75
  is_paid?: boolean;
76
+
77
+ /**
78
+ * The break policy this break type belongs to. Use ?expand=policy to inline the
79
+ * full policy object.
80
+ *
81
+ * Expandable field
82
+ */
83
+ policy?: BreakTypeListResponse.Policy;
84
+
85
+ /**
86
+ * The ID of the break policy this break type belongs to.
87
+ */
88
+ policy_id?: string;
89
+ }
90
+
91
+ export namespace BreakTypeListResponse {
92
+ /**
93
+ * The break policy this break type belongs to. Use ?expand=policy to inline the
94
+ * full policy object.
95
+ *
96
+ * Expandable field
97
+ */
98
+ export interface Policy {
99
+ /**
100
+ * Identifier field
101
+ */
102
+ id: string;
103
+
104
+ /**
105
+ * Record creation date
106
+ */
107
+ created_at: string;
108
+
109
+ /**
110
+ * The display name of the break policy. For default policies this is the
111
+ * system-generated label (e.g. 'Default Break policy: All Workers | California');
112
+ * for custom policies this is the admin-provided description.
113
+ */
114
+ name: string;
115
+
116
+ /**
117
+ * Record update date
118
+ */
119
+ updated_at: string;
120
+
121
+ /**
122
+ * ISO 3166-1 alpha-2 country code the policy applies to (e.g. 'US', 'CA', 'GB').
123
+ */
124
+ country_code?: string;
125
+
126
+ /**
127
+ * Whether this is a system-seeded default policy (true) or a custom policy created
128
+ * by an admin (false).
129
+ */
130
+ is_default?: boolean;
131
+ }
70
132
  }
71
133
 
72
134
  /**
@@ -102,19 +164,84 @@ export interface BreakTypeRetrieveResponse extends BusinessPartnersAPI.Meta {
102
164
  * Whether this is a paid break (true) or unpaid (false).
103
165
  */
104
166
  is_paid?: boolean;
167
+
168
+ /**
169
+ * The break policy this break type belongs to. Use ?expand=policy to inline the
170
+ * full policy object.
171
+ *
172
+ * Expandable field
173
+ */
174
+ policy?: BreakTypeRetrieveResponse.Policy;
175
+
176
+ /**
177
+ * The ID of the break policy this break type belongs to.
178
+ */
179
+ policy_id?: string;
180
+ }
181
+
182
+ export namespace BreakTypeRetrieveResponse {
183
+ /**
184
+ * The break policy this break type belongs to. Use ?expand=policy to inline the
185
+ * full policy object.
186
+ *
187
+ * Expandable field
188
+ */
189
+ export interface Policy {
190
+ /**
191
+ * Identifier field
192
+ */
193
+ id: string;
194
+
195
+ /**
196
+ * Record creation date
197
+ */
198
+ created_at: string;
199
+
200
+ /**
201
+ * The display name of the break policy. For default policies this is the
202
+ * system-generated label (e.g. 'Default Break policy: All Workers | California');
203
+ * for custom policies this is the admin-provided description.
204
+ */
205
+ name: string;
206
+
207
+ /**
208
+ * Record update date
209
+ */
210
+ updated_at: string;
211
+
212
+ /**
213
+ * ISO 3166-1 alpha-2 country code the policy applies to (e.g. 'US', 'CA', 'GB').
214
+ */
215
+ country_code?: string;
216
+
217
+ /**
218
+ * Whether this is a system-seeded default policy (true) or a custom policy created
219
+ * by an admin (false).
220
+ */
221
+ is_default?: boolean;
222
+ }
105
223
  }
106
224
 
107
225
  export interface BreakTypeListParams {
108
226
  cursor?: string;
109
227
 
228
+ expand?: string;
229
+
230
+ filter?: string;
231
+
110
232
  order_by?: string;
111
233
  }
112
234
 
235
+ export interface BreakTypeRetrieveParams {
236
+ expand?: string;
237
+ }
238
+
113
239
  export declare namespace BreakTypes {
114
240
  export {
115
241
  type BreakTypeListResponse as BreakTypeListResponse,
116
242
  type BreakTypeRetrieveResponse as BreakTypeRetrieveResponse,
117
243
  type BreakTypeListResponsesPageCursorURL as BreakTypeListResponsesPageCursorURL,
118
244
  type BreakTypeListParams as BreakTypeListParams,
245
+ type BreakTypeRetrieveParams as BreakTypeRetrieveParams,
119
246
  };
120
247
  }
@@ -17,7 +17,7 @@ export class CandidateApplications extends APIResource {
17
17
  * - Sortable fields: `id`, `created_at`, `updated_at`
18
18
  */
19
19
  list(
20
- query: CandidateApplicationListParams | null | undefined = {},
20
+ query: CandidateApplicationListParams,
21
21
  options?: RequestOptions,
22
22
  ): PagePromise<CandidateApplicationListResponsesPageCursorURL, CandidateApplicationListResponse> {
23
23
  return this._client.getAPIList(
@@ -80,6 +80,11 @@ export interface CandidateApplicationListResponse {
80
80
  }
81
81
 
82
82
  export interface CandidateApplicationListParams {
83
+ /**
84
+ * The unique identifier of the candidate whose applications to list.
85
+ */
86
+ candidate_id: string;
87
+
83
88
  cursor?: string;
84
89
 
85
90
  expand?: string;
@@ -0,0 +1,179 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { RequestOptions } from '../internal/request-options';
6
+
7
+ /**
8
+ * Documents attached to existing employees
9
+ */
10
+ export class EmployeeDocuments extends APIResource {
11
+ /**
12
+ * Create a new employee document
13
+ */
14
+ create(
15
+ body: EmployeeDocumentCreateParams,
16
+ options?: RequestOptions,
17
+ ): APIPromise<EmployeeDocumentCreateResponse> {
18
+ return this._client.post('/employee-documents/', { body, ...options });
19
+ }
20
+ }
21
+
22
+ /**
23
+ * Top-level request body for `POST /employee-documents/`.
24
+ */
25
+ export interface EmployeeDocumentCreateResponse {
26
+ /**
27
+ * Identifier field
28
+ */
29
+ id: string;
30
+
31
+ /**
32
+ * Record creation date
33
+ */
34
+ created_at: string;
35
+
36
+ /**
37
+ * List of role/document items to process. No limit on number of items; total
38
+ * documents across all items must not exceed 250.
39
+ */
40
+ items: Array<EmployeeDocumentCreateResponse.Item>;
41
+
42
+ /**
43
+ * Record update date
44
+ */
45
+ updated_at: string;
46
+ }
47
+
48
+ export namespace EmployeeDocumentCreateResponse {
49
+ /**
50
+ * A single item: attach `documents` to the worker identified by `worker_id`.
51
+ */
52
+ export interface Item {
53
+ /**
54
+ * Documents to attach to the role. At least one required. Each entry references a
55
+ * FileUploadTracker by file_id.
56
+ */
57
+ documents: Array<Item.Document>;
58
+
59
+ /**
60
+ * Id of the worker to attach documents to.
61
+ */
62
+ worker_id: string;
63
+
64
+ /**
65
+ * Optional ObjectId of the destination sub-folder on the worker's documents
66
+ * profile. When omitted, documents land at the root of the worker's profile
67
+ * (current default behavior). When supplied, the folder must exist, be in an
68
+ * active state, be provisioned for the target worker, and the caller must have
69
+ * UPLOAD permission on it — otherwise behavior is governed by `on_invalid_folder`.
70
+ */
71
+ folder_id?: string;
72
+
73
+ /**
74
+ * Fallback behavior when `folder_id` is supplied but inaccessible. 'fail'
75
+ * (default) rejects each affected document with FOLDER_ACCESS_ERROR.
76
+ * 'fallback_to_root' uploads to the worker's root profile instead and attaches a
77
+ * FOLDER_ACCESS_FALLBACK warning to each result. Ignored when `folder_id` is
78
+ * omitted.
79
+ */
80
+ on_invalid_folder?: 'fail' | 'fallback_to_root';
81
+ }
82
+
83
+ export namespace Item {
84
+ /**
85
+ * A document to attach to a draft hire, referencing a pre-uploaded file.
86
+ */
87
+ export interface Document {
88
+ /**
89
+ * Id of a FileUploadTracker in ACTIVE status whose file should become a document
90
+ * on the hire
91
+ */
92
+ file_id: string;
93
+
94
+ /**
95
+ * Document name. Defaults to the uploaded file name when omitted.
96
+ */
97
+ name?: string;
98
+
99
+ /**
100
+ * Signature date in YYYY-MM-DD format.
101
+ */
102
+ signature_date?: string;
103
+ }
104
+ }
105
+ }
106
+
107
+ export interface EmployeeDocumentCreateParams {
108
+ /**
109
+ * List of role/document items to process. No limit on number of items; total
110
+ * documents across all items must not exceed 250.
111
+ */
112
+ items: Array<EmployeeDocumentCreateParams.Item>;
113
+ }
114
+
115
+ export namespace EmployeeDocumentCreateParams {
116
+ /**
117
+ * A single item: attach `documents` to the worker identified by `worker_id`.
118
+ */
119
+ export interface Item {
120
+ /**
121
+ * Documents to attach to the role. At least one required. Each entry references a
122
+ * FileUploadTracker by file_id.
123
+ */
124
+ documents: Array<Item.Document>;
125
+
126
+ /**
127
+ * Id of the worker to attach documents to.
128
+ */
129
+ worker_id: string;
130
+
131
+ /**
132
+ * Optional ObjectId of the destination sub-folder on the worker's documents
133
+ * profile. When omitted, documents land at the root of the worker's profile
134
+ * (current default behavior). When supplied, the folder must exist, be in an
135
+ * active state, be provisioned for the target worker, and the caller must have
136
+ * UPLOAD permission on it — otherwise behavior is governed by `on_invalid_folder`.
137
+ */
138
+ folder_id?: string;
139
+
140
+ /**
141
+ * Fallback behavior when `folder_id` is supplied but inaccessible. 'fail'
142
+ * (default) rejects each affected document with FOLDER_ACCESS_ERROR.
143
+ * 'fallback_to_root' uploads to the worker's root profile instead and attaches a
144
+ * FOLDER_ACCESS_FALLBACK warning to each result. Ignored when `folder_id` is
145
+ * omitted.
146
+ */
147
+ on_invalid_folder?: 'fail' | 'fallback_to_root';
148
+ }
149
+
150
+ export namespace Item {
151
+ /**
152
+ * A document to attach to a draft hire, referencing a pre-uploaded file.
153
+ */
154
+ export interface Document {
155
+ /**
156
+ * Id of a FileUploadTracker in ACTIVE status whose file should become a document
157
+ * on the hire
158
+ */
159
+ file_id: string;
160
+
161
+ /**
162
+ * Document name. Defaults to the uploaded file name when omitted.
163
+ */
164
+ name?: string;
165
+
166
+ /**
167
+ * Signature date in YYYY-MM-DD format.
168
+ */
169
+ signature_date?: string;
170
+ }
171
+ }
172
+ }
173
+
174
+ export declare namespace EmployeeDocuments {
175
+ export {
176
+ type EmployeeDocumentCreateResponse as EmployeeDocumentCreateResponse,
177
+ type EmployeeDocumentCreateParams as EmployeeDocumentCreateParams,
178
+ };
179
+ }
@@ -1,11 +1,19 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  export * from './shared';
4
+ export {
5
+ BreakPolicies,
6
+ type BreakPolicyListResponse,
7
+ type BreakPolicyRetrieveResponse,
8
+ type BreakPolicyListParams,
9
+ type BreakPolicyListResponsesPageCursorURL,
10
+ } from './break-policies';
4
11
  export {
5
12
  BreakTypes,
6
13
  type BreakTypeListResponse,
7
14
  type BreakTypeRetrieveResponse,
8
15
  type BreakTypeListParams,
16
+ type BreakTypeRetrieveParams,
9
17
  type BreakTypeListResponsesPageCursorURL,
10
18
  } from './break-types';
11
19
  export {
@@ -137,6 +145,11 @@ export {
137
145
  type EarningsInputCreateParams,
138
146
  type EarningsInputListResponsesPageCursorURL,
139
147
  } from './earnings-inputs';
148
+ export {
149
+ EmployeeDocuments,
150
+ type EmployeeDocumentCreateResponse,
151
+ type EmployeeDocumentCreateParams,
152
+ } from './employee-documents';
140
153
  export {
141
154
  EmploymentTypes,
142
155
  type CompanyEmploymentType,
@@ -184,6 +197,7 @@ export {
184
197
  type JobAssignmentCreateParams,
185
198
  type JobAssignmentRetrieveParams,
186
199
  type JobAssignmentUpdateParams,
200
+ type JobAssignmentDeleteParams,
187
201
  type JobAssignmentListChangeLogParams,
188
202
  type AttributeChangeDetailsPageCursorURL,
189
203
  type JobAssignmentsPageCursorURL,
@@ -311,11 +325,6 @@ export {
311
325
  type LocationFactorListParams,
312
326
  type LocationFactorListResponsesPageCursorURL,
313
327
  } from './location-factors';
314
- export {
315
- Metadata,
316
- type MetadataListResponse,
317
- type MetadataListResponsesPageCursorURL,
318
- } from './metadata/metadata';
319
328
  export {
320
329
  ObjectCategories,
321
330
  type ObjectCategory,
@@ -494,6 +503,19 @@ export {
494
503
  type WorkLocationUpdateParams,
495
504
  type WorkLocationsPageCursorURL,
496
505
  } from './work-locations';
506
+ export {
507
+ WorkerChangeFields,
508
+ type WorkerChangeFieldListResponse,
509
+ type WorkerChangeFieldListResponsesPageCursorURL,
510
+ } from './worker-change-fields';
511
+ export {
512
+ WorkerChanges,
513
+ type WorkerChangeListResponse,
514
+ type WorkerChangeRetrieveResponse,
515
+ type WorkerChangeListParams,
516
+ type WorkerChangeRetrieveParams,
517
+ type WorkerChangeListResponsesPageCursorURL,
518
+ } from './worker-changes';
497
519
  export {
498
520
  WorkerTimeSplits,
499
521
  type WorkerTimeSplitListResponse,
@@ -58,8 +58,13 @@ export class JobAssignments extends APIResource {
58
58
  /**
59
59
  * Delete a job assignment
60
60
  */
61
- delete(id: string, options?: RequestOptions): APIPromise<void> {
61
+ delete(
62
+ id: string,
63
+ body: JobAssignmentDeleteParams | null | undefined = {},
64
+ options?: RequestOptions,
65
+ ): APIPromise<void> {
62
66
  return this._client.delete(path`/job-assignments/${id}/`, {
67
+ body,
63
68
  ...options,
64
69
  headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
65
70
  });
@@ -244,6 +249,17 @@ export interface JobAssignmentCreateParams {
244
249
  */
245
250
  worker_id: string;
246
251
 
252
+ /**
253
+ * Reason recorded on the change (e.g., the reason for scheduling an unassignment).
254
+ */
255
+ change_reason?: string;
256
+
257
+ /**
258
+ * Date and time the change becomes effective (ISO 8601 format, e.g.,
259
+ * 2025-11-07T17:00:00.000+00:00).
260
+ */
261
+ effective_from?: string;
262
+
247
263
  /**
248
264
  * The pay rate for job assigned to worker. This can be different from the job's
249
265
  * standard pay rate and can be overriden for a worker.
@@ -279,6 +295,17 @@ export interface JobAssignmentUpdateParams {
279
295
  */
280
296
  worker_id: string;
281
297
 
298
+ /**
299
+ * Reason recorded on the change (e.g., the reason for scheduling an unassignment).
300
+ */
301
+ change_reason?: string;
302
+
303
+ /**
304
+ * Date and time the change becomes effective (ISO 8601 format, e.g.,
305
+ * 2025-11-07T17:00:00.000+00:00).
306
+ */
307
+ effective_from?: string;
308
+
282
309
  /**
283
310
  * The pay rate for job assigned to worker. This can be different from the job's
284
311
  * standard pay rate and can be overriden for a worker.
@@ -299,6 +326,20 @@ export interface JobAssignmentUpdateParams {
299
326
  job_pay_rate_effective_from?: string;
300
327
  }
301
328
 
329
+ export interface JobAssignmentDeleteParams {
330
+ /**
331
+ * Reason recorded on the scheduled unassignment.
332
+ */
333
+ change_reason?: string;
334
+
335
+ /**
336
+ * Date and time the unassignment becomes effective (ISO 8601 format, e.g.,
337
+ * 2025-11-07T17:00:00.000+00:00). When provided, schedules a future unassignment
338
+ * instead of deleting the job assignment immediately.
339
+ */
340
+ effective_from?: string;
341
+ }
342
+
302
343
  export interface JobAssignmentListChangeLogParams {
303
344
  cursor?: string;
304
345
 
@@ -318,6 +359,7 @@ export declare namespace JobAssignments {
318
359
  type JobAssignmentCreateParams as JobAssignmentCreateParams,
319
360
  type JobAssignmentRetrieveParams as JobAssignmentRetrieveParams,
320
361
  type JobAssignmentUpdateParams as JobAssignmentUpdateParams,
362
+ type JobAssignmentDeleteParams as JobAssignmentDeleteParams,
321
363
  type JobAssignmentListChangeLogParams as JobAssignmentListChangeLogParams,
322
364
  };
323
365
  }
@@ -51,7 +51,7 @@ export type ScheduledJobAssignmentListResponsesPageCursorURL =
51
51
  PageCursorURL<ScheduledJobAssignmentListResponse>;
52
52
 
53
53
  /**
54
- * Platform API DTO for a scheduled change targeting an EmployeeTimeTrackingJob.
54
+ * Platform API DTO for a scheduled job assignment or unassignment change.
55
55
  */
56
56
  export interface ScheduledJobAssignmentListResponse {
57
57
  /**
@@ -70,9 +70,9 @@ export interface ScheduledJobAssignmentListResponse {
70
70
  updated_at: string;
71
71
 
72
72
  /**
73
- * Type of scheduled change: UNASSIGN or PAY_RATE_UPDATE.
73
+ * Type of scheduled change: ASSIGN or UNASSIGN.
74
74
  */
75
- change_type?: 'UNASSIGN' | 'PAY_RATE_UPDATE';
75
+ change_type?: 'ASSIGN' | 'UNASSIGN';
76
76
 
77
77
  /**
78
78
  * The ID of the role that created this scheduled change.
@@ -85,12 +85,7 @@ export interface ScheduledJobAssignmentListResponse {
85
85
  effective_from?: string;
86
86
 
87
87
  /**
88
- * The ID of the job assignment (ETTJ) this scheduled change targets.
89
- */
90
- job_assignment_id?: string;
91
-
92
- /**
93
- * The ID of the job code assigned.
88
+ * The ID of the job code.
94
89
  */
95
90
  job_code_id?: string;
96
91
 
@@ -100,7 +95,7 @@ export interface ScheduledJobAssignmentListResponse {
100
95
  job_code_name?: string;
101
96
 
102
97
  /**
103
- * The ID of the job dimension the job code belongs to.
98
+ * The ID of the job dimension.
104
99
  */
105
100
  job_dimension_id?: string;
106
101
 
@@ -110,7 +105,7 @@ export interface ScheduledJobAssignmentListResponse {
110
105
  job_dimension_name?: string;
111
106
 
112
107
  /**
113
- * New pay rate value, if the change modifies pay_rate.
108
+ * New pay rate value, if the change includes a pay rate.
114
109
  */
115
110
  pay_rate?: number;
116
111
 
@@ -120,7 +115,7 @@ export interface ScheduledJobAssignmentListResponse {
120
115
  reason?: string;
121
116
 
122
117
  /**
123
- * The ID of the worker (role) the job assignment belongs to.
118
+ * The ID of the worker (role) the scheduled changes target.
124
119
  */
125
120
  worker_id?: string;
126
121
  }
@@ -145,9 +140,9 @@ export interface ScheduledJobAssignmentRetrieveResponse extends BusinessPartners
145
140
  updated_at: string;
146
141
 
147
142
  /**
148
- * Type of scheduled change: UNASSIGN or PAY_RATE_UPDATE.
143
+ * Type of scheduled change: ASSIGN or UNASSIGN.
149
144
  */
150
- change_type?: 'UNASSIGN' | 'PAY_RATE_UPDATE';
145
+ change_type?: 'ASSIGN' | 'UNASSIGN';
151
146
 
152
147
  /**
153
148
  * The ID of the role that created this scheduled change.
@@ -160,12 +155,7 @@ export interface ScheduledJobAssignmentRetrieveResponse extends BusinessPartners
160
155
  effective_from?: string;
161
156
 
162
157
  /**
163
- * The ID of the job assignment (ETTJ) this scheduled change targets.
164
- */
165
- job_assignment_id?: string;
166
-
167
- /**
168
- * The ID of the job code assigned.
158
+ * The ID of the job code.
169
159
  */
170
160
  job_code_id?: string;
171
161
 
@@ -175,7 +165,7 @@ export interface ScheduledJobAssignmentRetrieveResponse extends BusinessPartners
175
165
  job_code_name?: string;
176
166
 
177
167
  /**
178
- * The ID of the job dimension the job code belongs to.
168
+ * The ID of the job dimension.
179
169
  */
180
170
  job_dimension_id?: string;
181
171
 
@@ -185,7 +175,7 @@ export interface ScheduledJobAssignmentRetrieveResponse extends BusinessPartners
185
175
  job_dimension_name?: string;
186
176
 
187
177
  /**
188
- * New pay rate value, if the change modifies pay_rate.
178
+ * New pay rate value, if the change includes a pay rate.
189
179
  */
190
180
  pay_rate?: number;
191
181
 
@@ -195,7 +185,7 @@ export interface ScheduledJobAssignmentRetrieveResponse extends BusinessPartners
195
185
  reason?: string;
196
186
 
197
187
  /**
198
- * The ID of the worker (role) the job assignment belongs to.
188
+ * The ID of the worker (role) the scheduled changes target.
199
189
  */
200
190
  worker_id?: string;
201
191
  }
@@ -0,0 +1,64 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { PageCursorURL, PagePromise } from '../core/pagination';
5
+ import { RequestOptions } from '../internal/request-options';
6
+
7
+ /**
8
+ * Historical changes to worker data over time
9
+ */
10
+ export class WorkerChangeFields extends APIResource {
11
+ /**
12
+ * A list of worker change fields.
13
+ *
14
+ * - Requires: `API Tier 2`
15
+ */
16
+ list(
17
+ options?: RequestOptions,
18
+ ): PagePromise<WorkerChangeFieldListResponsesPageCursorURL, WorkerChangeFieldListResponse> {
19
+ return this._client.getAPIList(
20
+ '/worker-change-fields/',
21
+ PageCursorURL<WorkerChangeFieldListResponse>,
22
+ options,
23
+ );
24
+ }
25
+ }
26
+
27
+ export type WorkerChangeFieldListResponsesPageCursorURL = PageCursorURL<WorkerChangeFieldListResponse>;
28
+
29
+ export interface WorkerChangeFieldListResponse {
30
+ /**
31
+ * High-level grouping for the field.
32
+ */
33
+ category: 'PERSONAL' | 'JOB' | 'COMPENSATION' | 'BENEFITS' | 'CUSTOM' | 'COUNTRY_SPECIFIC';
34
+
35
+ /**
36
+ * UI label for the field (English).
37
+ */
38
+ field_display_name: string;
39
+
40
+ /**
41
+ * Field key in snake_case. Use directly in ?filter=field_key eq '...' on GET
42
+ * /worker-changes. Naming convention: public DTO fields use the DTO field name
43
+ * verbatim (work_email, title); nested fields use dot notation
44
+ * (compensation.base_salary); custom fields use custom_fields.<custom_field_id>;
45
+ * country-specific fields use the ISO country prefix (us.eeo.race). Filter
46
+ * semantics: filtering GET /worker-changes by field_key returns events that
47
+ * contain at least one change to this field, but the changes[] array on those
48
+ * events is NOT pruned — consumers receive the full event payload including
49
+ * changes to other fields.
50
+ */
51
+ field_key: string;
52
+
53
+ /**
54
+ * Value type of the field.
55
+ */
56
+ value_type: 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'DATETIME' | 'CURRENCY' | 'ENUM' | 'REFERENCE';
57
+ }
58
+
59
+ export declare namespace WorkerChangeFields {
60
+ export {
61
+ type WorkerChangeFieldListResponse as WorkerChangeFieldListResponse,
62
+ type WorkerChangeFieldListResponsesPageCursorURL as WorkerChangeFieldListResponsesPageCursorURL,
63
+ };
64
+ }