@dsptch-work/api-client 0.39.0 → 0.41.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.
@@ -446,16 +446,20 @@ export const zDirectUploadParameters = z.object({
446
446
  'assets.products',
447
447
  'assets.vendors',
448
448
  'compliance.checks',
449
+ 'form_submissions',
449
450
  'internal.companies',
450
451
  'internal.company_todos',
451
452
  'internal.job_todos',
452
453
  'internal.project_todos',
453
454
  'jobs.documents',
455
+ 'jobs.pwa.apprenticeship.good_faith_effort_exceptions',
456
+ 'jobs.pwa.cure_payments',
454
457
  'pay_periods.imports.aggregate_times',
455
458
  'pay_periods.imports.dsptch_cprs',
456
459
  'pay_periods.imports.time_entries',
457
460
  'payrolls.payroll_runs.imports.paystubs',
458
461
  'payrolls.payroll_runs.imports.wide_paystubs',
462
+ 'projects',
459
463
  'projects.documents',
460
464
  'users'
461
465
  ]),
@@ -757,10 +761,10 @@ export const zCompetencyEvidenceItemResponseObject = z.object({
757
761
  'form_submission',
758
762
  'certification'
759
763
  ]),
760
- description: z.string().nullable(),
764
+ description: z.string().nullish(),
761
765
  captured_on: z.iso.date(),
762
- form_submission_id: z.string().nullable(),
763
- user_certification_id: z.string().nullable(),
766
+ form_submission_id: z.string().nullish(),
767
+ user_certification_id: z.string().nullish(),
764
768
  added_by_user_id: z.string(),
765
769
  file_name: z.string().nullable(),
766
770
  file_byte_size: z.int().nullable(),
