@dsptch-work/api-client 0.30.0 → 0.32.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 +66 -0
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.js +1 -1
- package/dist/gen/sdk.gen.d.ts +395 -12
- package/dist/gen/sdk.gen.js +594 -12
- package/dist/gen/types.gen.d.ts +5285 -2958
- package/dist/gen/zod.gen.d.ts +3780 -1319
- package/dist/gen/zod.gen.js +1080 -323
- package/package.json +1 -1
package/dist/gen/zod.gen.js
CHANGED
|
@@ -58,7 +58,7 @@ export const zProblem = z.object({
|
|
|
58
58
|
*
|
|
59
59
|
* **Malformed Request Body**
|
|
60
60
|
*
|
|
61
|
-
* The request body could not be parsed in the declared content type — most commonly a body that is not valid JSON. Send a well-formed body matching the `Content-Type` header.
|
|
61
|
+
* The request body could not be parsed in the declared content type — most commonly a body that is not valid JSON. Send a well-formed body matching the `Content-Type` header. A JSON object that repeats a key, at any depth, is refused too rather than resolved to one of its values; send each key once per object.
|
|
62
62
|
*
|
|
63
63
|
* ### non_range_filter_value
|
|
64
64
|
*
|
|
@@ -82,7 +82,7 @@ export const zProblem = z.object({
|
|
|
82
82
|
*
|
|
83
83
|
* **Required Parameter Missing**
|
|
84
84
|
*
|
|
85
|
-
* A required request parameter is absent
|
|
85
|
+
* A required request parameter is absent. Some older endpoints also treat an empty value as absent. The message names the parameter; supply it and retry.
|
|
86
86
|
*
|
|
87
87
|
* ### parameter_not_object
|
|
88
88
|
*
|
|
@@ -164,6 +164,12 @@ export const zProblem = z.object({
|
|
|
164
164
|
*
|
|
165
165
|
* ## 409
|
|
166
166
|
*
|
|
167
|
+
* ### already_subscribed
|
|
168
|
+
*
|
|
169
|
+
* **Already Subscribed**
|
|
170
|
+
*
|
|
171
|
+
* The user already holds this subscription, with other delivery methods than the request names. Subscribing again never changes a held subscription: delete it, then subscribe with the delivery methods you want.
|
|
172
|
+
*
|
|
167
173
|
* ### already_terminated
|
|
168
174
|
*
|
|
169
175
|
* **Termination Already Scheduled**
|
|
@@ -380,6 +386,7 @@ export const zProblemTypeCatalog = z.enum([
|
|
|
380
386
|
'insufficient_api_key_scope',
|
|
381
387
|
'user_scoped_key_required',
|
|
382
388
|
'not_found',
|
|
389
|
+
'already_subscribed',
|
|
383
390
|
'already_terminated',
|
|
384
391
|
'import_in_progress',
|
|
385
392
|
'pay_schedule_already_exists',
|
|
@@ -471,6 +478,102 @@ export const zDirectUploadResponseObject = z.object({
|
|
|
471
478
|
headers: z.record(z.string(), z.string())
|
|
472
479
|
})
|
|
473
480
|
});
|
|
481
|
+
/**
|
|
482
|
+
* A durable standing. The candidate passed the standard at level_sort_order. There is no level id, so the standing survives the next revision. This API does not create or update qualifications.
|
|
483
|
+
*/
|
|
484
|
+
export const zCompetencyQualificationResponseObject = z.object({
|
|
485
|
+
id: z.string(),
|
|
486
|
+
candidate_user_id: z.string(),
|
|
487
|
+
competencies_standard_id: z.string(),
|
|
488
|
+
level_sort_order: z.int(),
|
|
489
|
+
awarded_at: z.iso.datetime(),
|
|
490
|
+
last_verified_at: z.iso.datetime(),
|
|
491
|
+
created_at: z.iso.datetime(),
|
|
492
|
+
updated_at: z.iso.datetime()
|
|
493
|
+
});
|
|
494
|
+
/**
|
|
495
|
+
* An assessment pinned to one level on one revision. competencies_standard_version_id is that revision, not whatever revision is active now. outcome is null until the assessment is decided. Submit, claim, return, and decide are web-only.
|
|
496
|
+
*/
|
|
497
|
+
export const zCompetencyAssessmentResponseObject = z.object({
|
|
498
|
+
id: z.string(),
|
|
499
|
+
candidate_user_id: z.string(),
|
|
500
|
+
competencies_level_id: z.string(),
|
|
501
|
+
level_sort_order: z.int(),
|
|
502
|
+
competencies_standard_version_id: z.string(),
|
|
503
|
+
competencies_standard_id: z.string(),
|
|
504
|
+
predecessor_assessment_id: z.string().nullable(),
|
|
505
|
+
status: z.enum([
|
|
506
|
+
'evidence_collection',
|
|
507
|
+
'submitted',
|
|
508
|
+
'in_review',
|
|
509
|
+
'decided'
|
|
510
|
+
]),
|
|
511
|
+
outcome: z.enum(['competent', 'not_yet_competent']).nullable(),
|
|
512
|
+
requested_by_user_id: z.string(),
|
|
513
|
+
requested_at: z.iso.datetime(),
|
|
514
|
+
submitted_by_user_id: z.string().nullable(),
|
|
515
|
+
submitted_at: z.iso.datetime().nullable(),
|
|
516
|
+
claimed_by_user_id: z.string().nullable(),
|
|
517
|
+
claimed_at: z.iso.datetime().nullable(),
|
|
518
|
+
decided_by_user_id: z.string().nullable(),
|
|
519
|
+
decided_at: z.iso.datetime().nullable(),
|
|
520
|
+
created_at: z.iso.datetime(),
|
|
521
|
+
updated_at: z.iso.datetime()
|
|
522
|
+
});
|
|
523
|
+
/**
|
|
524
|
+
* One task line on an assessment. decision and qa_feedback are omitted, not null, when the caller is the candidate and the package is not yet decided.
|
|
525
|
+
*/
|
|
526
|
+
export const zCompetencyAssessmentKeyActivityResponseObject = z.object({
|
|
527
|
+
id: z.string(),
|
|
528
|
+
competencies_assessment_id: z.string(),
|
|
529
|
+
competencies_key_activity_id: z.string(),
|
|
530
|
+
assessment_methods: z.array(z.enum([
|
|
531
|
+
'direct_observation',
|
|
532
|
+
'simulation',
|
|
533
|
+
'oral_questioning',
|
|
534
|
+
'written_questioning',
|
|
535
|
+
'products_of_work',
|
|
536
|
+
'recognized_prior_learning',
|
|
537
|
+
'witness_testimony',
|
|
538
|
+
'other'
|
|
539
|
+
])),
|
|
540
|
+
aa_feedback: z.string().nullable(),
|
|
541
|
+
evidence_submitted_on: z.iso.date().nullable(),
|
|
542
|
+
assessed_by_user_id: z.string().nullable(),
|
|
543
|
+
assessed_at: z.iso.datetime().nullable(),
|
|
544
|
+
carried_from_id: z.string().nullable(),
|
|
545
|
+
decided_at: z.iso.datetime().nullable(),
|
|
546
|
+
decision: z.enum([
|
|
547
|
+
'pending',
|
|
548
|
+
'competent',
|
|
549
|
+
'not_yet_competent'
|
|
550
|
+
]).optional(),
|
|
551
|
+
qa_feedback: z.string().nullish(),
|
|
552
|
+
created_at: z.iso.datetime(),
|
|
553
|
+
updated_at: z.iso.datetime()
|
|
554
|
+
});
|
|
555
|
+
/**
|
|
556
|
+
* One piece of evidence on an assessment line. File bytes are not served. file_name, file_byte_size, and file_content_type describe an upload and are null for other kinds.
|
|
557
|
+
*/
|
|
558
|
+
export const zCompetencyEvidenceItemResponseObject = z.object({
|
|
559
|
+
id: z.string(),
|
|
560
|
+
competencies_assessment_key_activity_id: z.string(),
|
|
561
|
+
kind: z.enum([
|
|
562
|
+
'upload',
|
|
563
|
+
'form_submission',
|
|
564
|
+
'certification'
|
|
565
|
+
]),
|
|
566
|
+
description: z.string().nullable(),
|
|
567
|
+
captured_on: z.iso.date(),
|
|
568
|
+
form_submission_id: z.string().nullable(),
|
|
569
|
+
user_certification_id: z.string().nullable(),
|
|
570
|
+
added_by_user_id: z.string(),
|
|
571
|
+
file_name: z.string().nullable(),
|
|
572
|
+
file_byte_size: z.int().nullable(),
|
|
573
|
+
file_content_type: z.string().nullable(),
|
|
574
|
+
created_at: z.iso.datetime(),
|
|
575
|
+
updated_at: z.iso.datetime()
|
|
576
|
+
});
|
|
474
577
|
/**
|
|
475
578
|
* A DOL-registered apprenticeship program, sponsored by a company and visible to its sponsor and enrolled employers.
|
|
476
579
|
*/
|
|
@@ -629,27 +732,27 @@ export const zApprenticeshipAllocationResponseObject = z.object({
|
|
|
629
732
|
* Record hours toward an apprentice's wage progression. Creation requires a user-scoped API key, since the row attributes the hours to the person who recorded them. Omit timekeeping_time_card_id for a standalone allocation entered outside the time card system, or supply it to link the allocation to one of the apprentice's own time cards; the effective timestamp then derives from the card's pay period and cannot be overridden. Recording the allocation rebuilds progression and requests wage repricing in the background.
|
|
630
733
|
*/
|
|
631
734
|
export const zApprenticeshipAllocationCreateParameters = z.object({
|
|
632
|
-
|
|
633
|
-
|
|
735
|
+
timekeeping_time_card_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
736
|
+
apprenticeship_work_process_category_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
634
737
|
minutes: z.int(),
|
|
635
|
-
description: z.string().
|
|
636
|
-
allocated_at: z.
|
|
738
|
+
description: z.string().nullish(),
|
|
739
|
+
allocated_at: z.string().optional()
|
|
637
740
|
});
|
|
638
741
|
/**
|
|
639
742
|
* Correct an existing allocation's hours, work process category, description, or (for a standalone allocation) effective timestamp. The time card an allocation is linked to cannot be changed after creation. Any change that shifts progression rebuilds it and requests historical wage repricing in the background, including locked time cards.
|
|
640
743
|
*/
|
|
641
744
|
export const zApprenticeshipAllocationUpdateParameters = z.object({
|
|
642
|
-
apprenticeship_work_process_category_id: z.string().nullish(),
|
|
745
|
+
apprenticeship_work_process_category_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
643
746
|
minutes: z.int().optional(),
|
|
644
747
|
description: z.string().nullish(),
|
|
645
|
-
allocated_at: z.
|
|
748
|
+
allocated_at: z.string().optional()
|
|
646
749
|
});
|
|
647
750
|
/**
|
|
648
|
-
* Enroll a user as an apprentice under an employer in a program; the employing program-employer record is derived from the enrolling company and the program in the URL path. Apprentices cannot be updated through the API, only created.
|
|
751
|
+
* Enroll a user as an apprentice under an employer in a program; the employing program-employer record is derived from the enrolling company and the program in the URL path. Apprentices cannot be updated through the API, only created. Omitting a required field answers 400; a null for a non-nullable field, a blank ID, a wrong JSON type, an unlisted status, or a date that is not a YYYY-MM-DD calendar date answers 422.
|
|
649
752
|
*/
|
|
650
753
|
export const zApprenticeshipApprenticeParameters = z.object({
|
|
651
|
-
apprenticeship_wage_schedule_id: z.string(),
|
|
652
|
-
user_id: z.string(),
|
|
754
|
+
apprenticeship_wage_schedule_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
755
|
+
user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
653
756
|
status: z.enum([
|
|
654
757
|
'active',
|
|
655
758
|
'pending',
|
|
@@ -667,7 +770,7 @@ export const zApprenticeshipApprenticeParameters = z.object({
|
|
|
667
770
|
operative_end_date: z.iso.date().nullish()
|
|
668
771
|
});
|
|
669
772
|
/**
|
|
670
|
-
* Create an apprenticeship program sponsored by your company; the sponsor is always your company and is never taken from the request body.
|
|
773
|
+
* Create an apprenticeship program sponsored by your company; the sponsor is always your company and is never taken from the request body. Omitting program_number answers 400; a null for a non-nullable field, a wrong JSON type, or an unlisted registration_agency_type answers 422.
|
|
671
774
|
*/
|
|
672
775
|
export const zApprenticeshipProgramParameters = z.object({
|
|
673
776
|
program_number: z.string(),
|
|
@@ -677,7 +780,7 @@ export const zApprenticeshipProgramParameters = z.object({
|
|
|
677
780
|
registration_agency_type: z.enum(['federal', 'regional']).nullish()
|
|
678
781
|
});
|
|
679
782
|
/**
|
|
680
|
-
* Update an apprenticeship program sponsored by your company. Send only the fields to change; the sponsor is fixed to your company.
|
|
783
|
+
* Update an apprenticeship program sponsored by your company. Send only the fields to change; the sponsor is fixed to your company. A null for a non-nullable field, a wrong JSON type, or an unlisted registration_agency_type answers 422.
|
|
681
784
|
*/
|
|
682
785
|
export const zApprenticeshipProgramUpdateParameters = z.object({
|
|
683
786
|
program_number: z.string().optional(),
|
|
@@ -687,7 +790,7 @@ export const zApprenticeshipProgramUpdateParameters = z.object({
|
|
|
687
790
|
registration_agency_type: z.enum(['federal', 'regional']).nullish()
|
|
688
791
|
});
|
|
689
792
|
/**
|
|
690
|
-
* Create an occupation (trade) within a sponsored program; the program is taken from the URL path.
|
|
793
|
+
* Create an occupation (trade) within a sponsored program; the program is taken from the URL path. Omitting a required field answers 400; a null for a non-nullable field, a wrong JSON type, or an unlisted occupation_type answers 422.
|
|
691
794
|
*/
|
|
692
795
|
export const zApprenticeshipOccupationParameters = z.object({
|
|
693
796
|
rapids_code: z.string(),
|
|
@@ -705,7 +808,7 @@ export const zApprenticeshipOccupationParameters = z.object({
|
|
|
705
808
|
num_journeyworkers: z.int()
|
|
706
809
|
});
|
|
707
810
|
/**
|
|
708
|
-
* Update an occupation (trade) within a sponsored program. Send only the fields to change; the program is taken from the URL path.
|
|
811
|
+
* Update an occupation (trade) within a sponsored program. Send only the fields to change; the program is taken from the URL path. A null for a non-nullable field, a wrong JSON type, or an unlisted occupation_type answers 422.
|
|
709
812
|
*/
|
|
710
813
|
export const zApprenticeshipOccupationUpdateParameters = z.object({
|
|
711
814
|
rapids_code: z.string().optional(),
|
|
@@ -726,14 +829,14 @@ export const zApprenticeshipOccupationUpdateParameters = z.object({
|
|
|
726
829
|
* Create an authorization for an employer to employ apprentices in a program; only the program's sponsor may manage this roster.
|
|
727
830
|
*/
|
|
728
831
|
export const zApprenticeshipProgramEmployerParameters = z.object({
|
|
729
|
-
company_id: z.string(),
|
|
832
|
+
company_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
730
833
|
require_timecard_allocation: z.boolean().optional()
|
|
731
834
|
});
|
|
732
835
|
/**
|
|
733
836
|
* Update an employer authorization in a program. Send only the fields to change; only the program's sponsor may manage this roster, and a company-scoped key may change only the row naming its own company.
|
|
734
837
|
*/
|
|
735
838
|
export const zApprenticeshipProgramEmployerUpdateParameters = z.object({
|
|
736
|
-
company_id: z.string().optional(),
|
|
839
|
+
company_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
737
840
|
require_timecard_allocation: z.boolean().optional()
|
|
738
841
|
});
|
|
739
842
|
/**
|
|
@@ -943,17 +1046,17 @@ export const zPeopleEmploymentResponseObject = z.object({
|
|
|
943
1046
|
* Create a distinct employment stint for an existing user in the credential company. Only user_id and hire_date are required; omitted optional fields use the defaults or null values described below. This does not create a user, invitation, role, group, or login identity.
|
|
944
1047
|
*/
|
|
945
1048
|
export const zPeopleEmploymentCreateParameters = z.object({
|
|
946
|
-
user_id: z.string(),
|
|
1049
|
+
user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
947
1050
|
hire_date: z.iso.date(),
|
|
948
1051
|
type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
|
|
949
1052
|
title: z.string().nullish(),
|
|
950
|
-
manager_user_id: z.string().nullish(),
|
|
1053
|
+
manager_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
951
1054
|
payroll_id: z.string().nullish(),
|
|
952
1055
|
enrolled_in_t_and_a: z.boolean().optional(),
|
|
953
1056
|
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
954
1057
|
hourly_rate_cents: z.string().nullish(),
|
|
955
1058
|
overtime_eligible: z.boolean().nullish(),
|
|
956
|
-
overtime_package_id: z.string().nullish(),
|
|
1059
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
957
1060
|
worked_annual_minutes: z.int().nullish(),
|
|
958
1061
|
pto_annual_minutes: z.int().nullish(),
|
|
959
1062
|
holiday_annual_minutes: z.int().nullish(),
|
|
@@ -966,10 +1069,11 @@ export const zPeopleEmploymentCreateParameters = z.object({
|
|
|
966
1069
|
* Request body for creating one employment boundary. effective_date is required and is interpreted at midnight in the credential company's time zone. Today and past dates must fall inside the family's latest version, before its termination; future dates retain scheduling behavior. Send at least one value to change; omitted values carry forward from the version immediately before the new boundary.
|
|
967
1070
|
*/
|
|
968
1071
|
export const zPeopleEmploymentScheduledChangeCreateParameters = z.object({
|
|
1072
|
+
effective_date: z.iso.date(),
|
|
969
1073
|
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
970
1074
|
hourly_rate_cents: z.string().nullish(),
|
|
971
1075
|
overtime_eligible: z.boolean().nullish(),
|
|
972
|
-
overtime_package_id: z.string().nullish(),
|
|
1076
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
973
1077
|
worked_annual_minutes: z.int().nullish(),
|
|
974
1078
|
pto_annual_minutes: z.int().nullish(),
|
|
975
1079
|
holiday_annual_minutes: z.int().nullish(),
|
|
@@ -977,8 +1081,7 @@ export const zPeopleEmploymentScheduledChangeCreateParameters = z.object({
|
|
|
977
1081
|
training_annual_amount_cents: z.string().nullish(),
|
|
978
1082
|
employer_combined_health_amount_cents: z.string().nullish(),
|
|
979
1083
|
employer_combined_savings_cents: z.string().nullish(),
|
|
980
|
-
companies_department_id: z.string().nullish()
|
|
981
|
-
effective_date: z.iso.date()
|
|
1084
|
+
companies_department_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
982
1085
|
});
|
|
983
1086
|
/**
|
|
984
1087
|
* Request body for changing values at one exact employment boundary. Today and past dates must name the latest version's start; future exact boundaries remain editable. Send only the fields to change; omitted values remain as recorded at that boundary. The boundary date cannot move.
|
|
@@ -987,7 +1090,7 @@ export const zPeopleEmploymentScheduledChangeUpdateParameters = z.object({
|
|
|
987
1090
|
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
988
1091
|
hourly_rate_cents: z.string().nullish(),
|
|
989
1092
|
overtime_eligible: z.boolean().nullish(),
|
|
990
|
-
overtime_package_id: z.string().nullish(),
|
|
1093
|
+
overtime_package_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
991
1094
|
worked_annual_minutes: z.int().nullish(),
|
|
992
1095
|
pto_annual_minutes: z.int().nullish(),
|
|
993
1096
|
holiday_annual_minutes: z.int().nullish(),
|
|
@@ -995,13 +1098,13 @@ export const zPeopleEmploymentScheduledChangeUpdateParameters = z.object({
|
|
|
995
1098
|
training_annual_amount_cents: z.string().nullish(),
|
|
996
1099
|
employer_combined_health_amount_cents: z.string().nullish(),
|
|
997
1100
|
employer_combined_savings_cents: z.string().nullish(),
|
|
998
|
-
companies_department_id: z.string().nullish()
|
|
1101
|
+
companies_department_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
999
1102
|
});
|
|
1000
1103
|
/**
|
|
1001
1104
|
* Parameters for moving where an employment stint's valid-time timeline begins.
|
|
1002
1105
|
*/
|
|
1003
1106
|
export const zPeopleEmploymentGenesisParameters = z.object({
|
|
1004
|
-
effective_date: z.iso.date()
|
|
1107
|
+
effective_date: z.iso.date()
|
|
1005
1108
|
});
|
|
1006
1109
|
/**
|
|
1007
1110
|
* Parameters for scheduling when an employment stint stops being valid.
|
|
@@ -1015,7 +1118,7 @@ export const zPeopleEmploymentScheduledTerminationParameters = z.object({
|
|
|
1015
1118
|
export const zPeopleEmploymentUpdateParameters = z.object({
|
|
1016
1119
|
type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
|
|
1017
1120
|
title: z.string().nullish(),
|
|
1018
|
-
manager_user_id: z.string().nullish(),
|
|
1121
|
+
manager_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
1019
1122
|
payroll_id: z.string().nullish(),
|
|
1020
1123
|
enrolled_in_t_and_a: z.boolean().optional()
|
|
1021
1124
|
});
|
|
@@ -1267,7 +1370,7 @@ export const zPerDiemResponseObject = z.object({
|
|
|
1267
1370
|
updated_at: z.iso.datetime()
|
|
1268
1371
|
});
|
|
1269
1372
|
/**
|
|
1270
|
-
* Request body for creating a per diem. name, currency, and rate_cents are required.
|
|
1373
|
+
* Request body for creating a per diem. Send fields in JSON; the per diem belongs to the company that owns the API key. name, currency, and rate_cents are required.
|
|
1271
1374
|
*/
|
|
1272
1375
|
export const zPerDiemParameters = z.object({
|
|
1273
1376
|
name: z.string(),
|
|
@@ -1277,11 +1380,11 @@ export const zPerDiemParameters = z.object({
|
|
|
1277
1380
|
taxable: z.boolean().optional(),
|
|
1278
1381
|
default: z.boolean().nullish(),
|
|
1279
1382
|
active: z.boolean().nullish(),
|
|
1280
|
-
work_type_ids: z.array(z.string()).optional(),
|
|
1281
|
-
timekeeping_timecode_ids: z.array(z.string()).optional()
|
|
1383
|
+
work_type_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
1384
|
+
timekeeping_timecode_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
1282
1385
|
});
|
|
1283
1386
|
/**
|
|
1284
|
-
* Request body for updating a per diem. Send only
|
|
1387
|
+
* Request body for updating a per diem. Send only fields to change in JSON; omitted fields remain unchanged.
|
|
1285
1388
|
*/
|
|
1286
1389
|
export const zPerDiemUpdateParameters = z.object({
|
|
1287
1390
|
name: z.string().optional(),
|
|
@@ -1291,8 +1394,8 @@ export const zPerDiemUpdateParameters = z.object({
|
|
|
1291
1394
|
taxable: z.boolean().optional(),
|
|
1292
1395
|
default: z.boolean().nullish(),
|
|
1293
1396
|
active: z.boolean().nullish(),
|
|
1294
|
-
work_type_ids: z.array(z.string()).optional(),
|
|
1295
|
-
timekeeping_timecode_ids: z.array(z.string()).optional()
|
|
1397
|
+
work_type_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
1398
|
+
timekeeping_timecode_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
1296
1399
|
});
|
|
1297
1400
|
/**
|
|
1298
1401
|
* The filled attribute values of a product or item — one entry per attribute its category makes fillable on that record.
|
|
@@ -1423,17 +1526,17 @@ export const zDepartmentResponseObject = z.object({
|
|
|
1423
1526
|
updated_at: z.iso.datetime()
|
|
1424
1527
|
});
|
|
1425
1528
|
/**
|
|
1426
|
-
* Request body for creating a department.
|
|
1529
|
+
* Request body for creating a department. Send fields in JSON; the department belongs to the company that owns the API key.
|
|
1427
1530
|
*/
|
|
1428
1531
|
export const zDepartmentParameters = z.object({
|
|
1429
|
-
name: z.string()
|
|
1532
|
+
name: z.string(),
|
|
1430
1533
|
description: z.string().nullish()
|
|
1431
1534
|
});
|
|
1432
1535
|
/**
|
|
1433
|
-
* Request body for updating a department. Send only
|
|
1536
|
+
* Request body for updating a department. Send only fields to change in JSON; omitted fields remain unchanged.
|
|
1434
1537
|
*/
|
|
1435
1538
|
export const zDepartmentUpdateParameters = z.object({
|
|
1436
|
-
name: z.string().
|
|
1539
|
+
name: z.string().optional(),
|
|
1437
1540
|
description: z.string().nullish()
|
|
1438
1541
|
});
|
|
1439
1542
|
/**
|
|
@@ -1456,16 +1559,16 @@ export const zTimeCardPerDiemResponseObject = z.object({
|
|
|
1456
1559
|
*/
|
|
1457
1560
|
export const zTimeCardPerDiemParameters = z.object({
|
|
1458
1561
|
date: z.iso.date(),
|
|
1459
|
-
approver_user_id: z.string(),
|
|
1460
|
-
per_diem_id: z.string().
|
|
1562
|
+
approver_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
1563
|
+
per_diem_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
1461
1564
|
});
|
|
1462
1565
|
/**
|
|
1463
1566
|
* Request body for updating a per diem recorded on a time card. Send only the fields to change; the time card comes from the URL path.
|
|
1464
1567
|
*/
|
|
1465
1568
|
export const zTimeCardPerDiemUpdateParameters = z.object({
|
|
1466
1569
|
date: z.iso.date().optional(),
|
|
1467
|
-
approver_user_id: z.string().optional(),
|
|
1468
|
-
per_diem_id: z.string().
|
|
1570
|
+
approver_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
1571
|
+
per_diem_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
1469
1572
|
});
|
|
1470
1573
|
/**
|
|
1471
1574
|
* A holiday on a pay schedule's holiday calendar — a fixed (month + day) or floating (nth weekday of a month) date that gets holiday-pay treatment when a time entry's timecode opts into holiday handling.
|
|
@@ -1502,12 +1605,12 @@ export const zAttestationConfigResponseObject = z.object({
|
|
|
1502
1605
|
updated_at: z.iso.datetime()
|
|
1503
1606
|
});
|
|
1504
1607
|
/**
|
|
1505
|
-
* Create an attestation config on a pay schedule; content and expected_response are required. The pay schedule is taken from the URL path.
|
|
1608
|
+
* Create an attestation config on a pay schedule; content and expected_response are required, and omitting either answers 400. A null or wrong-typed value answers 422. The pay schedule is taken from the URL path.
|
|
1506
1609
|
*/
|
|
1507
1610
|
export const zAttestationConfigParameters = z.object({
|
|
1508
1611
|
content: z.string(),
|
|
1509
1612
|
expected_response: z.boolean(),
|
|
1510
|
-
us_state_id: z.string().nullish()
|
|
1613
|
+
us_state_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
1511
1614
|
});
|
|
1512
1615
|
/**
|
|
1513
1616
|
* Create the company's first pay schedule. Time and payroll modes inherit company defaults.
|
|
@@ -1525,15 +1628,15 @@ export const zPayPeriodConfigParameters = z.object({
|
|
|
1525
1628
|
z.literal(6)
|
|
1526
1629
|
]),
|
|
1527
1630
|
tz_name: z.string(),
|
|
1528
|
-
currency: z.string().optional()
|
|
1529
|
-
rounding_interval: z.union([z.literal(1), z.literal(15)]).optional()
|
|
1631
|
+
currency: z.string().optional(),
|
|
1632
|
+
rounding_interval: z.union([z.literal(1), z.literal(15)]).optional(),
|
|
1530
1633
|
payroll_system: z.enum([
|
|
1531
1634
|
'rippling',
|
|
1532
1635
|
'quickbooks_online',
|
|
1533
1636
|
'paychex',
|
|
1534
1637
|
'gusto'
|
|
1535
1638
|
]).nullish(),
|
|
1536
|
-
paid_after_holiday: z.boolean().optional()
|
|
1639
|
+
paid_after_holiday: z.boolean().optional(),
|
|
1537
1640
|
arrear_days: z.int().gte(0),
|
|
1538
1641
|
pay_run_deadline_days: z.int().gte(1),
|
|
1539
1642
|
pay_run_deadline_clock_time: z.string().regex(/^([01][0-9]|2[0-3]):[0-5][0-9]$/),
|
|
@@ -1662,13 +1765,13 @@ export const zPayPeriodConfigHistoryVersionObject = z.object({
|
|
|
1662
1765
|
corrections: z.array(zPayPeriodConfigHistoryCorrectionObject)
|
|
1663
1766
|
});
|
|
1664
1767
|
/**
|
|
1665
|
-
* Create a holiday on a pay schedule. name, holiday_type
|
|
1768
|
+
* Create a holiday on a pay schedule. name is required. Send date alone for a fixed holiday on that date, or holiday_type and month with mday (fixed) or wday + week (floating).
|
|
1666
1769
|
*/
|
|
1667
1770
|
export const zHolidayParameters = z.object({
|
|
1668
1771
|
name: z.string(),
|
|
1669
1772
|
date: z.iso.date().optional(),
|
|
1670
|
-
holiday_type: z.enum(['fixed', 'floating']),
|
|
1671
|
-
month: z.int(),
|
|
1773
|
+
holiday_type: z.enum(['fixed', 'floating']).optional(),
|
|
1774
|
+
month: z.int().optional(),
|
|
1672
1775
|
mday: z.int().optional(),
|
|
1673
1776
|
wday: z.int().optional(),
|
|
1674
1777
|
week: z.int().optional(),
|
|
@@ -2003,7 +2106,7 @@ export const zPwaTradeUpdateParameters = z.object({
|
|
|
2003
2106
|
* Parameters for merging one PWA trade (craft) into another in the same pool.
|
|
2004
2107
|
*/
|
|
2005
2108
|
export const zPwaTradeMergeParameters = z.object({
|
|
2006
|
-
target_trade_id: z.string()
|
|
2109
|
+
target_trade_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2007
2110
|
});
|
|
2008
2111
|
/**
|
|
2009
2112
|
* A reviewed apprentice-scope decision pairing a registered apprenticeship occupation with a craft (trade). The row's existence means the pair was reviewed; scope_status carries the verdict. A pair with no row is undecided and denies apprentice treatment.
|
|
@@ -2020,14 +2123,14 @@ export const zPwaTradeApprenticeshipOccupationResponseObject = z.object({
|
|
|
2020
2123
|
* Parameters for recording an apprentice-scope decision on a trade.
|
|
2021
2124
|
*/
|
|
2022
2125
|
export const zPwaTradeApprenticeshipOccupationCreateParameters = z.object({
|
|
2023
|
-
apprenticeship_occupation_id: z.string(),
|
|
2024
|
-
scope_status: z.enum(['in_scope', 'out_of_scope']).
|
|
2126
|
+
apprenticeship_occupation_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
2127
|
+
scope_status: z.enum(['in_scope', 'out_of_scope']).optional()
|
|
2025
2128
|
});
|
|
2026
2129
|
/**
|
|
2027
2130
|
* Parameters for flipping an existing apprentice-scope decision's verdict.
|
|
2028
2131
|
*/
|
|
2029
2132
|
export const zPwaTradeApprenticeshipOccupationUpdateParameters = z.object({
|
|
2030
|
-
scope_status: z.enum(['in_scope', 'out_of_scope']).
|
|
2133
|
+
scope_status: z.enum(['in_scope', 'out_of_scope']).optional()
|
|
2031
2134
|
});
|
|
2032
2135
|
/**
|
|
2033
2136
|
* Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting. Common fields are always present when this object exists; regional fields appear only when applicable to the job's region and regional PWA mode. The property is null when no PWA details have been configured; PWA tracking modes alone do not materialize it.
|
|
@@ -2068,13 +2171,13 @@ export const zGroupResponseObject = z.object({
|
|
|
2068
2171
|
updated_at: z.iso.datetime()
|
|
2069
2172
|
});
|
|
2070
2173
|
/**
|
|
2071
|
-
* Request body for creating a group.
|
|
2174
|
+
* Request body for creating a group. Send fields in JSON; the group belongs to the company that owns the API key.
|
|
2072
2175
|
*/
|
|
2073
2176
|
export const zGroupParameters = z.object({
|
|
2074
2177
|
name: z.string()
|
|
2075
2178
|
});
|
|
2076
2179
|
/**
|
|
2077
|
-
* Request body for updating a group. Send only
|
|
2180
|
+
* Request body for updating a group. Send only fields to change in JSON; omitted fields remain unchanged.
|
|
2078
2181
|
*/
|
|
2079
2182
|
export const zGroupUpdateParameters = z.object({
|
|
2080
2183
|
name: z.string().optional()
|
|
@@ -2094,7 +2197,7 @@ export const zUserUpdateParameters = z.object({
|
|
|
2094
2197
|
state: z.string().nullish(),
|
|
2095
2198
|
birth_date: z.string().nullish(),
|
|
2096
2199
|
dol_apprentice_no: z.string().nullish(),
|
|
2097
|
-
avatar_signed_id: z.string().nullish()
|
|
2200
|
+
avatar_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
2098
2201
|
});
|
|
2099
2202
|
/**
|
|
2100
2203
|
* A single time entry: one atomic block of tracked work with its start/end times, optional timecode classification, optional job, pay rate, and manager approval status.
|
|
@@ -2158,7 +2261,7 @@ export const zManagerTimeEntryApprovalParameters = z.object({
|
|
|
2158
2261
|
'approved',
|
|
2159
2262
|
'declined'
|
|
2160
2263
|
]),
|
|
2161
|
-
approver_user_id: z.string()
|
|
2264
|
+
approver_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2162
2265
|
});
|
|
2163
2266
|
/**
|
|
2164
2267
|
* The time-entry body fields shared by the create and update bodies; each of those declares its own requiredness.
|
|
@@ -2227,7 +2330,7 @@ export const zFormSubmissionResponseObject = z.object({
|
|
|
2227
2330
|
* 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.
|
|
2228
2331
|
*/
|
|
2229
2332
|
export const zUserCompanyScheduledChangesParameters = z.object({
|
|
2230
|
-
effective_date: z.
|
|
2333
|
+
effective_date: z.iso.date(),
|
|
2231
2334
|
hourly_rate: z.string().nullish(),
|
|
2232
2335
|
compensation_type: z.enum(['hourly', 'salary']).optional(),
|
|
2233
2336
|
overtime_eligible: z.boolean().optional(),
|
|
@@ -2238,7 +2341,7 @@ export const zUserCompanyScheduledChangesParameters = z.object({
|
|
|
2238
2341
|
pto_annual_minutes: z.int().nullish(),
|
|
2239
2342
|
holiday_annual_minutes: z.int().nullish(),
|
|
2240
2343
|
training_annual_minutes: z.int().nullish(),
|
|
2241
|
-
companies_department_id: z.string().nullish()
|
|
2344
|
+
companies_department_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
2242
2345
|
});
|
|
2243
2346
|
/**
|
|
2244
2347
|
* 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.
|
|
@@ -2264,18 +2367,18 @@ export const zPositionFunctionResponseObject = z.object({
|
|
|
2264
2367
|
updated_at: z.iso.datetime()
|
|
2265
2368
|
});
|
|
2266
2369
|
/**
|
|
2267
|
-
* Request body for creating a position function.
|
|
2370
|
+
* Request body for creating a position function. Send fields in JSON; the function belongs to the company that owns the API key.
|
|
2268
2371
|
*/
|
|
2269
2372
|
export const zPositionFunctionParameters = z.object({
|
|
2270
|
-
value: z.string()
|
|
2271
|
-
description: z.string()
|
|
2373
|
+
value: z.string(),
|
|
2374
|
+
description: z.string()
|
|
2272
2375
|
});
|
|
2273
2376
|
/**
|
|
2274
|
-
* Request body for updating a position function. Send only
|
|
2377
|
+
* Request body for updating a position function. Send only fields to change in JSON; omitted fields remain unchanged.
|
|
2275
2378
|
*/
|
|
2276
2379
|
export const zPositionFunctionUpdateParameters = z.object({
|
|
2277
|
-
value: z.string().
|
|
2278
|
-
description: z.string().
|
|
2380
|
+
value: z.string().optional(),
|
|
2381
|
+
description: z.string().optional()
|
|
2279
2382
|
});
|
|
2280
2383
|
export const zCompanyResponseObject = z.object({
|
|
2281
2384
|
id: z.string(),
|
|
@@ -2327,79 +2430,10 @@ export const zCompanyResponseObject = z.object({
|
|
|
2327
2430
|
created_at: z.iso.datetime(),
|
|
2328
2431
|
updated_at: z.iso.datetime()
|
|
2329
2432
|
});
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
z.object({
|
|
2335
|
-
legal_name: z.string().nullable()
|
|
2336
|
-
}),
|
|
2337
|
-
z.object({
|
|
2338
|
-
description: z.string().nullable()
|
|
2339
|
-
}),
|
|
2340
|
-
z.object({
|
|
2341
|
-
address: z.string().nullable()
|
|
2342
|
-
}),
|
|
2343
|
-
z.object({
|
|
2344
|
-
website: z.string().nullable()
|
|
2345
|
-
}),
|
|
2346
|
-
z.object({
|
|
2347
|
-
phone_number: z.string().nullable()
|
|
2348
|
-
}),
|
|
2349
|
-
z.object({
|
|
2350
|
-
email: z.string().nullable()
|
|
2351
|
-
}),
|
|
2352
|
-
z.object({
|
|
2353
|
-
color_hex: z.string()
|
|
2354
|
-
}),
|
|
2355
|
-
z.object({
|
|
2356
|
-
tagline: z.string().nullable()
|
|
2357
|
-
}),
|
|
2358
|
-
z.object({
|
|
2359
|
-
founding_year: z.int().nullable()
|
|
2360
|
-
}),
|
|
2361
|
-
z.object({
|
|
2362
|
-
corporate_structure: z.enum([
|
|
2363
|
-
'corporation',
|
|
2364
|
-
'llc',
|
|
2365
|
-
'partnership',
|
|
2366
|
-
'sole_proprietorship',
|
|
2367
|
-
's_corporation'
|
|
2368
|
-
]).nullable()
|
|
2369
|
-
}),
|
|
2370
|
-
z.object({
|
|
2371
|
-
employee_count_range: z.enum([
|
|
2372
|
-
'one_to_ten',
|
|
2373
|
-
'eleven_to_fifty',
|
|
2374
|
-
'fifty_one_to_two_hundred',
|
|
2375
|
-
'two_hundred_one_to_five_hundred',
|
|
2376
|
-
'five_hundred_one_to_one_thousand',
|
|
2377
|
-
'one_thousand_one_to_five_thousand',
|
|
2378
|
-
'five_thousand_one_to_ten_thousand',
|
|
2379
|
-
'ten_thousand_one_plus'
|
|
2380
|
-
]).nullable()
|
|
2381
|
-
}),
|
|
2382
|
-
z.object({
|
|
2383
|
-
revenue_range: z.enum([
|
|
2384
|
-
'zero_to_one_million',
|
|
2385
|
-
'one_to_ten_million',
|
|
2386
|
-
'ten_to_twenty_five_million',
|
|
2387
|
-
'twenty_five_to_fifty_million',
|
|
2388
|
-
'fifty_to_one_hundred_million',
|
|
2389
|
-
'one_hundred_to_two_fifty_million',
|
|
2390
|
-
'two_fifty_to_five_hundred_million',
|
|
2391
|
-
'five_hundred_to_one_billion',
|
|
2392
|
-
'one_billion_to_ten_billion',
|
|
2393
|
-
'ten_billion_plus'
|
|
2394
|
-
]).nullable()
|
|
2395
|
-
}),
|
|
2396
|
-
z.object({
|
|
2397
|
-
naics_code: z.string().nullable()
|
|
2398
|
-
}),
|
|
2399
|
-
z.object({
|
|
2400
|
-
linkedin_url: z.string().nullable()
|
|
2401
|
-
})
|
|
2402
|
-
]), z.object({
|
|
2433
|
+
/**
|
|
2434
|
+
* Request body for updating your own company's public profile. Send only fields to change in JSON; omitted fields remain unchanged. A value of the wrong JSON type, or null for a field that does not take it, answers 422. Other company settings are edited in the web app.
|
|
2435
|
+
*/
|
|
2436
|
+
export const zCompanyParameters = z.object({
|
|
2403
2437
|
name: z.string().optional(),
|
|
2404
2438
|
legal_name: z.string().nullish(),
|
|
2405
2439
|
description: z.string().nullish(),
|
|
@@ -2441,7 +2475,7 @@ export const zCompanyParameters = z.intersection(z.union([
|
|
|
2441
2475
|
]).nullish(),
|
|
2442
2476
|
naics_code: z.string().nullish(),
|
|
2443
2477
|
linkedin_url: z.string().nullish()
|
|
2444
|
-
})
|
|
2478
|
+
});
|
|
2445
2479
|
/**
|
|
2446
2480
|
* A custom-field value stored on a record, addressed by the configuration it belongs to.
|
|
2447
2481
|
*/
|
|
@@ -2463,7 +2497,7 @@ export const zCustomFieldConfigsResponseObject = z.object({
|
|
|
2463
2497
|
updated_at: z.iso.datetime()
|
|
2464
2498
|
});
|
|
2465
2499
|
/**
|
|
2466
|
-
* Request body for creating a custom field definition. `name` and `model_type` are required.
|
|
2500
|
+
* Request body for creating a custom field definition; it belongs to the company that owns the API key. `name` and `model_type` are required, and omitting either answers 400.
|
|
2467
2501
|
*/
|
|
2468
2502
|
export const zCustomFieldConfigParameters = z.object({
|
|
2469
2503
|
name: z.string(),
|
|
@@ -2651,7 +2685,7 @@ export const zUserCompanyScheduledChangesResponse = z.object({
|
|
|
2651
2685
|
* Request body for scheduling the end of a worker's employment at your company. Sets the employment's end date; cancel the scheduled termination to restore open-ended employment. Deleting the employment record instead (DELETE on the membership) removes it entirely and is not reversible.
|
|
2652
2686
|
*/
|
|
2653
2687
|
export const zUserCompanyScheduledTerminationParameters = z.object({
|
|
2654
|
-
termination_date: z.
|
|
2688
|
+
termination_date: z.iso.date()
|
|
2655
2689
|
});
|
|
2656
2690
|
/**
|
|
2657
2691
|
* One problem found while processing an accepted import, whatever its type.
|
|
@@ -2691,7 +2725,7 @@ export const zAggregateTimeImportResponseObject = z.object({
|
|
|
2691
2725
|
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
2692
2726
|
*/
|
|
2693
2727
|
export const zAggregateTimeImportParameters = z.object({
|
|
2694
|
-
file_signed_id: z.string()
|
|
2728
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2695
2729
|
});
|
|
2696
2730
|
/**
|
|
2697
2731
|
* One bulk upload of a certified payroll report against a pay period, and how it turned out.
|
|
@@ -2722,7 +2756,7 @@ export const zDsptchCprImportResponseObject = z.object({
|
|
|
2722
2756
|
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending` or `processing`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
2723
2757
|
*/
|
|
2724
2758
|
export const zDsptchCprImportParameters = z.object({
|
|
2725
|
-
file_signed_id: z.string()
|
|
2759
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2726
2760
|
});
|
|
2727
2761
|
/**
|
|
2728
2762
|
* One bulk upload of paystub amounts against a payroll run, and how it turned out.
|
|
@@ -2753,7 +2787,7 @@ export const zPaystubImportResponseObject = z.object({
|
|
|
2753
2787
|
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a payroll run: while an earlier one is still `pending`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
2754
2788
|
*/
|
|
2755
2789
|
export const zPaystubImportParameters = z.object({
|
|
2756
|
-
file_signed_id: z.string()
|
|
2790
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2757
2791
|
});
|
|
2758
2792
|
/**
|
|
2759
2793
|
* One bulk upload of wide paystub amounts against a payroll run, and how it turned out.
|
|
@@ -2782,7 +2816,7 @@ export const zWidePaystubImportResponseObject = z.object({
|
|
|
2782
2816
|
* Because acceptance is synchronous but the write happens in the background, only one wide paystub import at a time is accepted for a payroll run: while an earlier one is still `pending` or `processing`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
2783
2817
|
*/
|
|
2784
2818
|
export const zWidePaystubImportParameters = z.object({
|
|
2785
|
-
file_signed_id: z.string()
|
|
2819
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2786
2820
|
});
|
|
2787
2821
|
/**
|
|
2788
2822
|
* One bulk upload of time entries against a pay period, and how it turned out.
|
|
@@ -2811,7 +2845,7 @@ export const zTimeEntryImportResponseObject = z.object({
|
|
|
2811
2845
|
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending` or `processing`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
2812
2846
|
*/
|
|
2813
2847
|
export const zTimeEntryImportParameters = z.object({
|
|
2814
|
-
file_signed_id: z.string()
|
|
2848
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2815
2849
|
});
|
|
2816
2850
|
/**
|
|
2817
2851
|
* A worker's time card for one pay period — the aggregation root for their tracked time, carrying approval and lock status alongside the period's rolled-up minutes and pay totals. One per worker per pay period.
|
|
@@ -2971,13 +3005,17 @@ export const zManagerTimeCardApprovalParameters = z.object({
|
|
|
2971
3005
|
'approved',
|
|
2972
3006
|
'declined'
|
|
2973
3007
|
]),
|
|
2974
|
-
approver_user_id: z.string()
|
|
3008
|
+
approver_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
2975
3009
|
});
|
|
2976
3010
|
/**
|
|
2977
3011
|
* Request body for a worker's self-attestation of their own time card. The approver is always the card's own worker, so it is not supplied here.
|
|
2978
3012
|
*/
|
|
2979
3013
|
export const zWorkerTimeCardApprovalParameters = z.object({
|
|
2980
|
-
status: z.enum([
|
|
3014
|
+
status: z.enum([
|
|
3015
|
+
'pending',
|
|
3016
|
+
'approved',
|
|
3017
|
+
'declined'
|
|
3018
|
+
])
|
|
2981
3019
|
});
|
|
2982
3020
|
/**
|
|
2983
3021
|
* One clock-in by a worker — open (`active`) from clock-in until clock-out, and retained afterwards as the record that the session happened. A worker holds at most one active session at a time.
|
|
@@ -3109,7 +3147,7 @@ export const zPayrollFringeBenefitPlanResponseObject = z.object({
|
|
|
3109
3147
|
* Request body for creating a fringe-benefit plan. timekeeping_pay_period_config_id, name, plan_number, and benefit_category are required.
|
|
3110
3148
|
*/
|
|
3111
3149
|
export const zPayrollFringeBenefitPlanParameters = z.object({
|
|
3112
|
-
timekeeping_pay_period_config_id: z.string(),
|
|
3150
|
+
timekeeping_pay_period_config_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
3113
3151
|
name: z.string(),
|
|
3114
3152
|
plan_number: z.string(),
|
|
3115
3153
|
funded: z.boolean().optional(),
|
|
@@ -3281,9 +3319,9 @@ export const zPayrollRunResponseObject = z.object({
|
|
|
3281
3319
|
* Create a payroll run. Company-scoped keys and company-admin user-scoped keys accept the same fields. Manager and technician user keys cannot create runs. company_id, run_type, and run_date are required; an on-cycle run additionally requires timekeeping_pay_period_id.
|
|
3282
3320
|
*/
|
|
3283
3321
|
export const zPayrollRunParameters = z.object({
|
|
3284
|
-
company_id: z.string(),
|
|
3285
|
-
timekeeping_pay_period_id: z.string().nullish(),
|
|
3286
|
-
payrolls_credential_id: z.string().nullish(),
|
|
3322
|
+
company_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
3323
|
+
timekeeping_pay_period_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3324
|
+
payrolls_credential_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3287
3325
|
run_type: z.enum([
|
|
3288
3326
|
'CORRECTION',
|
|
3289
3327
|
'ON_CYCLE',
|
|
@@ -3299,8 +3337,8 @@ export const zPayrollRunParameters = z.object({
|
|
|
3299
3337
|
* Update a payroll run. Company-scoped keys and company-admin user-scoped keys accept the same fields. Manager and technician user keys cannot update runs. Every field is optional — send only what changes. The run's company is fixed at creation.
|
|
3300
3338
|
*/
|
|
3301
3339
|
export const zPayrollRunUpdateParameters = z.object({
|
|
3302
|
-
timekeeping_pay_period_id: z.string().nullish(),
|
|
3303
|
-
payrolls_credential_id: z.string().nullish(),
|
|
3340
|
+
timekeeping_pay_period_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3341
|
+
payrolls_credential_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3304
3342
|
run_type: z.enum([
|
|
3305
3343
|
'CORRECTION',
|
|
3306
3344
|
'ON_CYCLE',
|
|
@@ -3436,14 +3474,14 @@ export const zProjectSiteResponseObject = z.object({
|
|
|
3436
3474
|
* Request body for attaching a site to a project. `site_id` is required; `feature_ids` is optional. The project is taken from the path and is not part of the body.
|
|
3437
3475
|
*/
|
|
3438
3476
|
export const zProjectSiteParameters = z.object({
|
|
3439
|
-
site_id: z.string(),
|
|
3440
|
-
feature_ids: z.array(z.string()).optional()
|
|
3477
|
+
site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
3478
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
3441
3479
|
});
|
|
3442
3480
|
/**
|
|
3443
3481
|
* Request body for replacing which of the site's features apply to this project. Every field is optional; omit a field to preserve its current value. `site_id` is create-only and an update that names it is rejected.
|
|
3444
3482
|
*/
|
|
3445
3483
|
export const zProjectSiteUpdateParameters = z.object({
|
|
3446
|
-
feature_ids: z.array(z.string()).optional()
|
|
3484
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
3447
3485
|
});
|
|
3448
3486
|
export const zSiteCheckInResponseObject = z.object({
|
|
3449
3487
|
id: z.string(),
|
|
@@ -3786,7 +3824,7 @@ export const zComplianceCheckParameters = z.object({
|
|
|
3786
3824
|
status: z.enum(['dismissed', 'pending']).optional(),
|
|
3787
3825
|
time_due: z.iso.datetime().nullish(),
|
|
3788
3826
|
assignee_user_ids: z.array(z.string()).optional(),
|
|
3789
|
-
file_signed_id: z.string().optional()
|
|
3827
|
+
file_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional()
|
|
3790
3828
|
});
|
|
3791
3829
|
export const zRichTextObject = z.object({
|
|
3792
3830
|
text: z.string(),
|
|
@@ -3961,9 +3999,9 @@ export const zPaystubResponseObject = z.object({
|
|
|
3961
3999
|
* Request body for creating 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.
|
|
3962
4000
|
*/
|
|
3963
4001
|
export const zPaystubParameters = z.object({
|
|
3964
|
-
user_id: z.string(),
|
|
3965
|
-
payrolls_payroll_run_id: z.string(),
|
|
3966
|
-
timekeeping_time_card_id: z.string().nullish(),
|
|
4002
|
+
user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4003
|
+
payrolls_payroll_run_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4004
|
+
timekeeping_time_card_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3967
4005
|
external_id: z.string().nullish(),
|
|
3968
4006
|
check_number: z.string().nullish()
|
|
3969
4007
|
});
|
|
@@ -3971,8 +4009,8 @@ export const zPaystubParameters = z.object({
|
|
|
3971
4009
|
* Request body for updating a paystub. Send only the fields to change; the resulting paystub must still match its payroll run type.
|
|
3972
4010
|
*/
|
|
3973
4011
|
export const zPaystubUpdateParameters = z.object({
|
|
3974
|
-
payrolls_payroll_run_id: z.string().optional(),
|
|
3975
|
-
timekeeping_time_card_id: z.string().nullish(),
|
|
4012
|
+
payrolls_payroll_run_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
4013
|
+
timekeeping_time_card_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
3976
4014
|
external_id: z.string().nullish(),
|
|
3977
4015
|
check_number: z.string().nullish()
|
|
3978
4016
|
});
|
|
@@ -4003,8 +4041,8 @@ export const zPriorPeriodAdjustmentResponseObject = z.object({
|
|
|
4003
4041
|
* Request body for allocating part of a retroactive-pay line item to an earlier time card. The time card comes from the path; the adjustment is always a retroactive increase.
|
|
4004
4042
|
*/
|
|
4005
4043
|
export const zPriorPeriodAdjustmentParameters = z.object({
|
|
4006
|
-
payrolls_paystub_line_item_id: z.string(),
|
|
4007
|
-
created_by_user_id: z.string(),
|
|
4044
|
+
payrolls_paystub_line_item_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4045
|
+
created_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4008
4046
|
amount_cents: z.string(),
|
|
4009
4047
|
rationale: z.enum([
|
|
4010
4048
|
'hours_correction',
|
|
@@ -4012,7 +4050,7 @@ export const zPriorPeriodAdjustmentParameters = z.object({
|
|
|
4012
4050
|
'pwa_compliance',
|
|
4013
4051
|
'rate_correction'
|
|
4014
4052
|
]),
|
|
4015
|
-
job_id: z.string().nullish(),
|
|
4053
|
+
job_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
4016
4054
|
notes: z.string().nullish(),
|
|
4017
4055
|
pwa_compliance_eligible: z.boolean().optional()
|
|
4018
4056
|
});
|
|
@@ -4027,7 +4065,7 @@ export const zPriorPeriodAdjustmentUpdateParameters = z.object({
|
|
|
4027
4065
|
'pwa_compliance',
|
|
4028
4066
|
'rate_correction'
|
|
4029
4067
|
]).optional(),
|
|
4030
|
-
job_id: z.string().nullish(),
|
|
4068
|
+
job_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
4031
4069
|
notes: z.string().nullish(),
|
|
4032
4070
|
pwa_compliance_eligible: z.boolean().optional()
|
|
4033
4071
|
});
|
|
@@ -4179,14 +4217,37 @@ export const zJobSiteResponseObject = z.object({
|
|
|
4179
4217
|
* Request body for attaching a site to a job. `site_id` is required; `feature_ids` is optional and defaults to none.
|
|
4180
4218
|
*/
|
|
4181
4219
|
export const zJobSiteParameters = z.object({
|
|
4182
|
-
site_id: z.string(),
|
|
4183
|
-
feature_ids: z.array(z.string()).optional()
|
|
4220
|
+
site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4221
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
4184
4222
|
});
|
|
4185
4223
|
/**
|
|
4186
4224
|
* Request body for replacing the features on an existing job-site join. `site_id` cannot be changed; send a new join to attach a different site.
|
|
4187
4225
|
*/
|
|
4188
4226
|
export const zJobSiteUpdateParameters = z.object({
|
|
4189
|
-
feature_ids: z.array(z.string()).optional()
|
|
4227
|
+
feature_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional()
|
|
4228
|
+
});
|
|
4229
|
+
/**
|
|
4230
|
+
* A good-faith-effort exception on a job — a record that the employer requested apprentices from a registered program and did not receive the full request, or that no qualifying program existed. Read-only. Does not include supporting document slots.
|
|
4231
|
+
*/
|
|
4232
|
+
export const zJobGoodFaithEffortExceptionResponseObject = z.object({
|
|
4233
|
+
id: z.string(),
|
|
4234
|
+
job_id: z.string(),
|
|
4235
|
+
program_unavailable: z.boolean(),
|
|
4236
|
+
num_apprentices_requested: z.int().nullable(),
|
|
4237
|
+
num_apprentices_provided: z.int().nullable(),
|
|
4238
|
+
minutes_per_apprentice: z.int().nullable(),
|
|
4239
|
+
requested_on_date: z.iso.date().nullable(),
|
|
4240
|
+
request_start_date: z.iso.date().nullable(),
|
|
4241
|
+
request_end_date: z.iso.date().nullable(),
|
|
4242
|
+
occupation: z.string().nullable(),
|
|
4243
|
+
program_name: z.string().nullable(),
|
|
4244
|
+
response: z.enum([
|
|
4245
|
+
'no_response',
|
|
4246
|
+
'denied',
|
|
4247
|
+
'partial'
|
|
4248
|
+
]).nullable(),
|
|
4249
|
+
created_at: z.iso.datetime(),
|
|
4250
|
+
updated_at: z.iso.datetime()
|
|
4190
4251
|
});
|
|
4191
4252
|
/**
|
|
4192
4253
|
* A form-completion task attached to a job — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::JobFormAssignmentTask` id, not the web show `Task#uid`.
|
|
@@ -4215,6 +4276,22 @@ export const zJobFormAssignmentResponseObject = z.object({
|
|
|
4215
4276
|
remind_at: z.iso.datetime()
|
|
4216
4277
|
}))
|
|
4217
4278
|
});
|
|
4279
|
+
/**
|
|
4280
|
+
* A corrective payment recorded against a job's PWA obligations. Read-only. Does not include attestation files, pretty type, currency, or a Money amount.
|
|
4281
|
+
*/
|
|
4282
|
+
export const zJobCurePaymentResponseObject = z.object({
|
|
4283
|
+
id: z.string(),
|
|
4284
|
+
job_id: z.string(),
|
|
4285
|
+
type: z.enum(['Pwa::CurePayments::Federal', 'Pwa::CurePayments::Regional']),
|
|
4286
|
+
amount_cents: z.string(),
|
|
4287
|
+
paid_on_date: z.iso.date(),
|
|
4288
|
+
cures_from_date: z.iso.date(),
|
|
4289
|
+
cures_to_date: z.iso.date(),
|
|
4290
|
+
notes: z.string().nullable(),
|
|
4291
|
+
created_by_user_id: z.string(),
|
|
4292
|
+
created_at: z.iso.datetime(),
|
|
4293
|
+
updated_at: z.iso.datetime()
|
|
4294
|
+
});
|
|
4218
4295
|
/**
|
|
4219
4296
|
* A form-completion task attached to a site — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::SiteFormAssignmentTask` id, not the web show `Task#uid`. Sites are shared across companies; another company's assignment on the same site is not found. An empty assignee list is valid.
|
|
4220
4297
|
*/
|
|
@@ -4704,7 +4781,7 @@ export const zPositionParameters = z.object({
|
|
|
4704
4781
|
}).optional()
|
|
4705
4782
|
});
|
|
4706
4783
|
/**
|
|
4707
|
-
* Parameters for creating a per-unit scope price on a job. `scope_kind` and `unit_price` are required.
|
|
4784
|
+
* Parameters for creating a per-unit scope price on a job. `scope_kind` and `unit_price` are required; omitting either answers 400, and a null or wrong-typed value answers 422.
|
|
4708
4785
|
*/
|
|
4709
4786
|
export const zProductionJobScopePriceParameters = z.object({
|
|
4710
4787
|
scope_kind: z.string(),
|
|
@@ -4713,7 +4790,7 @@ export const zProductionJobScopePriceParameters = z.object({
|
|
|
4713
4790
|
unit_of_measure: z.string().optional()
|
|
4714
4791
|
});
|
|
4715
4792
|
/**
|
|
4716
|
-
* Parameters for updating a per-unit scope price on a job. Every field is optional; omit a field to preserve its current value. The resulting price must retain a scope kind and non-negative unit price.
|
|
4793
|
+
* Parameters for updating a per-unit scope price on a job. Every field is optional; omit a field to preserve its current value, or send null for `contracted_count` to clear it. A null or wrong-typed value for any other field answers 422. The resulting price must retain a scope kind and non-negative unit price.
|
|
4717
4794
|
*/
|
|
4718
4795
|
export const zProductionJobScopePriceUpdateParameters = z.object({
|
|
4719
4796
|
scope_kind: z.string().optional(),
|
|
@@ -4750,7 +4827,7 @@ export const zProductionCompletionUpdateParameters = z.object({
|
|
|
4750
4827
|
*/
|
|
4751
4828
|
export const zProductionCompletionBaseParameters = z.object({
|
|
4752
4829
|
production_job_scope_price_id: z.string().optional(),
|
|
4753
|
-
performed_by_user_id: z.string().
|
|
4830
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
4754
4831
|
notes: z.string().nullish(),
|
|
4755
4832
|
work_date: z.iso.date().optional(),
|
|
4756
4833
|
position_ids: z.array(z.string()).optional()
|
|
@@ -4883,22 +4960,22 @@ export const zCertificationPackageResponseObject = z.object({
|
|
|
4883
4960
|
updated_at: z.iso.datetime()
|
|
4884
4961
|
});
|
|
4885
4962
|
/**
|
|
4886
|
-
* Request body for creating a certification package
|
|
4963
|
+
* Request body for creating a certification package. Send fields in JSON; query parameters cannot supply write fields or the filing user. The package belongs to the company that owns the API key.
|
|
4887
4964
|
*/
|
|
4888
4965
|
export const zCertificationPackageParameters = z.object({
|
|
4889
4966
|
name: z.string(),
|
|
4890
4967
|
description: z.string().nullish(),
|
|
4891
|
-
certification_ids: z.array(z.string()).optional(),
|
|
4892
|
-
performed_by_user_id: z.string()
|
|
4968
|
+
certification_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4969
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
4893
4970
|
});
|
|
4894
4971
|
/**
|
|
4895
|
-
* Request body for updating a certification package
|
|
4972
|
+
* Request body for updating a certification package. Send only fields to change in JSON; omitted fields remain unchanged. The filing user is required in the body.
|
|
4896
4973
|
*/
|
|
4897
4974
|
export const zCertificationPackageUpdateParameters = z.object({
|
|
4898
4975
|
name: z.string().optional(),
|
|
4899
4976
|
description: z.string().nullish(),
|
|
4900
|
-
certification_ids: z.array(z.string()).optional(),
|
|
4901
|
-
performed_by_user_id: z.string()
|
|
4977
|
+
certification_ids: z.array(z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)).optional(),
|
|
4978
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
4902
4979
|
});
|
|
4903
4980
|
/**
|
|
4904
4981
|
* A certification — a named qualification a worker can hold, either owned by your company or a global (platform) credential type (company_id null).
|
|
@@ -5089,18 +5166,18 @@ export const zPositionResponseObject = z.object({
|
|
|
5089
5166
|
updated_at: z.iso.datetime()
|
|
5090
5167
|
});
|
|
5091
5168
|
/**
|
|
5092
|
-
* Request body for granting a user a role in a company.
|
|
5169
|
+
* Request body for granting a user a role in a company. All three fields are required; omitting one answers 400.
|
|
5093
5170
|
*/
|
|
5094
5171
|
export const zUserRoleRequest = z.object({
|
|
5095
|
-
|
|
5096
|
-
|
|
5172
|
+
company_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
5173
|
+
user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
5097
5174
|
role: z.enum([
|
|
5098
5175
|
'TECHNICIAN',
|
|
5099
5176
|
'FIELD_LEAD',
|
|
5100
5177
|
'MANAGER',
|
|
5101
5178
|
'SAFETY_MANAGER',
|
|
5102
5179
|
'ADMIN'
|
|
5103
|
-
])
|
|
5180
|
+
])
|
|
5104
5181
|
});
|
|
5105
5182
|
/**
|
|
5106
5183
|
* A role granted to a user within a company's scope — the permissions the user has there. A user can hold several distinct roles per company.
|
|
@@ -5267,7 +5344,7 @@ export const zUserParameters = z.intersection(z.union([
|
|
|
5267
5344
|
winda_id: z.string().optional(),
|
|
5268
5345
|
linkedin_url: z.string().optional(),
|
|
5269
5346
|
roles: z.array(z.string()).nullish(),
|
|
5270
|
-
avatar_signed_id: z.string().
|
|
5347
|
+
avatar_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
5271
5348
|
created_by_user_id: z.string().optional(),
|
|
5272
5349
|
last_sent_by_user_id: z.string().nullish(),
|
|
5273
5350
|
skip_notify: z.boolean().optional(),
|
|
@@ -5569,6 +5646,22 @@ export const zJobSitesResponseObject = z.object({
|
|
|
5569
5646
|
links: zLinks,
|
|
5570
5647
|
data: z.array(zJobSiteResponseObject)
|
|
5571
5648
|
});
|
|
5649
|
+
/**
|
|
5650
|
+
* A page of a job's good-faith-effort exceptions, with pagination metadata and navigation links.
|
|
5651
|
+
*/
|
|
5652
|
+
export const zJobGoodFaithEffortExceptionsResponseObject = z.object({
|
|
5653
|
+
meta: zMeta,
|
|
5654
|
+
links: zLinks,
|
|
5655
|
+
data: z.array(zJobGoodFaithEffortExceptionResponseObject)
|
|
5656
|
+
});
|
|
5657
|
+
/**
|
|
5658
|
+
* A page of a job's PWA cure payments, with pagination metadata and navigation links.
|
|
5659
|
+
*/
|
|
5660
|
+
export const zJobCurePaymentsResponseObject = z.object({
|
|
5661
|
+
meta: zMeta,
|
|
5662
|
+
links: zLinks,
|
|
5663
|
+
data: z.array(zJobCurePaymentResponseObject)
|
|
5664
|
+
});
|
|
5572
5665
|
/**
|
|
5573
5666
|
* A page of a job's positions, with pagination metadata and navigation links.
|
|
5574
5667
|
*/
|
|
@@ -6052,98 +6145,342 @@ export const zJobWageDeterminationScheduledTerminationParameters = z.object({
|
|
|
6052
6145
|
effective_date: z.iso.date()
|
|
6053
6146
|
});
|
|
6054
6147
|
/**
|
|
6055
|
-
*
|
|
6056
|
-
*/
|
|
6057
|
-
export const zRateRuleEffect = z.object({
|
|
6058
|
-
type: z.enum(['wage_increment', 'fringe_increment']),
|
|
6059
|
-
amount_cents: z.string()
|
|
6060
|
-
});
|
|
6061
|
-
/**
|
|
6062
|
-
* Restricts the rule to a time-of-day window.
|
|
6063
|
-
*/
|
|
6064
|
-
export const zRateRuleTimeRangeCondition = z.object({
|
|
6065
|
-
type: z.enum(['time_range']),
|
|
6066
|
-
start_time: z.string(),
|
|
6067
|
-
end_time: z.string()
|
|
6068
|
-
});
|
|
6069
|
-
/**
|
|
6070
|
-
* Restricts the rule to specific days of the week.
|
|
6071
|
-
*/
|
|
6072
|
-
export const zRateRuleDaysCondition = z.object({
|
|
6073
|
-
type: z.enum(['days']),
|
|
6074
|
-
days: z.array(z.int())
|
|
6075
|
-
});
|
|
6076
|
-
/**
|
|
6077
|
-
* Restricts the rule to a single calendar date.
|
|
6078
|
-
*/
|
|
6079
|
-
export const zRateRuleSpecificDateCondition = z.object({
|
|
6080
|
-
type: z.enum(['specific_date']),
|
|
6081
|
-
date: z.iso.date()
|
|
6082
|
-
});
|
|
6083
|
-
/**
|
|
6084
|
-
* Restricts the rule to a given apprenticeship wage-schedule period.
|
|
6085
|
-
*/
|
|
6086
|
-
export const zRateRuleApprenticePeriodCondition = z.object({
|
|
6087
|
-
type: z.enum(['apprentice_period']),
|
|
6088
|
-
period: z.int()
|
|
6089
|
-
});
|
|
6090
|
-
/**
|
|
6091
|
-
* Restricts the rule to a cumulative-apprentice-hours band.
|
|
6092
|
-
*/
|
|
6093
|
-
export const zRateRuleApprenticeHoursCondition = z.object({
|
|
6094
|
-
type: z.enum(['apprentice_hours']),
|
|
6095
|
-
min_hours: z.int(),
|
|
6096
|
-
max_hours: z.int()
|
|
6097
|
-
});
|
|
6098
|
-
/**
|
|
6099
|
-
* Restricts the rule to a specific overtime tier.
|
|
6100
|
-
*/
|
|
6101
|
-
export const zRateRuleOvertimeMultiplierCondition = z.object({
|
|
6102
|
-
type: z.enum(['overtime_multiplier']),
|
|
6103
|
-
multiplier: z.enum(['1.5', '2.0'])
|
|
6104
|
-
});
|
|
6105
|
-
/**
|
|
6106
|
-
* A single match condition. At most one condition per category may appear on a rule — time (time_range), day-selection (days or specific_date), apprentice (apprentice_period or apprentice_hours), and overtime (overtime_multiplier). The `type` field selects the shape.
|
|
6107
|
-
*/
|
|
6108
|
-
export const zRateRuleCondition = z.discriminatedUnion('type', [
|
|
6109
|
-
zRateRuleTimeRangeCondition.extend({ type: z.literal('time_range') }),
|
|
6110
|
-
zRateRuleDaysCondition.extend({ type: z.literal('days') }),
|
|
6111
|
-
zRateRuleSpecificDateCondition.extend({ type: z.literal('specific_date') }),
|
|
6112
|
-
zRateRuleApprenticePeriodCondition.extend({ type: z.literal('apprentice_period') }),
|
|
6113
|
-
zRateRuleApprenticeHoursCondition.extend({ type: z.literal('apprentice_hours') }),
|
|
6114
|
-
zRateRuleOvertimeMultiplierCondition.extend({ type: z.literal('overtime_multiplier') })
|
|
6115
|
-
]);
|
|
6116
|
-
/**
|
|
6117
|
-
* A conditional rate-modification rule on a job wage determination — it adds wage or fringe cents when its conditions match. `valid_from` and `valid_to` bound the window over which this version of the rule is in effect.
|
|
6148
|
+
* A Federal (Davis-Bacon) wage determination on a project.
|
|
6118
6149
|
*/
|
|
6119
|
-
export const
|
|
6150
|
+
export const zFederalProjectWageDeterminationResponseObject = z.object({
|
|
6120
6151
|
id: z.string(),
|
|
6121
|
-
|
|
6122
|
-
|
|
6123
|
-
|
|
6124
|
-
|
|
6152
|
+
project_id: z.string(),
|
|
6153
|
+
pwa_trade_id: z.string(),
|
|
6154
|
+
overtime_package_id: z.string().nullable(),
|
|
6155
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6156
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Federal']),
|
|
6157
|
+
labor_classification: z.string(),
|
|
6158
|
+
hourly_rate_cents: z.string(),
|
|
6159
|
+
fringe_rate_cents: z.string(),
|
|
6160
|
+
class_code: z.string().nullable(),
|
|
6161
|
+
construction_category: z.enum([
|
|
6162
|
+
'building',
|
|
6163
|
+
'heavy',
|
|
6164
|
+
'highway',
|
|
6165
|
+
'residential'
|
|
6166
|
+
]).nullable(),
|
|
6167
|
+
general_wage_determination: z.string().nullable(),
|
|
6125
6168
|
valid_from: z.iso.datetime().nullable(),
|
|
6126
6169
|
valid_to: z.iso.datetime().nullable(),
|
|
6127
6170
|
created_at: z.iso.datetime(),
|
|
6128
6171
|
updated_at: z.iso.datetime()
|
|
6129
6172
|
});
|
|
6130
|
-
|
|
6131
|
-
|
|
6132
|
-
|
|
6133
|
-
|
|
6134
|
-
|
|
6135
|
-
|
|
6173
|
+
/**
|
|
6174
|
+
* A Regional (state prevailing-wage) wage determination on a project.
|
|
6175
|
+
*/
|
|
6176
|
+
export const zRegionalProjectWageDeterminationResponseObject = z.object({
|
|
6177
|
+
id: z.string(),
|
|
6178
|
+
project_id: z.string(),
|
|
6179
|
+
pwa_trade_id: z.string(),
|
|
6180
|
+
overtime_package_id: z.string().nullable(),
|
|
6181
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6182
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Regional']),
|
|
6183
|
+
labor_classification: z.string(),
|
|
6184
|
+
hourly_rate_cents: z.string(),
|
|
6185
|
+
fringe_rate_cents: z.string(),
|
|
6186
|
+
general_wage_determination: z.string().nullable(),
|
|
6187
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
6136
6188
|
valid_from: z.iso.datetime().nullable(),
|
|
6137
6189
|
valid_to: z.iso.datetime().nullable(),
|
|
6138
6190
|
created_at: z.iso.datetime(),
|
|
6139
6191
|
updated_at: z.iso.datetime()
|
|
6140
6192
|
});
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6144
|
-
|
|
6145
|
-
|
|
6146
|
-
|
|
6193
|
+
/**
|
|
6194
|
+
* A wage determination applied to a project — the prevailing-wage and fringe rates for one labor classification. The type discriminator selects the Federal or Regional representation.
|
|
6195
|
+
*/
|
|
6196
|
+
export const zProjectWageDeterminationResponseObject = z.discriminatedUnion('type', [
|
|
6197
|
+
zFederalProjectWageDeterminationResponseObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Federal') }),
|
|
6198
|
+
zRegionalProjectWageDeterminationResponseObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Regional') })
|
|
6199
|
+
]);
|
|
6200
|
+
export const zFederalProjectWageDeterminationHistoryCorrectionObject = z.object({
|
|
6201
|
+
project_wage_determination_id: z.string(),
|
|
6202
|
+
project_id: z.string(),
|
|
6203
|
+
pwa_trade_id: z.string(),
|
|
6204
|
+
overtime_package_id: z.string().nullable(),
|
|
6205
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6206
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Federal']),
|
|
6207
|
+
labor_classification: z.string(),
|
|
6208
|
+
hourly_rate_cents: z.string(),
|
|
6209
|
+
fringe_rate_cents: z.string(),
|
|
6210
|
+
class_code: z.string().nullable(),
|
|
6211
|
+
construction_category: z.enum([
|
|
6212
|
+
'building',
|
|
6213
|
+
'heavy',
|
|
6214
|
+
'highway',
|
|
6215
|
+
'residential'
|
|
6216
|
+
]).nullable(),
|
|
6217
|
+
general_wage_determination: z.string().nullable(),
|
|
6218
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6219
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6220
|
+
created_at: z.iso.datetime(),
|
|
6221
|
+
updated_at: z.iso.datetime()
|
|
6222
|
+
});
|
|
6223
|
+
export const zRegionalProjectWageDeterminationHistoryCorrectionObject = z.object({
|
|
6224
|
+
project_wage_determination_id: z.string(),
|
|
6225
|
+
project_id: z.string(),
|
|
6226
|
+
pwa_trade_id: z.string(),
|
|
6227
|
+
overtime_package_id: z.string().nullable(),
|
|
6228
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6229
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Regional']),
|
|
6230
|
+
labor_classification: z.string(),
|
|
6231
|
+
hourly_rate_cents: z.string(),
|
|
6232
|
+
fringe_rate_cents: z.string(),
|
|
6233
|
+
general_wage_determination: z.string().nullable(),
|
|
6234
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
6235
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6236
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6237
|
+
created_at: z.iso.datetime(),
|
|
6238
|
+
updated_at: z.iso.datetime()
|
|
6239
|
+
});
|
|
6240
|
+
export const zProjectWageDeterminationHistoryCorrectionObject = z.discriminatedUnion('type', [
|
|
6241
|
+
zFederalProjectWageDeterminationHistoryCorrectionObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Federal') }),
|
|
6242
|
+
zRegionalProjectWageDeterminationHistoryCorrectionObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Regional') })
|
|
6243
|
+
]);
|
|
6244
|
+
export const zFederalProjectWageDeterminationHistoryVersionObject = z.object({
|
|
6245
|
+
project_wage_determination_id: z.string(),
|
|
6246
|
+
project_id: z.string(),
|
|
6247
|
+
pwa_trade_id: z.string(),
|
|
6248
|
+
overtime_package_id: z.string().nullable(),
|
|
6249
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6250
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Federal']),
|
|
6251
|
+
labor_classification: z.string(),
|
|
6252
|
+
hourly_rate_cents: z.string(),
|
|
6253
|
+
fringe_rate_cents: z.string(),
|
|
6254
|
+
class_code: z.string().nullable(),
|
|
6255
|
+
construction_category: z.enum([
|
|
6256
|
+
'building',
|
|
6257
|
+
'heavy',
|
|
6258
|
+
'highway',
|
|
6259
|
+
'residential'
|
|
6260
|
+
]).nullable(),
|
|
6261
|
+
general_wage_determination: z.string().nullable(),
|
|
6262
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6263
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6264
|
+
created_at: z.iso.datetime(),
|
|
6265
|
+
updated_at: z.iso.datetime(),
|
|
6266
|
+
version_status: z.enum([
|
|
6267
|
+
'scheduled',
|
|
6268
|
+
'current',
|
|
6269
|
+
'historical'
|
|
6270
|
+
]),
|
|
6271
|
+
corrections: z.array(zProjectWageDeterminationHistoryCorrectionObject)
|
|
6272
|
+
});
|
|
6273
|
+
export const zRegionalProjectWageDeterminationHistoryVersionObject = z.object({
|
|
6274
|
+
project_wage_determination_id: z.string(),
|
|
6275
|
+
project_id: z.string(),
|
|
6276
|
+
pwa_trade_id: z.string(),
|
|
6277
|
+
overtime_package_id: z.string().nullable(),
|
|
6278
|
+
pay_rates_rule_package_id: z.string().nullable(),
|
|
6279
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Regional']),
|
|
6280
|
+
labor_classification: z.string(),
|
|
6281
|
+
hourly_rate_cents: z.string(),
|
|
6282
|
+
fringe_rate_cents: z.string(),
|
|
6283
|
+
general_wage_determination: z.string().nullable(),
|
|
6284
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
6285
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6286
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6287
|
+
created_at: z.iso.datetime(),
|
|
6288
|
+
updated_at: z.iso.datetime(),
|
|
6289
|
+
version_status: z.enum([
|
|
6290
|
+
'scheduled',
|
|
6291
|
+
'current',
|
|
6292
|
+
'historical'
|
|
6293
|
+
]),
|
|
6294
|
+
corrections: z.array(zProjectWageDeterminationHistoryCorrectionObject)
|
|
6295
|
+
});
|
|
6296
|
+
export const zProjectWageDeterminationHistoryVersionObject = z.discriminatedUnion('type', [
|
|
6297
|
+
zFederalProjectWageDeterminationHistoryVersionObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Federal') }),
|
|
6298
|
+
zRegionalProjectWageDeterminationHistoryVersionObject.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Regional') })
|
|
6299
|
+
]);
|
|
6300
|
+
/**
|
|
6301
|
+
* Parameters for creating a Federal (Davis-Bacon) wage determination on a project.
|
|
6302
|
+
*/
|
|
6303
|
+
export const zFederalProjectWageDeterminationParameters = z.object({
|
|
6304
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Federal']),
|
|
6305
|
+
labor_classification: z.string(),
|
|
6306
|
+
pwa_trade_id: z.string(),
|
|
6307
|
+
hourly_rate_cents: z.string(),
|
|
6308
|
+
fringe_rate_cents: z.string(),
|
|
6309
|
+
class_code: z.string().nullish(),
|
|
6310
|
+
construction_category: z.enum([
|
|
6311
|
+
'building',
|
|
6312
|
+
'heavy',
|
|
6313
|
+
'highway',
|
|
6314
|
+
'residential'
|
|
6315
|
+
]).nullish(),
|
|
6316
|
+
general_wage_determination: z.string().nullish(),
|
|
6317
|
+
pay_rates_rule_package_id: z.string().nullish()
|
|
6318
|
+
});
|
|
6319
|
+
/**
|
|
6320
|
+
* Parameters for creating a Regional (state prevailing-wage) wage determination on a project.
|
|
6321
|
+
*/
|
|
6322
|
+
export const zRegionalProjectWageDeterminationParameters = z.object({
|
|
6323
|
+
type: z.enum(['Pwa::ProjectWageDeterminations::Regional']),
|
|
6324
|
+
labor_classification: z.string(),
|
|
6325
|
+
pwa_trade_id: z.string(),
|
|
6326
|
+
hourly_rate_cents: z.string(),
|
|
6327
|
+
fringe_rate_cents: z.string().optional(),
|
|
6328
|
+
general_wage_determination: z.string().nullish(),
|
|
6329
|
+
overtime_package_id: z.string().nullish(),
|
|
6330
|
+
pay_rates_rule_package_id: z.string().nullish(),
|
|
6331
|
+
regional_fields: zRegionalWageDeterminationFields.optional()
|
|
6332
|
+
});
|
|
6333
|
+
/**
|
|
6334
|
+
* 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.
|
|
6335
|
+
*/
|
|
6336
|
+
export const zProjectWageDeterminationParameters = z.discriminatedUnion('type', [
|
|
6337
|
+
zFederalProjectWageDeterminationParameters.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Federal') }),
|
|
6338
|
+
zRegionalProjectWageDeterminationParameters.extend({ type: z.literal('Pwa::ProjectWageDeterminations::Regional') })
|
|
6339
|
+
]);
|
|
6340
|
+
/**
|
|
6341
|
+
* Parameters for editing a project wage determination from a point in valid time forward. The type is fixed by the determination the id names and is not sent.
|
|
6342
|
+
*/
|
|
6343
|
+
export const zProjectWageDeterminationUpdateParameters = z.object({
|
|
6344
|
+
effective_from: z.iso.date().optional(),
|
|
6345
|
+
overtime_package_id: z.string().nullish(),
|
|
6346
|
+
pay_rates_rule_package_id: z.string().nullish(),
|
|
6347
|
+
labor_classification: z.string().optional(),
|
|
6348
|
+
pwa_trade_id: z.string().optional(),
|
|
6349
|
+
hourly_rate_cents: z.string().optional(),
|
|
6350
|
+
fringe_rate_cents: z.string().optional(),
|
|
6351
|
+
class_code: z.string().nullish(),
|
|
6352
|
+
construction_category: z.enum([
|
|
6353
|
+
'building',
|
|
6354
|
+
'heavy',
|
|
6355
|
+
'highway',
|
|
6356
|
+
'residential'
|
|
6357
|
+
]).nullish(),
|
|
6358
|
+
general_wage_determination: z.string().nullish(),
|
|
6359
|
+
regional_fields: zRegionalWageDeterminationFields.optional()
|
|
6360
|
+
});
|
|
6361
|
+
/**
|
|
6362
|
+
* 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.
|
|
6363
|
+
*/
|
|
6364
|
+
export const zProjectWageDeterminationScheduledChangeParameters = z.object({
|
|
6365
|
+
effective_date: z.iso.date(),
|
|
6366
|
+
labor_classification: z.string().optional(),
|
|
6367
|
+
hourly_rate_cents: z.string().optional(),
|
|
6368
|
+
fringe_rate_cents: z.string().optional(),
|
|
6369
|
+
class_code: z.string().nullish(),
|
|
6370
|
+
construction_category: z.enum([
|
|
6371
|
+
'building',
|
|
6372
|
+
'heavy',
|
|
6373
|
+
'highway',
|
|
6374
|
+
'residential'
|
|
6375
|
+
]).nullish(),
|
|
6376
|
+
general_wage_determination: z.string().nullish(),
|
|
6377
|
+
regional_fields: zRegionalWageDeterminationFields.optional()
|
|
6378
|
+
});
|
|
6379
|
+
/**
|
|
6380
|
+
* Parameters for moving where a project wage determination's timeline begins.
|
|
6381
|
+
*/
|
|
6382
|
+
export const zProjectWageDeterminationGenesisParameters = z.object({
|
|
6383
|
+
effective_date: z.iso.date()
|
|
6384
|
+
});
|
|
6385
|
+
/**
|
|
6386
|
+
* Parameters for scheduling when a project wage determination stops being valid.
|
|
6387
|
+
*/
|
|
6388
|
+
export const zProjectWageDeterminationScheduledTerminationParameters = z.object({
|
|
6389
|
+
effective_date: z.iso.date()
|
|
6390
|
+
});
|
|
6391
|
+
/**
|
|
6392
|
+
* The adjustment applied when a rule matches — an addition to the wage or fringe rate.
|
|
6393
|
+
*/
|
|
6394
|
+
export const zRateRuleEffect = z.object({
|
|
6395
|
+
type: z.enum(['wage_increment', 'fringe_increment']),
|
|
6396
|
+
amount_cents: z.string()
|
|
6397
|
+
});
|
|
6398
|
+
/**
|
|
6399
|
+
* Restricts the rule to a time-of-day window.
|
|
6400
|
+
*/
|
|
6401
|
+
export const zRateRuleTimeRangeCondition = z.object({
|
|
6402
|
+
type: z.enum(['time_range']),
|
|
6403
|
+
start_time: z.string(),
|
|
6404
|
+
end_time: z.string()
|
|
6405
|
+
});
|
|
6406
|
+
/**
|
|
6407
|
+
* Restricts the rule to specific days of the week.
|
|
6408
|
+
*/
|
|
6409
|
+
export const zRateRuleDaysCondition = z.object({
|
|
6410
|
+
type: z.enum(['days']),
|
|
6411
|
+
days: z.array(z.int())
|
|
6412
|
+
});
|
|
6413
|
+
/**
|
|
6414
|
+
* Restricts the rule to a single calendar date.
|
|
6415
|
+
*/
|
|
6416
|
+
export const zRateRuleSpecificDateCondition = z.object({
|
|
6417
|
+
type: z.enum(['specific_date']),
|
|
6418
|
+
date: z.iso.date()
|
|
6419
|
+
});
|
|
6420
|
+
/**
|
|
6421
|
+
* Restricts the rule to a given apprenticeship wage-schedule period.
|
|
6422
|
+
*/
|
|
6423
|
+
export const zRateRuleApprenticePeriodCondition = z.object({
|
|
6424
|
+
type: z.enum(['apprentice_period']),
|
|
6425
|
+
period: z.int()
|
|
6426
|
+
});
|
|
6427
|
+
/**
|
|
6428
|
+
* Restricts the rule to a cumulative-apprentice-hours band.
|
|
6429
|
+
*/
|
|
6430
|
+
export const zRateRuleApprenticeHoursCondition = z.object({
|
|
6431
|
+
type: z.enum(['apprentice_hours']),
|
|
6432
|
+
min_hours: z.int(),
|
|
6433
|
+
max_hours: z.int()
|
|
6434
|
+
});
|
|
6435
|
+
/**
|
|
6436
|
+
* Restricts the rule to a specific overtime tier.
|
|
6437
|
+
*/
|
|
6438
|
+
export const zRateRuleOvertimeMultiplierCondition = z.object({
|
|
6439
|
+
type: z.enum(['overtime_multiplier']),
|
|
6440
|
+
multiplier: z.enum(['1.5', '2.0'])
|
|
6441
|
+
});
|
|
6442
|
+
/**
|
|
6443
|
+
* A single match condition. At most one condition per category may appear on a rule — time (time_range), day-selection (days or specific_date), apprentice (apprentice_period or apprentice_hours), and overtime (overtime_multiplier). The `type` field selects the shape.
|
|
6444
|
+
*/
|
|
6445
|
+
export const zRateRuleCondition = z.discriminatedUnion('type', [
|
|
6446
|
+
zRateRuleTimeRangeCondition.extend({ type: z.literal('time_range') }),
|
|
6447
|
+
zRateRuleDaysCondition.extend({ type: z.literal('days') }),
|
|
6448
|
+
zRateRuleSpecificDateCondition.extend({ type: z.literal('specific_date') }),
|
|
6449
|
+
zRateRuleApprenticePeriodCondition.extend({ type: z.literal('apprentice_period') }),
|
|
6450
|
+
zRateRuleApprenticeHoursCondition.extend({ type: z.literal('apprentice_hours') }),
|
|
6451
|
+
zRateRuleOvertimeMultiplierCondition.extend({ type: z.literal('overtime_multiplier') })
|
|
6452
|
+
]);
|
|
6453
|
+
/**
|
|
6454
|
+
* A conditional rate-modification rule on a job wage determination — it adds wage or fringe cents when its conditions match. `valid_from` and `valid_to` bound the window over which this version of the rule is in effect.
|
|
6455
|
+
*/
|
|
6456
|
+
export const zRateRuleResponseObject = z.object({
|
|
6457
|
+
id: z.string(),
|
|
6458
|
+
job_wage_determination_id: z.string(),
|
|
6459
|
+
pay_rates_rule_package_id: z.string(),
|
|
6460
|
+
effect: zRateRuleEffect,
|
|
6461
|
+
conditions: z.array(zRateRuleCondition),
|
|
6462
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6463
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6464
|
+
created_at: z.iso.datetime(),
|
|
6465
|
+
updated_at: z.iso.datetime()
|
|
6466
|
+
});
|
|
6467
|
+
export const zRateRuleHistoryCorrectionObject = z.object({
|
|
6468
|
+
pay_rates_rule_id: z.string(),
|
|
6469
|
+
job_wage_determination_id: z.string(),
|
|
6470
|
+
pay_rates_rule_package_id: z.string(),
|
|
6471
|
+
effect: zRateRuleEffect,
|
|
6472
|
+
conditions: z.array(zRateRuleCondition),
|
|
6473
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6474
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6475
|
+
created_at: z.iso.datetime(),
|
|
6476
|
+
updated_at: z.iso.datetime()
|
|
6477
|
+
});
|
|
6478
|
+
export const zRateRuleHistoryVersionObject = z.object({
|
|
6479
|
+
pay_rates_rule_id: z.string(),
|
|
6480
|
+
job_wage_determination_id: z.string(),
|
|
6481
|
+
pay_rates_rule_package_id: z.string(),
|
|
6482
|
+
effect: zRateRuleEffect,
|
|
6483
|
+
conditions: z.array(zRateRuleCondition),
|
|
6147
6484
|
valid_from: z.iso.datetime().nullable(),
|
|
6148
6485
|
valid_to: z.iso.datetime().nullable(),
|
|
6149
6486
|
created_at: z.iso.datetime(),
|
|
@@ -6155,6 +6492,48 @@ export const zRateRuleHistoryVersionObject = z.object({
|
|
|
6155
6492
|
]),
|
|
6156
6493
|
corrections: z.array(zRateRuleHistoryCorrectionObject)
|
|
6157
6494
|
});
|
|
6495
|
+
/**
|
|
6496
|
+
* A conditional rate-modification rule on a project wage determination — it adds wage or fringe cents when its conditions match. `valid_from` and `valid_to` bound the window over which this version of the rule is in effect.
|
|
6497
|
+
*/
|
|
6498
|
+
export const zProjectRateRuleResponseObject = z.object({
|
|
6499
|
+
id: z.string(),
|
|
6500
|
+
project_wage_determination_id: z.string(),
|
|
6501
|
+
pay_rates_rule_package_id: z.string(),
|
|
6502
|
+
effect: zRateRuleEffect,
|
|
6503
|
+
conditions: z.array(zRateRuleCondition),
|
|
6504
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6505
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6506
|
+
created_at: z.iso.datetime(),
|
|
6507
|
+
updated_at: z.iso.datetime()
|
|
6508
|
+
});
|
|
6509
|
+
export const zProjectRateRuleHistoryCorrectionObject = z.object({
|
|
6510
|
+
pay_rates_rule_id: z.string(),
|
|
6511
|
+
project_wage_determination_id: z.string(),
|
|
6512
|
+
pay_rates_rule_package_id: z.string(),
|
|
6513
|
+
effect: zRateRuleEffect,
|
|
6514
|
+
conditions: z.array(zRateRuleCondition),
|
|
6515
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6516
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6517
|
+
created_at: z.iso.datetime(),
|
|
6518
|
+
updated_at: z.iso.datetime()
|
|
6519
|
+
});
|
|
6520
|
+
export const zProjectRateRuleHistoryVersionObject = z.object({
|
|
6521
|
+
pay_rates_rule_id: z.string(),
|
|
6522
|
+
project_wage_determination_id: z.string(),
|
|
6523
|
+
pay_rates_rule_package_id: z.string(),
|
|
6524
|
+
effect: zRateRuleEffect,
|
|
6525
|
+
conditions: z.array(zRateRuleCondition),
|
|
6526
|
+
valid_from: z.iso.datetime().nullable(),
|
|
6527
|
+
valid_to: z.iso.datetime().nullable(),
|
|
6528
|
+
created_at: z.iso.datetime(),
|
|
6529
|
+
updated_at: z.iso.datetime(),
|
|
6530
|
+
version_status: z.enum([
|
|
6531
|
+
'scheduled',
|
|
6532
|
+
'current',
|
|
6533
|
+
'historical'
|
|
6534
|
+
]),
|
|
6535
|
+
corrections: z.array(zProjectRateRuleHistoryCorrectionObject)
|
|
6536
|
+
});
|
|
6158
6537
|
/**
|
|
6159
6538
|
* A conditional wage or fringe adjustment owned by a pay-rate rule package, with the selected version's valid-time window.
|
|
6160
6539
|
*/
|
|
@@ -6331,7 +6710,7 @@ export const zOvertimeRuleParameters = z.object({
|
|
|
6331
6710
|
'one_five_x',
|
|
6332
6711
|
'two_x'
|
|
6333
6712
|
]),
|
|
6334
|
-
region_id: z.string().nullish(),
|
|
6713
|
+
region_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6335
6714
|
eligible_hours_worked: z.int().nullish(),
|
|
6336
6715
|
specific_day_of_week: z.enum([
|
|
6337
6716
|
'sunday',
|
|
@@ -6355,7 +6734,7 @@ export const zOvertimeRuleUpdateParameters = z.object({
|
|
|
6355
6734
|
'one_five_x',
|
|
6356
6735
|
'two_x'
|
|
6357
6736
|
]).optional(),
|
|
6358
|
-
region_id: z.string().nullish(),
|
|
6737
|
+
region_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6359
6738
|
eligible_hours_worked: z.int().nullish(),
|
|
6360
6739
|
specific_day_of_week: z.enum([
|
|
6361
6740
|
'sunday',
|
|
@@ -6379,7 +6758,7 @@ export const zOvertimeRuleScheduledChangeParameters = z.object({
|
|
|
6379
6758
|
'one_five_x',
|
|
6380
6759
|
'two_x'
|
|
6381
6760
|
]).optional(),
|
|
6382
|
-
region_id: z.string().nullish(),
|
|
6761
|
+
region_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6383
6762
|
eligible_hours_worked: z.int().nullish(),
|
|
6384
6763
|
specific_day_of_week: z.enum([
|
|
6385
6764
|
'sunday',
|
|
@@ -6424,18 +6803,18 @@ export const zAssetsVendorResponseObject = z.object({
|
|
|
6424
6803
|
updated_at: z.iso.datetime()
|
|
6425
6804
|
});
|
|
6426
6805
|
/**
|
|
6427
|
-
* Create
|
|
6806
|
+
* Create a vendor. Only name is required; omitting it answers 400, and a null or wrong-typed value answers 422.
|
|
6428
6807
|
*/
|
|
6429
6808
|
export const zAssetsVendorParameters = z.object({
|
|
6430
|
-
name: z.string()
|
|
6431
|
-
logo_signed_id: z.string().
|
|
6809
|
+
name: z.string(),
|
|
6810
|
+
logo_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6432
6811
|
});
|
|
6433
6812
|
/**
|
|
6434
|
-
* Update a vendor. All fields are optional — send only what changes.
|
|
6813
|
+
* Update a vendor. All fields are optional — send only what changes. A null name or a wrong-typed value answers 422.
|
|
6435
6814
|
*/
|
|
6436
6815
|
export const zAssetsVendorUpdateParameters = z.object({
|
|
6437
|
-
name: z.string().
|
|
6438
|
-
logo_signed_id: z.string().
|
|
6816
|
+
name: z.string().optional(),
|
|
6817
|
+
logo_signed_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6439
6818
|
});
|
|
6440
6819
|
/**
|
|
6441
6820
|
* A location that holds a company's assets and inventory — a warehouse or yard, optionally backed by a site on the Atlas map.
|
|
@@ -6450,25 +6829,21 @@ export const zAssetsSiteResponseObject = z.object({
|
|
|
6450
6829
|
created_at: z.iso.datetime(),
|
|
6451
6830
|
updated_at: z.iso.datetime()
|
|
6452
6831
|
});
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
z.
|
|
6458
|
-
name: z.string().min(1)
|
|
6459
|
-
})
|
|
6460
|
-
]), z.object({
|
|
6832
|
+
/**
|
|
6833
|
+
* Create a site. kind is required; provide a site_id to back the location with a site on the Atlas map, or a name for a standalone location. At least one of site_id or name is required.
|
|
6834
|
+
*/
|
|
6835
|
+
export const zAssetsSiteParameters = z.object({
|
|
6836
|
+
site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6461
6837
|
kind: z.enum(['warehouse', 'yard']),
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
}));
|
|
6838
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6839
|
+
});
|
|
6465
6840
|
/**
|
|
6466
6841
|
* Request body for updating an asset location. Every field is optional; send only the fields to change. The saved location must still have a name or a backing `site_id`.
|
|
6467
6842
|
*/
|
|
6468
6843
|
export const zAssetsSiteUpdateParameters = z.object({
|
|
6844
|
+
site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
6469
6845
|
kind: z.enum(['warehouse', 'yard']).optional(),
|
|
6470
|
-
|
|
6471
|
-
name: z.string().nullish()
|
|
6846
|
+
name: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish()
|
|
6472
6847
|
});
|
|
6473
6848
|
/**
|
|
6474
6849
|
* A company-level rule that auto-generates asset form assignments. When an item of one of its products changes custody (an assignment or unassignment), the rule creates or refreshes a form task for the chosen users, due on the configured schedule.
|
|
@@ -6678,7 +7053,7 @@ export const zAssetsProductParameters = z.object({
|
|
|
6678
7053
|
assets_attribute_option_id: z.string().nullish()
|
|
6679
7054
|
})).optional(),
|
|
6680
7055
|
images_attributes: z.array(zAssetsAttachmentParameters).optional(),
|
|
6681
|
-
performed_by_user_id: z.string()
|
|
7056
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
6682
7057
|
});
|
|
6683
7058
|
/**
|
|
6684
7059
|
* Update a catalog product. All fields are optional — send only what changes. `type` is immutable and `performed_by_user_id` is create-only, so neither is accepted here. `attribute_values` upserts the product's category-attribute values.
|
|
@@ -6728,7 +7103,7 @@ export const zAssetsItemParameters = z.object({
|
|
|
6728
7103
|
user_id: z.string().optional(),
|
|
6729
7104
|
container_item_id: z.string().optional(),
|
|
6730
7105
|
assets_sub_location_id: z.string().optional(),
|
|
6731
|
-
performed_by_user_id: z.string()
|
|
7106
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
6732
7107
|
});
|
|
6733
7108
|
/**
|
|
6734
7109
|
* Update an asset item. All item fields are optional — send only what changes — but performed_by_user_id is required to record the updater. Omitted attributes retain their existing values. `attribute_values` upserts the item-level attributes of the product's category.
|
|
@@ -6749,7 +7124,7 @@ export const zAssetsItemUpdateParameters = z.object({
|
|
|
6749
7124
|
assets_attribute_option_id: z.string().nullish()
|
|
6750
7125
|
})).optional(),
|
|
6751
7126
|
images_attributes: z.array(zAssetsAttachmentParameters).optional(),
|
|
6752
|
-
performed_by_user_id: z.string()
|
|
7127
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
6753
7128
|
});
|
|
6754
7129
|
/**
|
|
6755
7130
|
* A file attached to an asset item — a document such as a manual, warranty, or certificate. Uploaded through the direct-upload flow and optionally marked as a certified copy.
|
|
@@ -6775,15 +7150,16 @@ export const zAssetsDocumentResponseObject = z.object({
|
|
|
6775
7150
|
* Attach a file to an asset item as a document. file is required and takes a signed_id from the direct-upload endpoint.
|
|
6776
7151
|
*/
|
|
6777
7152
|
export const zAssetsDocumentParameters = z.object({
|
|
6778
|
-
file: z.string(),
|
|
7153
|
+
file: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
6779
7154
|
filename: z.string().nullish(),
|
|
6780
|
-
description: z.string().nullish()
|
|
7155
|
+
description: z.string().nullish(),
|
|
7156
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
6781
7157
|
});
|
|
6782
7158
|
/**
|
|
6783
|
-
* Update an asset-item 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.
|
|
7159
|
+
* Update an asset-item 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.
|
|
6784
7160
|
*/
|
|
6785
7161
|
export const zAssetsDocumentUpdateParameters = z.object({
|
|
6786
|
-
file: z.string().optional(),
|
|
7162
|
+
file: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).optional(),
|
|
6787
7163
|
filename: z.string().nullish(),
|
|
6788
7164
|
description: z.string().nullish()
|
|
6789
7165
|
});
|
|
@@ -7076,7 +7452,7 @@ export const zAssetsServiceScheduleParameters = z.object({
|
|
|
7076
7452
|
]),
|
|
7077
7453
|
interval_count: z.int().gte(1),
|
|
7078
7454
|
last_serviced_on: z.iso.date().nullish(),
|
|
7079
|
-
performed_by_user_id: z.string()
|
|
7455
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7080
7456
|
});
|
|
7081
7457
|
/**
|
|
7082
7458
|
* Update a service schedule. Cadence and last_serviced_on fields are optional — send only what changes — but performed_by_user_id is required to record the updater. next_due_date is recomputed.
|
|
@@ -7092,7 +7468,7 @@ export const zAssetsServiceScheduleUpdateParameters = z.object({
|
|
|
7092
7468
|
]).optional(),
|
|
7093
7469
|
interval_count: z.int().gte(1).optional(),
|
|
7094
7470
|
last_serviced_on: z.iso.date().nullish(),
|
|
7095
|
-
performed_by_user_id: z.string()
|
|
7471
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7096
7472
|
});
|
|
7097
7473
|
/**
|
|
7098
7474
|
* A service performed on a serial item — scheduled (satisfying a service schedule) or ad-hoc. Recording one advances the linked schedule's next_due_date.
|
|
@@ -7126,7 +7502,7 @@ export const zAssetsServiceEventParameters = z.object({
|
|
|
7126
7502
|
notes: z.string().nullish(),
|
|
7127
7503
|
performed_on: z.iso.date(),
|
|
7128
7504
|
assets_service_schedule_id: z.string().nullish(),
|
|
7129
|
-
performed_by_user_id: z.string(),
|
|
7505
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7130
7506
|
attachments_attributes: z.array(zAssetsAttachmentParameters).optional()
|
|
7131
7507
|
});
|
|
7132
7508
|
/**
|
|
@@ -7141,7 +7517,7 @@ export const zAssetsServiceEventUpdateParameters = z.object({
|
|
|
7141
7517
|
notes: z.string().nullish(),
|
|
7142
7518
|
performed_on: z.iso.date().optional(),
|
|
7143
7519
|
assets_service_schedule_id: z.string().nullish(),
|
|
7144
|
-
performed_by_user_id: z.string(),
|
|
7520
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7145
7521
|
attachments_attributes: z.array(zAssetsAttachmentParameters).optional()
|
|
7146
7522
|
});
|
|
7147
7523
|
/**
|
|
@@ -7176,7 +7552,7 @@ export const zAssetsServiceScheduleTemplateParameters = z.object({
|
|
|
7176
7552
|
'day'
|
|
7177
7553
|
]),
|
|
7178
7554
|
interval_count: z.int().gte(1),
|
|
7179
|
-
performed_by_user_id: z.string()
|
|
7555
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7180
7556
|
});
|
|
7181
7557
|
/**
|
|
7182
7558
|
* Update a service schedule template. Cadence fields are optional — send only what changes — but performed_by_user_id is required to record the updater. Changing defining fields reconciles linked item schedules in the background.
|
|
@@ -7191,7 +7567,7 @@ export const zAssetsServiceScheduleTemplateUpdateParameters = z.object({
|
|
|
7191
7567
|
'day'
|
|
7192
7568
|
]).optional(),
|
|
7193
7569
|
interval_count: z.int().gte(1).optional(),
|
|
7194
|
-
performed_by_user_id: z.string()
|
|
7570
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7195
7571
|
});
|
|
7196
7572
|
/**
|
|
7197
7573
|
* A node of fixed storage structure inside a site or a container item — a zone, aisle, rack, shelf, bin, or drawer. Nodes form a tree per holder, and each carries a scannable path_code composed from its ancestors' codes.
|
|
@@ -7220,9 +7596,9 @@ export const zAssetsSubLocationResponseObject = z.object({
|
|
|
7220
7596
|
* Create a storage location. name and code are required. A top-level node names its holder (assets_site_id or container_item_id, exactly one); a nested node names parent_id and inherits the parent's holder. The holder cannot change after creation.
|
|
7221
7597
|
*/
|
|
7222
7598
|
export const zAssetsSubLocationParameters = z.object({
|
|
7223
|
-
assets_site_id: z.string().
|
|
7224
|
-
container_item_id: z.string().
|
|
7225
|
-
parent_id: z.string().nullish(),
|
|
7599
|
+
assets_site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7600
|
+
container_item_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7601
|
+
parent_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7226
7602
|
kind: z.enum([
|
|
7227
7603
|
'zone',
|
|
7228
7604
|
'aisle',
|
|
@@ -7230,7 +7606,7 @@ export const zAssetsSubLocationParameters = z.object({
|
|
|
7230
7606
|
'shelf',
|
|
7231
7607
|
'bin',
|
|
7232
7608
|
'drawer'
|
|
7233
|
-
]).
|
|
7609
|
+
]).nullish(),
|
|
7234
7610
|
name: z.string().min(1),
|
|
7235
7611
|
code: z.string().min(1)
|
|
7236
7612
|
});
|
|
@@ -7238,7 +7614,7 @@ export const zAssetsSubLocationParameters = z.object({
|
|
|
7238
7614
|
* Update a storage location. All fields are optional — send only what changes. Sending assets_site_id or container_item_id on update returns 400 unknown_key. Holder fields are accepted only on create; renaming code cascades new path codes through the node's subtree.
|
|
7239
7615
|
*/
|
|
7240
7616
|
export const zAssetsSubLocationUpdateParameters = z.object({
|
|
7241
|
-
parent_id: z.string().nullish(),
|
|
7617
|
+
parent_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7242
7618
|
kind: z.enum([
|
|
7243
7619
|
'zone',
|
|
7244
7620
|
'aisle',
|
|
@@ -7246,7 +7622,7 @@ export const zAssetsSubLocationUpdateParameters = z.object({
|
|
|
7246
7622
|
'shelf',
|
|
7247
7623
|
'bin',
|
|
7248
7624
|
'drawer'
|
|
7249
|
-
]).
|
|
7625
|
+
]).nullish(),
|
|
7250
7626
|
name: z.string().min(1).optional(),
|
|
7251
7627
|
code: z.string().min(1).optional()
|
|
7252
7628
|
});
|
|
@@ -7292,7 +7668,7 @@ export const zAssetsTransferParameters = z.object({
|
|
|
7292
7668
|
to_container_item_id: z.string().optional(),
|
|
7293
7669
|
from_assets_sub_location_id: z.string().optional(),
|
|
7294
7670
|
to_assets_sub_location_id: z.string().optional(),
|
|
7295
|
-
performed_by_user_id: z.string(),
|
|
7671
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7296
7672
|
line_items: z.array(z.object({
|
|
7297
7673
|
assets_item_id: z.string(),
|
|
7298
7674
|
quantity: z.int().gte(1)
|
|
@@ -7302,25 +7678,39 @@ export const zAssetsTransferParameters = z.object({
|
|
|
7302
7678
|
* Add stock of a bulk product at a site, recording a receive transaction. Bulk products only.
|
|
7303
7679
|
*/
|
|
7304
7680
|
export const zAssetsRestockParameters = z.object({
|
|
7305
|
-
assets_site_id: z.string(),
|
|
7306
|
-
assets_sub_location_id: z.string().
|
|
7681
|
+
assets_site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7682
|
+
assets_sub_location_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7307
7683
|
quantity: z.int().gte(1),
|
|
7308
|
-
performed_by_user_id: z.string()
|
|
7684
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7309
7685
|
});
|
|
7310
7686
|
/**
|
|
7311
7687
|
* Set the on-hand count of a bulk product at a site to a specific number, recording the difference as an adjustment transaction. The site must already stock the product. Bulk products only.
|
|
7312
7688
|
*/
|
|
7313
7689
|
export const zAssetsAdjustmentParameters = z.object({
|
|
7314
|
-
assets_site_id: z.string(),
|
|
7315
|
-
assets_sub_location_id: z.string().
|
|
7690
|
+
assets_site_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/),
|
|
7691
|
+
assets_sub_location_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/).nullish(),
|
|
7316
7692
|
new_quantity: z.int().gte(0),
|
|
7317
|
-
performed_by_user_id: z.string()
|
|
7693
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7694
|
+
});
|
|
7695
|
+
/**
|
|
7696
|
+
* Archive or unarchive a product or item. Archiving takes it out of circulation without deleting it — history is preserved and it is hidden from listings unless requested with filter[state]. Archiving a product cascades to its items; item operations apply to serial items only.
|
|
7697
|
+
*/
|
|
7698
|
+
export const zAssetsArchiveParameters = z.object({
|
|
7699
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7700
|
+
});
|
|
7701
|
+
/**
|
|
7702
|
+
* Create the template's schedule on the product's serial items that don't have one yet. Items whose matching schedule has a different cadence are blocked and never seeded.
|
|
7703
|
+
*/
|
|
7704
|
+
export const zAssetsServiceScheduleSeedParameters = z.object({
|
|
7705
|
+
assets_item_ids: z.array(z.string()).min(1).optional(),
|
|
7706
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7318
7707
|
});
|
|
7319
7708
|
/**
|
|
7320
|
-
*
|
|
7709
|
+
* Rewrite blocked schedules — those sharing the template's name and kind with a different interval — to the template's cadence, which links them to it.
|
|
7321
7710
|
*/
|
|
7322
|
-
export const
|
|
7323
|
-
|
|
7711
|
+
export const zAssetsServiceScheduleSyncParameters = z.object({
|
|
7712
|
+
schedule_ids: z.array(z.string()).min(1).optional(),
|
|
7713
|
+
performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20
- ‧- ]|[‧]/)
|
|
7324
7714
|
});
|
|
7325
7715
|
/**
|
|
7326
7716
|
* A certification held by a worker — the record that a worker earned a certification, with its receipt date, optional expiry, and verification state.
|
|
@@ -8322,10 +8712,7 @@ export const zUpdateServiceScheduleTemplatePath = z.object({
|
|
|
8322
8712
|
* Success
|
|
8323
8713
|
*/
|
|
8324
8714
|
export const zUpdateServiceScheduleTemplateResponse = zAssetsServiceScheduleTemplateResponseObject;
|
|
8325
|
-
export const zSeedServiceScheduleTemplateBody =
|
|
8326
|
-
assets_item_ids: z.array(z.string()).optional(),
|
|
8327
|
-
performed_by_user_id: z.string()
|
|
8328
|
-
});
|
|
8715
|
+
export const zSeedServiceScheduleTemplateBody = zAssetsServiceScheduleSeedParameters;
|
|
8329
8716
|
export const zSeedServiceScheduleTemplatePath = z.object({
|
|
8330
8717
|
product_id: z.string(),
|
|
8331
8718
|
service_schedule_template_id: z.string()
|
|
@@ -8337,10 +8724,7 @@ export const zSeedServiceScheduleTemplateResponse = z.object({
|
|
|
8337
8724
|
count: z.int(),
|
|
8338
8725
|
data: z.array(zAssetsServiceScheduleResponseObject)
|
|
8339
8726
|
});
|
|
8340
|
-
export const zSyncServiceScheduleTemplateBody =
|
|
8341
|
-
schedule_ids: z.array(z.string()).optional(),
|
|
8342
|
-
performed_by_user_id: z.string()
|
|
8343
|
-
});
|
|
8727
|
+
export const zSyncServiceScheduleTemplateBody = zAssetsServiceScheduleSyncParameters;
|
|
8344
8728
|
export const zSyncServiceScheduleTemplatePath = z.object({
|
|
8345
8729
|
product_id: z.string(),
|
|
8346
8730
|
service_schedule_template_id: z.string()
|
|
@@ -8811,6 +9195,112 @@ export const zUpdateCompanyProfilePath = z.object({
|
|
|
8811
9195
|
* Success
|
|
8812
9196
|
*/
|
|
8813
9197
|
export const zUpdateCompanyProfileResponse = zCompanyResponseObject;
|
|
9198
|
+
export const zListAssessmentsQuery = z.object({
|
|
9199
|
+
'filter[candidate_user_id]': z.string().optional(),
|
|
9200
|
+
'filter[competencies_level_id]': z.string().optional(),
|
|
9201
|
+
'filter[status]': z.enum([
|
|
9202
|
+
'evidence_collection',
|
|
9203
|
+
'submitted',
|
|
9204
|
+
'in_review',
|
|
9205
|
+
'decided'
|
|
9206
|
+
]).optional(),
|
|
9207
|
+
'filter[outcome]': z.enum(['competent', 'not_yet_competent']).nullish(),
|
|
9208
|
+
filter: z.string().optional(),
|
|
9209
|
+
'filter[unexpected]': z.string().optional()
|
|
9210
|
+
});
|
|
9211
|
+
/**
|
|
9212
|
+
* Success
|
|
9213
|
+
*/
|
|
9214
|
+
export const zListAssessmentsResponse = z.object({
|
|
9215
|
+
meta: zMeta,
|
|
9216
|
+
links: zLinks,
|
|
9217
|
+
data: z.array(zCompetencyAssessmentResponseObject)
|
|
9218
|
+
});
|
|
9219
|
+
export const zGetAssessmentPath = z.object({
|
|
9220
|
+
id: z.string()
|
|
9221
|
+
});
|
|
9222
|
+
/**
|
|
9223
|
+
* Success
|
|
9224
|
+
*/
|
|
9225
|
+
export const zGetAssessmentResponse = zCompetencyAssessmentResponseObject;
|
|
9226
|
+
export const zListAssessmentKeyActivitiesPath = z.object({
|
|
9227
|
+
assessment_id: z.string()
|
|
9228
|
+
});
|
|
9229
|
+
export const zListAssessmentKeyActivitiesQuery = z.object({
|
|
9230
|
+
filter: z.string().optional(),
|
|
9231
|
+
'filter[unexpected]': z.string().optional()
|
|
9232
|
+
});
|
|
9233
|
+
/**
|
|
9234
|
+
* Candidate sees a decided review
|
|
9235
|
+
*/
|
|
9236
|
+
export const zListAssessmentKeyActivitiesResponse = z.object({
|
|
9237
|
+
meta: zMeta,
|
|
9238
|
+
links: zLinks,
|
|
9239
|
+
data: z.array(zCompetencyAssessmentKeyActivityResponseObject)
|
|
9240
|
+
});
|
|
9241
|
+
export const zGetAssessmentKeyActivityPath = z.object({
|
|
9242
|
+
assessment_id: z.string(),
|
|
9243
|
+
id: z.string()
|
|
9244
|
+
});
|
|
9245
|
+
/**
|
|
9246
|
+
* Candidate sees a decided review
|
|
9247
|
+
*/
|
|
9248
|
+
export const zGetAssessmentKeyActivityResponse = zCompetencyAssessmentKeyActivityResponseObject;
|
|
9249
|
+
export const zListEvidenceItemsPath = z.object({
|
|
9250
|
+
assessment_id: z.string(),
|
|
9251
|
+
key_activity_id: z.string()
|
|
9252
|
+
});
|
|
9253
|
+
export const zListEvidenceItemsQuery = z.object({
|
|
9254
|
+
'filter[kind]': z.enum([
|
|
9255
|
+
'upload',
|
|
9256
|
+
'form_submission',
|
|
9257
|
+
'certification'
|
|
9258
|
+
]).optional(),
|
|
9259
|
+
filter: z.string().optional(),
|
|
9260
|
+
'filter[unexpected]': z.string().optional()
|
|
9261
|
+
});
|
|
9262
|
+
/**
|
|
9263
|
+
* Success
|
|
9264
|
+
*/
|
|
9265
|
+
export const zListEvidenceItemsResponse = z.object({
|
|
9266
|
+
meta: zMeta,
|
|
9267
|
+
links: zLinks,
|
|
9268
|
+
data: z.array(zCompetencyEvidenceItemResponseObject)
|
|
9269
|
+
});
|
|
9270
|
+
export const zGetEvidenceItemPath = z.object({
|
|
9271
|
+
assessment_id: z.string(),
|
|
9272
|
+
key_activity_id: z.string(),
|
|
9273
|
+
id: z.string()
|
|
9274
|
+
});
|
|
9275
|
+
/**
|
|
9276
|
+
* Success
|
|
9277
|
+
*/
|
|
9278
|
+
export const zGetEvidenceItemResponse = zCompetencyEvidenceItemResponseObject;
|
|
9279
|
+
export const zListQualificationsQuery = z.object({
|
|
9280
|
+
'filter[candidate_user_id]': z.string().optional(),
|
|
9281
|
+
'filter[competencies_standard_id]': z.string().optional(),
|
|
9282
|
+
'filter[level_sort_order]': z.int().optional(),
|
|
9283
|
+
filter: z.string().optional(),
|
|
9284
|
+
'filter[unexpected]': z.string().optional(),
|
|
9285
|
+
'page[cursor]': z.string().optional(),
|
|
9286
|
+
'page[limit]': z.int().gte(1).optional().default(20),
|
|
9287
|
+
page: z.string().optional()
|
|
9288
|
+
});
|
|
9289
|
+
/**
|
|
9290
|
+
* Success
|
|
9291
|
+
*/
|
|
9292
|
+
export const zListQualificationsResponse = z.object({
|
|
9293
|
+
meta: zMeta,
|
|
9294
|
+
links: zLinks,
|
|
9295
|
+
data: z.array(zCompetencyQualificationResponseObject)
|
|
9296
|
+
});
|
|
9297
|
+
export const zGetQualificationPath = z.object({
|
|
9298
|
+
id: z.string()
|
|
9299
|
+
});
|
|
9300
|
+
/**
|
|
9301
|
+
* Success
|
|
9302
|
+
*/
|
|
9303
|
+
export const zGetQualificationResponse = zCompetencyQualificationResponseObject;
|
|
8814
9304
|
export const zListChecksQuery = z.object({
|
|
8815
9305
|
'filter[status]': z.enum([
|
|
8816
9306
|
'passed',
|
|
@@ -9165,6 +9655,50 @@ export const zUpdateJobScopePricePath = z.object({
|
|
|
9165
9655
|
* Success
|
|
9166
9656
|
*/
|
|
9167
9657
|
export const zUpdateJobScopePriceResponse = zProductionJobScopePriceResponseObject;
|
|
9658
|
+
export const zListGoodFaithEffortExceptionsPath = z.object({
|
|
9659
|
+
job_id: z.string()
|
|
9660
|
+
});
|
|
9661
|
+
export const zListGoodFaithEffortExceptionsQuery = z.object({
|
|
9662
|
+
filter: z.string().optional(),
|
|
9663
|
+
'filter[unexpected]': z.string().optional(),
|
|
9664
|
+
'page[cursor]': z.string().optional(),
|
|
9665
|
+
'page[limit]': z.int().gte(1).optional().default(20),
|
|
9666
|
+
page: z.string().optional()
|
|
9667
|
+
});
|
|
9668
|
+
/**
|
|
9669
|
+
* Success
|
|
9670
|
+
*/
|
|
9671
|
+
export const zListGoodFaithEffortExceptionsResponse = zJobGoodFaithEffortExceptionsResponseObject;
|
|
9672
|
+
export const zGetGoodFaithEffortExceptionPath = z.object({
|
|
9673
|
+
job_id: z.string(),
|
|
9674
|
+
id: z.string()
|
|
9675
|
+
});
|
|
9676
|
+
/**
|
|
9677
|
+
* Success
|
|
9678
|
+
*/
|
|
9679
|
+
export const zGetGoodFaithEffortExceptionResponse = zJobGoodFaithEffortExceptionResponseObject;
|
|
9680
|
+
export const zListCurePaymentsPath = z.object({
|
|
9681
|
+
job_id: z.string()
|
|
9682
|
+
});
|
|
9683
|
+
export const zListCurePaymentsQuery = z.object({
|
|
9684
|
+
filter: z.string().optional(),
|
|
9685
|
+
'filter[unexpected]': z.string().optional(),
|
|
9686
|
+
'page[cursor]': z.string().optional(),
|
|
9687
|
+
'page[limit]': z.int().gte(1).optional().default(20),
|
|
9688
|
+
page: z.string().optional()
|
|
9689
|
+
});
|
|
9690
|
+
/**
|
|
9691
|
+
* Success
|
|
9692
|
+
*/
|
|
9693
|
+
export const zListCurePaymentsResponse = zJobCurePaymentsResponseObject;
|
|
9694
|
+
export const zGetCurePaymentPath = z.object({
|
|
9695
|
+
job_id: z.string(),
|
|
9696
|
+
id: z.string()
|
|
9697
|
+
});
|
|
9698
|
+
/**
|
|
9699
|
+
* Success
|
|
9700
|
+
*/
|
|
9701
|
+
export const zGetCurePaymentResponse = zJobCurePaymentResponseObject;
|
|
9168
9702
|
export const zCreateJobTradeBody = zPwaTradeParameters;
|
|
9169
9703
|
export const zCreateJobTradePath = z.object({
|
|
9170
9704
|
job_id: z.string()
|
|
@@ -9423,6 +9957,7 @@ export const zListJobsQuery = z.object({
|
|
|
9423
9957
|
'filter[project_id]': z.string().optional(),
|
|
9424
9958
|
'filter[companies_department_id]': z.string().optional(),
|
|
9425
9959
|
'filter[companies_department_id][null]': z.boolean().optional(),
|
|
9960
|
+
'filter[requested_by_company_id]': z.string().optional(),
|
|
9426
9961
|
'filter[status]': z.string().optional(),
|
|
9427
9962
|
'filter[production_tracking_kind]': z.enum([
|
|
9428
9963
|
'none',
|
|
@@ -10762,6 +11297,62 @@ export const zCreateProjectTradePath = z.object({
|
|
|
10762
11297
|
* Created
|
|
10763
11298
|
*/
|
|
10764
11299
|
export const zCreateProjectTradeResponse = zPwaTradeResponseObject;
|
|
11300
|
+
export const zListProjectWageDeterminationRateRuleHistoryPath = z.object({
|
|
11301
|
+
project_id: z.string(),
|
|
11302
|
+
wage_determination_id: z.string(),
|
|
11303
|
+
rate_rule_id: z.string()
|
|
11304
|
+
});
|
|
11305
|
+
export const zListProjectWageDeterminationRateRuleHistoryQuery = z.object({
|
|
11306
|
+
'as_of[valid]': z.string().optional()
|
|
11307
|
+
});
|
|
11308
|
+
/**
|
|
11309
|
+
* Success
|
|
11310
|
+
*/
|
|
11311
|
+
export const zListProjectWageDeterminationRateRuleHistoryResponse = z.object({
|
|
11312
|
+
meta: zMeta,
|
|
11313
|
+
links: zLinks,
|
|
11314
|
+
data: z.array(zProjectRateRuleHistoryVersionObject)
|
|
11315
|
+
});
|
|
11316
|
+
export const zListProjectWageDeterminationRateRulesPath = z.object({
|
|
11317
|
+
project_id: z.string(),
|
|
11318
|
+
wage_determination_id: z.string()
|
|
11319
|
+
});
|
|
11320
|
+
export const zListProjectWageDeterminationRateRulesQuery = z.object({
|
|
11321
|
+
'as_of[valid]': z.iso.datetime().optional(),
|
|
11322
|
+
as_of: z.string().optional(),
|
|
11323
|
+
'as_of[bogus_axis]': z.string().optional(),
|
|
11324
|
+
'as_of[valid][gte]': z.string().optional(),
|
|
11325
|
+
'as_of[transaction]': z.string().optional()
|
|
11326
|
+
});
|
|
11327
|
+
/**
|
|
11328
|
+
* Success
|
|
11329
|
+
*/
|
|
11330
|
+
export const zListProjectWageDeterminationRateRulesResponse = z.object({
|
|
11331
|
+
meta: zMeta,
|
|
11332
|
+
links: zLinks,
|
|
11333
|
+
data: z.array(zProjectRateRuleResponseObject)
|
|
11334
|
+
});
|
|
11335
|
+
export const zCreateProjectWageDeterminationRateRuleBody = zRateRuleParameters;
|
|
11336
|
+
export const zCreateProjectWageDeterminationRateRulePath = z.object({
|
|
11337
|
+
project_id: z.string(),
|
|
11338
|
+
wage_determination_id: z.string()
|
|
11339
|
+
});
|
|
11340
|
+
/**
|
|
11341
|
+
* Created
|
|
11342
|
+
*/
|
|
11343
|
+
export const zCreateProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
|
|
11344
|
+
export const zGetProjectWageDeterminationRateRulePath = z.object({
|
|
11345
|
+
project_id: z.string(),
|
|
11346
|
+
wage_determination_id: z.string(),
|
|
11347
|
+
id: z.string()
|
|
11348
|
+
});
|
|
11349
|
+
export const zGetProjectWageDeterminationRateRuleQuery = z.object({
|
|
11350
|
+
'as_of[valid]': z.iso.datetime().optional()
|
|
11351
|
+
});
|
|
11352
|
+
/**
|
|
11353
|
+
* Success
|
|
11354
|
+
*/
|
|
11355
|
+
export const zGetProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
|
|
10765
11356
|
export const zListProjectSitesPath = z.object({
|
|
10766
11357
|
project_id: z.string()
|
|
10767
11358
|
});
|
|
@@ -10811,6 +11402,147 @@ export const zUpdateProjectSitePath = z.object({
|
|
|
10811
11402
|
* Success
|
|
10812
11403
|
*/
|
|
10813
11404
|
export const zUpdateProjectSiteResponse = zProjectSiteResponseObject;
|
|
11405
|
+
export const zShiftProjectWageDeterminationGenesisBody = zProjectWageDeterminationGenesisParameters;
|
|
11406
|
+
export const zShiftProjectWageDeterminationGenesisHeaders = z.object({
|
|
11407
|
+
'If-Match': z.string()
|
|
11408
|
+
});
|
|
11409
|
+
export const zShiftProjectWageDeterminationGenesisPath = z.object({
|
|
11410
|
+
project_id: z.string(),
|
|
11411
|
+
wage_determination_id: z.string()
|
|
11412
|
+
});
|
|
11413
|
+
/**
|
|
11414
|
+
* Success
|
|
11415
|
+
*/
|
|
11416
|
+
export const zShiftProjectWageDeterminationGenesisResponse = zProjectWageDeterminationResponseObject;
|
|
11417
|
+
export const zListProjectWageDeterminationHistoryPath = z.object({
|
|
11418
|
+
project_id: z.string(),
|
|
11419
|
+
wage_determination_id: z.string()
|
|
11420
|
+
});
|
|
11421
|
+
export const zListProjectWageDeterminationHistoryQuery = z.object({
|
|
11422
|
+
'as_of[valid]': z.string().optional()
|
|
11423
|
+
});
|
|
11424
|
+
/**
|
|
11425
|
+
* Success
|
|
11426
|
+
*/
|
|
11427
|
+
export const zListProjectWageDeterminationHistoryResponse = z.object({
|
|
11428
|
+
meta: zMeta,
|
|
11429
|
+
links: zLinks,
|
|
11430
|
+
data: z.array(zProjectWageDeterminationHistoryVersionObject)
|
|
11431
|
+
});
|
|
11432
|
+
export const zCancelProjectWageDeterminationScheduledChangesHeaders = z.object({
|
|
11433
|
+
'If-Match': z.string()
|
|
11434
|
+
});
|
|
11435
|
+
export const zCancelProjectWageDeterminationScheduledChangesPath = z.object({
|
|
11436
|
+
project_id: z.string(),
|
|
11437
|
+
wage_determination_id: z.string()
|
|
11438
|
+
});
|
|
11439
|
+
/**
|
|
11440
|
+
* Success
|
|
11441
|
+
*/
|
|
11442
|
+
export const zCancelProjectWageDeterminationScheduledChangesResponse = zProjectWageDeterminationResponseObject;
|
|
11443
|
+
export const zListProjectWageDeterminationScheduledChangesPath = z.object({
|
|
11444
|
+
project_id: z.string(),
|
|
11445
|
+
wage_determination_id: z.string()
|
|
11446
|
+
});
|
|
11447
|
+
/**
|
|
11448
|
+
* Success with scheduled changes
|
|
11449
|
+
*/
|
|
11450
|
+
export const zListProjectWageDeterminationScheduledChangesResponse = z.array(zProjectWageDeterminationResponseObject);
|
|
11451
|
+
export const zScheduleProjectWageDeterminationChangeBody = zProjectWageDeterminationScheduledChangeParameters;
|
|
11452
|
+
export const zScheduleProjectWageDeterminationChangeHeaders = z.object({
|
|
11453
|
+
'If-Match': z.string()
|
|
11454
|
+
});
|
|
11455
|
+
export const zScheduleProjectWageDeterminationChangePath = z.object({
|
|
11456
|
+
project_id: z.string(),
|
|
11457
|
+
wage_determination_id: z.string()
|
|
11458
|
+
});
|
|
11459
|
+
/**
|
|
11460
|
+
* Created
|
|
11461
|
+
*/
|
|
11462
|
+
export const zScheduleProjectWageDeterminationChangeResponse = zProjectWageDeterminationResponseObject;
|
|
11463
|
+
export const zCancelProjectWageDeterminationScheduledTerminationHeaders = z.object({
|
|
11464
|
+
'If-Match': z.string()
|
|
11465
|
+
});
|
|
11466
|
+
export const zCancelProjectWageDeterminationScheduledTerminationPath = z.object({
|
|
11467
|
+
project_id: z.string(),
|
|
11468
|
+
wage_determination_id: z.string()
|
|
11469
|
+
});
|
|
11470
|
+
/**
|
|
11471
|
+
* Success
|
|
11472
|
+
*/
|
|
11473
|
+
export const zCancelProjectWageDeterminationScheduledTerminationResponse = zProjectWageDeterminationResponseObject;
|
|
11474
|
+
export const zScheduleProjectWageDeterminationTerminationBody = zProjectWageDeterminationScheduledTerminationParameters;
|
|
11475
|
+
export const zScheduleProjectWageDeterminationTerminationHeaders = z.object({
|
|
11476
|
+
'If-Match': z.string()
|
|
11477
|
+
});
|
|
11478
|
+
export const zScheduleProjectWageDeterminationTerminationPath = z.object({
|
|
11479
|
+
project_id: z.string(),
|
|
11480
|
+
wage_determination_id: z.string()
|
|
11481
|
+
});
|
|
11482
|
+
/**
|
|
11483
|
+
* Created
|
|
11484
|
+
*/
|
|
11485
|
+
export const zScheduleProjectWageDeterminationTerminationResponse = zProjectWageDeterminationResponseObject;
|
|
11486
|
+
export const zListProjectWageDeterminationsPath = z.object({
|
|
11487
|
+
project_id: z.string()
|
|
11488
|
+
});
|
|
11489
|
+
export const zListProjectWageDeterminationsQuery = z.object({
|
|
11490
|
+
'as_of[valid]': z.iso.datetime().optional(),
|
|
11491
|
+
as_of: z.string().optional(),
|
|
11492
|
+
'as_of[bogus_axis]': z.string().optional(),
|
|
11493
|
+
'as_of[valid][gte]': z.string().optional(),
|
|
11494
|
+
'as_of[transaction]': z.string().optional()
|
|
11495
|
+
});
|
|
11496
|
+
/**
|
|
11497
|
+
* Success
|
|
11498
|
+
*/
|
|
11499
|
+
export const zListProjectWageDeterminationsResponse = z.object({
|
|
11500
|
+
meta: zMeta,
|
|
11501
|
+
links: zLinks,
|
|
11502
|
+
data: z.array(zProjectWageDeterminationResponseObject)
|
|
11503
|
+
});
|
|
11504
|
+
export const zCreateProjectWageDeterminationBody = zProjectWageDeterminationParameters;
|
|
11505
|
+
export const zCreateProjectWageDeterminationPath = z.object({
|
|
11506
|
+
project_id: z.string()
|
|
11507
|
+
});
|
|
11508
|
+
/**
|
|
11509
|
+
* Created
|
|
11510
|
+
*/
|
|
11511
|
+
export const zCreateProjectWageDeterminationResponse = zProjectWageDeterminationResponseObject;
|
|
11512
|
+
export const zDeleteProjectWageDeterminationHeaders = z.object({
|
|
11513
|
+
'If-Match': z.string()
|
|
11514
|
+
});
|
|
11515
|
+
export const zDeleteProjectWageDeterminationPath = z.object({
|
|
11516
|
+
project_id: z.string(),
|
|
11517
|
+
id: z.string()
|
|
11518
|
+
});
|
|
11519
|
+
/**
|
|
11520
|
+
* Success
|
|
11521
|
+
*/
|
|
11522
|
+
export const zDeleteProjectWageDeterminationResponse = zProjectWageDeterminationResponseObject;
|
|
11523
|
+
export const zGetProjectWageDeterminationPath = z.object({
|
|
11524
|
+
project_id: z.string(),
|
|
11525
|
+
id: z.string()
|
|
11526
|
+
});
|
|
11527
|
+
export const zGetProjectWageDeterminationQuery = z.object({
|
|
11528
|
+
'as_of[valid]': z.iso.datetime().optional()
|
|
11529
|
+
});
|
|
11530
|
+
/**
|
|
11531
|
+
* Success
|
|
11532
|
+
*/
|
|
11533
|
+
export const zGetProjectWageDeterminationResponse = zProjectWageDeterminationResponseObject;
|
|
11534
|
+
export const zUpdateProjectWageDeterminationBody = zProjectWageDeterminationUpdateParameters;
|
|
11535
|
+
export const zUpdateProjectWageDeterminationHeaders = z.object({
|
|
11536
|
+
'If-Match': z.string()
|
|
11537
|
+
});
|
|
11538
|
+
export const zUpdateProjectWageDeterminationPath = z.object({
|
|
11539
|
+
project_id: z.string(),
|
|
11540
|
+
id: z.string()
|
|
11541
|
+
});
|
|
11542
|
+
/**
|
|
11543
|
+
* Success
|
|
11544
|
+
*/
|
|
11545
|
+
export const zUpdateProjectWageDeterminationResponse = zProjectWageDeterminationResponseObject;
|
|
10814
11546
|
export const zListProjectsQuery = z.object({
|
|
10815
11547
|
'filter[federal_pwa_mode]': z.enum([
|
|
10816
11548
|
'all',
|
|
@@ -10826,6 +11558,9 @@ export const zListProjectsQuery = z.object({
|
|
|
10826
11558
|
]).optional(),
|
|
10827
11559
|
'filter[external_id]': z.string().optional(),
|
|
10828
11560
|
'filter[name]': z.string().optional(),
|
|
11561
|
+
'filter[owned_by_company_id]': z.string().optional(),
|
|
11562
|
+
'filter[job_id]': z.string().optional(),
|
|
11563
|
+
'filter[site_id]': z.string().optional(),
|
|
10829
11564
|
'filter[created_at][gte]': z.iso.datetime().optional(),
|
|
10830
11565
|
'filter[created_at][lte]': z.iso.datetime().optional(),
|
|
10831
11566
|
'filter[updated_at][gte]': z.iso.datetime().optional(),
|
|
@@ -11282,6 +12017,22 @@ export const zListTimeCardsQuery = z.object({
|
|
|
11282
12017
|
'filter[timekeeping_pay_period_id]': z.string().optional(),
|
|
11283
12018
|
'filter[user_id]': z.string().optional(),
|
|
11284
12019
|
'filter[job_id]': z.string().optional(),
|
|
12020
|
+
'filter[federal_pwa]': z.boolean().optional(),
|
|
12021
|
+
'filter[regional_pwa]': z.boolean().optional(),
|
|
12022
|
+
'filter[apprentice]': z.boolean().optional(),
|
|
12023
|
+
'filter[employment_type]': z.array(z.enum(['EMPLOYEE', 'CONTRACTOR'])).optional(),
|
|
12024
|
+
'filter[compensation_type]': z.array(z.enum(['hourly', 'salary'])).optional(),
|
|
12025
|
+
'filter[department_id]': z.string().optional(),
|
|
12026
|
+
'filter[worker_approval_status]': z.array(z.enum([
|
|
12027
|
+
'PENDING',
|
|
12028
|
+
'APPROVED',
|
|
12029
|
+
'DECLINED'
|
|
12030
|
+
])).optional(),
|
|
12031
|
+
'filter[manager_approval_status]': z.array(z.enum([
|
|
12032
|
+
'PENDING',
|
|
12033
|
+
'APPROVED',
|
|
12034
|
+
'DECLINED'
|
|
12035
|
+
])).optional(),
|
|
11285
12036
|
'filter[start_time][gte]': z.iso.datetime().optional(),
|
|
11286
12037
|
'filter[start_time][lte]': z.iso.datetime().optional(),
|
|
11287
12038
|
filter: z.string().optional(),
|
|
@@ -11868,6 +12619,12 @@ export const zListUsersQuery = z.object({
|
|
|
11868
12619
|
'filter[name]': z.string().optional(),
|
|
11869
12620
|
'filter[manager_user_id]': z.string().optional(),
|
|
11870
12621
|
'filter[department_id]': z.string().optional(),
|
|
12622
|
+
'filter[invite_status]': z.array(z.enum([
|
|
12623
|
+
'pending',
|
|
12624
|
+
'accepted',
|
|
12625
|
+
'declined',
|
|
12626
|
+
'revoked'
|
|
12627
|
+
])).optional(),
|
|
11871
12628
|
'page[cursor]': z.string().optional(),
|
|
11872
12629
|
'page[limit]': z.int().gte(1).optional().default(20),
|
|
11873
12630
|
page: z.string().optional(),
|