@dsptch-work/api-client 0.3.0 → 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.
- package/CHANGELOG.md +68 -0
- package/dist/gen/index.d.ts +1 -1
- package/dist/gen/sdk.gen.d.ts +13 -19
- package/dist/gen/sdk.gen.js +12 -28
- package/dist/gen/types.gen.d.ts +1160 -801
- package/dist/gen/zod.gen.d.ts +751 -322
- package/dist/gen/zod.gen.js +425 -98
- package/package.json +1 -1
package/dist/gen/zod.gen.js
CHANGED
|
@@ -1,14 +1,314 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
2
|
import * as z from 'zod';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* RFC 9457 problem-details body returned on every failed request, as `application/problem+json`.
|
|
5
5
|
*/
|
|
6
|
-
export const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
export const zProblem = z.object({
|
|
7
|
+
type: z.url(),
|
|
8
|
+
title: z.string(),
|
|
9
|
+
status: z.int(),
|
|
10
|
+
detail: z.string()
|
|
11
11
|
});
|
|
12
|
+
/**
|
|
13
|
+
* Error types
|
|
14
|
+
*
|
|
15
|
+
* Every way a request can fail has a stable machine-readable identifier: the `type` URI of its
|
|
16
|
+
* `application/problem+json` response, whose fragment is the short form listed here.
|
|
17
|
+
* Identifiers are stable contract — messages (`detail`) may be reworded at any time. Entries
|
|
18
|
+
* are grouped by the HTTP status they render with.
|
|
19
|
+
*
|
|
20
|
+
* ## 400
|
|
21
|
+
*
|
|
22
|
+
* ### blank_axis
|
|
23
|
+
*
|
|
24
|
+
* **Blank Temporal Axis Value**
|
|
25
|
+
*
|
|
26
|
+
* An `as_of` coordinate is present but blank. A coordinate must name a point in time; send a parseable date-time, or omit the axis to read at now.
|
|
27
|
+
*
|
|
28
|
+
* ### invalid_cursor
|
|
29
|
+
*
|
|
30
|
+
* **Invalid Pagination Cursor**
|
|
31
|
+
*
|
|
32
|
+
* The `page` cursor is not decodable. Resend a cursor exactly as returned in a prior response's pagination links, or omit it to start from the first page.
|
|
33
|
+
*
|
|
34
|
+
* ### invalid_filter_key
|
|
35
|
+
*
|
|
36
|
+
* **Unknown Filter Key**
|
|
37
|
+
*
|
|
38
|
+
* The `filter` object names a key the endpoint does not declare — an undeclared filter, an unknown range sub-key, or an unsupported operator. Remove or correct the key per the endpoint's documented filter set.
|
|
39
|
+
*
|
|
40
|
+
* ### invalid_limit
|
|
41
|
+
*
|
|
42
|
+
* **Invalid Page Limit**
|
|
43
|
+
*
|
|
44
|
+
* The `page` limit is not a positive integer. Send a positive integer or omit it for the default; values above the cap are clamped, never rejected.
|
|
45
|
+
*
|
|
46
|
+
* ### invalid_signature
|
|
47
|
+
*
|
|
48
|
+
* **Invalid Signed Token**
|
|
49
|
+
*
|
|
50
|
+
* A signed token in the request fails signature verification. Re-obtain the token from the endpoint that issued it.
|
|
51
|
+
*
|
|
52
|
+
* ### non_range_filter_value
|
|
53
|
+
*
|
|
54
|
+
* **Range Filter Needs Bounds**
|
|
55
|
+
*
|
|
56
|
+
* A range filter key carries a bare value instead of bounds. Send the object form with `gte` and/or `lte`.
|
|
57
|
+
*
|
|
58
|
+
* ### non_scalar_axis
|
|
59
|
+
*
|
|
60
|
+
* **Temporal Axis Not Scalar**
|
|
61
|
+
*
|
|
62
|
+
* An `as_of` axis value is an object or array rather than a single date-time. Send one scalar value per axis.
|
|
63
|
+
*
|
|
64
|
+
* ### non_scalar_filter_value
|
|
65
|
+
*
|
|
66
|
+
* **Filter Value Not Scalar**
|
|
67
|
+
*
|
|
68
|
+
* An equality filter key carries an array or object outside the supported `null` operator form. Send a single scalar value.
|
|
69
|
+
*
|
|
70
|
+
* ### parameter_missing
|
|
71
|
+
*
|
|
72
|
+
* **Required Parameter Missing**
|
|
73
|
+
*
|
|
74
|
+
* A required request parameter is absent or empty. The message names it; supply the parameter and retry.
|
|
75
|
+
*
|
|
76
|
+
* ### parameter_not_object
|
|
77
|
+
*
|
|
78
|
+
* **Parameter Must Be An Object**
|
|
79
|
+
*
|
|
80
|
+
* A container query parameter — `filter`, `page`, or `as_of` — arrived as a scalar, array, or blank value instead of a nested object. Use the object syntax, for example `filter[key]=value`.
|
|
81
|
+
*
|
|
82
|
+
* ### unknown_axis
|
|
83
|
+
*
|
|
84
|
+
* **Unknown Temporal Axis Key**
|
|
85
|
+
*
|
|
86
|
+
* The `as_of` parameter carries a sub-key that is not a temporal axis. Remove the unknown key.
|
|
87
|
+
*
|
|
88
|
+
* ### unknown_key
|
|
89
|
+
*
|
|
90
|
+
* **Unknown Query Parameter**
|
|
91
|
+
*
|
|
92
|
+
* The query string carries a top-level key outside the declared containers — typically a misspelled container. Remove or correct it; unknown keys are never silently ignored.
|
|
93
|
+
*
|
|
94
|
+
* ### unsupported_axis
|
|
95
|
+
*
|
|
96
|
+
* **Axis Unsupported By Resource**
|
|
97
|
+
*
|
|
98
|
+
* The `as_of` parameter names a temporal axis this resource does not expose. Drop the axis.
|
|
99
|
+
*
|
|
100
|
+
* ### valid_axis_on_timeline
|
|
101
|
+
*
|
|
102
|
+
* **Valid-Time Pin On A Timeline**
|
|
103
|
+
*
|
|
104
|
+
* A version-timeline endpoint received a valid-time pin, but the timeline ranges over all of valid time. Read the resource itself to get one version.
|
|
105
|
+
*
|
|
106
|
+
* ## 401
|
|
107
|
+
*
|
|
108
|
+
* ### unauthorized
|
|
109
|
+
*
|
|
110
|
+
* **Invalid Or Missing Credentials**
|
|
111
|
+
*
|
|
112
|
+
* The request presents no usable credential — the API key is missing or invalid. Supply a valid key in the `x-api-key` header.
|
|
113
|
+
*
|
|
114
|
+
* ## 403
|
|
115
|
+
*
|
|
116
|
+
* ### company_scoped_key_required
|
|
117
|
+
*
|
|
118
|
+
* **Company-Scoped Key Required**
|
|
119
|
+
*
|
|
120
|
+
* The endpoint must act within a company tenant, but the presented credential carries none. Retry with a company- or user-scoped API key.
|
|
121
|
+
*
|
|
122
|
+
* ### forbidden
|
|
123
|
+
*
|
|
124
|
+
* **Action Not Authorized**
|
|
125
|
+
*
|
|
126
|
+
* The credential is valid, but this action on this record is refused by policy. The operation is not available to this principal.
|
|
127
|
+
*
|
|
128
|
+
* ### insufficient_api_key_scope
|
|
129
|
+
*
|
|
130
|
+
* **Insufficient API Key Scope**
|
|
131
|
+
*
|
|
132
|
+
* The API key lacks the scope grant for this endpoint and verb. Grant the required scope to the key and retry.
|
|
133
|
+
*
|
|
134
|
+
* ## 404
|
|
135
|
+
*
|
|
136
|
+
* ### not_found
|
|
137
|
+
*
|
|
138
|
+
* **Resource Not Found**
|
|
139
|
+
*
|
|
140
|
+
* The identified record does not exist, or is outside what this credential can see. Verify the id and the key's access.
|
|
141
|
+
*
|
|
142
|
+
* ## 409
|
|
143
|
+
*
|
|
144
|
+
* ### recorded_since_termination
|
|
145
|
+
*
|
|
146
|
+
* **Timecode Changed Since Termination**
|
|
147
|
+
*
|
|
148
|
+
* Cancelling this timecode's scheduled termination would silently discard changes recorded since it was terminated. Re-read the timecode and reconcile before retrying.
|
|
149
|
+
*
|
|
150
|
+
* ## 422
|
|
151
|
+
*
|
|
152
|
+
* ### attachment_not_image
|
|
153
|
+
*
|
|
154
|
+
* **Attachment Not An Image**
|
|
155
|
+
*
|
|
156
|
+
* The upload behind an image attachment's signed id is not an image content type. Upload an image file.
|
|
157
|
+
*
|
|
158
|
+
* ### company_not_employer
|
|
159
|
+
*
|
|
160
|
+
* **Company Not Program Employer**
|
|
161
|
+
*
|
|
162
|
+
* Creating an apprentice requires the acting company to be registered as an employer in the apprenticeship program, and it is not. Register the company as a program employer first.
|
|
163
|
+
*
|
|
164
|
+
* ### confirm_apprenticeship_conflict
|
|
165
|
+
*
|
|
166
|
+
* **Apprenticeship Allocation Conflict**
|
|
167
|
+
*
|
|
168
|
+
* A time-entry update would invalidate the time card's apprenticeship hour allocations, and the request did not confirm that. Retry with `confirm_allocation_conflict` set to accept removing those allocations.
|
|
169
|
+
*
|
|
170
|
+
* ### destroy_restricted
|
|
171
|
+
*
|
|
172
|
+
* **Deletion Blocked By Dependencies**
|
|
173
|
+
*
|
|
174
|
+
* A deletion is refused by the record's guards — dependent records restrict removal. The message carries the specifics; remove or reassign the dependents first.
|
|
175
|
+
*
|
|
176
|
+
* ### invalid_date
|
|
177
|
+
*
|
|
178
|
+
* **Unparseable Date Value**
|
|
179
|
+
*
|
|
180
|
+
* A date-time value cannot be parsed, or falls outside the storable range. Format values as ISO 8601 (for example `2026-08-05` or `2026-08-05T14:30`).
|
|
181
|
+
*
|
|
182
|
+
* ### invalid_filter_value
|
|
183
|
+
*
|
|
184
|
+
* **Invalid Filter Value**
|
|
185
|
+
*
|
|
186
|
+
* A declared filter key carries a value outside its accepted set — a non-boolean on a boolean key, or a token outside an enum key's vocabulary. Send an accepted value.
|
|
187
|
+
*
|
|
188
|
+
* ### invalid_iso8601_duration
|
|
189
|
+
*
|
|
190
|
+
* **Invalid ISO 8601 Duration**
|
|
191
|
+
*
|
|
192
|
+
* A duration value is not a parseable ISO 8601 duration. Format it like `P2Y`, `P1D`, or `-PT15M`.
|
|
193
|
+
*
|
|
194
|
+
* ### invalid_placement_move
|
|
195
|
+
*
|
|
196
|
+
* **Move Conflicts With Placement**
|
|
197
|
+
*
|
|
198
|
+
* An inventory move does not fit the item's current placement. The message carries the reason; check the item's placement and adjust the move.
|
|
199
|
+
*
|
|
200
|
+
* ### invalid_signed_id
|
|
201
|
+
*
|
|
202
|
+
* **Invalid Attachment Signed Id**
|
|
203
|
+
*
|
|
204
|
+
* An attachment signed id — an avatar's, a logo's — is not a string or fails signature verification. Obtain a fresh signed id from the direct-uploads endpoint and retry.
|
|
205
|
+
*
|
|
206
|
+
* ### non_numeric_cents
|
|
207
|
+
*
|
|
208
|
+
* **Non-Numeric Money Value**
|
|
209
|
+
*
|
|
210
|
+
* A money parameter is not a numeric value in cents. Send money as a numeric cents value.
|
|
211
|
+
*
|
|
212
|
+
* ### nothing_to_cancel
|
|
213
|
+
*
|
|
214
|
+
* **Nothing To Cancel**
|
|
215
|
+
*
|
|
216
|
+
* A cancellation found nothing pending on the addressed resource — no future scheduled changes, or no scheduled termination. Re-read the resource to see what is actually scheduled.
|
|
217
|
+
*
|
|
218
|
+
* ### pagination_failed
|
|
219
|
+
*
|
|
220
|
+
* **Pagination Failed**
|
|
221
|
+
*
|
|
222
|
+
* Pagination could not be applied to the request. Retry without the `page` parameter, or with a fresh cursor.
|
|
223
|
+
*
|
|
224
|
+
* ### subtype_foreign_keys
|
|
225
|
+
*
|
|
226
|
+
* **Foreign Subtype Attributes**
|
|
227
|
+
*
|
|
228
|
+
* A nested-attributes write carries keys the record's resolved subtype does not accept. Send only the keys valid for that subtype; the message names the offending ones.
|
|
229
|
+
*
|
|
230
|
+
* ### synced_determination
|
|
231
|
+
*
|
|
232
|
+
* **Determination Synced From Project**
|
|
233
|
+
*
|
|
234
|
+
* Rate rules cannot be written on a wage determination synced from a project. Manage the rules on the project instead.
|
|
235
|
+
*
|
|
236
|
+
* ### user_not_company_member
|
|
237
|
+
*
|
|
238
|
+
* **User Outside Company**
|
|
239
|
+
*
|
|
240
|
+
* A user reference — an approver, a performing user — does not name a member of the acting company. The message names the field; use a user id belonging to the company.
|
|
241
|
+
*
|
|
242
|
+
* ### validation_failed
|
|
243
|
+
*
|
|
244
|
+
* **Validation Failed**
|
|
245
|
+
*
|
|
246
|
+
* A well-formed value violates a declared constraint — a value outside a field's documented set, a malformed or incomplete nested payload, a record validation refusal, or a reference to a record that does not exist. The message states the violated constraint; correct the value and retry.
|
|
247
|
+
*
|
|
248
|
+
* ### wage_schedule_outside_program
|
|
249
|
+
*
|
|
250
|
+
* **Wage Schedule Outside Program**
|
|
251
|
+
*
|
|
252
|
+
* The apprentice's wage schedule does not belong to the program in the URL. Use a schedule from that program.
|
|
253
|
+
*
|
|
254
|
+
* ## 429
|
|
255
|
+
*
|
|
256
|
+
* ### too_many_requests
|
|
257
|
+
*
|
|
258
|
+
* **Rate Limit Exceeded**
|
|
259
|
+
*
|
|
260
|
+
* The API key exceeded its request budget. Wait for the `Retry-After` window before retrying.
|
|
261
|
+
*
|
|
262
|
+
* ## 500
|
|
263
|
+
*
|
|
264
|
+
* ### internal_error
|
|
265
|
+
*
|
|
266
|
+
* **Internal Server Error**
|
|
267
|
+
*
|
|
268
|
+
* Something failed on the server; nothing in the request needs fixing. Retry later, or report the problem if it persists.
|
|
269
|
+
*
|
|
270
|
+
*/
|
|
271
|
+
export const zProblemTypeCatalog = z.enum([
|
|
272
|
+
'blank_axis',
|
|
273
|
+
'invalid_cursor',
|
|
274
|
+
'invalid_filter_key',
|
|
275
|
+
'invalid_limit',
|
|
276
|
+
'invalid_signature',
|
|
277
|
+
'non_range_filter_value',
|
|
278
|
+
'non_scalar_axis',
|
|
279
|
+
'non_scalar_filter_value',
|
|
280
|
+
'parameter_missing',
|
|
281
|
+
'parameter_not_object',
|
|
282
|
+
'unknown_axis',
|
|
283
|
+
'unknown_key',
|
|
284
|
+
'unsupported_axis',
|
|
285
|
+
'valid_axis_on_timeline',
|
|
286
|
+
'unauthorized',
|
|
287
|
+
'company_scoped_key_required',
|
|
288
|
+
'forbidden',
|
|
289
|
+
'insufficient_api_key_scope',
|
|
290
|
+
'not_found',
|
|
291
|
+
'recorded_since_termination',
|
|
292
|
+
'attachment_not_image',
|
|
293
|
+
'company_not_employer',
|
|
294
|
+
'confirm_apprenticeship_conflict',
|
|
295
|
+
'destroy_restricted',
|
|
296
|
+
'invalid_date',
|
|
297
|
+
'invalid_filter_value',
|
|
298
|
+
'invalid_iso8601_duration',
|
|
299
|
+
'invalid_placement_move',
|
|
300
|
+
'invalid_signed_id',
|
|
301
|
+
'non_numeric_cents',
|
|
302
|
+
'nothing_to_cancel',
|
|
303
|
+
'pagination_failed',
|
|
304
|
+
'subtype_foreign_keys',
|
|
305
|
+
'synced_determination',
|
|
306
|
+
'user_not_company_member',
|
|
307
|
+
'validation_failed',
|
|
308
|
+
'wage_schedule_outside_program',
|
|
309
|
+
'too_many_requests',
|
|
310
|
+
'internal_error'
|
|
311
|
+
]);
|
|
12
312
|
export const zApiKeyScopeResponseObject = z.object({
|
|
13
313
|
resource: z.string(),
|
|
14
314
|
action: z.enum([
|
|
@@ -396,12 +696,6 @@ export const zTimecodeParameters = z.object({
|
|
|
396
696
|
]).optional(),
|
|
397
697
|
effective_date: z.iso.datetime().optional()
|
|
398
698
|
});
|
|
399
|
-
/**
|
|
400
|
-
* Optional request body for terminating a timecode; the whole body may be omitted to terminate as of today.
|
|
401
|
-
*/
|
|
402
|
-
export const zTimecodeTerminationParameters = z.object({
|
|
403
|
-
termination_date: z.iso.date().optional()
|
|
404
|
-
});
|
|
405
699
|
/**
|
|
406
700
|
* Request body for scheduling a future change to a timecode: an effective_date paired with the attribute values to apply from that date. `effective_date` and `name` are required; omitted attributes inherit the current version's values.
|
|
407
701
|
*/
|
|
@@ -441,7 +735,7 @@ export const zPerDiemResponseObject = z.object({
|
|
|
441
735
|
default: z.boolean().nullable(),
|
|
442
736
|
active: z.boolean().nullable(),
|
|
443
737
|
work_type_ids: z.array(z.string()),
|
|
444
|
-
|
|
738
|
+
timekeeping_timecode_ids: z.array(z.string()),
|
|
445
739
|
created_at: z.iso.datetime(),
|
|
446
740
|
updated_at: z.iso.datetime()
|
|
447
741
|
});
|
|
@@ -457,7 +751,7 @@ export const zPerDiemParameters = z.object({
|
|
|
457
751
|
default: z.boolean().nullish(),
|
|
458
752
|
active: z.boolean().nullish(),
|
|
459
753
|
work_type_ids: z.array(z.string()).optional(),
|
|
460
|
-
|
|
754
|
+
timekeeping_timecode_ids: z.array(z.string()).optional()
|
|
461
755
|
});
|
|
462
756
|
/**
|
|
463
757
|
* The product's filled attribute values — one entry per attribute assigned to its category.
|
|
@@ -565,7 +859,7 @@ export const zDepartmentParameters = z.object({
|
|
|
565
859
|
*/
|
|
566
860
|
export const zTimeCardPerDiemResponseObject = z.object({
|
|
567
861
|
id: z.string(),
|
|
568
|
-
|
|
862
|
+
timekeeping_time_card_id: z.string(),
|
|
569
863
|
date: z.iso.date(),
|
|
570
864
|
approver_user_id: z.string(),
|
|
571
865
|
per_diem_id: z.string().nullable(),
|
|
@@ -1000,9 +1294,9 @@ export const zUserUpdateParameters = z.object({
|
|
|
1000
1294
|
export const zTimeEntryResponseObject = z.object({
|
|
1001
1295
|
id: z.string(),
|
|
1002
1296
|
user_id: z.string(),
|
|
1003
|
-
|
|
1297
|
+
timekeeping_time_card_id: z.string(),
|
|
1004
1298
|
job_id: z.string().nullable(),
|
|
1005
|
-
|
|
1299
|
+
timekeeping_timecode_id: z.string().nullable(),
|
|
1006
1300
|
state: z.string().nullable(),
|
|
1007
1301
|
description: z.string().nullable(),
|
|
1008
1302
|
clock_punched: z.boolean(),
|
|
@@ -1022,7 +1316,7 @@ export const zTimeEntryResponseObject = z.object({
|
|
|
1022
1316
|
hourly_rate_cents: z.string().nullable(),
|
|
1023
1317
|
currency: z.string().nullable(),
|
|
1024
1318
|
hourly_rate_src_type: z.string().nullable(),
|
|
1025
|
-
|
|
1319
|
+
timekeeping_pay_period_id: z.string(),
|
|
1026
1320
|
start_time: z.iso.datetime(),
|
|
1027
1321
|
end_time: z.iso.datetime(),
|
|
1028
1322
|
created_at: z.iso.datetime(),
|
|
@@ -1046,7 +1340,7 @@ export const zTimeEntryResponseObject = z.object({
|
|
|
1046
1340
|
*/
|
|
1047
1341
|
export const zTimeEntryApprovalResponseObject = z.object({
|
|
1048
1342
|
id: z.string(),
|
|
1049
|
-
|
|
1343
|
+
timekeeping_time_entry_id: z.string(),
|
|
1050
1344
|
time_card_approval_id: z.string().nullable(),
|
|
1051
1345
|
status: z.enum([
|
|
1052
1346
|
'pending',
|
|
@@ -1068,14 +1362,14 @@ export const zManagerTimeEntryApprovalParameters = z.object({
|
|
|
1068
1362
|
approver_user_id: z.string()
|
|
1069
1363
|
});
|
|
1070
1364
|
/**
|
|
1071
|
-
* Request body for creating or updating a time entry; on create,
|
|
1365
|
+
* Request body for creating or updating a time entry; on create, timekeeping_time_card_id, start_time, and end_time are required.
|
|
1072
1366
|
*/
|
|
1073
1367
|
export const zTimeEntryParameters = z.object({
|
|
1074
|
-
|
|
1368
|
+
timekeeping_time_card_id: z.string(),
|
|
1075
1369
|
start_time: z.iso.datetime(),
|
|
1076
1370
|
end_time: z.iso.datetime(),
|
|
1077
1371
|
job_id: z.string().nullish(),
|
|
1078
|
-
|
|
1372
|
+
timekeeping_timecode_id: z.string().nullish(),
|
|
1079
1373
|
state: z.string().nullish(),
|
|
1080
1374
|
description: z.string().nullish(),
|
|
1081
1375
|
hourly_rate_cents: z.string().nullish(),
|
|
@@ -1114,7 +1408,7 @@ export const zUserCompanyScheduledChangesParameters = z.object({
|
|
|
1114
1408
|
pto_annual_minutes: z.int().nullish(),
|
|
1115
1409
|
holiday_annual_minutes: z.int().nullish(),
|
|
1116
1410
|
training_annual_minutes: z.int().nullish(),
|
|
1117
|
-
|
|
1411
|
+
companies_department_id: z.string().nullish()
|
|
1118
1412
|
});
|
|
1119
1413
|
/**
|
|
1120
1414
|
* A work type: a named category of job activity, either a shared global default (no owning company) or an entry scoped to a specific company.
|
|
@@ -1189,6 +1483,10 @@ export const zCompanyResponseObject = z.object({
|
|
|
1189
1483
|
]).nullable(),
|
|
1190
1484
|
naics_code: z.string().nullable(),
|
|
1191
1485
|
linkedin_url: z.string().nullable(),
|
|
1486
|
+
industry: z.string().nullable(),
|
|
1487
|
+
stock_ticker: z.string().nullable(),
|
|
1488
|
+
stock_exchange: z.string().nullable(),
|
|
1489
|
+
logo_url: z.url().nullable(),
|
|
1192
1490
|
created_at: z.iso.datetime(),
|
|
1193
1491
|
updated_at: z.iso.datetime()
|
|
1194
1492
|
});
|
|
@@ -1391,7 +1689,7 @@ export const zJobParameters = z.object({
|
|
|
1391
1689
|
require_clock_in: z.boolean().nullish(),
|
|
1392
1690
|
send_geofence_reminders: z.boolean().nullish(),
|
|
1393
1691
|
allow_customer_access: z.boolean().optional(),
|
|
1394
|
-
|
|
1692
|
+
timekeeping_timecode_ids: z.array(z.string()).nullish(),
|
|
1395
1693
|
tracks_feature_allocations: z.boolean().nullish(),
|
|
1396
1694
|
requires_feature_allocation: z.boolean().nullish(),
|
|
1397
1695
|
max_one_feature_allocation: z.boolean().nullish(),
|
|
@@ -1458,7 +1756,7 @@ export const zUserCompanyScheduledChange = z.object({
|
|
|
1458
1756
|
pto_annual_minutes: z.int().nullish(),
|
|
1459
1757
|
holiday_annual_minutes: z.int().nullish(),
|
|
1460
1758
|
training_annual_minutes: z.int().nullish(),
|
|
1461
|
-
|
|
1759
|
+
companies_department_id: z.string().nullish()
|
|
1462
1760
|
});
|
|
1463
1761
|
/**
|
|
1464
1762
|
* A worker's scheduled compensation timeline at your company — the version currently in effect plus any future-dated versions.
|
|
@@ -1480,7 +1778,7 @@ export const zUserCompanyScheduledTerminationParameters = z.object({
|
|
|
1480
1778
|
export const zTimeCardResponseObject = z.object({
|
|
1481
1779
|
id: z.string(),
|
|
1482
1780
|
user_id: z.string(),
|
|
1483
|
-
|
|
1781
|
+
timekeeping_pay_period_id: z.string(),
|
|
1484
1782
|
locked: z.boolean(),
|
|
1485
1783
|
manager_time_card_approval_status: z.enum([
|
|
1486
1784
|
'pending',
|
|
@@ -1526,11 +1824,11 @@ export const zTimeCardResponseObject = z.object({
|
|
|
1526
1824
|
*/
|
|
1527
1825
|
export const zJobTimeCardDayResponseObject = z.object({
|
|
1528
1826
|
id: z.string(),
|
|
1529
|
-
|
|
1827
|
+
timekeeping_job_time_card_id: z.string(),
|
|
1530
1828
|
job_id: z.string(),
|
|
1531
|
-
|
|
1829
|
+
timekeeping_time_card_id: z.string(),
|
|
1532
1830
|
user_id: z.string(),
|
|
1533
|
-
|
|
1831
|
+
timekeeping_pay_period_id: z.string(),
|
|
1534
1832
|
date: z.iso.date(),
|
|
1535
1833
|
minutes_worked: z.int(),
|
|
1536
1834
|
paid_minutes_worked: z.int(),
|
|
@@ -1614,7 +1912,7 @@ export const zJobTimeCardDayResponseObject = z.object({
|
|
|
1614
1912
|
*/
|
|
1615
1913
|
export const zTimeCardApprovalResponseObject = z.object({
|
|
1616
1914
|
id: z.string(),
|
|
1617
|
-
|
|
1915
|
+
timekeeping_time_card_id: z.string(),
|
|
1618
1916
|
status: z.enum([
|
|
1619
1917
|
'pending',
|
|
1620
1918
|
'approved',
|
|
@@ -1754,7 +2052,7 @@ export const zPayrollExternalMapResponseObject = z.object({
|
|
|
1754
2052
|
id: z.string(),
|
|
1755
2053
|
bitemporal_id: z.string(),
|
|
1756
2054
|
name: z.string(),
|
|
1757
|
-
|
|
2055
|
+
payrolls_compensation_element_id: z.string(),
|
|
1758
2056
|
compensation_element_name: z.string(),
|
|
1759
2057
|
compensation_element_category: z.enum([
|
|
1760
2058
|
'tax',
|
|
@@ -1766,7 +2064,7 @@ export const zPayrollExternalMapResponseObject = z.object({
|
|
|
1766
2064
|
'other'
|
|
1767
2065
|
]),
|
|
1768
2066
|
pay_period_config_uid: z.string().nullable(),
|
|
1769
|
-
|
|
2067
|
+
payrolls_fringe_benefit_plan_id: z.string().nullable(),
|
|
1770
2068
|
contributor: z.enum([
|
|
1771
2069
|
'any',
|
|
1772
2070
|
'employee',
|
|
@@ -1786,7 +2084,7 @@ export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
|
1786
2084
|
id: z.string(),
|
|
1787
2085
|
bitemporal_id: z.string(),
|
|
1788
2086
|
name: z.string(),
|
|
1789
|
-
|
|
2087
|
+
payrolls_compensation_element_id: z.string(),
|
|
1790
2088
|
compensation_element_name: z.string(),
|
|
1791
2089
|
compensation_element_category: z.enum([
|
|
1792
2090
|
'tax',
|
|
@@ -1798,7 +2096,7 @@ export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
|
1798
2096
|
'other'
|
|
1799
2097
|
]),
|
|
1800
2098
|
pay_period_config_uid: z.string().nullable(),
|
|
1801
|
-
|
|
2099
|
+
payrolls_fringe_benefit_plan_id: z.string().nullable(),
|
|
1802
2100
|
contributor: z.enum([
|
|
1803
2101
|
'any',
|
|
1804
2102
|
'employee',
|
|
@@ -1826,8 +2124,8 @@ export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
|
1826
2124
|
export const zPayrollRunResponseObject = z.object({
|
|
1827
2125
|
id: z.string(),
|
|
1828
2126
|
company_id: z.string(),
|
|
1829
|
-
|
|
1830
|
-
|
|
2127
|
+
timekeeping_pay_period_id: z.string().nullable(),
|
|
2128
|
+
payrolls_credential_id: z.string().nullable(),
|
|
1831
2129
|
run_type: z.enum([
|
|
1832
2130
|
'CORRECTION',
|
|
1833
2131
|
'ON_CYCLE',
|
|
@@ -1842,12 +2140,12 @@ export const zPayrollRunResponseObject = z.object({
|
|
|
1842
2140
|
updated_at: z.iso.datetime()
|
|
1843
2141
|
});
|
|
1844
2142
|
/**
|
|
1845
|
-
* Request body for creating or updating a payroll run. company_id, run_type, and run_date are required; an on-cycle run additionally requires
|
|
2143
|
+
* Request body for creating or updating a payroll run. company_id, run_type, and run_date are required; an on-cycle run additionally requires timekeeping_pay_period_id.
|
|
1846
2144
|
*/
|
|
1847
2145
|
export const zPayrollRunParameters = z.object({
|
|
1848
2146
|
company_id: z.string(),
|
|
1849
|
-
|
|
1850
|
-
|
|
2147
|
+
timekeeping_pay_period_id: z.string().nullish(),
|
|
2148
|
+
payrolls_credential_id: z.string().nullish(),
|
|
1851
2149
|
run_type: z.enum([
|
|
1852
2150
|
'CORRECTION',
|
|
1853
2151
|
'ON_CYCLE',
|
|
@@ -2143,12 +2441,12 @@ export const zComplianceCheckResponseObject = z.object({
|
|
|
2143
2441
|
'dismissed',
|
|
2144
2442
|
'pending'
|
|
2145
2443
|
]),
|
|
2146
|
-
|
|
2444
|
+
compliances_requirement_id: z.string(),
|
|
2147
2445
|
company_id: z.string().nullable(),
|
|
2148
2446
|
job_id: z.string().nullable(),
|
|
2149
2447
|
project_id: z.string().nullable(),
|
|
2150
|
-
|
|
2151
|
-
|
|
2448
|
+
timekeeping_time_card_id: z.string().nullable(),
|
|
2449
|
+
timekeeping_pay_period_id: z.string().nullable(),
|
|
2152
2450
|
user_id: z.string().nullable(),
|
|
2153
2451
|
user_company_uid: z.string().nullable(),
|
|
2154
2452
|
title: z.string(),
|
|
@@ -2200,18 +2498,18 @@ export const zPaystubResponseObject = z.object({
|
|
|
2200
2498
|
external_id: z.string().nullable(),
|
|
2201
2499
|
check_number: z.string().nullable(),
|
|
2202
2500
|
user_id: z.string(),
|
|
2203
|
-
|
|
2204
|
-
|
|
2501
|
+
timekeeping_time_card_id: z.string().nullable(),
|
|
2502
|
+
payrolls_payroll_run_id: z.string(),
|
|
2205
2503
|
created_at: z.iso.datetime(),
|
|
2206
2504
|
updated_at: z.iso.datetime()
|
|
2207
2505
|
});
|
|
2208
2506
|
/**
|
|
2209
|
-
* Request body for creating or updating a paystub.
|
|
2507
|
+
* Request body for creating or updating a paystub. payrolls_payroll_run_id and user_id are required; timekeeping_time_card_id is required for an on-cycle run and disallowed for an off-cycle run.
|
|
2210
2508
|
*/
|
|
2211
2509
|
export const zPaystubParameters = z.object({
|
|
2212
|
-
|
|
2510
|
+
payrolls_payroll_run_id: z.string(),
|
|
2213
2511
|
user_id: z.string(),
|
|
2214
|
-
|
|
2512
|
+
timekeeping_time_card_id: z.string().nullish(),
|
|
2215
2513
|
external_id: z.string().nullish(),
|
|
2216
2514
|
check_number: z.string().nullish()
|
|
2217
2515
|
});
|
|
@@ -2220,8 +2518,8 @@ export const zPaystubParameters = z.object({
|
|
|
2220
2518
|
*/
|
|
2221
2519
|
export const zPriorPeriodAdjustmentResponseObject = z.object({
|
|
2222
2520
|
id: z.string(),
|
|
2223
|
-
|
|
2224
|
-
|
|
2521
|
+
timekeeping_time_card_id: z.string(),
|
|
2522
|
+
payrolls_paystub_line_item_id: z.string(),
|
|
2225
2523
|
job_id: z.string().nullable(),
|
|
2226
2524
|
created_by_user_id: z.string(),
|
|
2227
2525
|
adjustment_type: z.enum(['overpayment_recovery', 'retroactive_increase']),
|
|
@@ -2243,7 +2541,7 @@ export const zPriorPeriodAdjustmentResponseObject = z.object({
|
|
|
2243
2541
|
*/
|
|
2244
2542
|
export const zTimeCardActualsResponseObject = z.object({
|
|
2245
2543
|
id: z.string(),
|
|
2246
|
-
|
|
2544
|
+
timekeeping_time_card_id: z.string(),
|
|
2247
2545
|
gross_pay_cents: z.string().nullable(),
|
|
2248
2546
|
net_pay_cents: z.string().nullable(),
|
|
2249
2547
|
reimbursements_cents: z.string().nullable(),
|
|
@@ -2298,9 +2596,9 @@ export const zTimeCardActualsResponseObject = z.object({
|
|
|
2298
2596
|
*/
|
|
2299
2597
|
export const zPaystubLineItemResponseObject = z.object({
|
|
2300
2598
|
id: z.string(),
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2599
|
+
payrolls_external_map_id: z.string(),
|
|
2600
|
+
payrolls_paystub_id: z.string().nullable(),
|
|
2601
|
+
timekeeping_pay_period_id: z.string().nullable(),
|
|
2304
2602
|
user_id: z.string().nullable(),
|
|
2305
2603
|
external_map: z.object({
|
|
2306
2604
|
name: z.string().optional(),
|
|
@@ -2327,10 +2625,10 @@ export const zPaystubLineItemResponseObject = z.object({
|
|
|
2327
2625
|
* Request body for creating or updating a paystub line item. All four fields are required.
|
|
2328
2626
|
*/
|
|
2329
2627
|
export const zPaystubLineItemParameters = z.object({
|
|
2330
|
-
|
|
2628
|
+
payrolls_paystub_id: z.string(),
|
|
2331
2629
|
amount_cents: z.string(),
|
|
2332
2630
|
contributor: z.enum(['employee', 'employer']),
|
|
2333
|
-
|
|
2631
|
+
payrolls_external_map_id: z.string()
|
|
2334
2632
|
});
|
|
2335
2633
|
/**
|
|
2336
2634
|
* Request body for creating or updating a position on a job. The job is taken from the URL path.
|
|
@@ -2587,7 +2885,6 @@ export const zJobResponseObject = z.object({
|
|
|
2587
2885
|
status: z.string(),
|
|
2588
2886
|
start_time: z.string().nullable(),
|
|
2589
2887
|
end_time: z.string().nullable(),
|
|
2590
|
-
address: z.string().nullable(),
|
|
2591
2888
|
purchase_order_number: z.string().nullable(),
|
|
2592
2889
|
time_card_start_day: zTimeCardStartDay,
|
|
2593
2890
|
tz_name: z.string(),
|
|
@@ -2651,7 +2948,7 @@ export const zJobResponseObject = z.object({
|
|
|
2651
2948
|
work_types: z.array(z.object({
|
|
2652
2949
|
value: z.string().optional()
|
|
2653
2950
|
})).nullable(),
|
|
2654
|
-
|
|
2951
|
+
timekeeping_timecode_ids: z.array(z.string()).nullable(),
|
|
2655
2952
|
tracks_feature_allocations: z.boolean(),
|
|
2656
2953
|
requires_feature_allocation: z.boolean(),
|
|
2657
2954
|
max_one_feature_allocation: z.boolean()
|
|
@@ -2756,6 +3053,10 @@ export const zUserResponseObject = z.object({
|
|
|
2756
3053
|
training_annual_minutes: z.int().nullable(),
|
|
2757
3054
|
hire_date: z.string().nullable(),
|
|
2758
3055
|
termination_date: z.string().nullable(),
|
|
3056
|
+
employment_window: z.object({
|
|
3057
|
+
valid_from: z.iso.datetime(),
|
|
3058
|
+
valid_to: z.iso.datetime().nullable()
|
|
3059
|
+
}),
|
|
2759
3060
|
manager_user_id: z.string().nullable(),
|
|
2760
3061
|
roles: z.array(z.string()),
|
|
2761
3062
|
company_user_pwa_info: z.object({
|
|
@@ -2842,7 +3143,6 @@ export const zUserParameters = z.object({
|
|
|
2842
3143
|
city: z.string().optional(),
|
|
2843
3144
|
state: z.string().optional(),
|
|
2844
3145
|
birth_date: z.string().optional(),
|
|
2845
|
-
external_id: z.string().optional(),
|
|
2846
3146
|
dol_apprentice_no: z.string().optional(),
|
|
2847
3147
|
winda_id: z.string().optional(),
|
|
2848
3148
|
linkedin_url: z.string().optional(),
|
|
@@ -2968,14 +3268,25 @@ export const zUserCompanyCreateParameters = z.object({
|
|
|
2968
3268
|
holiday_annual_minutes: z.int().nullish(),
|
|
2969
3269
|
training_annual_minutes: z.int().nullish()
|
|
2970
3270
|
});
|
|
3271
|
+
/**
|
|
3272
|
+
* Keyset pagination cursors for the collection.
|
|
3273
|
+
*/
|
|
3274
|
+
export const zPage = z.object({
|
|
3275
|
+
next_cursor: z.string().nullish(),
|
|
3276
|
+
current_cursor: z.string().nullish()
|
|
3277
|
+
});
|
|
2971
3278
|
/**
|
|
2972
3279
|
* Pagination metadata for a paged collection, holding the keyset cursors under `page`.
|
|
2973
3280
|
*/
|
|
2974
3281
|
export const zMeta = z.object({
|
|
2975
|
-
page:
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
3282
|
+
page: zPage.optional()
|
|
3283
|
+
});
|
|
3284
|
+
/**
|
|
3285
|
+
* Pagination metadata for a change-feed page, with the feed's safe polling watermark.
|
|
3286
|
+
*/
|
|
3287
|
+
export const zDeltaMeta = z.object({
|
|
3288
|
+
page: zPage,
|
|
3289
|
+
complete_through: z.iso.datetime()
|
|
2979
3290
|
});
|
|
2980
3291
|
/**
|
|
2981
3292
|
* Pagination links for navigating a paged collection.
|
|
@@ -3034,7 +3345,7 @@ export const zFormSubmissionIndexObject = z.object({
|
|
|
3034
3345
|
* A page of change events (create, update, destroy) for time entries, drawn from version history; scoped by the surviving parent time card, so a destroyed entry's history stays visible.
|
|
3035
3346
|
*/
|
|
3036
3347
|
export const zTimeEntryDeltasResponse = z.object({
|
|
3037
|
-
meta:
|
|
3348
|
+
meta: zDeltaMeta.optional(),
|
|
3038
3349
|
links: zLinks.optional(),
|
|
3039
3350
|
data: z.array(z.object({
|
|
3040
3351
|
event: z.enum([
|
|
@@ -3054,7 +3365,7 @@ export const zPayPeriodsResponseObject = z.object({
|
|
|
3054
3365
|
links: zLinks,
|
|
3055
3366
|
data: z.array(z.object({
|
|
3056
3367
|
id: z.string().optional(),
|
|
3057
|
-
|
|
3368
|
+
timekeeping_pay_period_config_id: z.string().optional(),
|
|
3058
3369
|
pay_period_config_uid: z.string().optional(),
|
|
3059
3370
|
pay_date: z.iso.date().optional(),
|
|
3060
3371
|
start_time: z.iso.datetime().optional(),
|
|
@@ -3146,7 +3457,7 @@ export const zWageDeterminationResponseObject = z.object({
|
|
|
3146
3457
|
modification_number: z.int(),
|
|
3147
3458
|
superseded_by_wage_determination_id: z.string().nullable(),
|
|
3148
3459
|
publication_date: z.iso.date(),
|
|
3149
|
-
|
|
3460
|
+
boundaries_region_id: z.string(),
|
|
3150
3461
|
valid_from: z.iso.datetime(),
|
|
3151
3462
|
valid_to: z.iso.datetime().nullable(),
|
|
3152
3463
|
created_at: z.iso.datetime(),
|
|
@@ -3191,7 +3502,7 @@ export const zFederalJobWageDeterminationResponseObject = z.object({
|
|
|
3191
3502
|
id: z.string(),
|
|
3192
3503
|
uid: z.string(),
|
|
3193
3504
|
job_id: z.string(),
|
|
3194
|
-
|
|
3505
|
+
pwa_trade_id: z.string(),
|
|
3195
3506
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
3196
3507
|
labor_classification: z.string(),
|
|
3197
3508
|
hourly_rate_cents: z.string(),
|
|
@@ -3235,7 +3546,7 @@ export const zRegionalJobWageDeterminationResponseObject = z.object({
|
|
|
3235
3546
|
id: z.string(),
|
|
3236
3547
|
uid: z.string(),
|
|
3237
3548
|
job_id: z.string(),
|
|
3238
|
-
|
|
3549
|
+
pwa_trade_id: z.string(),
|
|
3239
3550
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
3240
3551
|
labor_classification: z.string(),
|
|
3241
3552
|
hourly_rate_cents: z.string(),
|
|
@@ -3258,7 +3569,7 @@ export const zFederalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3258
3569
|
id: z.string(),
|
|
3259
3570
|
uid: z.string(),
|
|
3260
3571
|
job_id: z.string(),
|
|
3261
|
-
|
|
3572
|
+
pwa_trade_id: z.string(),
|
|
3262
3573
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
3263
3574
|
labor_classification: z.string(),
|
|
3264
3575
|
hourly_rate_cents: z.string(),
|
|
@@ -3286,7 +3597,7 @@ export const zRegionalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3286
3597
|
id: z.string(),
|
|
3287
3598
|
uid: z.string(),
|
|
3288
3599
|
job_id: z.string(),
|
|
3289
|
-
|
|
3600
|
+
pwa_trade_id: z.string(),
|
|
3290
3601
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
3291
3602
|
labor_classification: z.string(),
|
|
3292
3603
|
hourly_rate_cents: z.string(),
|
|
@@ -3314,7 +3625,7 @@ export const zJobWageDeterminationHistoryVersionObject = z.discriminatedUnion('t
|
|
|
3314
3625
|
export const zFederalJobWageDeterminationParameters = z.object({
|
|
3315
3626
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
3316
3627
|
labor_classification: z.string(),
|
|
3317
|
-
|
|
3628
|
+
pwa_trade_id: z.string(),
|
|
3318
3629
|
hourly_rate_cents: z.string(),
|
|
3319
3630
|
fringe_rate_cents: z.string(),
|
|
3320
3631
|
class_code: z.string().nullish(),
|
|
@@ -3332,7 +3643,7 @@ export const zFederalJobWageDeterminationParameters = z.object({
|
|
|
3332
3643
|
export const zRegionalJobWageDeterminationParameters = z.object({
|
|
3333
3644
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
3334
3645
|
labor_classification: z.string(),
|
|
3335
|
-
|
|
3646
|
+
pwa_trade_id: z.string(),
|
|
3336
3647
|
hourly_rate_cents: z.string(),
|
|
3337
3648
|
fringe_rate_cents: z.string().optional(),
|
|
3338
3649
|
general_wage_determination: z.string().nullish(),
|
|
@@ -3545,7 +3856,7 @@ export const zAssetsFormAssignmentTriggerResponseObject = z.object({
|
|
|
3545
3856
|
tz_name: z.string(),
|
|
3546
3857
|
time_of_day_due: z.string(),
|
|
3547
3858
|
assigned_user_ids: z.array(z.string()),
|
|
3548
|
-
|
|
3859
|
+
assets_product_ids: z.array(z.string()),
|
|
3549
3860
|
created_at: z.iso.datetime(),
|
|
3550
3861
|
updated_at: z.iso.datetime()
|
|
3551
3862
|
});
|
|
@@ -3580,7 +3891,7 @@ export const zAssetsFormAssignmentTriggerParameters = z.object({
|
|
|
3580
3891
|
day_of_week_due: z.int().nullish(),
|
|
3581
3892
|
day_of_month_due: z.int().nullish(),
|
|
3582
3893
|
assigned_user_ids: z.array(z.string()).optional(),
|
|
3583
|
-
|
|
3894
|
+
assets_product_ids: z.array(z.string()).optional()
|
|
3584
3895
|
});
|
|
3585
3896
|
/**
|
|
3586
3897
|
* A file attached to an asset — an item or product image, or a service-event attachment. Uploaded through the direct-upload flow; the response carries a URL to download it.
|
|
@@ -3613,6 +3924,7 @@ export const zAssetsProductResponseObject = z.object({
|
|
|
3613
3924
|
'pair',
|
|
3614
3925
|
'pack'
|
|
3615
3926
|
]),
|
|
3927
|
+
container: z.boolean(),
|
|
3616
3928
|
serialized: z.boolean(),
|
|
3617
3929
|
assets_category_id: z.string().nullable(),
|
|
3618
3930
|
attributes: zAssetsAttributeValueObjects,
|
|
@@ -3641,6 +3953,15 @@ export const zAssetsItemResponseObject = z.object({
|
|
|
3641
3953
|
currency: z.string().nullable(),
|
|
3642
3954
|
external_id: z.string().nullable(),
|
|
3643
3955
|
external_system_url: z.string().nullable(),
|
|
3956
|
+
container: z.boolean(),
|
|
3957
|
+
contents: z.array(z.object({
|
|
3958
|
+
item_id: z.string(),
|
|
3959
|
+
quantity: z.int()
|
|
3960
|
+
})),
|
|
3961
|
+
containers: z.array(z.object({
|
|
3962
|
+
container_item_id: z.string(),
|
|
3963
|
+
quantity: z.int()
|
|
3964
|
+
})),
|
|
3644
3965
|
images: z.array(zAssetsAttachmentResponseObject),
|
|
3645
3966
|
created_at: z.iso.datetime(),
|
|
3646
3967
|
updated_at: z.iso.datetime()
|
|
@@ -3671,6 +3992,7 @@ export const zAssetsProductParameters = z.object({
|
|
|
3671
3992
|
'pair',
|
|
3672
3993
|
'pack'
|
|
3673
3994
|
]).optional(),
|
|
3995
|
+
container: z.boolean().optional(),
|
|
3674
3996
|
attribute_values: z.array(z.object({
|
|
3675
3997
|
assets_attribute_id: z.string(),
|
|
3676
3998
|
value: z.string().nullish(),
|
|
@@ -3696,6 +4018,7 @@ export const zAssetsProductUpdateParameters = z.object({
|
|
|
3696
4018
|
'pair',
|
|
3697
4019
|
'pack'
|
|
3698
4020
|
]).optional(),
|
|
4021
|
+
container: z.boolean().optional(),
|
|
3699
4022
|
attribute_values: z.array(z.object({
|
|
3700
4023
|
assets_attribute_id: z.string(),
|
|
3701
4024
|
value: z.string().nullish(),
|
|
@@ -3723,6 +4046,7 @@ export const zAssetsItemParameters = z.object({
|
|
|
3723
4046
|
images_attributes: z.array(zAssetsAttachmentParameters).optional(),
|
|
3724
4047
|
assets_site_id: z.string().optional(),
|
|
3725
4048
|
user_id: z.string().optional(),
|
|
4049
|
+
container_item_id: z.string().optional(),
|
|
3726
4050
|
performed_by_user_id: z.string()
|
|
3727
4051
|
});
|
|
3728
4052
|
/**
|
|
@@ -3860,7 +4184,8 @@ export const zAssetsTransactionEventResponseObject = z.object({
|
|
|
3860
4184
|
id: z.string(),
|
|
3861
4185
|
assets_site_id: z.string().nullable(),
|
|
3862
4186
|
assignee_id: z.string().nullable(),
|
|
3863
|
-
|
|
4187
|
+
container_item_id: z.string().nullable(),
|
|
4188
|
+
assets_transfer_id: z.string().nullable(),
|
|
3864
4189
|
performed_by_user_id: z.string(),
|
|
3865
4190
|
direction: z.enum(['inbound', 'outbound']),
|
|
3866
4191
|
kind: z.enum([
|
|
@@ -4011,7 +4336,7 @@ export const zAssetsServiceScheduleTemplateParameters = z.object({
|
|
|
4011
4336
|
performed_by_user_id: z.string()
|
|
4012
4337
|
});
|
|
4013
4338
|
/**
|
|
4014
|
-
* A completed movement of item stock between two holders
|
|
4339
|
+
* A completed movement of item stock between two holders, each a site, a user, or a container. Each line moves one item; applying the transfer records paired outbound and inbound transactions and updates the on-hand, custody, and containment counts. Transfers created through this API are always completed. One-sided moves (placing or removing an item with only one endpoint) record transactions but no transfer, and so are not represented by this resource.
|
|
4015
4340
|
*/
|
|
4016
4341
|
export const zAssetsTransferResponseObject = z.object({
|
|
4017
4342
|
id: z.string(),
|
|
@@ -4024,8 +4349,10 @@ export const zAssetsTransferResponseObject = z.object({
|
|
|
4024
4349
|
]),
|
|
4025
4350
|
from_assets_site_id: z.string().nullable(),
|
|
4026
4351
|
from_user_id: z.string().nullable(),
|
|
4352
|
+
from_container_item_id: z.string().nullable(),
|
|
4027
4353
|
to_assets_site_id: z.string().nullable(),
|
|
4028
4354
|
to_user_id: z.string().nullable(),
|
|
4355
|
+
to_container_item_id: z.string().nullable(),
|
|
4029
4356
|
initiated_by_user_id: z.string(),
|
|
4030
4357
|
completed_at: z.iso.datetime().nullable(),
|
|
4031
4358
|
transfer_lines: z.array(z.object({
|
|
@@ -4037,13 +4364,15 @@ export const zAssetsTransferResponseObject = z.object({
|
|
|
4037
4364
|
updated_at: z.iso.datetime()
|
|
4038
4365
|
});
|
|
4039
4366
|
/**
|
|
4040
|
-
*
|
|
4367
|
+
* Move item stock. Each endpoint is a site, a user, or a container — give at most one per side. With both a source and a destination this is a two-sided transfer (returns the created transfer, 201). With a single open end it is a one-sided move — placing an unplaced item (destination only) or removing it from its holder (source only) — which records transactions but no transfer and returns 204. Moves are applied immediately, so the source must hold enough of each item.
|
|
4041
4368
|
*/
|
|
4042
4369
|
export const zAssetsTransferParameters = z.object({
|
|
4043
4370
|
from_assets_site_id: z.string().optional(),
|
|
4044
4371
|
from_user_id: z.string().optional(),
|
|
4372
|
+
from_container_item_id: z.string().optional(),
|
|
4045
4373
|
to_assets_site_id: z.string().optional(),
|
|
4046
4374
|
to_user_id: z.string().optional(),
|
|
4375
|
+
to_container_item_id: z.string().optional(),
|
|
4047
4376
|
performed_by_user_id: z.string(),
|
|
4048
4377
|
line_items: z.array(z.object({
|
|
4049
4378
|
assets_item_id: z.string(),
|
|
@@ -4508,6 +4837,12 @@ export const zGetInventoryResponse = zAssetsInventoryResponseObject;
|
|
|
4508
4837
|
export const zListItemsQuery = z.object({
|
|
4509
4838
|
'filter[assets_product_id]': z.string().optional(),
|
|
4510
4839
|
'filter[type]': z.string().optional(),
|
|
4840
|
+
'filter[assets_site_id]': z.string().optional(),
|
|
4841
|
+
'filter[user_id]': z.string().optional(),
|
|
4842
|
+
'filter[assets_category_id]': z.string().optional(),
|
|
4843
|
+
'filter[container_item_id]': z.string().optional(),
|
|
4844
|
+
'filter[status]': z.string().optional(),
|
|
4845
|
+
'filter[service]': z.string().optional(),
|
|
4511
4846
|
filter: z.string().optional(),
|
|
4512
4847
|
'filter[unexpected]': z.string().optional()
|
|
4513
4848
|
});
|
|
@@ -4982,10 +5317,10 @@ export const zListTransfersResponse = z.object({
|
|
|
4982
5317
|
data: z.array(zAssetsTransferResponseObject).optional()
|
|
4983
5318
|
});
|
|
4984
5319
|
export const zCreateTransferBody = zAssetsTransferParameters;
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
5320
|
+
export const zCreateTransferResponse = z.union([
|
|
5321
|
+
zAssetsTransferResponseObject,
|
|
5322
|
+
z.void()
|
|
5323
|
+
]);
|
|
4989
5324
|
export const zGetTransferPath = z.object({
|
|
4990
5325
|
id: z.string()
|
|
4991
5326
|
});
|
|
@@ -5311,7 +5646,7 @@ export const zListChecksQuery = z.object({
|
|
|
5311
5646
|
'filter[job_id]': z.string().optional(),
|
|
5312
5647
|
'filter[job_id][null]': z.boolean().optional(),
|
|
5313
5648
|
'filter[project_id]': z.string().optional(),
|
|
5314
|
-
'filter[
|
|
5649
|
+
'filter[compliances_requirement_id]': z.string().optional(),
|
|
5315
5650
|
'filter[time_due][gte]': z.iso.datetime().optional(),
|
|
5316
5651
|
'filter[time_due][lte]': z.iso.datetime().optional(),
|
|
5317
5652
|
filter: z.string().optional(),
|
|
@@ -5881,7 +6216,7 @@ export const zUpdateFringeBenefitPlanPath = z.object({
|
|
|
5881
6216
|
export const zUpdateFringeBenefitPlanResponse = zPayrollFringeBenefitPlanResponseObject;
|
|
5882
6217
|
export const zListPayrollRunsQuery = z.object({
|
|
5883
6218
|
'filter[run_type]': z.string().optional(),
|
|
5884
|
-
'filter[
|
|
6219
|
+
'filter[timekeeping_pay_period_id]': z.string().optional(),
|
|
5885
6220
|
'filter[run_date][gte]': z.iso.date().optional(),
|
|
5886
6221
|
'filter[run_date][lte]': z.iso.date().optional(),
|
|
5887
6222
|
'filter[created_at][gte]': z.iso.datetime().optional(),
|
|
@@ -5926,7 +6261,7 @@ export const zUpdatePayrollRunPath = z.object({
|
|
|
5926
6261
|
*/
|
|
5927
6262
|
export const zUpdatePayrollRunResponse = zPayrollRunResponseObject;
|
|
5928
6263
|
export const zListPaystubLineItemsQuery = z.object({
|
|
5929
|
-
'filter[
|
|
6264
|
+
'filter[payrolls_paystub_id]': z.string().optional(),
|
|
5930
6265
|
filter: z.string().optional(),
|
|
5931
6266
|
'filter[unexpected]': z.string().optional(),
|
|
5932
6267
|
'page[cursor]': z.string().optional(),
|
|
@@ -5965,9 +6300,9 @@ export const zUpdatePaystubLineItemPath = z.object({
|
|
|
5965
6300
|
*/
|
|
5966
6301
|
export const zUpdatePaystubLineItemResponse = zPaystubLineItemResponseObject;
|
|
5967
6302
|
export const zListPaystubsQuery = z.object({
|
|
5968
|
-
'filter[
|
|
6303
|
+
'filter[payrolls_payroll_run_id]': z.string().optional(),
|
|
5969
6304
|
'filter[user_id]': z.string().optional(),
|
|
5970
|
-
'filter[
|
|
6305
|
+
'filter[timekeeping_time_card_id]': z.string().optional(),
|
|
5971
6306
|
filter: z.string().optional(),
|
|
5972
6307
|
'filter[unexpected]': z.string().optional(),
|
|
5973
6308
|
'page[cursor]': z.string().optional(),
|
|
@@ -6412,7 +6747,7 @@ export const zCreateWorkerTimeCardApprovalPath = z.object({
|
|
|
6412
6747
|
*/
|
|
6413
6748
|
export const zCreateWorkerTimeCardApprovalResponse = zTimeCardApprovalResponseObject;
|
|
6414
6749
|
export const zListTimeCardsQuery = z.object({
|
|
6415
|
-
'filter[
|
|
6750
|
+
'filter[timekeeping_pay_period_id]': z.string().optional(),
|
|
6416
6751
|
'filter[user_id]': z.string().optional(),
|
|
6417
6752
|
'filter[start_time][gte]': z.iso.datetime().optional(),
|
|
6418
6753
|
'filter[start_time][lte]': z.iso.datetime().optional(),
|
|
@@ -6455,7 +6790,7 @@ export const zListTimeEntriesQuery = z.object({
|
|
|
6455
6790
|
'filter[user_id]': z.string().optional(),
|
|
6456
6791
|
'filter[job_id]': z.string().optional(),
|
|
6457
6792
|
'filter[job_id][null]': z.boolean().optional(),
|
|
6458
|
-
'filter[
|
|
6793
|
+
'filter[timekeeping_time_card_id]': z.string().optional(),
|
|
6459
6794
|
'filter[start_time][gte]': z.iso.datetime().optional(),
|
|
6460
6795
|
'filter[start_time][lte]': z.iso.datetime().optional(),
|
|
6461
6796
|
'filter[end_time][gte]': z.iso.datetime().optional(),
|
|
@@ -6567,14 +6902,6 @@ export const zCreateTimecodeBody = zTimecodeParameters;
|
|
|
6567
6902
|
* Created with effective_date
|
|
6568
6903
|
*/
|
|
6569
6904
|
export const zCreateTimecodeResponse = zTimecodeResponseObject;
|
|
6570
|
-
export const zTerminateTimecodeBody = zTimecodeTerminationParameters;
|
|
6571
|
-
export const zTerminateTimecodePath = z.object({
|
|
6572
|
-
id: z.string()
|
|
6573
|
-
});
|
|
6574
|
-
/**
|
|
6575
|
-
* Success
|
|
6576
|
-
*/
|
|
6577
|
-
export const zTerminateTimecodeResponse = zTimecodeResponseObject;
|
|
6578
6905
|
export const zGetTimecodePath = z.object({
|
|
6579
6906
|
id: z.string()
|
|
6580
6907
|
});
|
|
@@ -6595,9 +6922,9 @@ export const zUpdateTimecodePath = z.object({
|
|
|
6595
6922
|
*/
|
|
6596
6923
|
export const zUpdateTimecodeResponse = zTimecodeResponseObject;
|
|
6597
6924
|
export const zListJobTimeCardDaysQuery = z.object({
|
|
6598
|
-
'filter[
|
|
6925
|
+
'filter[timekeeping_time_card_id]': z.string().optional(),
|
|
6599
6926
|
'filter[job_id]': z.string().optional(),
|
|
6600
|
-
'filter[
|
|
6927
|
+
'filter[timekeeping_pay_period_id]': z.string().optional(),
|
|
6601
6928
|
'filter[date][gte]': z.iso.date().optional(),
|
|
6602
6929
|
'filter[date][lte]': z.iso.date().optional(),
|
|
6603
6930
|
'filter[created_at][gte]': z.iso.datetime().optional(),
|
|
@@ -6756,7 +7083,7 @@ export const zGetPayPeriodConfigQuery = z.object({
|
|
|
6756
7083
|
*/
|
|
6757
7084
|
export const zGetPayPeriodConfigResponse = zPayPeriodConfigResponseObject;
|
|
6758
7085
|
export const zListTimeCardActualsQuery = z.object({
|
|
6759
|
-
'filter[
|
|
7086
|
+
'filter[timekeeping_time_card_id]': z.string().optional(),
|
|
6760
7087
|
'filter[created_at][gte]': z.iso.datetime().optional(),
|
|
6761
7088
|
'filter[created_at][lte]': z.iso.datetime().optional(),
|
|
6762
7089
|
'filter[updated_at][gte]': z.iso.datetime().optional(),
|