@@ -1540,7 +1544,7 @@ export const zAssetsProductParameters = z.object({
1540
1544
  model: z.string().nullish(),
1541
1545
  upc: z.string().nullish(),
1542
1546
  internal_sku: z.string().nullish(),
1543
- default_minimum_quantity: z.int().nullish(),
1547
+ default_minimum_quantity: z.int().gte(1).nullish(),
1544
1548
  counted_by: z.enum([
1545
1549
  'each',
1546
1550
  'pair',
@@ -1571,7 +1575,7 @@ export const zAssetsProductUpdateParameters = z.object({
1571
1575
  model: z.string().nullish(),
1572
1576
  upc: z.string().nullish(),
1573
1577
  internal_sku: z.string().nullish(),
1574
- default_minimum_quantity: z.int().nullish(),
1578
+ default_minimum_quantity: z.int().gte(1).nullish(),
1575
1579
  counted_by: z.enum([
1576
1580
  'each',
1577
1581
  'pair',
@@ -1917,6 +1921,9 @@ export const zPayPeriodConfigResponseObject = z.object({
1917
1921
  actuals_enabled: z.boolean().nullable(),
1918
1922
  requires_external_map_contributor: z.boolean(),
1919
1923
  paid_after_holiday: z.boolean(),
1924
+ arrear_days: z.int(),
1925
+ time_card_auto_lock_days: z.int().nullable(),
1926
+ rounding_interval: z.union([z.literal(1), z.literal(15)]),
1920
1927
  demo: z.boolean().nullable(),
1921
1928
  valid_from: z.iso.datetime().nullable(),
1922
1929
  valid_to: z.iso.datetime().nullable(),
@@ -1954,6 +1961,9 @@ export const zPayPeriodConfigHistoryCorrectionObject = z.object({
1954
1961
  actuals_enabled: z.boolean().nullable(),
1955
1962
  requires_external_map_contributor: z.boolean(),
1956
1963
  paid_after_holiday: z.boolean(),
1964
+ arrear_days: z.int(),
1965
+ time_card_auto_lock_days: z.int().nullable(),
1966
+ rounding_interval: z.union([z.literal(1), z.literal(15)]),
1957
1967
  demo: z.boolean().nullable(),
1958
1968
  valid_from: z.iso.datetime().nullable(),
1959
1969
  valid_to: z.iso.datetime().nullable(),
@@ -1991,6 +2001,9 @@ export const zPayPeriodConfigHistoryVersionObject = z.object({
1991
2001
  actuals_enabled: z.boolean().nullable(),
1992
2002
  requires_external_map_contributor: z.boolean(),
1993
2003
  paid_after_holiday: z.boolean(),
2004
+ arrear_days: z.int(),
2005
+ time_card_auto_lock_days: z.int().nullable(),
2006
+ rounding_interval: z.union([z.literal(1), z.literal(15)]),
1994
2007
  demo: z.boolean().nullable(),
1995
2008
  valid_from: z.iso.datetime().nullable(),
1996
2009
  valid_to: z.iso.datetime().nullable(),
@@ -2036,6 +2049,140 @@ export const zHolidayUpdateParameters = z.object({
2036
2049
  banking: z.boolean().optional(),
2037
2050
  count_hours_for_overtime: z.boolean().optional()
2038
2051
  });
2052
+ /**
2053
+ * Prevailing-wage / apprenticeship (PWA) contractor details for a company — EIN, DIR license, contact, and fund-administration rate used in certified-payroll exports. One record per company.
2054
+ */
2055
+ export const zPwaCompanyDetailsResponseObject = z.object({
2056
+ id: z.string(),
2057
+ company_id: z.string(),
2058
+ pwcr_number: z.string().nullable(),
2059
+ federal_tax_number: z.string().nullable(),
2060
+ duns_number: z.string().nullable(),
2061
+ contractor_license_number: z.string().nullable(),
2062
+ company_phone: z.string().nullable(),
2063
+ contractor_license_name: z.string().nullable(),
2064
+ dir_contractor_license_type: z.enum([
2065
+ 'CSLB',
2066
+ 'PL',
2067
+ 'OTHER'
2068
+ ]).nullable(),
2069
+ dir_worker_compensation_policy_number: z.string().nullable(),
2070
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullable(),
2071
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullable(),
2072
+ union_status: z.enum([
2073
+ 'FULL_UNION',
2074
+ 'NOT_UNION',
2075
+ 'MIXED'
2076
+ ]).nullable(),
2077
+ ownership_ethnicity: z.enum([
2078
+ 'AFRICAN_AMERICAN',
2079
+ 'ASIAN',
2080
+ 'CAUCASIAN',
2081
+ 'HISPANIC',
2082
+ 'NATIVE_AMERICAN',
2083
+ 'NOT_SPECIFIED',
2084
+ 'OTHER'
2085
+ ]).nullable(),
2086
+ standard_hours_per_day: z.string().nullable(),
2087
+ standard_hours_per_week: z.string().nullable(),
2088
+ contact_name: z.string().nullable(),
2089
+ contact_title: z.string().nullable(),
2090
+ contact_phone: z.string().nullable(),
2091
+ contact_email: z.string().nullable(),
2092
+ contact_address1: z.string().nullable(),
2093
+ contact_address2: z.string().nullable(),
2094
+ contact_city: z.string().nullable(),
2095
+ contact_state: z.string().nullable(),
2096
+ contact_zip: z.string().nullable()
2097
+ });
2098
+ /**
2099
+ * Create PWA contractor details for the API key's company. The company is taken from the API key. Every field is optional — send whichever your jurisdiction's certified-payroll export requires. A second create for the same company is refused.
2100
+ */
2101
+ export const zPwaCompanyDetailsParameters = z.object({
2102
+ pwcr_number: z.string().nullish(),
2103
+ federal_tax_number: z.string().nullish(),
2104
+ duns_number: z.string().nullish(),
2105
+ contractor_license_number: z.string().nullish(),
2106
+ company_phone: z.string().nullish(),
2107
+ contractor_license_name: z.string().nullish(),
2108
+ dir_contractor_license_type: z.enum([
2109
+ 'CSLB',
2110
+ 'PL',
2111
+ 'OTHER'
2112
+ ]).nullish(),
2113
+ dir_worker_compensation_policy_number: z.string().nullish(),
2114
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
2115
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullish(),
2116
+ union_status: z.enum([
2117
+ 'FULL_UNION',
2118
+ 'NOT_UNION',
2119
+ 'MIXED'
2120
+ ]).nullish(),
2121
+ ownership_ethnicity: z.enum([
2122
+ 'AFRICAN_AMERICAN',
2123
+ 'ASIAN',
2124
+ 'CAUCASIAN',
2125
+ 'HISPANIC',
2126
+ 'NATIVE_AMERICAN',
2127
+ 'NOT_SPECIFIED',
2128
+ 'OTHER'
2129
+ ]).nullish(),
2130
+ standard_hours_per_day: z.string().nullish(),
2131
+ standard_hours_per_week: z.string().nullish(),
2132
+ contact_name: z.string().nullish(),
2133
+ contact_title: z.string().nullish(),
2134
+ contact_phone: z.string().nullish(),
2135
+ contact_email: z.string().nullish(),
2136
+ contact_address1: z.string().nullish(),
2137
+ contact_address2: z.string().nullish(),
2138
+ contact_city: z.string().nullish(),
2139
+ contact_state: z.string().nullish(),
2140
+ contact_zip: z.string().nullish()
2141
+ });
2142
+ /**
2143
+ * Update PWA contractor details. The company is taken from the API key. Every field is optional — send only what changes. The company is fixed at creation.
2144
+ */
2145
+ export const zPwaCompanyDetailsUpdateParameters = z.object({
2146
+ pwcr_number: z.string().nullish(),
2147
+ federal_tax_number: z.string().nullish(),
2148
+ duns_number: z.string().nullish(),
2149
+ contractor_license_number: z.string().nullish(),
2150
+ company_phone: z.string().nullish(),
2151
+ contractor_license_name: z.string().nullish(),
2152
+ dir_contractor_license_type: z.enum([
2153
+ 'CSLB',
2154
+ 'PL',
2155
+ 'OTHER'
2156
+ ]).nullish(),
2157
+ dir_worker_compensation_policy_number: z.string().nullish(),
2158
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
2159
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullish(),
2160
+ union_status: z.enum([
2161
+ 'FULL_UNION',
2162
+ 'NOT_UNION',
2163
+ 'MIXED'
2164
+ ]).nullish(),
2165
+ ownership_ethnicity: z.enum([
2166
+ 'AFRICAN_AMERICAN',
2167
+ 'ASIAN',
2168
+ 'CAUCASIAN',
2169
+ 'HISPANIC',
2170
+ 'NATIVE_AMERICAN',
2171
+ 'NOT_SPECIFIED',
2172
+ 'OTHER'
2173
+ ]).nullish(),
2174
+ standard_hours_per_day: z.string().nullish(),
2175
+ standard_hours_per_week: z.string().nullish(),
2176
+ contact_name: z.string().nullish(),
2177
+ contact_title: z.string().nullish(),
2178
+ contact_phone: z.string().nullish(),
2179
+ contact_email: z.string().nullish(),
2180
+ contact_address1: z.string().nullish(),
2181
+ contact_address2: z.string().nullish(),
2182
+ contact_city: z.string().nullish(),
2183
+ contact_state: z.string().nullish(),
2184
+ contact_zip: z.string().nullish()
2185
+ });
2039
2186
  /**
2040
2187
  * Prevailing-wage / apprenticeship (PWA) compliance details for a worker at a company — home address, demographics, and jurisdiction-specific fields used in certified-payroll and compliance exports. One record per company/user pair.
2041
2188
  */
@@ -2637,7 +2784,7 @@ export const zUserParameters = z.object({
2637
2784
  last_sent_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
2638
2785
  skip_notify: z.boolean().optional(),
2639
2786
  skip_invite: z.boolean().optional(),
2640
- hire_date: z.string().optional(),
2787
+ hire_date: z.iso.date().optional(),
2641
2788
  type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
2642
2789
  title: z.string().nullish(),
2643
2790
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
@@ -2773,9 +2920,9 @@ export const zTimeEntryResponseObject = z.object({
2773
2920
  2: z.number()
2774
2921
  }),
2775
2922
  incentive_pay_one_five_x_minutes_worked: z.int(),
2776
- hourly_rate_cents: z.string().nullable(),
2777
- currency: z.string(),
2778
- hourly_rate_src_type: z.string().nullable(),
2923
+ hourly_rate_cents: z.string().nullish(),
2924
+ currency: z.string().optional(),
2925
+ hourly_rate_src_type: z.string().nullish(),
2779
2926
  timekeeping_pay_period_id: z.string(),
2780
2927
  start_time: z.iso.datetime(),
2781
2928
  end_time: z.iso.datetime(),
@@ -2860,10 +3007,11 @@ export const zFormDefinitionObject = z.object({
2860
3007
  current_revision: z.int().nullable(),
2861
3008
  json: z.record(z.string(), z.unknown()),
2862
3009
  submission_shape: z.record(z.string(), z.unknown()),
2863
- created_at: z.iso.datetime()
3010
+ created_at: z.iso.datetime(),
3011
+ updated_at: z.iso.datetime()
2864
3012
  });
2865
3013
  /**
2866
- * A single form submission with resolved answers, returned by both show and create.
3014
+ * A single form submission with resolved answers, returned by show, create, and update.
2867
3015
  */
2868
3016
  export const zFormSubmissionResponseObject = z.object({
2869
3017
  id: z.string(),
@@ -2889,6 +3037,13 @@ export const zFormSubmissionCreateParameters = z.object({
2889
3037
  json: z.record(z.string(), z.unknown()),
2890
3038
  timezone: z.string().optional()
2891
3039
  });
3040
+ /**
3041
+ * Request body for updating a submission's timezone and answers. Send only fields to change; omitted fields remain unchanged. form_definition_id and user_id cannot change.
3042
+ */
3043
+ export const zFormSubmissionUpdateParameters = z.object({
3044
+ timezone: z.string().optional(),
3045
+ json: z.record(z.string(), z.unknown()).optional()
3046
+ });
2892
3047
  /**
2893
3048
  * Request body for updating a worker's employment at your company. Corrects administrative fields (employment type, title, manager, payroll id, hire date, and time-and-attendance enrollment) across the whole employment history, and changes the custom-field values it lists. For time-effective pay changes, use the scheduled-changes endpoints instead. A value of the wrong JSON type, a null for a field that is not nullable, or a value outside a listed set answers 422 at its pointer, and nothing is written.
2894
3049
  */
@@ -2898,7 +3053,7 @@ export const zUserCompanyParameters = z.object({
2898
3053
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
2899
3054
  payroll_id: z.string().nullish(),
2900
3055
  enrolled_in_t_and_a: z.boolean().optional(),
2901
- hire_date: z.string().nullish(),
3056
+ hire_date: z.iso.date().nullish(),
2902
3057
  custom_fields: z.array(z.object({
2903
3058
  custom_field_config_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
2904
3059
  value: z.string().nullable()
@@ -2908,7 +3063,7 @@ export const zUserCompanyParameters = z.object({
2908
3063
  * Request body for adding a worker to your company, creating their employment record and its custom-field values. hire_date is required and sets when employment begins; the remaining fields seed the initial title, pay, benefits, and accruals. Returns the worker with the new employment flattened onto it. Omitting hire_date answers 400. A value of the wrong JSON type, a null for a field that is not nullable, or a value outside a listed set answers 422 at its pointer, and nothing is written.
2909
3064
  */
2910
3065
  export const zUserCompanyCreateParameters = z.object({
2911
- hire_date: z.string(),
3066
+ hire_date: z.iso.date(),
2912
3067
  type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
2913
3068
  title: z.string().nullish(),
2914
3069
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
@@ -3571,6 +3726,37 @@ export const zTimeOffRequestResponseObject = z.object({
3571
3726
  created_at: z.iso.datetime(),
3572
3727
  updated_at: z.iso.datetime()
3573
3728
  });
3729
+ /**
3730
+ * Create a time-off request for a worker. Instants must be the beginning of the first day and the end of the last day in the company's pay-schedule timezone (company timezone, else UTC). When the filer is the worker the request is born pending; otherwise it is born approved with the filer stamped as reviewer, and an Absence is built in the background.
3731
+ */
3732
+ export const zTimeOffRequestParameters = z.object({
3733
+ user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
3734
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
3735
+ absence_type: z.enum([
3736
+ 'rest_and_recovery',
3737
+ 'vacation',
3738
+ 'bereavement',
3739
+ 'ca_covid_19_sick',
3740
+ 'custom',
3741
+ 'jury_duty',
3742
+ 'unpaid',
3743
+ 'training',
3744
+ 'bench'
3745
+ ]),
3746
+ start_time: z.iso.datetime(),
3747
+ end_time: z.iso.datetime()
3748
+ });
3749
+ /**
3750
+ * Approve, deny, or cancel a pending time-off request. The named filer is the reviewer: only the worker may cancel, and nobody may approve or deny their own row. Approving enqueues the Absence build.
3751
+ */
3752
+ export const zTimeOffRequestReviewParameters = z.object({
3753
+ status: z.enum([
3754
+ 'approved',
3755
+ 'denied',
3756
+ 'cancelled'
3757
+ ]),
3758
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)
3759
+ });
3574
3760
  /**
3575
3761
  * Request body for locking or unlocking a time card.
3576
3762
  */
@@ -3874,6 +4060,10 @@ export const zProjectResponseObject = z.object({
3874
4060
  created_by_user_id: z.string().nullable(),
3875
4061
  parent_id: z.string().nullable(),
3876
4062
  participating_company_ids: z.array(z.string()),
4063
+ manager_users: z.array(z.object({
4064
+ id: z.string(),
4065
+ name: z.string()
4066
+ })),
3877
4067
  federal_pwa_mode: z.enum([
3878
4068
  'all',
3879
4069
  'pw_only',
@@ -3898,11 +4088,32 @@ export const zProjectResponseObject = z.object({
3898
4088
  prevailing_wage_lock_in_date: z.iso.date().nullable(),
3899
4089
  beginning_of_construction_date: z.iso.date().nullable(),
3900
4090
  placed_in_service_date: z.iso.date().nullable(),
4091
+ lock_in_date_doc: z.object({
4092
+ id: z.string(),
4093
+ filename: z.string(),
4094
+ content_type: z.string().nullable(),
4095
+ byte_size: z.int(),
4096
+ url: z.string()
4097
+ }).nullable(),
4098
+ beginning_of_construction_doc: z.object({
4099
+ id: z.string(),
4100
+ filename: z.string(),
4101
+ content_type: z.string().nullable(),
4102
+ byte_size: z.int(),
4103
+ url: z.string()
4104
+ }).nullable(),
4105
+ placed_in_service_doc: z.object({
4106
+ id: z.string(),
4107
+ filename: z.string(),
4108
+ content_type: z.string().nullable(),
4109
+ byte_size: z.int(),
4110
+ url: z.string()
4111
+ }).nullable(),
3901
4112
  created_at: z.iso.datetime(),
3902
4113
  updated_at: z.iso.datetime()
3903
4114
  });
3904
4115
  /**
3905
- * Request body for creating a project. `name` and `created_by_user_id` are required, and omitting either returns 400; the creator must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship is saved.
4116
+ * Request body for creating a project. `name` and `created_by_user_id` are required, and omitting either returns 400; the creator must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. IRA evidence files attach through `lock_in_date_doc_signed_id`, `beginning_of_construction_doc_signed_id`, and `placed_in_service_doc_signed_id` (purpose-bound `projects` signed ids); when any of those keys is present, `performed_by_user_id` is required. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship is saved.
3906
4117
  */
3907
4118
  export const zProjectParameters = z.object({
3908
4119
  external_id: z.string().nullish(),
@@ -3910,6 +4121,7 @@ export const zProjectParameters = z.object({
3910
4121
  description: z.string().nullish(),
3911
4122
  parent_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
3912
4123
  participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4124
+ manager_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3913
4125
  start_date: z.iso.date().nullish(),
3914
4126
  end_date: z.iso.date().nullish(),
3915
4127
  tz_name: z.string().nullish(),
@@ -3935,10 +4147,14 @@ export const zProjectParameters = z.object({
3935
4147
  prevailing_wage_lock_in_date: z.iso.date().nullish(),
3936
4148
  beginning_of_construction_date: z.iso.date().nullish(),
3937
4149
  placed_in_service_date: z.iso.date().nullish(),
4150
+ lock_in_date_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4151
+ beginning_of_construction_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4152
+ placed_in_service_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4153
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
3938
4154
  created_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)
3939
4155
  });
3940
4156
  /**
3941
- * Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship changes.
4157
+ * Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. IRA evidence files attach through the same `*_doc_signed_id` keys as create; omit a key to keep the stored file, and send `performed_by_user_id` when any signed id is present. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any project or relationship changes.
3942
4158
  */
3943
4159
  export const zProjectUpdateParameters = z.object({
3944
4160
  external_id: z.string().nullish(),
@@ -3946,6 +4162,7 @@ export const zProjectUpdateParameters = z.object({
3946
4162
  description: z.string().nullish(),
3947
4163
  parent_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
3948
4164
  participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4165
+ manager_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3949
4166
  start_date: z.iso.date().nullish(),
3950
4167
  end_date: z.iso.date().nullish(),
3951
4168
  tz_name: z.string().nullish(),
@@ -3970,7 +4187,11 @@ export const zProjectUpdateParameters = z.object({
3970
4187
  budget_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
3971
4188
  prevailing_wage_lock_in_date: z.iso.date().nullish(),
3972
4189
  beginning_of_construction_date: z.iso.date().nullish(),
3973
- placed_in_service_date: z.iso.date().nullish()
4190
+ placed_in_service_date: z.iso.date().nullish(),
4191
+ lock_in_date_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4192
+ beginning_of_construction_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4193
+ placed_in_service_doc_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
4194
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
3974
4195
  });
3975
4196
  /**
3976
4197
  * A project–site assignment: the join linking a project to a site, optionally scoping which of that site's features apply. Path `{id}` is this join's id, not the Site's. Not included on project GET.
@@ -4447,6 +4668,11 @@ export const zTodoInboxTodoResponseObject = z.object({
4447
4668
  'timekeeping',
4448
4669
  'worker'
4449
4670
  ]),
4671
+ approval_status: z.enum([
4672
+ 'pending',
4673
+ 'approved',
4674
+ 'rejected'
4675
+ ]).nullable(),
4450
4676
  task_assignee_user_ids: z.array(z.string()),
4451
4677
  description: zRichTextObject,
4452
4678
  time_due: z.iso.datetime().nullable(),
@@ -4879,7 +5105,7 @@ export const zJobDocumentUpdateParameters = z.object({
4879
5105
  url: z.string().nullish()
4880
5106
  });
4881
5107
  /**
4882
- * 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.
5108
+ * 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. Proof files are always present as `null` or a document object; omit a signed-id key on write to keep the stored file.
4883
5109
  */
4884
5110
  export const zJobGoodFaithEffortExceptionResponseObject = z.object({
4885
5111
  id: z.string(),
@@ -4898,9 +5124,85 @@ export const zJobGoodFaithEffortExceptionResponseObject = z.object({
4898
5124
  'denied',
4899
5125
  'partial'
4900
5126
  ]).nullable(),
5127
+ request_letter: z.object({
5128
+ id: z.string(),
5129
+ filename: z.string(),
5130
+ content_type: z.string().nullable(),
5131
+ byte_size: z.int(),
5132
+ url: z.string()
5133
+ }).nullable(),
5134
+ submission_proof: z.object({
5135
+ id: z.string(),
5136
+ filename: z.string(),
5137
+ content_type: z.string().nullable(),
5138
+ byte_size: z.int(),
5139
+ url: z.string()
5140
+ }).nullable(),
5141
+ response_letter: z.object({
5142
+ id: z.string(),
5143
+ filename: z.string(),
5144
+ content_type: z.string().nullable(),
5145
+ byte_size: z.int(),
5146
+ url: z.string()
5147
+ }).nullable(),
5148
+ no_availability_proof: z.object({
5149
+ id: z.string(),
5150
+ filename: z.string(),
5151
+ content_type: z.string().nullable(),
5152
+ byte_size: z.int(),
5153
+ url: z.string()
5154
+ }).nullable(),
4901
5155
  created_at: z.iso.datetime(),
4902
5156
  updated_at: z.iso.datetime()
4903
5157
  });
5158
+ /**
5159
+ * Request body for creating a good-faith-effort exception on the job in the path. `job_id` is not part of the body. Every field is optional at the transport layer; model validations answer 422 when the two tracks, presence rules, one-year window, or `response=partial` constraint fail. Proof files attach through `request_letter_signed_id`, `submission_proof_signed_id`, `response_letter_signed_id`, and `no_availability_proof_signed_id` minted by `POST /api/v1/direct_uploads` naming `jobs.pwa.apprenticeship.good_faith_effort_exceptions`; when any of those keys is present, `performed_by_user_id` is required. Undeclared body keys, including the web form's `hours_per_apprentice`, return 400.
5160
+ */
5161
+ export const zJobGoodFaithEffortExceptionParameters = z.object({
5162
+ program_unavailable: z.boolean().optional(),
5163
+ num_apprentices_requested: z.int().nullish(),
5164
+ num_apprentices_provided: z.int().nullish(),
5165
+ minutes_per_apprentice: z.int().nullish(),
5166
+ requested_on_date: z.iso.date().nullish(),
5167
+ request_start_date: z.iso.date().nullish(),
5168
+ request_end_date: z.iso.date().nullish(),
5169
+ occupation: z.string().nullish(),
5170
+ program_name: z.string().nullish(),
5171
+ response: z.enum([
5172
+ 'no_response',
5173
+ 'denied',
5174
+ 'partial'
5175
+ ]).nullish(),
5176
+ request_letter_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5177
+ submission_proof_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5178
+ response_letter_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5179
+ no_availability_proof_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5180
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
5181
+ });
5182
+ /**
5183
+ * Request body for updating a good-faith-effort exception. Every field is optional; omit a field to preserve its current value. The resulting record must still satisfy the two-track, presence, one-year-window, and `response=partial` validations. Proof files attach through the same `*_signed_id` keys as create; omit a key to keep the stored file, and send `performed_by_user_id` when any signed id is present. `job_id` comes from the path and cannot be sent. Undeclared body keys, including `hours_per_apprentice`, return 400.
5184
+ */
5185
+ export const zJobGoodFaithEffortExceptionUpdateParameters = z.object({
5186
+ program_unavailable: z.boolean().optional(),
5187
+ num_apprentices_requested: z.int().nullish(),
5188
+ num_apprentices_provided: z.int().nullish(),
5189
+ minutes_per_apprentice: z.int().nullish(),
5190
+ requested_on_date: z.iso.date().nullish(),
5191
+ request_start_date: z.iso.date().nullish(),
5192
+ request_end_date: z.iso.date().nullish(),
5193
+ occupation: z.string().nullish(),
5194
+ program_name: z.string().nullish(),
5195
+ response: z.enum([
5196
+ 'no_response',
5197
+ 'denied',
5198
+ 'partial'
5199
+ ]).nullish(),
5200
+ request_letter_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5201
+ submission_proof_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5202
+ response_letter_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5203
+ no_availability_proof_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5204
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
5205
+ });
4904
5206
  /**
4905
5207
  * 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`.
4906
5208
  */
@@ -4929,7 +5231,7 @@ export const zJobFormAssignmentResponseObject = z.object({
4929
5231
  }))
4930
5232
  });
4931
5233
  /**
4932
- * A corrective payment recorded against a job's PWA obligations. Read-only. Does not include attestation files, pretty type, currency, or a Money amount.
5234
+ * A corrective payment recorded against a job's PWA obligations. Does not include pretty type, currency, or a Money amount.
4933
5235
  */
4934
5236
  export const zJobCurePaymentResponseObject = z.object({
4935
5237
  id: z.string(),
@@ -4941,9 +5243,41 @@ export const zJobCurePaymentResponseObject = z.object({
4941
5243
  cures_to_date: z.iso.date(),
4942
5244
  notes: z.string().nullable(),
4943
5245
  created_by_user_id: z.string(),
5246
+ attestation: z.object({
5247
+ id: z.string(),
5248
+ filename: z.string(),
5249
+ content_type: z.string().nullable(),
5250
+ byte_size: z.int(),
5251
+ url: z.string()
5252
+ }).nullable(),
4944
5253
  created_at: z.iso.datetime(),
4945
5254
  updated_at: z.iso.datetime()
4946
5255
  });
5256
+ /**
5257
+ * Request body for creating a job PWA cure payment. `job_id` comes from the path and is not part of the body. `type`, `amount_cents`, the three dates, and `performed_by_user_id` are required; omitting any of those returns 400. The attestation file attaches through `attestation_signed_id` (a purpose-bound `jobs.pwa.cure_payments` signed id). Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment is saved.
5258
+ */
5259
+ export const zJobCurePaymentParameters = z.object({
5260
+ amount_cents: z.string().regex(/^[0-9]+$/),
5261
+ paid_on_date: z.iso.date(),
5262
+ cures_from_date: z.iso.date(),
5263
+ cures_to_date: z.iso.date(),
5264
+ notes: z.string().nullish(),
5265
+ attestation_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5266
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
5267
+ type: z.enum(['Pwa::CurePayments::Federal', 'Pwa::CurePayments::Regional'])
5268
+ });
5269
+ /**
5270
+ * Request body for updating a job PWA cure payment. Every field is optional; omit a field to preserve its current value. `type` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. The attestation file attaches through the same `attestation_signed_id` key as create; omit the key to keep the stored file, and send `performed_by_user_id` when a signed id is present. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment changes.
5271
+ */
5272
+ export const zJobCurePaymentUpdateParameters = z.object({
5273
+ amount_cents: z.string().regex(/^[0-9]+$/).optional(),
5274
+ paid_on_date: z.iso.date().optional(),
5275
+ cures_from_date: z.iso.date().optional(),
5276
+ cures_to_date: z.iso.date().optional(),
5277
+ notes: z.string().nullish(),
5278
+ attestation_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
5279
+ performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
5280
+ });
4947
5281
  /**
4948
5282
  * 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.
4949
5283
  */
@@ -6378,7 +6712,7 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
6378
6712
  /**
6379
6713
  * State-specific rate fields recorded on a Regional determination, as decimal-string money in
6380
6714
  * cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
6381
- * a region-determined subset of the nine keys the write side accepts — never a fixed shape:
6715
+ * a region-determined subset of these keys — never a fixed shape:
6382
6716
  *
6383
6717
  * - Categorized-fringe regions (currently IL) carry `combined_health_fringe_rate_cents`,
6384
6718
  * `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
@@ -6388,7 +6722,9 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
6388
6722
  * `two_x_fringe_adder_rate_cents`.
6389
6723
  * - A region with neither returns an empty object.
6390
6724
  *
6391
- * Categorized-fringe values are non-null when present; overtime-adder values may be null.
6725
+ * Categorized-fringe values are non-null when present; legacy overtime-adder values may be null.
6726
+ * The overtime-adder fields are read-only. Configure new overtime premiums through the
6727
+ * determination's rate rules.
6392
6728
  *
6393
6729
  */
6394
6730
  export const zRegionalWageDeterminationFieldsResponse = z.record(z.string(), z.string().nullable());
@@ -6537,11 +6873,7 @@ export const zRegionalJobWageDeterminationParameters = z.object({
6537
6873
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6538
6874
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6539
6875
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6540
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6541
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6542
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6543
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6544
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6876
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6545
6877
  }).optional(),
6546
6878
  overtime_package_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
6547
6879
  });
@@ -6575,11 +6907,7 @@ export const zJobWageDeterminationUpdateParameters = z.object({
6575
6907
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6576
6908
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6577
6909
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6578
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6579
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6580
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6581
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6582
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6910
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6583
6911
  }).optional()
6584
6912
  });
6585
6913
  /**
@@ -6603,11 +6931,7 @@ export const zJobWageDeterminationScheduledChangeParameters = z.object({
6603
6931
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6604
6932
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6605
6933
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6606
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6607
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6608
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6609
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6610
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6934
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6611
6935
  }).optional()
6612
6936
  });
6613
6937
  /**
@@ -6816,11 +7140,7 @@ export const zRegionalProjectWageDeterminationParameters = z.object({
6816
7140
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6817
7141
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6818
7142
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6819
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6820
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6821
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6822
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6823
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
7143
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6824
7144
  }).optional(),
6825
7145
  overtime_package_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
6826
7146
  });
@@ -6854,11 +7174,7 @@ export const zProjectWageDeterminationUpdateParameters = z.object({
6854
7174
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6855
7175
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6856
7176
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6857
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6858
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6859
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6860
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6861
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
7177
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6862
7178
  }).optional()
6863
7179
  });
6864
7180
  /**
@@ -6882,11 +7198,7 @@ export const zProjectWageDeterminationScheduledChangeParameters = z.object({
6882
7198
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6883
7199
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6884
7200
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6885
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6886
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6887
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6888
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6889
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
7201
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6890
7202
  }).optional()
6891
7203
  });
6892
7204
  /**
@@ -7576,6 +7888,7 @@ export const zAssetsProductResponseObject = z.object({
7576
7888
  id: z.string(),
7577
7889
  company_id: z.string(),
7578
7890
  name: z.string(),
7891
+ description: z.string().nullable(),
7579
7892
  upc: z.string().nullable(),
7580
7893
  internal_sku: z.string().nullable(),
7581
7894
  default_minimum_quantity: z.int().nullable(),
@@ -8714,8 +9027,15 @@ export const zUpdateCategoryResponse = zAssetsCategoryResponseObject;
8714
9027
  export const zListCustodiesQuery = z.object({
8715
9028
  'filter[assets_item_id]': z.string().optional(),
8716
9029
  'filter[user_id]': z.string().optional(),
9030
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
9031
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9032
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
9033
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
8717
9034
  filter: z.string().optional(),
8718
- 'filter[unexpected]': z.string().optional()
9035
+ 'filter[unexpected]': z.string().optional(),
9036
+ 'page[cursor]': z.string().optional(),
9037
+ 'page[limit]': z.int().gte(1).optional().default(20),
9038
+ page: z.string().optional()
8719
9039
  });
8720
9040
  /**
8721
9041
  * Success
@@ -8799,8 +9119,15 @@ export const zUpdateFormAssignmentTriggerResponse = zAssetsFormAssignmentTrigger
8799
9119
  export const zListInventoriesQuery = z.object({
8800
9120
  'filter[assets_item_id]': z.string().optional(),
8801
9121
  'filter[assets_site_id]': z.string().optional(),
9122
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
9123
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9124
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
9125
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
8802
9126
  filter: z.string().optional(),
8803
- 'filter[unexpected]': z.string().optional()
9127
+ 'filter[unexpected]': z.string().optional(),
9128
+ 'page[cursor]': z.string().optional(),
9129
+ 'page[limit]': z.int().gte(1).optional().default(20),
9130
+ page: z.string().optional()
8804
9131
  });
8805
9132
  /**
8806
9133
  * Success
@@ -9350,8 +9677,15 @@ export const zUpdateSubLocationPath = z.object({
9350
9677
  export const zUpdateSubLocationResponse = zAssetsSubLocationResponseObject;
9351
9678
  export const zListTransfersQuery = z.object({
9352
9679
  'filter[status]': z.string().optional(),
9680
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
9681
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9682
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
9683
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9353
9684
  filter: z.string().optional(),
9354
- 'filter[unexpected]': 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()
9355
9689
  });
9356
9690
  /**
9357
9691
  * Success
@@ -9723,6 +10057,10 @@ export const zListAssessmentsQuery = z.object({
9723
10057
  'decided'
9724
10058
  ]).optional(),
9725
10059
  'filter[outcome]': z.enum(['competent', 'not_yet_competent']).nullish(),
10060
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10061
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10062
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10063
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9726
10064
  filter: z.string().optional(),
9727
10065
  'filter[unexpected]': z.string().optional()
9728
10066
  });
@@ -9745,11 +10083,15 @@ export const zListAssessmentCriteriaPath = z.object({
9745
10083
  assessment_id: z.string()
9746
10084
  });
9747
10085
  export const zListAssessmentCriteriaQuery = z.object({
10086
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10087
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10088
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10089
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9748
10090
  filter: z.string().optional(),
9749
10091
  'filter[unexpected]': z.string().optional()
9750
10092
  });
9751
10093
  /**
9752
- * Candidate sees a decided review
10094
+ * Success
9753
10095
  */
9754
10096
  export const zListAssessmentCriteriaResponse = z.object({
9755
10097
  meta: zMeta,
@@ -9774,6 +10116,8 @@ export const zListEvidenceItemsQuery = z.object({
9774
10116
  'form_submission',
9775
10117
  'certification'
9776
10118
  ]).optional(),
10119
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10120
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9777
10121
  filter: z.string().optional(),
9778
10122
  'filter[unexpected]': z.string().optional()
9779
10123
  });
@@ -9859,6 +10203,10 @@ export const zListLevelsPath = z.object({
9859
10203
  version_id: z.string()
9860
10204
  });
9861
10205
  export const zListLevelsQuery = z.object({
10206
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10207
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10208
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10209
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9862
10210
  filter: z.string().optional(),
9863
10211
  'filter[unexpected]': z.string().optional()
9864
10212
  });
@@ -9923,6 +10271,10 @@ export const zListKeyActivitiesPath = z.object({
9923
10271
  level_id: z.string()
9924
10272
  });
9925
10273
  export const zListKeyActivitiesQuery = z.object({
10274
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10275
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10276
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10277
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9926
10278
  filter: z.string().optional(),
9927
10279
  'filter[unexpected]': z.string().optional()
9928
10280
  });
@@ -9993,6 +10345,10 @@ export const zListCriteriaPath = z.object({
9993
10345
  key_activity_id: z.string()
9994
10346
  });
9995
10347
  export const zListCriteriaQuery = z.object({
10348
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10349
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10350
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10351
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9996
10352
  filter: z.string().optional(),
9997
10353
  'filter[unexpected]': z.string().optional()
9998
10354
  });
@@ -10065,6 +10421,10 @@ export const zListQualificationsQuery = z.object({
10065
10421
  'filter[candidate_user_id]': z.string().optional(),
10066
10422
  'filter[competencies_standard_id]': z.string().optional(),
10067
10423
  'filter[level_sort_order]': z.int().optional(),
10424
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10425
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10426
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10427
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
10068
10428
  filter: z.string().optional(),
10069
10429
  'filter[unexpected]': z.string().optional(),
10070
10430
  'page[cursor]': z.string().optional(),
@@ -10232,6 +10592,10 @@ export const zListChecksQuery = z.object({
10232
10592
  'filter[assignee_user_id]': z.string().optional(),
10233
10593
  'filter[time_due][gte]': z.iso.datetime().optional(),
10234
10594
  'filter[time_due][lte]': z.iso.datetime().optional(),
10595
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
10596
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
10597
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
10598
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
10235
10599
  filter: z.string().optional(),
10236
10600
  'filter[unexpected]': z.string().optional(),
10237
10601
  'page[cursor]': z.string().optional(),
@@ -10396,6 +10760,13 @@ export const zCreateFormSubmissionBody = zFormSubmissionCreateParameters;
10396
10760
  * Created
10397
10761
  */
10398
10762
  export const zCreateFormSubmissionResponse = zFormSubmissionResponseObject;
10763
+ export const zDeleteFormSubmissionPath = z.object({
10764
+ id: z.string()
10765
+ });
10766
+ /**
10767
+ * No Content
10768
+ */
10769
+ export const zDeleteFormSubmissionResponse = z.void();
10399
10770
  export const zGetFormSubmissionPath = z.object({
10400
10771
  id: z.string()
10401
10772
  });
@@ -10403,6 +10774,14 @@ export const zGetFormSubmissionPath = z.object({
10403
10774
  * Success
10404
10775
  */
10405
10776
  export const zGetFormSubmissionResponse = zFormSubmissionResponseObject;
10777
+ export const zUpdateFormSubmissionBody = zFormSubmissionUpdateParameters;
10778
+ export const zUpdateFormSubmissionPath = z.object({
10779
+ id: z.string()
10780
+ });
10781
+ /**
10782
+ * Success
10783
+ */
10784
+ export const zUpdateFormSubmissionResponse = zFormSubmissionResponseObject;
10406
10785
  export const zListGroupUsersPath = z.object({
10407
10786
  group_id: z.string()
10408
10787
  });
@@ -10645,6 +11024,22 @@ export const zListGoodFaithEffortExceptionsQuery = z.object({
10645
11024
  * Success
10646
11025
  */
10647
11026
  export const zListGoodFaithEffortExceptionsResponse = zJobGoodFaithEffortExceptionsResponseObject;
11027
+ export const zCreateGoodFaithEffortExceptionBody = zJobGoodFaithEffortExceptionParameters;
11028
+ export const zCreateGoodFaithEffortExceptionPath = z.object({
11029
+ job_id: z.string()
11030
+ });
11031
+ /**
11032
+ * Created
11033
+ */
11034
+ export const zCreateGoodFaithEffortExceptionResponse = zJobGoodFaithEffortExceptionResponseObject;
11035
+ export const zDeleteGoodFaithEffortExceptionPath = z.object({
11036
+ job_id: z.string(),
11037
+ id: z.string()
11038
+ });
11039
+ /**
11040
+ * No Content
11041
+ */
11042
+ export const zDeleteGoodFaithEffortExceptionResponse = z.void();
10648
11043
  export const zGetGoodFaithEffortExceptionPath = z.object({
10649
11044
  job_id: z.string(),
10650
11045
  id: z.string()
@@ -10653,6 +11048,15 @@ export const zGetGoodFaithEffortExceptionPath = z.object({
10653
11048
  * Success
10654
11049
  */
10655
11050
  export const zGetGoodFaithEffortExceptionResponse = zJobGoodFaithEffortExceptionResponseObject;
11051
+ export const zUpdateGoodFaithEffortExceptionBody = zJobGoodFaithEffortExceptionUpdateParameters;
11052
+ export const zUpdateGoodFaithEffortExceptionPath = z.object({
11053
+ job_id: z.string(),
11054
+ id: z.string()
11055
+ });
11056
+ /**
11057
+ * Success
11058
+ */
11059
+ export const zUpdateGoodFaithEffortExceptionResponse = zJobGoodFaithEffortExceptionResponseObject;
10656
11060
  export const zListCurePaymentsPath = z.object({
10657
11061
  job_id: z.string()
10658
11062
  });
@@ -10667,6 +11071,22 @@ export const zListCurePaymentsQuery = z.object({
10667
11071
  * Success
10668
11072
  */
10669
11073
  export const zListCurePaymentsResponse = zJobCurePaymentsResponseObject;
11074
+ export const zCreateCurePaymentBody = zJobCurePaymentParameters;
11075
+ export const zCreateCurePaymentPath = z.object({
11076
+ job_id: z.string()
11077
+ });
11078
+ /**
11079
+ * Created
11080
+ */
11081
+ export const zCreateCurePaymentResponse = zJobCurePaymentResponseObject;
11082
+ export const zDeleteCurePaymentPath = z.object({
11083
+ job_id: z.string(),
11084
+ id: z.string()
11085
+ });
11086
+ /**
11087
+ * No Content
11088
+ */
11089
+ export const zDeleteCurePaymentResponse = z.void();
10670
11090
  export const zGetCurePaymentPath = z.object({
10671
11091
  job_id: z.string(),
10672
11092
  id: z.string()
@@ -10675,6 +11095,15 @@ export const zGetCurePaymentPath = z.object({
10675
11095
  * Success
10676
11096
  */
10677
11097
  export const zGetCurePaymentResponse = zJobCurePaymentResponseObject;
11098
+ export const zUpdateCurePaymentBody = zJobCurePaymentUpdateParameters;
11099
+ export const zUpdateCurePaymentPath = z.object({
11100
+ job_id: z.string(),
11101
+ id: z.string()
11102
+ });
11103
+ /**
11104
+ * Success
11105
+ */
11106
+ export const zUpdateCurePaymentResponse = zJobCurePaymentResponseObject;
10678
11107
  export const zCreateJobTradeBody = zPwaTradeParameters;
10679
11108
  export const zCreateJobTradePath = z.object({
10680
11109
  job_id: z.string()
@@ -10683,6 +11112,19 @@ export const zCreateJobTradePath = z.object({
10683
11112
  * Created
10684
11113
  */
10685
11114
  export const zCreateJobTradeResponse = zPwaTradeResponseObject;
11115
+ export const zShiftJobWageDeterminationRateRuleGenesisBody = zPayRatesRuleGenesisParameters;
11116
+ export const zShiftJobWageDeterminationRateRuleGenesisHeaders = z.object({
11117
+ 'If-Match': z.string()
11118
+ });
11119
+ export const zShiftJobWageDeterminationRateRuleGenesisPath = z.object({
11120
+ job_id: z.string(),
11121
+ wage_determination_id: z.string(),
11122
+ rate_rule_id: z.string()
11123
+ });
11124
+ /**
11125
+ * Success
11126
+ */
11127
+ export const zShiftJobWageDeterminationRateRuleGenesisResponse = zRateRuleResponseObject;
10686
11128
  export const zListRateRuleHistoryPath = z.object({
10687
11129
  job_id: z.string(),
10688
11130
  wage_determination_id: z.string(),
@@ -10699,6 +11141,73 @@ export const zListRateRuleHistoryResponse = z.object({
10699
11141
  links: zLinks,
10700
11142
  data: z.array(zRateRuleHistoryVersionObject)
10701
11143
  });
11144
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesHeaders = z.object({
11145
+ 'If-Match': z.string()
11146
+ });
11147
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesPath = z.object({
11148
+ job_id: z.string(),
11149
+ wage_determination_id: z.string(),
11150
+ rate_rule_id: z.string()
11151
+ });
11152
+ /**
11153
+ * Success
11154
+ */
11155
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesResponse = zRateRuleResponseObject;
11156
+ export const zListJobWageDeterminationRateRuleScheduledChangesPath = z.object({
11157
+ job_id: z.string(),
11158
+ wage_determination_id: z.string(),
11159
+ rate_rule_id: z.string()
11160
+ });
11161
+ export const zListJobWageDeterminationRateRuleScheduledChangesQuery = z.object({
11162
+ 'as_of[valid]': z.string().optional(),
11163
+ 'as_of[transaction]': z.string().optional()
11164
+ });
11165
+ /**
11166
+ * Success
11167
+ */
11168
+ export const zListJobWageDeterminationRateRuleScheduledChangesResponse = z.object({
11169
+ meta: zMeta,
11170
+ links: zLinks,
11171
+ data: z.array(zRateRuleHistoryVersionObject)
11172
+ });
11173
+ export const zScheduleJobWageDeterminationRateRuleChangeBody = zPayRatesRuleScheduledChangeParameters;
11174
+ export const zScheduleJobWageDeterminationRateRuleChangeHeaders = z.object({
11175
+ 'If-Match': z.string()
11176
+ });
11177
+ export const zScheduleJobWageDeterminationRateRuleChangePath = z.object({
11178
+ job_id: z.string(),
11179
+ wage_determination_id: z.string(),
11180
+ rate_rule_id: z.string()
11181
+ });
11182
+ /**
11183
+ * Success
11184
+ */
11185
+ export const zScheduleJobWageDeterminationRateRuleChangeResponse = zRateRuleResponseObject;
11186
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationHeaders = z.object({
11187
+ 'If-Match': z.string()
11188
+ });
11189
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationPath = z.object({
11190
+ job_id: z.string(),
11191
+ wage_determination_id: z.string(),
11192
+ rate_rule_id: z.string()
11193
+ });
11194
+ /**
11195
+ * Success
11196
+ */
11197
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationResponse = zRateRuleResponseObject;
11198
+ export const zScheduleJobWageDeterminationRateRuleTerminationBody = zPayRatesRuleScheduledTerminationParameters;
11199
+ export const zScheduleJobWageDeterminationRateRuleTerminationHeaders = z.object({
11200
+ 'If-Match': z.string()
11201
+ });
11202
+ export const zScheduleJobWageDeterminationRateRuleTerminationPath = z.object({
11203
+ job_id: z.string(),
11204
+ wage_determination_id: z.string(),
11205
+ rate_rule_id: z.string()
11206
+ });
11207
+ /**
11208
+ * Success
11209
+ */
11210
+ export const zScheduleJobWageDeterminationRateRuleTerminationResponse = zRateRuleResponseObject;
10702
11211
  export const zListRateRulesPath = z.object({
10703
11212
  job_id: z.string(),
10704
11213
  wage_determination_id: z.string()
@@ -10727,6 +11236,18 @@ export const zCreateRateRulePath = z.object({
10727
11236
  * Created
10728
11237
  */
10729
11238
  export const zCreateRateRuleResponse = zRateRuleResponseObject;
11239
+ export const zDeleteJobWageDeterminationRateRuleHeaders = z.object({
11240
+ 'If-Match': z.string()
11241
+ });
11242
+ export const zDeleteJobWageDeterminationRateRulePath = z.object({
11243
+ job_id: z.string(),
11244
+ wage_determination_id: z.string(),
11245
+ id: z.string()
11246
+ });
11247
+ /**
11248
+ * Success
11249
+ */
11250
+ export const zDeleteJobWageDeterminationRateRuleResponse = zRateRuleResponseObject;
10730
11251
  export const zGetRateRulePath = z.object({
10731
11252
  job_id: z.string(),
10732
11253
  wage_determination_id: z.string(),
@@ -10739,6 +11260,19 @@ export const zGetRateRuleQuery = z.object({
10739
11260
  * Success
10740
11261
  */
10741
11262
  export const zGetRateRuleResponse = zRateRuleResponseObject;
11263
+ export const zUpdateJobWageDeterminationRateRuleBody = zPayRatesRuleUpdateParameters;
11264
+ export const zUpdateJobWageDeterminationRateRuleHeaders = z.object({
11265
+ 'If-Match': z.string()
11266
+ });
11267
+ export const zUpdateJobWageDeterminationRateRulePath = z.object({
11268
+ job_id: z.string(),
11269
+ wage_determination_id: z.string(),
11270
+ id: z.string()
11271
+ });
11272
+ /**
11273
+ * Success
11274
+ */
11275
+ export const zUpdateJobWageDeterminationRateRuleResponse = zRateRuleResponseObject;
10742
11276
  export const zListJobSitesPath = z.object({
10743
11277
  job_id: z.string()
10744
11278
  });
@@ -12354,6 +12888,19 @@ export const zCreateProjectTradePath = z.object({
12354
12888
  * Created
12355
12889
  */
12356
12890
  export const zCreateProjectTradeResponse = zPwaTradeResponseObject;
12891
+ export const zShiftProjectWageDeterminationRateRuleGenesisBody = zPayRatesRuleGenesisParameters;
12892
+ export const zShiftProjectWageDeterminationRateRuleGenesisHeaders = z.object({
12893
+ 'If-Match': z.string()
12894
+ });
12895
+ export const zShiftProjectWageDeterminationRateRuleGenesisPath = z.object({
12896
+ project_id: z.string(),
12897
+ wage_determination_id: z.string(),
12898
+ rate_rule_id: z.string()
12899
+ });
12900
+ /**
12901
+ * Success
12902
+ */
12903
+ export const zShiftProjectWageDeterminationRateRuleGenesisResponse = zProjectRateRuleResponseObject;
12357
12904
  export const zListProjectWageDeterminationRateRuleHistoryPath = z.object({
12358
12905
  project_id: z.string(),
12359
12906
  wage_determination_id: z.string(),
@@ -12370,6 +12917,73 @@ export const zListProjectWageDeterminationRateRuleHistoryResponse = z.object({
12370
12917
  links: zLinks,
12371
12918
  data: z.array(zProjectRateRuleHistoryVersionObject)
12372
12919
  });
12920
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesHeaders = z.object({
12921
+ 'If-Match': z.string()
12922
+ });
12923
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesPath = z.object({
12924
+ project_id: z.string(),
12925
+ wage_determination_id: z.string(),
12926
+ rate_rule_id: z.string()
12927
+ });
12928
+ /**
12929
+ * Success
12930
+ */
12931
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesResponse = zProjectRateRuleResponseObject;
12932
+ export const zListProjectWageDeterminationRateRuleScheduledChangesPath = z.object({
12933
+ project_id: z.string(),
12934
+ wage_determination_id: z.string(),
12935
+ rate_rule_id: z.string()
12936
+ });
12937
+ export const zListProjectWageDeterminationRateRuleScheduledChangesQuery = z.object({
12938
+ 'as_of[valid]': z.string().optional(),
12939
+ 'as_of[transaction]': z.string().optional()
12940
+ });
12941
+ /**
12942
+ * Success
12943
+ */
12944
+ export const zListProjectWageDeterminationRateRuleScheduledChangesResponse = z.object({
12945
+ meta: zMeta,
12946
+ links: zLinks,
12947
+ data: z.array(zProjectRateRuleHistoryVersionObject)
12948
+ });
12949
+ export const zScheduleProjectWageDeterminationRateRuleChangeBody = zPayRatesRuleScheduledChangeParameters;
12950
+ export const zScheduleProjectWageDeterminationRateRuleChangeHeaders = z.object({
12951
+ 'If-Match': z.string()
12952
+ });
12953
+ export const zScheduleProjectWageDeterminationRateRuleChangePath = z.object({
12954
+ project_id: z.string(),
12955
+ wage_determination_id: z.string(),
12956
+ rate_rule_id: z.string()
12957
+ });
12958
+ /**
12959
+ * Success
12960
+ */
12961
+ export const zScheduleProjectWageDeterminationRateRuleChangeResponse = zProjectRateRuleResponseObject;
12962
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationHeaders = z.object({
12963
+ 'If-Match': z.string()
12964
+ });
12965
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationPath = z.object({
12966
+ project_id: z.string(),
12967
+ wage_determination_id: z.string(),
12968
+ rate_rule_id: z.string()
12969
+ });
12970
+ /**
12971
+ * Success
12972
+ */
12973
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationResponse = zProjectRateRuleResponseObject;
12974
+ export const zScheduleProjectWageDeterminationRateRuleTerminationBody = zPayRatesRuleScheduledTerminationParameters;
12975
+ export const zScheduleProjectWageDeterminationRateRuleTerminationHeaders = z.object({
12976
+ 'If-Match': z.string()
12977
+ });
12978
+ export const zScheduleProjectWageDeterminationRateRuleTerminationPath = z.object({
12979
+ project_id: z.string(),
12980
+ wage_determination_id: z.string(),
12981
+ rate_rule_id: z.string()
12982
+ });
12983
+ /**
12984
+ * Success
12985
+ */
12986
+ export const zScheduleProjectWageDeterminationRateRuleTerminationResponse = zProjectRateRuleResponseObject;
12373
12987
  export const zListProjectWageDeterminationRateRulesPath = z.object({
12374
12988
  project_id: z.string(),
12375
12989
  wage_determination_id: z.string()
@@ -12398,6 +13012,18 @@ export const zCreateProjectWageDeterminationRateRulePath = z.object({
12398
13012
  * Created
12399
13013
  */
12400
13014
  export const zCreateProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
13015
+ export const zDeleteProjectWageDeterminationRateRuleHeaders = z.object({
13016
+ 'If-Match': z.string()
13017
+ });
13018
+ export const zDeleteProjectWageDeterminationRateRulePath = z.object({
13019
+ project_id: z.string(),
13020
+ wage_determination_id: z.string(),
13021
+ id: z.string()
13022
+ });
13023
+ /**
13024
+ * Success
13025
+ */
13026
+ export const zDeleteProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12401
13027
  export const zGetProjectWageDeterminationRateRulePath = z.object({
12402
13028
  project_id: z.string(),
12403
13029
  wage_determination_id: z.string(),
@@ -12410,6 +13036,19 @@ export const zGetProjectWageDeterminationRateRuleQuery = z.object({
12410
13036
  * Success
12411
13037
  */
12412
13038
  export const zGetProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
13039
+ export const zUpdateProjectWageDeterminationRateRuleBody = zPayRatesRuleUpdateParameters;
13040
+ export const zUpdateProjectWageDeterminationRateRuleHeaders = z.object({
13041
+ 'If-Match': z.string()
13042
+ });
13043
+ export const zUpdateProjectWageDeterminationRateRulePath = z.object({
13044
+ project_id: z.string(),
13045
+ wage_determination_id: z.string(),
13046
+ id: z.string()
13047
+ });
13048
+ /**
13049
+ * Success
13050
+ */
13051
+ export const zUpdateProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12413
13052
  export const zListProjectSitesPath = z.object({
12414
13053
  project_id: z.string()
12415
13054
  });
@@ -12698,6 +13337,46 @@ export const zUpdateProjectPath = z.object({
12698
13337
  * Success
12699
13338
  */
12700
13339
  export const zUpdateProjectResponse = zProjectResponseObject;
13340
+ export const zListCompanyDetailsQuery = z.object({
13341
+ 'page[cursor]': z.string().optional(),
13342
+ 'page[limit]': z.int().gte(1).optional().default(20),
13343
+ page: z.string().optional()
13344
+ });
13345
+ /**
13346
+ * Success
13347
+ */
13348
+ export const zListCompanyDetailsResponse = z.object({
13349
+ meta: zMeta,
13350
+ links: zLinks,
13351
+ data: z.array(zPwaCompanyDetailsResponseObject)
13352
+ });
13353
+ export const zCreateCompanyDetailBody = zPwaCompanyDetailsParameters;
13354
+ /**
13355
+ * Created
13356
+ */
13357
+ export const zCreateCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
13358
+ export const zDeleteCompanyDetailPath = z.object({
13359
+ id: z.string()
13360
+ });
13361
+ /**
13362
+ * No Content
13363
+ */
13364
+ export const zDeleteCompanyDetailResponse = z.void();
13365
+ export const zGetCompanyDetailPath = z.object({
13366
+ id: z.string()
13367
+ });
13368
+ /**
13369
+ * Success
13370
+ */
13371
+ export const zGetCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
13372
+ export const zUpdateCompanyDetailBody = zPwaCompanyDetailsUpdateParameters;
13373
+ export const zUpdateCompanyDetailPath = z.object({
13374
+ id: z.string()
13375
+ });
13376
+ /**
13377
+ * Success
13378
+ */
13379
+ export const zUpdateCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
12701
13380
  export const zCreateCompanyUserDetailBody = zPwaCompanyUserDetailsParameters;
12702
13381
  /**
12703
13382
  * Created
@@ -13555,6 +14234,11 @@ export const zListTimeOffRequestsQuery = z.object({
13555
14234
  * Success
13556
14235
  */
13557
14236
  export const zListTimeOffRequestsResponse = zTimeOffRequestsResponseObject;
14237
+ export const zCreateTimeOffRequestBody = zTimeOffRequestParameters;
14238
+ /**
14239
+ * Created
14240
+ */
14241
+ export const zCreateTimeOffRequestResponse = zTimeOffRequestResponseObject;
13558
14242
  export const zGetTimeOffRequestPath = z.object({
13559
14243
  id: z.string()
13560
14244
  });
@@ -13562,6 +14246,14 @@ export const zGetTimeOffRequestPath = z.object({
13562
14246
  * Success
13563
14247
  */
13564
14248
  export const zGetTimeOffRequestResponse = zTimeOffRequestResponseObject;
14249
+ export const zCreateReviewBody = zTimeOffRequestReviewParameters;
14250
+ export const zCreateReviewPath = z.object({
14251
+ time_off_request_id: z.string()
14252
+ });
14253
+ /**
14254
+ * Created
14255
+ */
14256
+ export const zCreateReviewResponse = zTimeOffRequestResponseObject;
13565
14257
  export const zListTimeSessionsQuery = z.object({
13566
14258
  'filter[user_id]': z.string().optional(),
13567
14259
  'filter[job_id]': z.string().optional(),