@dsptch-work/api-client 0.35.0 → 0.36.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 +158 -0
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.js +1 -1
- package/dist/gen/sdk.gen.d.ts +96 -3
- package/dist/gen/sdk.gen.js +147 -4
- package/dist/gen/types.gen.d.ts +883 -263
- package/dist/gen/zod.gen.d.ts +518 -278
- package/dist/gen/zod.gen.js +417 -247
- package/package.json +1 -1
package/dist/gen/zod.gen.js
CHANGED
|
@@ -462,6 +462,7 @@ export const zDirectUploadParameters = z.object({
|
|
|
462
462
|
'pay_periods.imports.time_entries',
|
|
463
463
|
'payrolls.payroll_runs.imports.paystubs',
|
|
464
464
|
'payrolls.payroll_runs.imports.wide_paystubs',
|
|
465
|
+
'projects.documents',
|
|
465
466
|
'users'
|
|
466
467
|
]),
|
|
467
468
|
blob: z.object({
|
|
@@ -1039,38 +1040,38 @@ export const zApprenticeshipProgramEmployerUpdateParameters = z.object({
|
|
|
1039
1040
|
require_timecard_allocation: z.boolean().optional()
|
|
1040
1041
|
});
|
|
1041
1042
|
/**
|
|
1042
|
-
* Create a period on a wage schedule; the wage schedule is taken from the URL path. wage_cents and fringe_cents are sent as integer cents.
|
|
1043
|
+
* Create a period on a wage schedule; the wage schedule is taken from the URL path. wage_cents and fringe_cents are sent as integer cents. Omitting period_number, wage_percent, or wage_cents answers 400. A wrong JSON type, a negative number, or a null for any field but min_minutes, max_minutes, num_competencies, description, fringe_percent, and fringe_cents answers 422 at that field; a null in one of those leaves it unset, but a period with none of min_minutes, max_minutes, or num_competencies answers 422.
|
|
1043
1044
|
*/
|
|
1044
1045
|
export const zApprenticeshipWageSchedulePeriodParameters = z.object({
|
|
1045
|
-
period_number: z.int(),
|
|
1046
|
-
min_minutes: z.int().nullish(),
|
|
1047
|
-
max_minutes: z.int().nullish(),
|
|
1048
|
-
num_competencies: z.int().nullish(),
|
|
1046
|
+
period_number: z.int().gte(0),
|
|
1047
|
+
min_minutes: z.int().gte(0).nullish(),
|
|
1048
|
+
max_minutes: z.int().gte(0).nullish(),
|
|
1049
|
+
num_competencies: z.int().gte(0).nullish(),
|
|
1049
1050
|
description: z.string().nullish(),
|
|
1050
|
-
wage_percent: z.number(),
|
|
1051
|
-
wage_cents: z.int(),
|
|
1052
|
-
fringe_percent: z.number().nullish(),
|
|
1053
|
-
fringe_cents: z.int().nullish()
|
|
1051
|
+
wage_percent: z.number().gte(0),
|
|
1052
|
+
wage_cents: z.int().gte(0),
|
|
1053
|
+
fringe_percent: z.number().gte(0).nullish(),
|
|
1054
|
+
fringe_cents: z.int().gte(0).nullish()
|
|
1054
1055
|
});
|
|
1055
1056
|
/**
|
|
1056
|
-
* Update a period on a wage schedule. Send only the fields to change; the wage schedule is taken from the URL path, and wage_cents and fringe_cents are sent as integer cents.
|
|
1057
|
+
* Update a period on a wage schedule. Send only the fields to change; the wage schedule is taken from the URL path, and wage_cents and fringe_cents are sent as integer cents. A wrong JSON type, a negative number, or a null for any field but min_minutes, max_minutes, num_competencies, description, fringe_percent, and fringe_cents answers 422 at that field; a null in one of those clears it, but a period left with none of min_minutes, max_minutes, or num_competencies answers 422.
|
|
1057
1058
|
*/
|
|
1058
1059
|
export const zApprenticeshipWageSchedulePeriodUpdateParameters = z.object({
|
|
1059
|
-
period_number: z.int().optional(),
|
|
1060
|
-
min_minutes: z.int().nullish(),
|
|
1061
|
-
max_minutes: z.int().nullish(),
|
|
1062
|
-
num_competencies: z.int().nullish(),
|
|
1060
|
+
period_number: z.int().gte(0).optional(),
|
|
1061
|
+
min_minutes: z.int().gte(0).nullish(),
|
|
1062
|
+
max_minutes: z.int().gte(0).nullish(),
|
|
1063
|
+
num_competencies: z.int().gte(0).nullish(),
|
|
1063
1064
|
description: z.string().nullish(),
|
|
1064
|
-
wage_percent: z.number().optional(),
|
|
1065
|
-
wage_cents: z.int().optional(),
|
|
1066
|
-
fringe_percent: z.number().nullish(),
|
|
1067
|
-
fringe_cents: z.int().nullish()
|
|
1065
|
+
wage_percent: z.number().gte(0).optional(),
|
|
1066
|
+
wage_cents: z.int().gte(0).optional(),
|
|
1067
|
+
fringe_percent: z.number().gte(0).nullish(),
|
|
1068
|
+
fringe_cents: z.int().gte(0).nullish()
|
|
1068
1069
|
});
|
|
1069
1070
|
/**
|
|
1070
|
-
* Create a wage schedule for an occupation; the occupation is taken from the URL path. Money is sent as integer cents; periods may be created inline via periods_attributes.
|
|
1071
|
+
* Create a wage schedule for an occupation; the occupation is taken from the URL path. Money is sent as integer cents; periods may be created inline via periods_attributes. Omitting name, wage_unit, journeyworker_wage_unit, or period_unit answers 400. A blank name, a unit outside its listed values, a wrong JSON type, or a null for any field but description and journeyworker_fringe_cents answers 422; a null in either of those leaves the field unset.
|
|
1071
1072
|
*/
|
|
1072
1073
|
export const zApprenticeshipWageScheduleParameters = z.object({
|
|
1073
|
-
name: z.string(),
|
|
1074
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
1074
1075
|
description: z.string().nullish(),
|
|
1075
1076
|
wage_unit: z.enum([
|
|
1076
1077
|
'hourly',
|
|
@@ -1101,23 +1102,23 @@ export const zApprenticeshipWageScheduleParameters = z.object({
|
|
|
1101
1102
|
end_wage_cents: z.int().optional(),
|
|
1102
1103
|
periods_attributes: z.array(z.object({
|
|
1103
1104
|
id: z.string().optional(),
|
|
1104
|
-
period_number: z.int(),
|
|
1105
|
-
min_minutes: z.int().nullish(),
|
|
1106
|
-
max_minutes: z.int().nullish(),
|
|
1107
|
-
num_competencies: z.int().nullish(),
|
|
1105
|
+
period_number: z.int().gte(0).optional(),
|
|
1106
|
+
min_minutes: z.int().gte(0).nullish(),
|
|
1107
|
+
max_minutes: z.int().gte(0).nullish(),
|
|
1108
|
+
num_competencies: z.int().gte(0).nullish(),
|
|
1108
1109
|
description: z.string().nullish(),
|
|
1109
|
-
wage_percent: z.number(),
|
|
1110
|
-
wage_cents: z.int(),
|
|
1111
|
-
fringe_percent: z.number().nullish(),
|
|
1112
|
-
fringe_cents: z.int().nullish(),
|
|
1110
|
+
wage_percent: z.number().gte(0).optional(),
|
|
1111
|
+
wage_cents: z.int().gte(0).optional(),
|
|
1112
|
+
fringe_percent: z.number().gte(0).nullish(),
|
|
1113
|
+
fringe_cents: z.int().gte(0).nullish(),
|
|
1113
1114
|
_destroy: z.boolean().optional()
|
|
1114
1115
|
})).optional()
|
|
1115
1116
|
});
|
|
1116
1117
|
/**
|
|
1117
|
-
* Update a wage schedule for an occupation. Send only the fields to change; money is sent as integer cents and periods may be created, updated, or removed inline via periods_attributes.
|
|
1118
|
+
* Update a wage schedule for an occupation. Send only the fields to change; money is sent as integer cents and periods may be created, updated, or removed inline via periods_attributes. A blank name, a unit outside its listed values, a wrong JSON type, or a null for any field but description and journeyworker_fringe_cents answers 422; a null in either of those clears the field.
|
|
1118
1119
|
*/
|
|
1119
1120
|
export const zApprenticeshipWageScheduleUpdateParameters = z.object({
|
|
1120
|
-
name: z.string().optional(),
|
|
1121
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
1121
1122
|
description: z.string().nullish(),
|
|
1122
1123
|
wage_unit: z.enum([
|
|
1123
1124
|
'hourly',
|
|
@@ -1146,35 +1147,19 @@ export const zApprenticeshipWageScheduleUpdateParameters = z.object({
|
|
|
1146
1147
|
journeyworker_wage_cents: z.int().optional(),
|
|
1147
1148
|
journeyworker_fringe_cents: z.int().nullish(),
|
|
1148
1149
|
end_wage_cents: z.int().optional(),
|
|
1149
|
-
periods_attributes: z.array(z.
|
|
1150
|
-
z.unknown(),
|
|
1151
|
-
z.union([
|
|
1152
|
-
z.object({
|
|
1153
|
-
min_minutes: z.int()
|
|
1154
|
-
}),
|
|
1155
|
-
z.object({
|
|
1156
|
-
max_minutes: z.int()
|
|
1157
|
-
}),
|
|
1158
|
-
z.object({
|
|
1159
|
-
num_competencies: z.int()
|
|
1160
|
-
})
|
|
1161
|
-
]),
|
|
1162
|
-
z.object({
|
|
1163
|
-
_destroy: z.literal(true)
|
|
1164
|
-
})
|
|
1165
|
-
]), z.object({
|
|
1150
|
+
periods_attributes: z.array(z.object({
|
|
1166
1151
|
id: z.string().optional(),
|
|
1167
|
-
period_number: z.int().optional(),
|
|
1168
|
-
min_minutes: z.int().nullish(),
|
|
1169
|
-
max_minutes: z.int().nullish(),
|
|
1170
|
-
num_competencies: z.int().nullish(),
|
|
1152
|
+
period_number: z.int().gte(0).optional(),
|
|
1153
|
+
min_minutes: z.int().gte(0).nullish(),
|
|
1154
|
+
max_minutes: z.int().gte(0).nullish(),
|
|
1155
|
+
num_competencies: z.int().gte(0).nullish(),
|
|
1171
1156
|
description: z.string().nullish(),
|
|
1172
|
-
wage_percent: z.number().optional(),
|
|
1173
|
-
wage_cents: z.int().optional(),
|
|
1174
|
-
fringe_percent: z.number().nullish(),
|
|
1175
|
-
fringe_cents: z.int().nullish(),
|
|
1157
|
+
wage_percent: z.number().gte(0).optional(),
|
|
1158
|
+
wage_cents: z.int().gte(0).optional(),
|
|
1159
|
+
fringe_percent: z.number().gte(0).nullish(),
|
|
1160
|
+
fringe_cents: z.int().gte(0).nullish(),
|
|
1176
1161
|
_destroy: z.boolean().optional()
|
|
1177
|
-
}))
|
|
1162
|
+
})).optional()
|
|
1178
1163
|
});
|
|
1179
1164
|
/**
|
|
1180
1165
|
* A work-type classification that determines how tracked time is treated — paid vs unpaid, overtime-eligible, billable, PWA/prevailing-wage-eligible, holiday, PTO, or rest-and-recovery — versioned bitemporally so each version carries its own validity window.
|
|
@@ -1326,7 +1311,7 @@ export const zPeopleEmploymentUpdateParameters = z.object({
|
|
|
1326
1311
|
*/
|
|
1327
1312
|
export const zPeopleEmploymentCustomFieldsUpdateParameters = z.object({
|
|
1328
1313
|
custom_fields: z.array(z.object({
|
|
1329
|
-
custom_field_config_id: z.string(),
|
|
1314
|
+
custom_field_config_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
1330
1315
|
value: z.string().nullable()
|
|
1331
1316
|
})).min(1)
|
|
1332
1317
|
});
|
|
@@ -1464,7 +1449,8 @@ export const zTimecodeHistoryVersionObject = z.object({
|
|
|
1464
1449
|
* Request body for creating or updating a timecode; only `name` is required. On create, omitted fields take their model/DB defaults (noted per field). On update the request applies a bitemporal correction, so omitted fields keep the current version's values rather than reverting to defaults.
|
|
1465
1450
|
*/
|
|
1466
1451
|
export const zTimecodeParameters = z.object({
|
|
1467
|
-
|
|
1452
|
+
effective_date: z.string().optional(),
|
|
1453
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
1468
1454
|
description: z.string().nullish(),
|
|
1469
1455
|
description_is_required: z.boolean().optional(),
|
|
1470
1456
|
billable: z.boolean().optional(),
|
|
@@ -1483,16 +1469,15 @@ export const zTimecodeParameters = z.object({
|
|
|
1483
1469
|
'job',
|
|
1484
1470
|
'non_job',
|
|
1485
1471
|
'job_with_timecode'
|
|
1486
|
-
]).optional()
|
|
1487
|
-
effective_date: z.iso.datetime().optional()
|
|
1472
|
+
]).optional()
|
|
1488
1473
|
});
|
|
1489
1474
|
/**
|
|
1490
1475
|
* Request body for correcting a timecode over a valid-time span. Send only the fields to change; omitted fields retain their current values. `effective_from` defaults to the addressed version's start, and `effective_to` is optional.
|
|
1491
1476
|
*/
|
|
1492
1477
|
export const zTimecodeCorrectionParameters = z.object({
|
|
1493
|
-
effective_from: z.
|
|
1494
|
-
effective_to: z.
|
|
1495
|
-
name: z.string().
|
|
1478
|
+
effective_from: z.string().optional(),
|
|
1479
|
+
effective_to: z.string().optional(),
|
|
1480
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
1496
1481
|
description: z.string().nullish(),
|
|
1497
1482
|
description_is_required: z.boolean().optional(),
|
|
1498
1483
|
billable: z.boolean().optional(),
|
|
@@ -1517,7 +1502,7 @@ export const zTimecodeCorrectionParameters = z.object({
|
|
|
1517
1502
|
* Request body for moving the beginning of a timecode's valid-time timeline. Moving it earlier extends coverage; moving it later removes coverage before the new beginning.
|
|
1518
1503
|
*/
|
|
1519
1504
|
export const zTimecodeGenesisParameters = z.object({
|
|
1520
|
-
effective_date: z.
|
|
1505
|
+
effective_date: z.string()
|
|
1521
1506
|
});
|
|
1522
1507
|
/**
|
|
1523
1508
|
* Request body for scheduling a timecode's termination: the date from which it stops being valid. The body is required — the endpoint reads effective_date with `params.expect`, so a request omitting it is refused with `400`.
|
|
@@ -1526,11 +1511,11 @@ export const zTimecodeScheduledTerminationParameters = z.object({
|
|
|
1526
1511
|
effective_date: z.iso.datetime()
|
|
1527
1512
|
});
|
|
1528
1513
|
/**
|
|
1529
|
-
* 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`
|
|
1514
|
+
* Request body for scheduling a future change to a timecode: an effective_date paired with the attribute values to apply from that date. Only `effective_date` is required; omitted attributes inherit the current version's values.
|
|
1530
1515
|
*/
|
|
1531
1516
|
export const zTimecodeScheduledChangeParameters = z.object({
|
|
1532
|
-
effective_date: z.
|
|
1533
|
-
name: z.string(),
|
|
1517
|
+
effective_date: z.string(),
|
|
1518
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
1534
1519
|
description: z.string().nullish(),
|
|
1535
1520
|
description_is_required: z.boolean().optional(),
|
|
1536
1521
|
billable: z.boolean().optional(),
|
|
@@ -1687,10 +1672,10 @@ export const zAssetsAttributeResponseObject = z.object({
|
|
|
1687
1672
|
updated_at: z.iso.datetime()
|
|
1688
1673
|
});
|
|
1689
1674
|
/**
|
|
1690
|
-
* Create
|
|
1675
|
+
* Create an attribute definition. Omitting name or data_type answers 400, and a blank or null name or any wrong-typed value answers 422. Options apply only to a select attribute and are ignored otherwise.
|
|
1691
1676
|
*/
|
|
1692
1677
|
export const zAssetsAttributeParameters = z.object({
|
|
1693
|
-
name: z.string().
|
|
1678
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
1694
1679
|
data_type: z.enum([
|
|
1695
1680
|
'text',
|
|
1696
1681
|
'number',
|
|
@@ -1706,10 +1691,10 @@ export const zAssetsAttributeParameters = z.object({
|
|
|
1706
1691
|
})).optional()
|
|
1707
1692
|
});
|
|
1708
1693
|
/**
|
|
1709
|
-
* Update an attribute definition. All fields are optional — send only what changes. Options apply only to a select attribute and are ignored otherwise; data_type cannot be changed once any value has been filled.
|
|
1694
|
+
* Update an attribute definition. All fields are optional — send only what changes. A blank or null name or any wrong-typed value answers 422. Options apply only to a select attribute and are ignored otherwise; data_type cannot be changed once any value has been filled.
|
|
1710
1695
|
*/
|
|
1711
1696
|
export const zAssetsAttributeUpdateParameters = z.object({
|
|
1712
|
-
name: z.string().
|
|
1697
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
1713
1698
|
data_type: z.enum([
|
|
1714
1699
|
'text',
|
|
1715
1700
|
'number',
|
|
@@ -2442,19 +2427,19 @@ export const zGroupUpdateParameters = z.object({
|
|
|
2442
2427
|
name: z.string().optional()
|
|
2443
2428
|
});
|
|
2444
2429
|
/**
|
|
2445
|
-
* Request body for updating a worker's profile. Limited to person-level identity fields; employment, roles, and compliance are managed through onboarding (create) and the user-company endpoints.
|
|
2430
|
+
* Request body for updating a worker's profile. Limited to person-level identity fields; employment, roles, and compliance are managed through onboarding (create) and the user-company endpoints. Include only the fields to change. A null or blank legal name, or any wrong-typed value, answers 422.
|
|
2446
2431
|
*/
|
|
2447
2432
|
export const zUserUpdateParameters = z.object({
|
|
2448
2433
|
email: z.string().nullish(),
|
|
2449
2434
|
personal_email: z.string().nullish(),
|
|
2450
2435
|
phone_number: z.string().nullish(),
|
|
2451
|
-
first_name: z.string().optional(),
|
|
2452
|
-
last_name: z.string().optional(),
|
|
2436
|
+
first_name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
2437
|
+
last_name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
2453
2438
|
preferred_first_name: z.string().nullish(),
|
|
2454
2439
|
preferred_last_name: z.string().nullish(),
|
|
2455
2440
|
city: z.string().nullish(),
|
|
2456
2441
|
state: z.string().nullish(),
|
|
2457
|
-
birth_date: z.
|
|
2442
|
+
birth_date: z.iso.date().nullish(),
|
|
2458
2443
|
dol_apprentice_no: z.string().nullish(),
|
|
2459
2444
|
avatar_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
2460
2445
|
});
|
|
@@ -2523,31 +2508,34 @@ export const zManagerTimeEntryApprovalParameters = z.object({
|
|
|
2523
2508
|
approver_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2524
2509
|
});
|
|
2525
2510
|
/**
|
|
2526
|
-
*
|
|
2511
|
+
* Request body for creating a time entry. timekeeping_time_card_id, start_time, and end_time are required, and omitting one answers 400.
|
|
2527
2512
|
*/
|
|
2528
|
-
export const
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2513
|
+
export const zTimeEntryCreateParameters = z.object({
|
|
2514
|
+
timekeeping_time_card_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
2515
|
+
start_time: z.string(),
|
|
2516
|
+
end_time: z.string(),
|
|
2517
|
+
job_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2518
|
+
timekeeping_timecode_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2533
2519
|
state: z.string().nullish(),
|
|
2534
2520
|
description: z.string().nullish(),
|
|
2535
2521
|
hourly_rate_cents: z.string().nullish(),
|
|
2536
|
-
feature_ids: z.array(z.string()).
|
|
2522
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
2523
|
+
feature_allocation_acknowledged: z.boolean().optional()
|
|
2537
2524
|
});
|
|
2538
2525
|
/**
|
|
2539
|
-
* Request body for
|
|
2540
|
-
*/
|
|
2541
|
-
export const zTimeEntryCreateParameters = zTimeEntryParameters.and(z.object({
|
|
2542
|
-
timekeeping_time_card_id: z.string(),
|
|
2543
|
-
feature_allocation_acknowledged: z.boolean().nullish()
|
|
2544
|
-
}));
|
|
2545
|
-
/**
|
|
2546
|
-
* Request body for updating a time entry — the time_entry_parameters fields, every one optional, plus the acknowledgement that clears an apprenticeship allocation conflict.
|
|
2526
|
+
* Request body for updating a time entry. Every field is optional, and an omitted field keeps its value.
|
|
2547
2527
|
*/
|
|
2548
|
-
export const zTimeEntryUpdateParameters =
|
|
2549
|
-
|
|
2550
|
-
|
|
2528
|
+
export const zTimeEntryUpdateParameters = z.object({
|
|
2529
|
+
start_time: z.string().optional(),
|
|
2530
|
+
end_time: z.string().optional(),
|
|
2531
|
+
job_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2532
|
+
timekeeping_timecode_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2533
|
+
state: z.string().nullish(),
|
|
2534
|
+
description: z.string().nullish(),
|
|
2535
|
+
hourly_rate_cents: z.string().nullish(),
|
|
2536
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
2537
|
+
confirm_allocation_conflict: z.boolean().optional()
|
|
2538
|
+
});
|
|
2551
2539
|
/**
|
|
2552
2540
|
* A form definition — a SurveyJS form template built and versioned in the web app's form builder. The same object the list door serializes. Read-only.
|
|
2553
2541
|
*/
|
|
@@ -2585,6 +2573,46 @@ export const zFormSubmissionResponseObject = z.object({
|
|
|
2585
2573
|
created_at: z.iso.datetime(),
|
|
2586
2574
|
updated_at: z.iso.datetime()
|
|
2587
2575
|
});
|
|
2576
|
+
/**
|
|
2577
|
+
* Request body for updating a worker's employment at your company. Corrects administrative fields (employment type, title, manager, payroll id, hire date, and time-and-attendance enrollment) across the whole employment history, and changes the custom-field values it lists. For time-effective pay changes, use the scheduled-changes endpoints instead. A value of the wrong JSON type, a null for a field that is not nullable, or a value outside a listed set answers 422 at its pointer, and nothing is written.
|
|
2578
|
+
*/
|
|
2579
|
+
export const zUserCompanyParameters = z.object({
|
|
2580
|
+
type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
|
|
2581
|
+
title: z.string().nullish(),
|
|
2582
|
+
manager_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2583
|
+
payroll_id: z.string().nullish(),
|
|
2584
|
+
enrolled_in_t_and_a: z.boolean().optional(),
|
|
2585
|
+
hire_date: z.string().nullish(),
|
|
2586
|
+
custom_fields: z.array(z.object({
|
|
2587
|
+
custom_field_config_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
2588
|
+
value: z.string().nullable()
|
|
2589
|
+
})).optional()
|
|
2590
|
+
});
|
|
2591
|
+
/**
|
|
2592
|
+
* Request body for adding a worker to your company, creating their employment record and its custom-field values. hire_date is required and sets when employment begins; the remaining fields seed the initial title, pay, benefits, and accruals. Returns the worker with the new employment flattened onto it. Omitting hire_date answers 400. A value of the wrong JSON type, a null for a field that is not nullable, or a value outside a listed set answers 422 at its pointer, and nothing is written.
|
|
2593
|
+
*/
|
|
2594
|
+
export const zUserCompanyCreateParameters = z.object({
|
|
2595
|
+
hire_date: z.string(),
|
|
2596
|
+
type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
|
|
2597
|
+
title: z.string().nullish(),
|
|
2598
|
+
manager_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
2599
|
+
payroll_id: z.string().nullish(),
|
|
2600
|
+
enrolled_in_t_and_a: z.boolean().optional(),
|
|
2601
|
+
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
2602
|
+
hourly_rate: z.string().nullish(),
|
|
2603
|
+
overtime_eligible: z.boolean().optional(),
|
|
2604
|
+
training_annual_amount: z.string().nullish(),
|
|
2605
|
+
employer_combined_health_amount: z.string().nullish(),
|
|
2606
|
+
employer_combined_savings: z.string().nullish(),
|
|
2607
|
+
worked_annual_minutes: z.int().nullish(),
|
|
2608
|
+
pto_annual_minutes: z.int().nullish(),
|
|
2609
|
+
holiday_annual_minutes: z.int().nullish(),
|
|
2610
|
+
training_annual_minutes: z.int().nullish(),
|
|
2611
|
+
custom_fields: z.array(z.object({
|
|
2612
|
+
custom_field_config_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
2613
|
+
value: z.string().nullable()
|
|
2614
|
+
})).optional()
|
|
2615
|
+
});
|
|
2588
2616
|
/**
|
|
2589
2617
|
* Request body for scheduling a future-dated compensation change. effective_date sets when the new values take effect; earlier history is preserved as its own version. Covers the pay, benefit, accrual, and department fields.
|
|
2590
2618
|
*/
|
|
@@ -2793,7 +2821,7 @@ export const zUserGroupResponse = z.object({
|
|
|
2793
2821
|
* Request body for adding users to a group. The group is taken from the URL path.
|
|
2794
2822
|
*/
|
|
2795
2823
|
export const zUserGroupParameters = z.object({
|
|
2796
|
-
user_ids: z.array(z.string())
|
|
2824
|
+
user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).min(1)
|
|
2797
2825
|
});
|
|
2798
2826
|
/**
|
|
2799
2827
|
* Day of the week a job's workweek and time cards start on: 0 (Sunday) through 6 (Saturday).
|
|
@@ -2945,6 +2973,20 @@ export const zUserCompanyScheduledChangesResponse = z.object({
|
|
|
2945
2973
|
export const zUserCompanyScheduledTerminationParameters = z.object({
|
|
2946
2974
|
termination_date: z.iso.date()
|
|
2947
2975
|
});
|
|
2976
|
+
/**
|
|
2977
|
+
* A pay period — a bounded pay window generated automatically by its pay schedule (PayPeriodConfig).
|
|
2978
|
+
*/
|
|
2979
|
+
export const zPayPeriodResponseObject = z.object({
|
|
2980
|
+
id: z.string(),
|
|
2981
|
+
timekeeping_pay_period_config_id: z.string(),
|
|
2982
|
+
pay_date: z.iso.date(),
|
|
2983
|
+
start_time: z.iso.datetime(),
|
|
2984
|
+
end_time: z.iso.datetime(),
|
|
2985
|
+
pay_run_deadline: z.iso.datetime(),
|
|
2986
|
+
approvals_deadline: z.iso.datetime(),
|
|
2987
|
+
created_at: z.iso.datetime(),
|
|
2988
|
+
updated_at: z.iso.datetime()
|
|
2989
|
+
});
|
|
2948
2990
|
/**
|
|
2949
2991
|
* One problem found while processing an accepted import, whatever its type.
|
|
2950
2992
|
*/
|
|
@@ -3650,19 +3692,18 @@ export const zProjectResponseObject = z.object({
|
|
|
3650
3692
|
updated_at: z.iso.datetime()
|
|
3651
3693
|
});
|
|
3652
3694
|
/**
|
|
3653
|
-
* Request body for creating a project. `name` and `created_by_user_id` are required; the creator must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Undeclared body keys return 400 before any project or relationship is saved.
|
|
3695
|
+
* Request body for creating a project. `name` and `created_by_user_id` are required, and omitting either returns 400; the creator must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship is saved.
|
|
3654
3696
|
*/
|
|
3655
3697
|
export const zProjectParameters = z.object({
|
|
3656
3698
|
external_id: z.string().nullish(),
|
|
3657
|
-
name: z.string(),
|
|
3699
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
3658
3700
|
description: z.string().nullish(),
|
|
3659
|
-
|
|
3660
|
-
parent_id: z.string().nullish(),
|
|
3701
|
+
parent_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3661
3702
|
participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
3662
3703
|
start_date: z.iso.date().nullish(),
|
|
3663
3704
|
end_date: z.iso.date().nullish(),
|
|
3664
3705
|
tz_name: z.string().nullish(),
|
|
3665
|
-
billing_start_day: z.int().nullish(),
|
|
3706
|
+
billing_start_day: z.int().gte(0).lte(6).nullish(),
|
|
3666
3707
|
federal_pwa_mode: z.enum([
|
|
3667
3708
|
'all',
|
|
3668
3709
|
'pw_only',
|
|
@@ -3680,24 +3721,25 @@ export const zProjectParameters = z.object({
|
|
|
3680
3721
|
administrator_name: z.string().nullish(),
|
|
3681
3722
|
administrator_email: z.string().nullish(),
|
|
3682
3723
|
administrator_phone: z.string().nullish(),
|
|
3683
|
-
budget: z.string().
|
|
3724
|
+
budget: z.string().nullish(),
|
|
3684
3725
|
prevailing_wage_lock_in_date: z.iso.date().nullish(),
|
|
3685
3726
|
beginning_of_construction_date: z.iso.date().nullish(),
|
|
3686
|
-
placed_in_service_date: z.iso.date().nullish()
|
|
3727
|
+
placed_in_service_date: z.iso.date().nullish(),
|
|
3728
|
+
created_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
3687
3729
|
});
|
|
3688
3730
|
/**
|
|
3689
|
-
* Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. Undeclared body keys return 400 before any project or relationship changes.
|
|
3731
|
+
* Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship changes.
|
|
3690
3732
|
*/
|
|
3691
3733
|
export const zProjectUpdateParameters = z.object({
|
|
3692
3734
|
external_id: z.string().nullish(),
|
|
3693
|
-
name: z.string().optional(),
|
|
3735
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
3694
3736
|
description: z.string().nullish(),
|
|
3695
|
-
parent_id: z.string().nullish(),
|
|
3737
|
+
parent_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3696
3738
|
participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
3697
3739
|
start_date: z.iso.date().nullish(),
|
|
3698
3740
|
end_date: z.iso.date().nullish(),
|
|
3699
3741
|
tz_name: z.string().nullish(),
|
|
3700
|
-
billing_start_day: z.int().nullish(),
|
|
3742
|
+
billing_start_day: z.int().gte(0).lte(6).nullish(),
|
|
3701
3743
|
federal_pwa_mode: z.enum([
|
|
3702
3744
|
'all',
|
|
3703
3745
|
'pw_only',
|
|
@@ -3715,7 +3757,7 @@ export const zProjectUpdateParameters = z.object({
|
|
|
3715
3757
|
administrator_name: z.string().nullish(),
|
|
3716
3758
|
administrator_email: z.string().nullish(),
|
|
3717
3759
|
administrator_phone: z.string().nullish(),
|
|
3718
|
-
budget: z.string().
|
|
3760
|
+
budget: z.string().nullish(),
|
|
3719
3761
|
prevailing_wage_lock_in_date: z.iso.date().nullish(),
|
|
3720
3762
|
beginning_of_construction_date: z.iso.date().nullish(),
|
|
3721
3763
|
placed_in_service_date: z.iso.date().nullish()
|
|
@@ -3741,6 +3783,56 @@ export const zProjectSiteParameters = z.object({
|
|
|
3741
3783
|
export const zProjectSiteUpdateParameters = z.object({
|
|
3742
3784
|
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
3743
3785
|
});
|
|
3786
|
+
/**
|
|
3787
|
+
* A file attached to a project. Uploaded through the direct-upload flow. `name` is always "document" and is not client-writable.
|
|
3788
|
+
*/
|
|
3789
|
+
export const zProjectDocumentResponseObject = z.object({
|
|
3790
|
+
id: z.string(),
|
|
3791
|
+
project_id: z.string(),
|
|
3792
|
+
name: z.string(),
|
|
3793
|
+
filename: z.string().nullable(),
|
|
3794
|
+
description: z.string().nullable(),
|
|
3795
|
+
created_by_user_id: z.string(),
|
|
3796
|
+
file: z.object({
|
|
3797
|
+
filename: z.string(),
|
|
3798
|
+
content_type: z.string().nullable(),
|
|
3799
|
+
byte_size: z.int(),
|
|
3800
|
+
url: z.string()
|
|
3801
|
+
}).nullable(),
|
|
3802
|
+
created_at: z.iso.datetime(),
|
|
3803
|
+
updated_at: z.iso.datetime()
|
|
3804
|
+
});
|
|
3805
|
+
/**
|
|
3806
|
+
* Attach a file to a project as a document. file is required and takes a signed_id from the direct-upload endpoint.
|
|
3807
|
+
*/
|
|
3808
|
+
export const zProjectDocumentParameters = z.object({
|
|
3809
|
+
file: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
3810
|
+
filename: z.string().nullish(),
|
|
3811
|
+
description: z.string().nullish(),
|
|
3812
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
3813
|
+
});
|
|
3814
|
+
/**
|
|
3815
|
+
* Update a project document. All fields are optional — send only what changes. Omit file to retain the existing attachment, or supply a new signed_id to replace it. A document always holds a file, so null answers 422, as does a blank string. `name` is read-only; sending it answers 400.
|
|
3816
|
+
*/
|
|
3817
|
+
export const zProjectDocumentUpdateParameters = z.object({
|
|
3818
|
+
file: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
3819
|
+
filename: z.string().nullish(),
|
|
3820
|
+
description: z.string().nullish()
|
|
3821
|
+
});
|
|
3822
|
+
/**
|
|
3823
|
+
* One entry in a project document's PaperTrail change history, recorded whenever the document is created, updated, or deleted — including when only its attached file is replaced. This is transaction-time audit data, not a temporal valid-time version.
|
|
3824
|
+
*/
|
|
3825
|
+
export const zProjectDocumentVersionResponseObject = z.object({
|
|
3826
|
+
id: z.int(),
|
|
3827
|
+
document_id: z.string(),
|
|
3828
|
+
event: z.enum([
|
|
3829
|
+
'create',
|
|
3830
|
+
'update',
|
|
3831
|
+
'destroy'
|
|
3832
|
+
]),
|
|
3833
|
+
whodunnit: z.string().nullable(),
|
|
3834
|
+
created_at: z.iso.datetime()
|
|
3835
|
+
});
|
|
3744
3836
|
export const zSiteCheckInResponseObject = z.object({
|
|
3745
3837
|
id: z.string(),
|
|
3746
3838
|
site_id: z.string(),
|
|
@@ -4078,12 +4170,12 @@ export const zComplianceCheckDetailResponseObject = z.object({
|
|
|
4078
4170
|
documents: z.array(zComplianceCheckDocumentObject)
|
|
4079
4171
|
});
|
|
4080
4172
|
/**
|
|
4081
|
-
* Update a compliance check. Every field is optional.
|
|
4173
|
+
* Update a compliance check. Every field is optional. Undeclared body keys return 400, and a wrong-typed value, a null for a field that is not nullable, or a status outside the list returns 422 at its pointer before anything is written.
|
|
4082
4174
|
*/
|
|
4083
4175
|
export const zComplianceCheckParameters = z.object({
|
|
4084
4176
|
status: z.enum(['dismissed', 'pending']).optional(),
|
|
4085
|
-
time_due: z.
|
|
4086
|
-
assignee_user_ids: z.array(z.string()).optional(),
|
|
4177
|
+
time_due: z.string().nullish(),
|
|
4178
|
+
assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4087
4179
|
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional()
|
|
4088
4180
|
});
|
|
4089
4181
|
export const zRichTextObject = z.object({
|
|
@@ -4601,7 +4693,7 @@ export const zSiteFormAssignmentParameters = z.object({
|
|
|
4601
4693
|
'QUARTERLY'
|
|
4602
4694
|
]).nullish(),
|
|
4603
4695
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4604
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4696
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4605
4697
|
reminders_attributes: z.array(z.object({
|
|
4606
4698
|
offset: z.enum([
|
|
4607
4699
|
'PT0S',
|
|
@@ -4665,7 +4757,7 @@ export const zSiteFormAssignmentUpdateParameters = z.object({
|
|
|
4665
4757
|
'QUARTERLY'
|
|
4666
4758
|
]).nullish(),
|
|
4667
4759
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4668
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4760
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4669
4761
|
reminders_attributes: z.array(z.object({
|
|
4670
4762
|
offset: z.enum([
|
|
4671
4763
|
'PT0S',
|
|
@@ -4757,7 +4849,7 @@ export const zFeatureFormAssignmentParameters = z.object({
|
|
|
4757
4849
|
'QUARTERLY'
|
|
4758
4850
|
]).nullish(),
|
|
4759
4851
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4760
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4852
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4761
4853
|
reminders_attributes: z.array(z.object({
|
|
4762
4854
|
offset: z.enum([
|
|
4763
4855
|
'PT0S',
|
|
@@ -4821,7 +4913,7 @@ export const zFeatureFormAssignmentUpdateParameters = z.object({
|
|
|
4821
4913
|
'QUARTERLY'
|
|
4822
4914
|
]).nullish(),
|
|
4823
4915
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4824
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4916
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4825
4917
|
reminders_attributes: z.array(z.object({
|
|
4826
4918
|
offset: z.enum([
|
|
4827
4919
|
'PT0S',
|
|
@@ -4886,7 +4978,7 @@ export const zJobFormAssignmentParameters = z.object({
|
|
|
4886
4978
|
'QUARTERLY'
|
|
4887
4979
|
]).nullish(),
|
|
4888
4980
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4889
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4981
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4890
4982
|
reminders_attributes: z.array(z.object({
|
|
4891
4983
|
offset: z.enum([
|
|
4892
4984
|
'PT0S',
|
|
@@ -4950,7 +5042,7 @@ export const zJobFormAssignmentUpdateParameters = z.object({
|
|
|
4950
5042
|
'QUARTERLY'
|
|
4951
5043
|
]).nullish(),
|
|
4952
5044
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4953
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
5045
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4954
5046
|
reminders_attributes: z.array(z.object({
|
|
4955
5047
|
offset: z.enum([
|
|
4956
5048
|
'PT0S',
|
|
@@ -5168,20 +5260,20 @@ export const zFormAssignmentTaskResponseObject = z.array(z.object({
|
|
|
5168
5260
|
}))
|
|
5169
5261
|
}));
|
|
5170
5262
|
/**
|
|
5171
|
-
* Request body for creating a certification — a named qualification a worker can hold. You can only manage your own company's certifications; global (platform) certifications are read-only.
|
|
5263
|
+
* Request body for creating a certification — a named qualification a worker can hold. You can only manage your own company's certifications; global (platform) certifications are read-only. Omitting company_id or name answers 400, and a null or blank one, or any wrong-typed value, answers 422.
|
|
5172
5264
|
*/
|
|
5173
5265
|
export const zCertificationParameters = z.object({
|
|
5174
|
-
company_id: z.string(),
|
|
5175
|
-
name: z.string(),
|
|
5266
|
+
company_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
5267
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
5176
5268
|
description: z.string().nullish(),
|
|
5177
5269
|
verified: z.boolean().optional(),
|
|
5178
5270
|
duration: z.string().nullish()
|
|
5179
5271
|
});
|
|
5180
5272
|
/**
|
|
5181
|
-
* Request body for updating a certification — a named qualification a worker can hold. Include only the fields to change. You can only manage your own company's certifications; global (platform) certifications are read-only. The certification's company is fixed at creation.
|
|
5273
|
+
* Request body for updating a certification — a named qualification a worker can hold. Include only the fields to change. You can only manage your own company's certifications; global (platform) certifications are read-only. The certification's company is fixed at creation. A null or blank name, or any wrong-typed value, answers 422.
|
|
5182
5274
|
*/
|
|
5183
5275
|
export const zCertificationUpdateParameters = z.object({
|
|
5184
|
-
name: z.string().optional(),
|
|
5276
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
5185
5277
|
description: z.string().nullish(),
|
|
5186
5278
|
verified: z.boolean().optional(),
|
|
5187
5279
|
duration: z.string().nullish()
|
|
@@ -5262,10 +5354,10 @@ export const zUserCertificationUpdateParameters = z.object({
|
|
|
5262
5354
|
archived_at: z.iso.datetime().nullish()
|
|
5263
5355
|
});
|
|
5264
5356
|
/**
|
|
5265
|
-
* Request body for approving a certification held by a worker. A user key approves in its own user's name and
|
|
5357
|
+
* Request body for approving a certification held by a worker. A user key approves in its own user's name and must omit approved_by_user_id. A company key must name the approver.
|
|
5266
5358
|
*/
|
|
5267
5359
|
export const zUserCertificationApprovalParameters = z.object({
|
|
5268
|
-
approved_by_user_id: z.string().optional()
|
|
5360
|
+
approved_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional()
|
|
5269
5361
|
});
|
|
5270
5362
|
/**
|
|
5271
5363
|
* A certification held by a worker — the record that a worker earned a certification, with its receipt date, optional expiry, and verification state.
|
|
@@ -5606,7 +5698,7 @@ export const zUserParameters = z.intersection(z.union([
|
|
|
5606
5698
|
holiday_annual_minutes: z.string().optional(),
|
|
5607
5699
|
training_annual_minutes: z.string().optional(),
|
|
5608
5700
|
hire_date: z.string().optional(),
|
|
5609
|
-
group_ids: z.array(z.
|
|
5701
|
+
group_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
5610
5702
|
custom_fields: z.array(z.object({
|
|
5611
5703
|
custom_field_config_id: z.string(),
|
|
5612
5704
|
value: z.string().nullable()
|
|
@@ -5701,46 +5793,6 @@ export const zUserParameters = z.intersection(z.union([
|
|
|
5701
5793
|
])).optional()
|
|
5702
5794
|
}).nullish()
|
|
5703
5795
|
}));
|
|
5704
|
-
/**
|
|
5705
|
-
* Request body for updating a worker's employment at your company. Corrects administrative fields (employment type, title, manager, payroll id, hire date, and time-and-attendance enrollment) across the whole employment history, and changes the custom-field values it lists. For time-effective pay changes, use the scheduled-changes endpoints instead.
|
|
5706
|
-
*/
|
|
5707
|
-
export const zUserCompanyParameters = z.object({
|
|
5708
|
-
type: zUserCompanyType.optional(),
|
|
5709
|
-
title: z.string().nullish(),
|
|
5710
|
-
manager_user_id: z.string().nullish(),
|
|
5711
|
-
payroll_id: z.string().nullish(),
|
|
5712
|
-
hire_date: z.string().nullish(),
|
|
5713
|
-
enrolled_in_t_and_a: z.boolean().optional(),
|
|
5714
|
-
custom_fields: z.array(z.object({
|
|
5715
|
-
custom_field_config_id: z.string(),
|
|
5716
|
-
value: z.string().nullable()
|
|
5717
|
-
})).optional()
|
|
5718
|
-
});
|
|
5719
|
-
/**
|
|
5720
|
-
* Request body for adding a worker to your company, creating their employment record and its custom-field values. hire_date is required and sets when employment begins; the remaining fields seed the initial title, pay, benefits, and accruals. Returns the worker with the new employment flattened onto it.
|
|
5721
|
-
*/
|
|
5722
|
-
export const zUserCompanyCreateParameters = z.object({
|
|
5723
|
-
hire_date: z.string(),
|
|
5724
|
-
type: zUserCompanyType.optional(),
|
|
5725
|
-
title: z.string().nullish(),
|
|
5726
|
-
manager_user_id: z.string().nullish(),
|
|
5727
|
-
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
5728
|
-
enrolled_in_t_and_a: z.boolean().optional(),
|
|
5729
|
-
payroll_id: z.string().nullish(),
|
|
5730
|
-
hourly_rate: z.string().nullish(),
|
|
5731
|
-
overtime_eligible: z.boolean().optional(),
|
|
5732
|
-
training_annual_amount: z.string().nullish(),
|
|
5733
|
-
employer_combined_health_amount: z.string().nullish(),
|
|
5734
|
-
employer_combined_savings: z.string().nullish(),
|
|
5735
|
-
worked_annual_minutes: z.int().nullish(),
|
|
5736
|
-
pto_annual_minutes: z.int().nullish(),
|
|
5737
|
-
holiday_annual_minutes: z.int().nullish(),
|
|
5738
|
-
training_annual_minutes: z.int().nullish(),
|
|
5739
|
-
custom_fields: z.array(z.object({
|
|
5740
|
-
custom_field_config_id: z.string(),
|
|
5741
|
-
value: z.string().nullable()
|
|
5742
|
-
})).optional()
|
|
5743
|
-
});
|
|
5744
5796
|
/**
|
|
5745
5797
|
* Keyset pagination cursors for the collection.
|
|
5746
5798
|
*/
|
|
@@ -5833,17 +5885,7 @@ export const zTimeEntryDeltasResponse = z.object({
|
|
|
5833
5885
|
export const zPayPeriodsResponseObject = z.object({
|
|
5834
5886
|
meta: zMeta,
|
|
5835
5887
|
links: zLinks,
|
|
5836
|
-
data: z.array(
|
|
5837
|
-
id: z.string(),
|
|
5838
|
-
timekeeping_pay_period_config_id: z.string(),
|
|
5839
|
-
pay_date: z.iso.date(),
|
|
5840
|
-
start_time: z.iso.datetime(),
|
|
5841
|
-
end_time: z.iso.datetime(),
|
|
5842
|
-
pay_run_deadline: z.iso.datetime(),
|
|
5843
|
-
approvals_deadline: z.iso.datetime(),
|
|
5844
|
-
created_at: z.iso.datetime(),
|
|
5845
|
-
updated_at: z.iso.datetime()
|
|
5846
|
-
}))
|
|
5888
|
+
data: z.array(zPayPeriodResponseObject)
|
|
5847
5889
|
});
|
|
5848
5890
|
/**
|
|
5849
5891
|
* A page of job time card days, with pagination metadata and navigation links.
|
|
@@ -6166,35 +6208,6 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
|
|
|
6166
6208
|
created_at: z.iso.datetime(),
|
|
6167
6209
|
updated_at: z.iso.datetime()
|
|
6168
6210
|
});
|
|
6169
|
-
/**
|
|
6170
|
-
* State-specific rate fields for a Regional determination, as decimal-string money in cents
|
|
6171
|
-
* (e.g. "538.0"). These nine properties are the whole write vocabulary, but which of them a
|
|
6172
|
-
* request may send is set by the job's region, not the request — sending a key the job's
|
|
6173
|
-
* region does not allow returns a 422:
|
|
6174
|
-
*
|
|
6175
|
-
* - Categorized-fringe regions (currently IL) accept `combined_health_fringe_rate_cents`,
|
|
6176
|
-
* `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
|
|
6177
|
-
* `training_fringe_rate_cents`, and `other_fringe_rate_cents`.
|
|
6178
|
-
* - Overtime-adder regions (currently IL and NY) accept `one_five_x_adder_rate_cents`,
|
|
6179
|
-
* `two_x_adder_rate_cents`, `one_five_x_fringe_adder_rate_cents`, and
|
|
6180
|
-
* `two_x_fringe_adder_rate_cents`.
|
|
6181
|
-
*
|
|
6182
|
-
* In a categorized-fringe region the five fringe keys are required, not merely accepted —
|
|
6183
|
-
* omitting any of them returns a 422. Categorized-fringe values are non-null when present;
|
|
6184
|
-
* overtime-adder values may be null.
|
|
6185
|
-
*
|
|
6186
|
-
*/
|
|
6187
|
-
export const zRegionalWageDeterminationFields = z.object({
|
|
6188
|
-
combined_health_fringe_rate_cents: z.string().optional(),
|
|
6189
|
-
combined_savings_fringe_rate_cents: z.string().optional(),
|
|
6190
|
-
combined_holiday_pto_fringe_rate_cents: z.string().optional(),
|
|
6191
|
-
training_fringe_rate_cents: z.string().optional(),
|
|
6192
|
-
other_fringe_rate_cents: z.string().optional(),
|
|
6193
|
-
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6194
|
-
two_x_adder_rate_cents: z.string().nullish(),
|
|
6195
|
-
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6196
|
-
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6197
|
-
});
|
|
6198
6211
|
/**
|
|
6199
6212
|
* State-specific rate fields recorded on a Regional determination, as decimal-string money in
|
|
6200
6213
|
* cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
|
|
@@ -6317,12 +6330,12 @@ export const zJobWageDeterminationHistoryVersionObject = z.discriminatedUnion('t
|
|
|
6317
6330
|
zRegionalJobWageDeterminationHistoryVersionObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Regional') })
|
|
6318
6331
|
]);
|
|
6319
6332
|
/**
|
|
6320
|
-
* Parameters for creating a Federal (Davis-Bacon) wage determination on a job.
|
|
6333
|
+
* Parameters for creating a Federal (Davis-Bacon) wage determination on a job. A Federal determination holds no regional rates, so a body sending `regional_fields` returns a 422.
|
|
6321
6334
|
*/
|
|
6322
6335
|
export const zFederalJobWageDeterminationParameters = z.object({
|
|
6323
6336
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
6324
|
-
labor_classification: z.string(),
|
|
6325
|
-
pwa_trade_id: z.string(),
|
|
6337
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6338
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6326
6339
|
hourly_rate_cents: z.string(),
|
|
6327
6340
|
fringe_rate_cents: z.string(),
|
|
6328
6341
|
class_code: z.string().nullish(),
|
|
@@ -6332,20 +6345,38 @@ export const zFederalJobWageDeterminationParameters = z.object({
|
|
|
6332
6345
|
'highway',
|
|
6333
6346
|
'residential'
|
|
6334
6347
|
]).nullish(),
|
|
6335
|
-
general_wage_determination: z.string().nullish()
|
|
6348
|
+
general_wage_determination: z.string().nullish(),
|
|
6349
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6336
6350
|
});
|
|
6337
6351
|
/**
|
|
6338
6352
|
* Parameters for creating a Regional (state prevailing-wage) wage determination on a job.
|
|
6339
6353
|
*/
|
|
6340
6354
|
export const zRegionalJobWageDeterminationParameters = z.object({
|
|
6341
6355
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
6342
|
-
labor_classification: z.string(),
|
|
6343
|
-
pwa_trade_id: z.string(),
|
|
6356
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6357
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6344
6358
|
hourly_rate_cents: z.string(),
|
|
6345
6359
|
fringe_rate_cents: z.string().optional(),
|
|
6360
|
+
class_code: z.string().nullish(),
|
|
6361
|
+
construction_category: z.enum([
|
|
6362
|
+
'building',
|
|
6363
|
+
'heavy',
|
|
6364
|
+
'highway',
|
|
6365
|
+
'residential'
|
|
6366
|
+
]).nullish(),
|
|
6346
6367
|
general_wage_determination: z.string().nullish(),
|
|
6347
|
-
|
|
6348
|
-
|
|
6368
|
+
regional_fields: z.object({
|
|
6369
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6370
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6371
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6372
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6373
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6374
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6375
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6376
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6377
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6378
|
+
}).optional(),
|
|
6379
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6349
6380
|
});
|
|
6350
6381
|
/**
|
|
6351
6382
|
* Parameters for creating a job wage determination. Provide the Federal or Regional shape; the type discriminator selects which. Editing an existing determination uses the update parameters, which take an `effective_from` instead of a type.
|
|
@@ -6359,9 +6390,9 @@ export const zJobWageDeterminationParameters = z.discriminatedUnion('type', [
|
|
|
6359
6390
|
*/
|
|
6360
6391
|
export const zJobWageDeterminationUpdateParameters = z.object({
|
|
6361
6392
|
effective_from: z.iso.date().optional(),
|
|
6362
|
-
overtime_package_id: z.string().nullish(),
|
|
6363
|
-
labor_classification: z.string().optional(),
|
|
6364
|
-
pwa_trade_id: z.string().optional(),
|
|
6393
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6394
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6395
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6365
6396
|
hourly_rate_cents: z.string().optional(),
|
|
6366
6397
|
fringe_rate_cents: z.string().optional(),
|
|
6367
6398
|
class_code: z.string().nullish(),
|
|
@@ -6372,14 +6403,24 @@ export const zJobWageDeterminationUpdateParameters = z.object({
|
|
|
6372
6403
|
'residential'
|
|
6373
6404
|
]).nullish(),
|
|
6374
6405
|
general_wage_determination: z.string().nullish(),
|
|
6375
|
-
regional_fields:
|
|
6406
|
+
regional_fields: z.object({
|
|
6407
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6408
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6409
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6410
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6411
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6412
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6413
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6414
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6415
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6416
|
+
}).optional()
|
|
6376
6417
|
});
|
|
6377
6418
|
/**
|
|
6378
6419
|
* Parameters for an effective-dated change to a job wage determination, applying from a calendar date forward. The type is fixed by the determination the id names and is not sent.
|
|
6379
6420
|
*/
|
|
6380
6421
|
export const zJobWageDeterminationScheduledChangeParameters = z.object({
|
|
6381
6422
|
effective_date: z.iso.date(),
|
|
6382
|
-
labor_classification: z.string().optional(),
|
|
6423
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6383
6424
|
hourly_rate_cents: z.string().optional(),
|
|
6384
6425
|
fringe_rate_cents: z.string().optional(),
|
|
6385
6426
|
class_code: z.string().nullish(),
|
|
@@ -6390,7 +6431,17 @@ export const zJobWageDeterminationScheduledChangeParameters = z.object({
|
|
|
6390
6431
|
'residential'
|
|
6391
6432
|
]).nullish(),
|
|
6392
6433
|
general_wage_determination: z.string().nullish(),
|
|
6393
|
-
regional_fields:
|
|
6434
|
+
regional_fields: z.object({
|
|
6435
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6436
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6437
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6438
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6439
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6440
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6441
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6442
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6443
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6444
|
+
}).optional()
|
|
6394
6445
|
});
|
|
6395
6446
|
/**
|
|
6396
6447
|
* Parameters for moving where a job wage determination's timeline begins.
|
|
@@ -6558,12 +6609,12 @@ export const zProjectWageDeterminationHistoryVersionObject = z.discriminatedUnio
|
|
|
6558
6609
|
zRegionalProjectWageDeterminationHistoryVersionObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Regional') })
|
|
6559
6610
|
]);
|
|
6560
6611
|
/**
|
|
6561
|
-
* Parameters for creating a Federal (Davis-Bacon) wage determination on a project.
|
|
6612
|
+
* Parameters for creating a Federal (Davis-Bacon) wage determination on a project. A Federal determination holds no regional rates, so a body sending `regional_fields` returns a 422.
|
|
6562
6613
|
*/
|
|
6563
6614
|
export const zFederalProjectWageDeterminationParameters = z.object({
|
|
6564
6615
|
type: z.enum(['Pwa::ProjectWageDeterminations::Federal']),
|
|
6565
|
-
labor_classification: z.string(),
|
|
6566
|
-
pwa_trade_id: z.string(),
|
|
6616
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6617
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6567
6618
|
hourly_rate_cents: z.string(),
|
|
6568
6619
|
fringe_rate_cents: z.string(),
|
|
6569
6620
|
class_code: z.string().nullish(),
|
|
@@ -6573,20 +6624,38 @@ export const zFederalProjectWageDeterminationParameters = z.object({
|
|
|
6573
6624
|
'highway',
|
|
6574
6625
|
'residential'
|
|
6575
6626
|
]).nullish(),
|
|
6576
|
-
general_wage_determination: z.string().nullish()
|
|
6627
|
+
general_wage_determination: z.string().nullish(),
|
|
6628
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6577
6629
|
});
|
|
6578
6630
|
/**
|
|
6579
6631
|
* Parameters for creating a Regional (state prevailing-wage) wage determination on a project.
|
|
6580
6632
|
*/
|
|
6581
6633
|
export const zRegionalProjectWageDeterminationParameters = z.object({
|
|
6582
6634
|
type: z.enum(['Pwa::ProjectWageDeterminations::Regional']),
|
|
6583
|
-
labor_classification: z.string(),
|
|
6584
|
-
pwa_trade_id: z.string(),
|
|
6635
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6636
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6585
6637
|
hourly_rate_cents: z.string(),
|
|
6586
6638
|
fringe_rate_cents: z.string().optional(),
|
|
6639
|
+
class_code: z.string().nullish(),
|
|
6640
|
+
construction_category: z.enum([
|
|
6641
|
+
'building',
|
|
6642
|
+
'heavy',
|
|
6643
|
+
'highway',
|
|
6644
|
+
'residential'
|
|
6645
|
+
]).nullish(),
|
|
6587
6646
|
general_wage_determination: z.string().nullish(),
|
|
6588
|
-
|
|
6589
|
-
|
|
6647
|
+
regional_fields: z.object({
|
|
6648
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6649
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6650
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6651
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6652
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6653
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6654
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6655
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6656
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6657
|
+
}).optional(),
|
|
6658
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6590
6659
|
});
|
|
6591
6660
|
/**
|
|
6592
6661
|
* Parameters for creating a project wage determination. Provide the Federal or Regional shape; the type discriminator selects which. Editing an existing determination uses the update parameters, which take an `effective_from` instead of a type.
|
|
@@ -6600,9 +6669,9 @@ export const zProjectWageDeterminationParameters = z.discriminatedUnion('type',
|
|
|
6600
6669
|
*/
|
|
6601
6670
|
export const zProjectWageDeterminationUpdateParameters = z.object({
|
|
6602
6671
|
effective_from: z.iso.date().optional(),
|
|
6603
|
-
overtime_package_id: z.string().nullish(),
|
|
6604
|
-
labor_classification: z.string().optional(),
|
|
6605
|
-
pwa_trade_id: z.string().optional(),
|
|
6672
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6673
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6674
|
+
pwa_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6606
6675
|
hourly_rate_cents: z.string().optional(),
|
|
6607
6676
|
fringe_rate_cents: z.string().optional(),
|
|
6608
6677
|
class_code: z.string().nullish(),
|
|
@@ -6613,14 +6682,24 @@ export const zProjectWageDeterminationUpdateParameters = z.object({
|
|
|
6613
6682
|
'residential'
|
|
6614
6683
|
]).nullish(),
|
|
6615
6684
|
general_wage_determination: z.string().nullish(),
|
|
6616
|
-
regional_fields:
|
|
6685
|
+
regional_fields: z.object({
|
|
6686
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6687
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6688
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6689
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6690
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6691
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6692
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6693
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6694
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6695
|
+
}).optional()
|
|
6617
6696
|
});
|
|
6618
6697
|
/**
|
|
6619
6698
|
* Parameters for an effective-dated change to a project wage determination, applying from a calendar date forward. The type is fixed by the determination the id names and is not sent.
|
|
6620
6699
|
*/
|
|
6621
6700
|
export const zProjectWageDeterminationScheduledChangeParameters = z.object({
|
|
6622
6701
|
effective_date: z.iso.date(),
|
|
6623
|
-
labor_classification: z.string().optional(),
|
|
6702
|
+
labor_classification: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6624
6703
|
hourly_rate_cents: z.string().optional(),
|
|
6625
6704
|
fringe_rate_cents: z.string().optional(),
|
|
6626
6705
|
class_code: z.string().nullish(),
|
|
@@ -6631,7 +6710,17 @@ export const zProjectWageDeterminationScheduledChangeParameters = z.object({
|
|
|
6631
6710
|
'residential'
|
|
6632
6711
|
]).nullish(),
|
|
6633
6712
|
general_wage_determination: z.string().nullish(),
|
|
6634
|
-
regional_fields:
|
|
6713
|
+
regional_fields: z.object({
|
|
6714
|
+
combined_health_fringe_rate_cents: z.string().nullish(),
|
|
6715
|
+
combined_savings_fringe_rate_cents: z.string().nullish(),
|
|
6716
|
+
combined_holiday_pto_fringe_rate_cents: z.string().nullish(),
|
|
6717
|
+
training_fringe_rate_cents: z.string().nullish(),
|
|
6718
|
+
other_fringe_rate_cents: z.string().nullish(),
|
|
6719
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
6720
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
6721
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
6722
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
6723
|
+
}).optional()
|
|
6635
6724
|
});
|
|
6636
6725
|
/**
|
|
6637
6726
|
* Parameters for moving where a project wage determination's timeline begins.
|
|
@@ -7471,7 +7560,7 @@ export const zAssetsItemFormAssignmentParameters = z.object({
|
|
|
7471
7560
|
'QUARTERLY'
|
|
7472
7561
|
]).nullish(),
|
|
7473
7562
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
7474
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
7563
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
7475
7564
|
reminders_attributes: z.array(z.object({
|
|
7476
7565
|
offset: z.enum([
|
|
7477
7566
|
'PT0S',
|
|
@@ -7535,7 +7624,7 @@ export const zAssetsItemFormAssignmentUpdateParameters = z.object({
|
|
|
7535
7624
|
'QUARTERLY'
|
|
7536
7625
|
]).nullish(),
|
|
7537
7626
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
7538
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
7627
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
7539
7628
|
reminders_attributes: z.array(z.object({
|
|
7540
7629
|
offset: z.enum([
|
|
7541
7630
|
'PT0S',
|
|
@@ -7910,22 +7999,22 @@ export const zAssetsTransferResponseObject = z.object({
|
|
|
7910
7999
|
updated_at: z.iso.datetime()
|
|
7911
8000
|
});
|
|
7912
8001
|
/**
|
|
7913
|
-
* 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.
|
|
8002
|
+
* Move item stock. Each endpoint is a site, a user, or a container — give at most one per side; more than one on a side, or no endpoint at all, answers 422. 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.
|
|
7914
8003
|
*/
|
|
7915
8004
|
export const zAssetsTransferParameters = z.object({
|
|
7916
|
-
from_assets_site_id: z.string().optional(),
|
|
7917
|
-
from_user_id: z.string().optional(),
|
|
7918
|
-
from_container_item_id: z.string().optional(),
|
|
7919
|
-
|
|
7920
|
-
|
|
7921
|
-
|
|
7922
|
-
|
|
7923
|
-
to_assets_sub_location_id: z.string().
|
|
8005
|
+
from_assets_site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8006
|
+
from_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8007
|
+
from_container_item_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8008
|
+
from_assets_sub_location_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
8009
|
+
to_assets_site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8010
|
+
to_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8011
|
+
to_container_item_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
8012
|
+
to_assets_sub_location_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7924
8013
|
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7925
8014
|
line_items: z.array(z.object({
|
|
7926
|
-
assets_item_id: z.string(),
|
|
8015
|
+
assets_item_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7927
8016
|
quantity: z.int().gte(1)
|
|
7928
|
-
}))
|
|
8017
|
+
})).min(1)
|
|
7929
8018
|
});
|
|
7930
8019
|
/**
|
|
7931
8020
|
* Add stock of a bulk product at a site, recording a receive transaction. Bulk products only.
|
|
@@ -11288,6 +11377,7 @@ export const zGetTimeEntryImportPath = z.object({
|
|
|
11288
11377
|
*/
|
|
11289
11378
|
export const zGetTimeEntryImportResponse = zTimeEntryImportResponseObject;
|
|
11290
11379
|
export const zListPayPeriodsQuery = z.object({
|
|
11380
|
+
'filter[timekeeping_pay_period_config_id]': z.string().optional(),
|
|
11291
11381
|
'filter[start_time][gte]': z.iso.datetime().optional(),
|
|
11292
11382
|
'filter[start_time][lte]': z.iso.datetime().optional(),
|
|
11293
11383
|
filter: z.string().optional(),
|
|
@@ -11300,6 +11390,13 @@ export const zListPayPeriodsQuery = z.object({
|
|
|
11300
11390
|
* Success
|
|
11301
11391
|
*/
|
|
11302
11392
|
export const zListPayPeriodsResponse = zPayPeriodsResponseObject;
|
|
11393
|
+
export const zGetPayPeriodPath = z.object({
|
|
11394
|
+
id: z.string()
|
|
11395
|
+
});
|
|
11396
|
+
/**
|
|
11397
|
+
* Success
|
|
11398
|
+
*/
|
|
11399
|
+
export const zGetPayPeriodResponse = zPayPeriodResponseObject;
|
|
11303
11400
|
/**
|
|
11304
11401
|
* Success
|
|
11305
11402
|
*/
|
|
@@ -11743,6 +11840,7 @@ export const zCreateEmploymentScheduledTerminationPath = z.object({
|
|
|
11743
11840
|
export const zCreateEmploymentScheduledTerminationResponse = zPeopleEmploymentResponseObject;
|
|
11744
11841
|
export const zListEmploymentsQuery = z.object({
|
|
11745
11842
|
'filter[user_id]': z.string().optional(),
|
|
11843
|
+
'filter[companies_department_id]': z.string().optional(),
|
|
11746
11844
|
filter: z.string().optional(),
|
|
11747
11845
|
'filter[unexpected]': z.string().optional(),
|
|
11748
11846
|
'as_of[valid]': z.iso.datetime().optional(),
|
|
@@ -11948,6 +12046,78 @@ export const zUpdateCompletionPath = z.object({
|
|
|
11948
12046
|
* Success
|
|
11949
12047
|
*/
|
|
11950
12048
|
export const zUpdateCompletionResponse = zProductionCompletionResponseObject;
|
|
12049
|
+
export const zListProjectDocumentVersionsPath = z.object({
|
|
12050
|
+
project_id: z.string(),
|
|
12051
|
+
document_id: z.string()
|
|
12052
|
+
});
|
|
12053
|
+
export const zListProjectDocumentVersionsQuery = z.object({
|
|
12054
|
+
'page[cursor]': z.string().optional(),
|
|
12055
|
+
'page[limit]': z.int().gte(1).optional().default(20),
|
|
12056
|
+
page: z.string().optional()
|
|
12057
|
+
});
|
|
12058
|
+
/**
|
|
12059
|
+
* Success
|
|
12060
|
+
*/
|
|
12061
|
+
export const zListProjectDocumentVersionsResponse = z.object({
|
|
12062
|
+
meta: zMeta,
|
|
12063
|
+
links: zLinks,
|
|
12064
|
+
data: z.array(zProjectDocumentVersionResponseObject)
|
|
12065
|
+
});
|
|
12066
|
+
export const zListProjectDocumentsPath = z.object({
|
|
12067
|
+
project_id: z.string()
|
|
12068
|
+
});
|
|
12069
|
+
export const zListProjectDocumentsQuery = z.object({
|
|
12070
|
+
'filter[created_at][gte]': z.iso.datetime().optional(),
|
|
12071
|
+
'filter[created_at][lte]': z.iso.datetime().optional(),
|
|
12072
|
+
'filter[updated_at][gte]': z.iso.datetime().optional(),
|
|
12073
|
+
'filter[updated_at][lte]': z.iso.datetime().optional(),
|
|
12074
|
+
'page[cursor]': z.string().optional(),
|
|
12075
|
+
'page[limit]': z.int().gte(1).optional().default(20),
|
|
12076
|
+
page: z.string().optional(),
|
|
12077
|
+
filter: z.string().optional(),
|
|
12078
|
+
'filter[unexpected]': z.string().optional()
|
|
12079
|
+
});
|
|
12080
|
+
/**
|
|
12081
|
+
* Success
|
|
12082
|
+
*/
|
|
12083
|
+
export const zListProjectDocumentsResponse = z.object({
|
|
12084
|
+
meta: zMeta,
|
|
12085
|
+
links: zLinks,
|
|
12086
|
+
data: z.array(zProjectDocumentResponseObject)
|
|
12087
|
+
});
|
|
12088
|
+
export const zCreateProjectDocumentBody = zProjectDocumentParameters;
|
|
12089
|
+
export const zCreateProjectDocumentPath = z.object({
|
|
12090
|
+
project_id: z.string()
|
|
12091
|
+
});
|
|
12092
|
+
/**
|
|
12093
|
+
* Created
|
|
12094
|
+
*/
|
|
12095
|
+
export const zCreateProjectDocumentResponse = zProjectDocumentResponseObject;
|
|
12096
|
+
export const zDeleteProjectDocumentPath = z.object({
|
|
12097
|
+
project_id: z.string(),
|
|
12098
|
+
id: z.string()
|
|
12099
|
+
});
|
|
12100
|
+
/**
|
|
12101
|
+
* No Content
|
|
12102
|
+
*/
|
|
12103
|
+
export const zDeleteProjectDocumentResponse = z.void();
|
|
12104
|
+
export const zGetProjectDocumentPath = z.object({
|
|
12105
|
+
project_id: z.string(),
|
|
12106
|
+
id: z.string()
|
|
12107
|
+
});
|
|
12108
|
+
/**
|
|
12109
|
+
* Success
|
|
12110
|
+
*/
|
|
12111
|
+
export const zGetProjectDocumentResponse = zProjectDocumentResponseObject;
|
|
12112
|
+
export const zUpdateProjectDocumentBody = zProjectDocumentUpdateParameters;
|
|
12113
|
+
export const zUpdateProjectDocumentPath = z.object({
|
|
12114
|
+
project_id: z.string(),
|
|
12115
|
+
id: z.string()
|
|
12116
|
+
});
|
|
12117
|
+
/**
|
|
12118
|
+
* Success
|
|
12119
|
+
*/
|
|
12120
|
+
export const zUpdateProjectDocumentResponse = zProjectDocumentResponseObject;
|
|
11951
12121
|
export const zCreateProjectTradeBody = zPwaTradeParameters;
|
|
11952
12122
|
export const zCreateProjectTradePath = z.object({
|
|
11953
12123
|
project_id: z.string()
|
|
@@ -12405,7 +12575,7 @@ export const zCreateFormAssignmentTaskBody = z.object({
|
|
|
12405
12575
|
'QUARTERLY'
|
|
12406
12576
|
]).optional(),
|
|
12407
12577
|
recurrence_end_time: z.string().optional(),
|
|
12408
|
-
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
12578
|
+
task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
12409
12579
|
reminders_attributes: z.array(z.object({
|
|
12410
12580
|
offset: z.enum([
|
|
12411
12581
|
'PT0S',
|
|
@@ -13249,7 +13419,7 @@ export const zCreateCompanyPath = z.object({
|
|
|
13249
13419
|
export const zCreateCompanyResponse = zUserResponseObject;
|
|
13250
13420
|
export const zRemoveUserFromCompanyPath = z.object({
|
|
13251
13421
|
user_id: z.string(),
|
|
13252
|
-
|
|
13422
|
+
id: z.string()
|
|
13253
13423
|
});
|
|
13254
13424
|
/**
|
|
13255
13425
|
* Success
|
|
@@ -13261,7 +13431,7 @@ export const zRemoveUserFromCompanyResponse = zUserResponseObject;
|
|
|
13261
13431
|
export const zUpdateCompanyBody = zUserCompanyParameters;
|
|
13262
13432
|
export const zUpdateCompanyPath = z.object({
|
|
13263
13433
|
user_id: z.string(),
|
|
13264
|
-
|
|
13434
|
+
id: z.string()
|
|
13265
13435
|
});
|
|
13266
13436
|
/**
|
|
13267
13437
|
* Success
|