@dsptch-work/api-client 0.19.0 → 0.21.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.
@@ -8,7 +8,11 @@ export const zProblem = z.object({
8
8
  title: z.string(),
9
9
  status: z.int(),
10
10
  detail: z.string(),
11
- instance: z.url().optional()
11
+ instance: z.url(),
12
+ errors: z.array(z.object({
13
+ detail: z.string(),
14
+ pointer: z.string().optional()
15
+ })).min(1).optional()
12
16
  });
13
17
  /**
14
18
  * Error types
@@ -859,7 +863,7 @@ export const zTimecodeResponseObject = z.object({
859
863
  updated_at: z.iso.datetime()
860
864
  });
861
865
  /**
862
- * An employment stint in the credential company. Its id is stable across valid-time versions; a rehire is a separate stint with a new id. A read returns only a version covering now or as_of[valid].
866
+ * An employment stint in the credential company. Its id is stable across valid-time versions; a rehire is a separate stint with a new id. A read returns only a version covering now or as_of[valid]. Company keys, company administrators, and the employed person receive direct monetary fields; those fields are omitted for company managers reading coworkers.
863
867
  */
864
868
  export const zPeopleEmploymentResponseObject = z.object({
865
869
  id: z.string(),
@@ -880,10 +884,10 @@ export const zPeopleEmploymentResponseObject = z.object({
880
884
  pto_annual_minutes: z.int().nullable(),
881
885
  holiday_annual_minutes: z.int().nullable(),
882
886
  training_annual_minutes: z.int().nullable(),
883
- hourly_rate_cents: z.string().nullable(),
884
- training_annual_amount_cents: z.string().nullable(),
885
- employer_combined_health_amount_cents: z.string().nullable(),
886
- employer_combined_savings_cents: z.string().nullable(),
887
+ hourly_rate_cents: z.string().nullish(),
888
+ training_annual_amount_cents: z.string().nullish(),
889
+ employer_combined_health_amount_cents: z.string().nullish(),
890
+ employer_combined_savings_cents: z.string().nullish(),
887
891
  currency: z.string(),
888
892
  valid_from: z.iso.datetime().nullable(),
889
893
  valid_to: z.iso.datetime().nullable(),
@@ -909,10 +913,10 @@ export const zPeopleEmploymentHistoryCorrectionObject = z.object({
909
913
  pto_annual_minutes: z.int().nullable(),
910
914
  holiday_annual_minutes: z.int().nullable(),
911
915
  training_annual_minutes: z.int().nullable(),
912
- hourly_rate_cents: z.string().nullable(),
913
- training_annual_amount_cents: z.string().nullable(),
914
- employer_combined_health_amount_cents: z.string().nullable(),
915
- employer_combined_savings_cents: z.string().nullable(),
916
+ hourly_rate_cents: z.string().nullish(),
917
+ training_annual_amount_cents: z.string().nullish(),
918
+ employer_combined_health_amount_cents: z.string().nullish(),
919
+ employer_combined_savings_cents: z.string().nullish(),
916
920
  currency: z.string(),
917
921
  valid_from: z.iso.datetime().nullable(),
918
922
  valid_to: z.iso.datetime().nullable(),
@@ -938,10 +942,10 @@ export const zPeopleEmploymentHistoryVersionObject = z.object({
938
942
  pto_annual_minutes: z.int().nullable(),
939
943
  holiday_annual_minutes: z.int().nullable(),
940
944
  training_annual_minutes: z.int().nullable(),
941
- hourly_rate_cents: z.string().nullable(),
942
- training_annual_amount_cents: z.string().nullable(),
943
- employer_combined_health_amount_cents: z.string().nullable(),
944
- employer_combined_savings_cents: z.string().nullable(),
945
+ hourly_rate_cents: z.string().nullish(),
946
+ training_annual_amount_cents: z.string().nullish(),
947
+ employer_combined_health_amount_cents: z.string().nullish(),
948
+ employer_combined_savings_cents: z.string().nullish(),
945
949
  currency: z.string(),
946
950
  valid_from: z.iso.datetime().nullable(),
947
951
  valid_to: z.iso.datetime().nullable(),
@@ -1024,7 +1028,7 @@ export const zTimecodeHistoryVersionObject = z.object({
1024
1028
  * Request body for creating or updating a timecode; only `name` is required. On create, omitted fields take their model/DB defaults (noted per field). On update the request applies a bitemporal correction, so omitted fields keep the current version's values rather than reverting to defaults.
1025
1029
  */
1026
1030
  export const zTimecodeParameters = z.object({
1027
- name: z.string(),
1031
+ name: z.string().min(1),
1028
1032
  description: z.string().nullish(),
1029
1033
  description_is_required: z.boolean().optional(),
1030
1034
  billable: z.boolean().optional(),
@@ -1052,7 +1056,7 @@ export const zTimecodeParameters = z.object({
1052
1056
  export const zTimecodeCorrectionParameters = z.object({
1053
1057
  effective_from: z.iso.datetime().optional(),
1054
1058
  effective_to: z.iso.datetime().optional(),
1055
- name: z.string().optional(),
1059
+ name: z.string().min(1).optional(),
1056
1060
  description: z.string().nullish(),
1057
1061
  description_is_required: z.boolean().optional(),
1058
1062
  billable: z.boolean().optional(),
@@ -1190,7 +1194,7 @@ export const zAssetsAttributeResponseObject = z.object({
1190
1194
  * Create or update an attribute definition. Options apply only to a select attribute and are ignored otherwise; data_type cannot be changed once any value has been filled.
1191
1195
  */
1192
1196
  export const zAssetsAttributeParameters = z.object({
1193
- name: z.string(),
1197
+ name: z.string().min(1),
1194
1198
  data_type: z.enum([
1195
1199
  'text',
1196
1200
  'number',
@@ -1209,7 +1213,7 @@ export const zAssetsAttributeParameters = z.object({
1209
1213
  * Update an attribute definition. All fields are optional — send only what changes. Options apply only to a select attribute and are ignored otherwise; data_type cannot be changed once any value has been filled.
1210
1214
  */
1211
1215
  export const zAssetsAttributeUpdateParameters = z.object({
1212
- name: z.string().optional(),
1216
+ name: z.string().min(1).optional(),
1213
1217
  data_type: z.enum([
1214
1218
  'text',
1215
1219
  'number',
@@ -1247,7 +1251,7 @@ export const zAssetsCategoryResponseObject = z.object({
1247
1251
  * Create or update a category; only name is required. `category_attributes` sets this category's direct attribute assignments.
1248
1252
  */
1249
1253
  export const zAssetsCategoryParameters = z.object({
1250
- name: z.string(),
1254
+ name: z.string().min(1),
1251
1255
  parent_id: z.string().nullish(),
1252
1256
  category_attributes: z.array(z.object({
1253
1257
  id: z.string().optional(),
@@ -1262,7 +1266,7 @@ export const zAssetsCategoryParameters = z.object({
1262
1266
  * Update a category. All fields are optional — send only what changes. `category_attributes` sets this category's direct attribute assignments.
1263
1267
  */
1264
1268
  export const zAssetsCategoryUpdateParameters = z.object({
1265
- name: z.string().optional(),
1269
+ name: z.string().min(1).optional(),
1266
1270
  parent_id: z.string().nullish(),
1267
1271
  category_attributes: z.array(z.object({
1268
1272
  id: z.string().optional(),
@@ -1288,14 +1292,14 @@ export const zDepartmentResponseObject = z.object({
1288
1292
  * Request body for creating a department.
1289
1293
  */
1290
1294
  export const zDepartmentParameters = z.object({
1291
- name: z.string(),
1295
+ name: z.string().min(1),
1292
1296
  description: z.string().nullish()
1293
1297
  });
1294
1298
  /**
1295
1299
  * Request body for updating a department. Send only the fields to change.
1296
1300
  */
1297
1301
  export const zDepartmentUpdateParameters = z.object({
1298
- name: z.string().optional(),
1302
+ name: z.string().min(1).optional(),
1299
1303
  description: z.string().nullish()
1300
1304
  });
1301
1305
  /**
@@ -2077,15 +2081,15 @@ export const zPositionFunctionResponseObject = z.object({
2077
2081
  * Request body for creating a position function.
2078
2082
  */
2079
2083
  export const zPositionFunctionParameters = z.object({
2080
- value: z.string(),
2081
- description: z.string()
2084
+ value: z.string().min(1),
2085
+ description: z.string().min(1)
2082
2086
  });
2083
2087
  /**
2084
2088
  * Request body for updating a position function. Send only the fields to change.
2085
2089
  */
2086
2090
  export const zPositionFunctionUpdateParameters = z.object({
2087
- value: z.string().optional(),
2088
- description: z.string().optional()
2091
+ value: z.string().min(1).optional(),
2092
+ description: z.string().min(1).optional()
2089
2093
  });
2090
2094
  export const zCompanyResponseObject = z.object({
2091
2095
  id: z.string(),
@@ -2266,7 +2270,7 @@ export const zCustomFieldConfigsResponseObject = z.object({
2266
2270
  updated_at: z.iso.datetime()
2267
2271
  });
2268
2272
  /**
2269
- * Request body for creating or updating a custom field definition.
2273
+ * Request body for creating a custom field definition. `name` and `model_type` are required.
2270
2274
  */
2271
2275
  export const zCustomFieldConfigParameters = z.object({
2272
2276
  name: z.string(),
@@ -2279,6 +2283,20 @@ export const zCustomFieldConfigParameters = z.object({
2279
2283
  ]),
2280
2284
  visible: z.boolean().optional()
2281
2285
  });
2286
+ /**
2287
+ * Request body for updating a custom field definition. Every field is optional; omit a field to preserve its current value. The resulting definition's name must remain unique for its company and model type.
2288
+ */
2289
+ export const zCustomFieldConfigUpdateParameters = z.object({
2290
+ name: z.string().optional(),
2291
+ description: z.string().nullish(),
2292
+ model_type: z.enum([
2293
+ 'apprenticeship_apprentice',
2294
+ 'company',
2295
+ 'job',
2296
+ 'user_company'
2297
+ ]).optional(),
2298
+ visible: z.boolean().optional()
2299
+ });
2282
2300
  /**
2283
2301
  * A user's membership in a group.
2284
2302
  */
@@ -2305,14 +2323,14 @@ export const zTimeCardStartDay = z.union([
2305
2323
  z.literal(6)
2306
2324
  ]);
2307
2325
  /**
2308
- * Parameters for creating a job. Sets the job's schedule, work types, address, and optional Prevailing Wage / Apprenticeship (PWA) compliance. Extra keys are accepted, including custom fields.
2326
+ * Fields shared by job creation and updates. Updates may omit any field to preserve its current value. The resulting job must still satisfy its schedule and PWA validation rules. Extra keys are accepted, including custom fields.
2309
2327
  */
2310
2328
  export const zJobParameters = z.object({
2311
2329
  template_id: z.string().nullish(),
2312
2330
  name: z.string().nullish(),
2313
2331
  description: z.string().optional(),
2314
- requested_by_company_id: z.string(),
2315
- created_by_user_id: z.string(),
2332
+ requested_by_company_id: z.string().optional(),
2333
+ created_by_user_id: z.string().optional(),
2316
2334
  manager_user_ids: z.array(z.string()).nullish(),
2317
2335
  purchase_order_number: z.string().nullish(),
2318
2336
  project_id: z.string().nullish(),
@@ -2391,7 +2409,11 @@ export const zJobParameters = z.object({
2391
2409
  }).optional()
2392
2410
  });
2393
2411
  /**
2394
- * Parameters for updating an existing job. Accepts every job_parameters field, plus a directly settable status.
2412
+ * Parameters for creating a job. `requested_by_company_id` and `created_by_user_id` are required. Sets the job's schedule, work types, address, and optional Prevailing Wage / Apprenticeship (PWA) compliance.
2413
+ */
2414
+ export const zJobCreateParameters = zJobParameters.and(z.record(z.string(), z.unknown()));
2415
+ /**
2416
+ * Parameters for updating an existing job. Every field is optional; omit a field to preserve its current value. The resulting job must still satisfy schedule and PWA validation rules. Accepts every shared job field plus a directly settable status.
2395
2417
  */
2396
2418
  export const zJobUpdateParameters = zJobParameters.and(z.object({
2397
2419
  status: z.enum([
@@ -3037,6 +3059,7 @@ export const zProjectResponseObject = z.object({
3037
3059
  owned_by_company_id: z.string(),
3038
3060
  created_by_user_id: z.string().nullable(),
3039
3061
  parent_id: z.string().nullable(),
3062
+ participating_company_ids: z.array(z.string()),
3040
3063
  federal_pwa_mode: z.enum([
3041
3064
  'all',
3042
3065
  'pw_only',
@@ -3065,13 +3088,51 @@ export const zProjectResponseObject = z.object({
3065
3088
  updated_at: z.iso.datetime()
3066
3089
  });
3067
3090
  /**
3068
- * Request body for creating or updating a project. Only `name` is required by the schema; `created_by_user_id` is additionally required on create and must be a member of the owning company. The owning company is inferred from the API key and is not part of the body.
3091
+ * Request body for creating or updating a project. Only `name` is required by the schema; `created_by_user_id` is additionally required on create and must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Omit relationship fields on PATCH to leave them unchanged.
3069
3092
  */
3070
3093
  export const zProjectParameters = z.object({
3071
3094
  external_id: z.string().nullish(),
3072
3095
  name: z.string(),
3073
3096
  description: z.string().nullish(),
3097
+ created_by_user_id: z.string(),
3098
+ parent_id: z.string().nullish(),
3099
+ participating_company_ids: z.array(z.string()).optional(),
3100
+ start_date: z.iso.date().nullish(),
3101
+ end_date: z.iso.date().nullish(),
3102
+ tz_name: z.string().nullish(),
3103
+ billing_start_day: z.int().nullish(),
3104
+ federal_pwa_mode: z.enum([
3105
+ 'all',
3106
+ 'pw_only',
3107
+ 'ap_only',
3108
+ 'none'
3109
+ ]).optional(),
3110
+ regional_pwa_mode: z.enum([
3111
+ 'all',
3112
+ 'pw_only',
3113
+ 'ap_only',
3114
+ 'none'
3115
+ ]).optional(),
3116
+ region: z.string().nullish(),
3117
+ asset_owner: z.boolean().optional(),
3118
+ administrator_name: z.string().nullish(),
3119
+ administrator_email: z.string().nullish(),
3120
+ administrator_phone: z.string().nullish(),
3121
+ budget: z.string().optional(),
3122
+ prevailing_wage_lock_in_date: z.iso.date().nullish(),
3123
+ beginning_of_construction_date: z.iso.date().nullish(),
3124
+ placed_in_service_date: z.iso.date().nullish()
3125
+ });
3126
+ /**
3127
+ * 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 and an update that names it is rejected.
3128
+ */
3129
+ export const zProjectUpdateParameters = z.object({
3130
+ external_id: z.string().nullish(),
3131
+ name: z.string().optional(),
3132
+ description: z.string().nullish(),
3074
3133
  created_by_user_id: z.string().nullish(),
3134
+ parent_id: z.string().nullish(),
3135
+ participating_company_ids: z.array(z.string()).optional(),
3075
3136
  start_date: z.iso.date().nullish(),
3076
3137
  end_date: z.iso.date().nullish(),
3077
3138
  tz_name: z.string().nullish(),
@@ -3806,6 +3867,26 @@ export const zPaystubLineItemUpdateParameters = z.object({
3806
3867
  contributor: z.enum(['employee', 'employer']).optional(),
3807
3868
  payrolls_external_map_id: z.string().optional()
3808
3869
  });
3870
+ /**
3871
+ * A company-owned collection of conditional wage and fringe adjustments, optionally scoped to a job.
3872
+ */
3873
+ export const zPayRatesRulePackageResponseObject = z.object({
3874
+ id: z.string(),
3875
+ name: z.string(),
3876
+ description: z.string().nullable(),
3877
+ scoped_to_job_id: z.string().nullable(),
3878
+ default: z.boolean(),
3879
+ selectable: z.boolean(),
3880
+ created_at: z.iso.datetime(),
3881
+ updated_at: z.iso.datetime()
3882
+ });
3883
+ /**
3884
+ * Parameters for creating a company-wide pay-rate rule package.
3885
+ */
3886
+ export const zPayRatesRulePackageParameters = z.object({
3887
+ name: z.string().min(1),
3888
+ description: z.string().nullish()
3889
+ });
3809
3890
  /**
3810
3891
  * Request body for creating or updating a position on a job. The job is taken from the URL path.
3811
3892
  */
@@ -3828,7 +3909,7 @@ export const zPositionParameters = z.object({
3828
3909
  }).optional()
3829
3910
  });
3830
3911
  /**
3831
- * Parameters for creating or updating a per-unit scope price on a job.
3912
+ * Parameters for creating a per-unit scope price on a job. `scope_kind` and `unit_price` are required.
3832
3913
  */
3833
3914
  export const zProductionJobScopePriceParameters = z.object({
3834
3915
  scope_kind: z.string(),
@@ -3836,6 +3917,15 @@ export const zProductionJobScopePriceParameters = z.object({
3836
3917
  contracted_count: z.int().nullish(),
3837
3918
  unit_of_measure: z.string().optional()
3838
3919
  });
3920
+ /**
3921
+ * 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.
3922
+ */
3923
+ export const zProductionJobScopePriceUpdateParameters = z.object({
3924
+ scope_kind: z.string().optional(),
3925
+ unit_price: z.string().optional(),
3926
+ contracted_count: z.int().nullish(),
3927
+ unit_of_measure: z.string().optional()
3928
+ });
3839
3929
  /**
3840
3930
  * A per-unit billing price for one scope of work on a job. Production completions bill against these prices.
3841
3931
  */
@@ -4019,7 +4109,7 @@ export const zCertificationResponseObject = z.object({
4019
4109
  updated_at: z.iso.datetime()
4020
4110
  });
4021
4111
  /**
4022
- * Request body for recording or updating a certification held by a worker — who holds it, which certification, when it was received, and optional proof, expiry, and verification details.
4112
+ * Request body for recording a certification held by a worker — who holds it, which certification, when it was received, and optional proof, expiry, and verification details.
4023
4113
  */
4024
4114
  export const zUserCertificationParameters = z.object({
4025
4115
  user_id: z.string(),
@@ -4036,6 +4126,24 @@ export const zUserCertificationParameters = z.object({
4036
4126
  archived_at: z.iso.datetime().nullish(),
4037
4127
  approved_at: z.iso.datetime().nullish()
4038
4128
  });
4129
+ /**
4130
+ * Request body for updating a certification held by a worker. Every field is optional; omit a field to preserve its current value. The resulting certification must still have a receipt date and verification state, and any expiry date must remain after its receipt date.
4131
+ */
4132
+ export const zUserCertificationUpdateParameters = z.object({
4133
+ user_id: z.string().optional(),
4134
+ certification_id: z.string().optional(),
4135
+ received_at: z.iso.datetime().optional(),
4136
+ file: z.object({
4137
+ name: z.string().max(255).regex(/^[\w\s.-]*\.[A-Za-z0-9]+$/),
4138
+ content: z.string()
4139
+ }).nullish(),
4140
+ verified: z.boolean().optional(),
4141
+ expiration_date: z.iso.date().nullish(),
4142
+ credential_id: z.string().nullish(),
4143
+ approved_by_user_id: z.string().nullish(),
4144
+ archived_at: z.iso.datetime().nullish(),
4145
+ approved_at: z.iso.datetime().nullish()
4146
+ });
4039
4147
  /**
4040
4148
  * A certification held by a worker — the record that a worker earned a certification, with its receipt date, optional expiry, and verification state.
4041
4149
  */
@@ -4150,6 +4258,7 @@ export const zPositionResponseObject = z.object({
4150
4258
  id: z.string(),
4151
4259
  job_id: z.string(),
4152
4260
  fulfilled_by_user_id: z.string().nullable(),
4261
+ pay_rates_rule_package_id: z.string().nullable(),
4153
4262
  position_function: zPositionFunction,
4154
4263
  per_diem_name: z.string().nullable(),
4155
4264
  per_diem_currency: z.string().nullable(),
@@ -4831,6 +4940,7 @@ export const zFederalJobWageDeterminationResponseObject = z.object({
4831
4940
  job_id: z.string(),
4832
4941
  pwa_trade_id: z.string(),
4833
4942
  overtime_package_id: z.string().nullable(),
4943
+ pay_rates_rule_package_id: z.string().nullable(),
4834
4944
  type: z.enum(['Pwa::JobWageDeterminations::Federal']),
4835
4945
  labor_classification: z.string(),
4836
4946
  hourly_rate_cents: z.string(),
@@ -4853,6 +4963,7 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
4853
4963
  job_id: z.string(),
4854
4964
  pwa_trade_id: z.string(),
4855
4965
  overtime_package_id: z.string().nullable(),
4966
+ pay_rates_rule_package_id: z.string().nullable(),
4856
4967
  type: z.enum(['Pwa::JobWageDeterminations::Federal']),
4857
4968
  labor_classification: z.string(),
4858
4969
  hourly_rate_cents: z.string(),
@@ -4924,6 +5035,7 @@ export const zRegionalJobWageDeterminationResponseObject = z.object({
4924
5035
  job_id: z.string(),
4925
5036
  pwa_trade_id: z.string(),
4926
5037
  overtime_package_id: z.string().nullable(),
5038
+ pay_rates_rule_package_id: z.string().nullable(),
4927
5039
  type: z.enum(['Pwa::JobWageDeterminations::Regional']),
4928
5040
  labor_classification: z.string(),
4929
5041
  hourly_rate_cents: z.string(),
@@ -4947,6 +5059,7 @@ export const zRegionalJobWageDeterminationHistoryCorrectionObject = z.object({
4947
5059
  job_id: z.string(),
4948
5060
  pwa_trade_id: z.string(),
4949
5061
  overtime_package_id: z.string().nullable(),
5062
+ pay_rates_rule_package_id: z.string().nullable(),
4950
5063
  type: z.enum(['Pwa::JobWageDeterminations::Regional']),
4951
5064
  labor_classification: z.string(),
4952
5065
  hourly_rate_cents: z.string(),
@@ -4967,6 +5080,7 @@ export const zFederalJobWageDeterminationHistoryVersionObject = z.object({
4967
5080
  job_id: z.string(),
4968
5081
  pwa_trade_id: z.string(),
4969
5082
  overtime_package_id: z.string().nullable(),
5083
+ pay_rates_rule_package_id: z.string().nullable(),
4970
5084
  type: z.enum(['Pwa::JobWageDeterminations::Federal']),
4971
5085
  labor_classification: z.string(),
4972
5086
  hourly_rate_cents: z.string(),
@@ -4995,6 +5109,7 @@ export const zRegionalJobWageDeterminationHistoryVersionObject = z.object({
4995
5109
  job_id: z.string(),
4996
5110
  pwa_trade_id: z.string(),
4997
5111
  overtime_package_id: z.string().nullable(),
5112
+ pay_rates_rule_package_id: z.string().nullable(),
4998
5113
  type: z.enum(['Pwa::JobWageDeterminations::Regional']),
4999
5114
  labor_classification: z.string(),
5000
5115
  hourly_rate_cents: z.string(),
@@ -5032,7 +5147,8 @@ export const zFederalJobWageDeterminationParameters = z.object({
5032
5147
  'highway',
5033
5148
  'residential'
5034
5149
  ]).nullish(),
5035
- general_wage_determination: z.string().nullish()
5150
+ general_wage_determination: z.string().nullish(),
5151
+ pay_rates_rule_package_id: z.string().nullish()
5036
5152
  });
5037
5153
  /**
5038
5154
  * Parameters for creating a Regional (state prevailing-wage) wage determination on a job.
@@ -5045,6 +5161,7 @@ export const zRegionalJobWageDeterminationParameters = z.object({
5045
5161
  fringe_rate_cents: z.string().optional(),
5046
5162
  general_wage_determination: z.string().nullish(),
5047
5163
  overtime_package_id: z.string().nullish(),
5164
+ pay_rates_rule_package_id: z.string().nullish(),
5048
5165
  regional_fields: zRegionalWageDeterminationFields.optional()
5049
5166
  });
5050
5167
  /**
@@ -5060,6 +5177,7 @@ export const zJobWageDeterminationParameters = z.discriminatedUnion('type', [
5060
5177
  export const zJobWageDeterminationUpdateParameters = z.object({
5061
5178
  effective_from: z.iso.date().optional(),
5062
5179
  overtime_package_id: z.string().nullish(),
5180
+ pay_rates_rule_package_id: z.string().nullish(),
5063
5181
  labor_classification: z.string().optional(),
5064
5182
  pwa_trade_id: z.string().optional(),
5065
5183
  hourly_rate_cents: z.string().optional(),
@@ -5208,6 +5326,84 @@ export const zRateRuleHistoryVersionObject = z.object({
5208
5326
  ]),
5209
5327
  corrections: z.array(zRateRuleHistoryCorrectionObject)
5210
5328
  });
5329
+ /**
5330
+ * A conditional wage or fringe adjustment owned by a pay-rate rule package, with the selected version's valid-time window.
5331
+ */
5332
+ export const zPayRatesRuleResponseObject = z.object({
5333
+ id: z.string(),
5334
+ pay_rates_rule_package_id: z.string(),
5335
+ currency: z.string(),
5336
+ effect: zRateRuleEffect,
5337
+ conditions: z.array(zRateRuleCondition),
5338
+ valid_from: z.iso.datetime().nullable(),
5339
+ valid_to: z.iso.datetime().nullable(),
5340
+ created_at: z.iso.datetime(),
5341
+ updated_at: z.iso.datetime()
5342
+ });
5343
+ /**
5344
+ * Parameters for creating a conditional wage or fringe adjustment in a pay-rate rule package.
5345
+ */
5346
+ export const zPayRatesRuleParameters = z.object({
5347
+ effect: zRateRuleEffect,
5348
+ conditions: z.array(zRateRuleCondition).optional(),
5349
+ effective_date: z.iso.date().optional()
5350
+ });
5351
+ /**
5352
+ * Change a rule from an effective date forward. Omitted effect or conditions keep that part of the targeted version. When the targeted recipe changes, the resulting complete recipe applies from that coordinate across later scheduled versions; an unchanged recipe does not alter later scheduled versions. An empty conditions list makes the rule unconditional. Omit effective_from to correct the selected version from its exact existing start. A rule with an unbounded lower limit requires effective_from.
5353
+ */
5354
+ export const zPayRatesRuleUpdateParameters = z.object({
5355
+ effect: zRateRuleEffect.optional(),
5356
+ conditions: z.array(zRateRuleCondition).optional(),
5357
+ effective_from: z.iso.date().optional()
5358
+ });
5359
+ /**
5360
+ * Parameters for moving where a pay-rate rule family's valid-time timeline begins.
5361
+ */
5362
+ export const zPayRatesRuleGenesisParameters = z.object({
5363
+ effective_date: z.iso.date()
5364
+ });
5365
+ /**
5366
+ * Parameters for scheduling when a pay-rate rule family stops being valid.
5367
+ */
5368
+ export const zPayRatesRuleScheduledTerminationParameters = z.object({
5369
+ effective_date: z.iso.date()
5370
+ });
5371
+ /**
5372
+ * Schedule a rule recipe change from a company-local effective date.
5373
+ */
5374
+ export const zPayRatesRuleScheduledChangeParameters = z.object({
5375
+ effective_date: z.iso.date(),
5376
+ effect: zRateRuleEffect.optional(),
5377
+ conditions: z.array(zRateRuleCondition).optional()
5378
+ });
5379
+ export const zPayRatesRuleHistoryCorrectionObject = z.object({
5380
+ pay_rates_rule_id: z.string(),
5381
+ pay_rates_rule_package_id: z.string(),
5382
+ currency: z.string(),
5383
+ effect: zRateRuleEffect,
5384
+ conditions: z.array(zRateRuleCondition),
5385
+ valid_from: z.iso.datetime().nullable(),
5386
+ valid_to: z.iso.datetime().nullable(),
5387
+ created_at: z.iso.datetime(),
5388
+ updated_at: z.iso.datetime()
5389
+ });
5390
+ export const zPayRatesRuleHistoryVersionObject = z.object({
5391
+ pay_rates_rule_id: z.string(),
5392
+ pay_rates_rule_package_id: z.string(),
5393
+ currency: z.string(),
5394
+ effect: zRateRuleEffect,
5395
+ conditions: z.array(zRateRuleCondition),
5396
+ valid_from: z.iso.datetime().nullable(),
5397
+ valid_to: z.iso.datetime().nullable(),
5398
+ created_at: z.iso.datetime(),
5399
+ updated_at: z.iso.datetime(),
5400
+ version_status: z.enum([
5401
+ 'scheduled',
5402
+ 'current',
5403
+ 'historical'
5404
+ ]),
5405
+ corrections: z.array(zPayRatesRuleHistoryCorrectionObject)
5406
+ });
5211
5407
  /**
5212
5408
  * An overtime rule (daily or weekly) belonging to an overtime package. It sets a pay multiplier that applies once a worked-hours threshold — and any day or date qualifier — is met. `valid_from`/`valid_to` bound the window this version is in effect.
5213
5409
  */
@@ -5402,14 +5598,14 @@ export const zAssetsVendorResponseObject = z.object({
5402
5598
  * Create or update a vendor. Only name is required.
5403
5599
  */
5404
5600
  export const zAssetsVendorParameters = z.object({
5405
- name: z.string(),
5601
+ name: z.string().min(1),
5406
5602
  logo_signed_id: z.string().optional()
5407
5603
  });
5408
5604
  /**
5409
5605
  * Update a vendor. All fields are optional — send only what changes.
5410
5606
  */
5411
5607
  export const zAssetsVendorUpdateParameters = z.object({
5412
- name: z.string().optional(),
5608
+ name: z.string().min(1).optional(),
5413
5609
  logo_signed_id: z.string().optional()
5414
5610
  });
5415
5611
  /**
@@ -5515,6 +5711,39 @@ export const zAssetsFormAssignmentTriggerParameters = z.object({
5515
5711
  assigned_user_ids: z.array(z.string()).optional(),
5516
5712
  assets_product_ids: z.array(z.string()).optional()
5517
5713
  });
5714
+ /**
5715
+ * Update a form-assignment trigger rule. All fields are optional — send only what changes. When changing first_due_by, include the matching day field when required; assigned_user_ids applies only to the custom assign_to mode.
5716
+ */
5717
+ export const zAssetsFormAssignmentTriggerUpdateParameters = z.object({
5718
+ form_definition_id: z.string().optional(),
5719
+ triggered_by: z.enum(['assignment', 'unassignment']).optional(),
5720
+ assign_to: z.enum([
5721
+ 'custom',
5722
+ 'asset_assignee',
5723
+ 'previous_asset_assignee'
5724
+ ]).optional(),
5725
+ first_due_by: z.enum([
5726
+ 'day_of_event',
5727
+ 'day_of_week',
5728
+ 'day_of_month'
5729
+ ]).optional(),
5730
+ tz_name: z.string().optional(),
5731
+ time_of_day_due: z.string().optional(),
5732
+ name: z.string().nullish(),
5733
+ recurrence_frequency: z.enum([
5734
+ 'DAILY',
5735
+ 'WORKDAILY',
5736
+ 'WORKDAILYSIX',
5737
+ 'WEEKLY',
5738
+ 'BIWEEKLY',
5739
+ 'MONTHLY',
5740
+ 'QUARTERLY'
5741
+ ]).nullish(),
5742
+ day_of_week_due: z.int().nullish(),
5743
+ day_of_month_due: z.int().nullish(),
5744
+ assigned_user_ids: z.array(z.string()).optional(),
5745
+ assets_product_ids: z.array(z.string()).optional()
5746
+ });
5518
5747
  /**
5519
5748
  * A file attached to an asset — an item or product image, or a service-event attachment. Uploaded through the direct-upload flow; the response carries a URL to download it.
5520
5749
  */
@@ -5599,7 +5828,7 @@ export const zAssetsAttachmentParameters = z.object({
5599
5828
  */
5600
5829
  export const zAssetsProductParameters = z.object({
5601
5830
  type: z.enum(['serial', 'bulk']),
5602
- name: z.string(),
5831
+ name: z.string().min(1),
5603
5832
  description: z.string().nullish(),
5604
5833
  assets_category_id: z.string().nullish(),
5605
5834
  upc: z.string().nullish(),
@@ -5625,7 +5854,7 @@ export const zAssetsProductParameters = z.object({
5625
5854
  * 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.
5626
5855
  */
5627
5856
  export const zAssetsProductUpdateParameters = z.object({
5628
- name: z.string().optional(),
5857
+ name: z.string().min(1).optional(),
5629
5858
  description: z.string().nullish(),
5630
5859
  assets_category_id: z.string().nullish(),
5631
5860
  upc: z.string().nullish(),
@@ -5647,10 +5876,10 @@ export const zAssetsProductUpdateParameters = z.object({
5647
5876
  images_attributes: z.array(zAssetsAttachmentParameters).optional()
5648
5877
  });
5649
5878
  /**
5650
- * Create or update an asset item. The write API creates serial items only; assets_product_id and serial_number are set on create and ignored on update. On create you may also place the item — assets_site_id to stock it at a site, or user_id to assign it to a user (the two are mutually exclusive). performed_by_user_id is required.
5879
+ * Create an asset item. The write API creates serial items only; assets_product_id and serial_number identify the product and serial number. On create you may also place the item — assets_site_id to stock it at a site, or user_id to assign it to a user (the two are mutually exclusive). performed_by_user_id is required.
5651
5880
  */
5652
5881
  export const zAssetsItemParameters = z.object({
5653
- name: z.string(),
5882
+ name: z.string().min(1),
5654
5883
  description: z.string().optional(),
5655
5884
  assets_product_id: z.string(),
5656
5885
  serial_number: z.string(),
@@ -5666,6 +5895,26 @@ export const zAssetsItemParameters = z.object({
5666
5895
  assets_sub_location_id: z.string().optional(),
5667
5896
  performed_by_user_id: z.string()
5668
5897
  });
5898
+ /**
5899
+ * Update an asset item. All item fields are optional — send only what changes — but performed_by_user_id is required to record the updater and any placement. Omitted attributes retain their existing values.
5900
+ */
5901
+ export const zAssetsItemUpdateParameters = z.object({
5902
+ name: z.string().min(1).optional(),
5903
+ description: z.string().optional(),
5904
+ assets_product_id: z.string().optional(),
5905
+ serial_number: z.string().optional(),
5906
+ status: z.enum(['available', 'assigned']).optional(),
5907
+ purchase_date: z.iso.datetime().optional(),
5908
+ purchase_price_cents: z.int().optional(),
5909
+ external_id: z.string().optional(),
5910
+ external_system_url: z.string().optional(),
5911
+ images_attributes: z.array(zAssetsAttachmentParameters).optional(),
5912
+ assets_site_id: z.string().optional(),
5913
+ user_id: z.string().optional(),
5914
+ container_item_id: z.string().optional(),
5915
+ assets_sub_location_id: z.string().optional(),
5916
+ performed_by_user_id: z.string()
5917
+ });
5669
5918
  /**
5670
5919
  * 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.
5671
5920
  */
@@ -5694,6 +5943,14 @@ export const zAssetsDocumentParameters = z.object({
5694
5943
  filename: z.string().nullish(),
5695
5944
  description: z.string().nullish()
5696
5945
  });
5946
+ /**
5947
+ * 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.
5948
+ */
5949
+ export const zAssetsDocumentUpdateParameters = z.object({
5950
+ file: z.string().optional(),
5951
+ filename: z.string().nullish(),
5952
+ description: z.string().nullish()
5953
+ });
5697
5954
  /**
5698
5955
  * One entry in an item document's change history, recorded whenever the document is created, updated, or deleted — including when only its attached file is replaced.
5699
5956
  */
@@ -5801,6 +6058,72 @@ export const zAssetsItemFormAssignmentParameters = z.object({
5801
6058
  })).optional()
5802
6059
  })
5803
6060
  });
6061
+ /**
6062
+ * Update an item form assignment. All fields are optional — send only what changes. recurring gates the recurrence fields, and task_attributes.reminders_attributes replaces the existing reminder set when supplied.
6063
+ */
6064
+ export const zAssetsItemFormAssignmentUpdateParameters = z.object({
6065
+ form_definition_id: z.string().optional(),
6066
+ recurring: z.boolean().optional(),
6067
+ task_attributes: z.object({
6068
+ name: z.string().nullish(),
6069
+ description: z.string().nullish(),
6070
+ created_by_user_id: z.string().optional(),
6071
+ updated_by_user_id: z.string().nullish(),
6072
+ time_due: z.iso.datetime().nullish(),
6073
+ tz_name: z.string().nullish(),
6074
+ frequency: z.enum([
6075
+ 'DAILY',
6076
+ 'WORKDAILY',
6077
+ 'WORKDAILYSIX',
6078
+ 'WEEKLY',
6079
+ 'BIWEEKLY',
6080
+ 'MONTHLY',
6081
+ 'QUARTERLY'
6082
+ ]).nullish(),
6083
+ recurrence_end_time: z.iso.datetime().nullish(),
6084
+ task_assignee_user_ids: z.array(z.string()).optional(),
6085
+ reminders_attributes: z.array(z.object({
6086
+ offset: z.enum([
6087
+ 'PT0S',
6088
+ 'PT-1M',
6089
+ 'PT-5M',
6090
+ 'PT-10M',
6091
+ 'PT-15M',
6092
+ 'PT-30M',
6093
+ 'PT-1H',
6094
+ 'PT-2H',
6095
+ 'P-1D',
6096
+ 'P-2D',
6097
+ 'P-3D',
6098
+ 'P-4D',
6099
+ 'P-5D',
6100
+ 'P-6D',
6101
+ 'P-1W',
6102
+ 'P-2W',
6103
+ 'P-1M',
6104
+ 'P-2M',
6105
+ 'P-3M',
6106
+ 'P-6M',
6107
+ 'P-1Y',
6108
+ 'PT5M',
6109
+ 'PT15M',
6110
+ 'PT30M',
6111
+ 'PT1H',
6112
+ 'PT6H',
6113
+ 'PT12H',
6114
+ 'P1D',
6115
+ 'P2D',
6116
+ 'P3D',
6117
+ 'P4D',
6118
+ 'P5D',
6119
+ 'P6D',
6120
+ 'P1W',
6121
+ 'P2W',
6122
+ 'P3W'
6123
+ ])
6124
+ })).optional()
6125
+ }).optional()
6126
+ });
5804
6127
  /**
5805
6128
  * On-hand stock of an item at a site — one row per item, site, and storage location. Read-only. A site with none of the item has no row at all, since a row is removed once its count reaches zero.
5806
6129
  */
@@ -5922,6 +6245,22 @@ export const zAssetsServiceScheduleParameters = z.object({
5922
6245
  last_serviced_on: z.iso.date().nullish(),
5923
6246
  performed_by_user_id: z.string()
5924
6247
  });
6248
+ /**
6249
+ * 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.
6250
+ */
6251
+ export const zAssetsServiceScheduleUpdateParameters = z.object({
6252
+ kind: z.enum(['calibration', 'maintenance']).optional(),
6253
+ name: z.string().nullish(),
6254
+ interval_unit: z.enum([
6255
+ 'year',
6256
+ 'month',
6257
+ 'week',
6258
+ 'day'
6259
+ ]).optional(),
6260
+ interval_count: z.int().gte(1).optional(),
6261
+ last_serviced_on: z.iso.date().nullish(),
6262
+ performed_by_user_id: z.string()
6263
+ });
5925
6264
  /**
5926
6265
  * 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.
5927
6266
  */
@@ -5957,6 +6296,21 @@ export const zAssetsServiceEventParameters = z.object({
5957
6296
  performed_by_user_id: z.string(),
5958
6297
  attachments_attributes: z.array(zAssetsAttachmentParameters).optional()
5959
6298
  });
6299
+ /**
6300
+ * Update a service event. Event fields are optional — send only what changes — but performed_by_user_id is required to record the updater. A linked schedule dictates kind, and changing or removing the link recomputes affected due dates.
6301
+ */
6302
+ export const zAssetsServiceEventUpdateParameters = z.object({
6303
+ kind: z.enum([
6304
+ 'calibration',
6305
+ 'maintenance',
6306
+ 'repair'
6307
+ ]).optional(),
6308
+ notes: z.string().nullish(),
6309
+ performed_on: z.iso.date().optional(),
6310
+ assets_service_schedule_id: z.string().nullish(),
6311
+ performed_by_user_id: z.string(),
6312
+ attachments_attributes: z.array(zAssetsAttachmentParameters).optional()
6313
+ });
5960
6314
  /**
5961
6315
  * A product-level service cadence that seeds and syncs the matching schedules on that product's items. Changing its defining fields (name, kind, interval) reconciles linked item schedules in the background.
5962
6316
  */
@@ -5991,6 +6345,21 @@ export const zAssetsServiceScheduleTemplateParameters = z.object({
5991
6345
  interval_count: z.int().gte(1),
5992
6346
  performed_by_user_id: z.string()
5993
6347
  });
6348
+ /**
6349
+ * 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.
6350
+ */
6351
+ export const zAssetsServiceScheduleTemplateUpdateParameters = z.object({
6352
+ kind: z.enum(['calibration', 'maintenance']).optional(),
6353
+ name: z.string().nullish(),
6354
+ interval_unit: z.enum([
6355
+ 'year',
6356
+ 'month',
6357
+ 'week',
6358
+ 'day'
6359
+ ]).optional(),
6360
+ interval_count: z.int().gte(1).optional(),
6361
+ performed_by_user_id: z.string()
6362
+ });
5994
6363
  /**
5995
6364
  * 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.
5996
6365
  */
@@ -6029,8 +6398,8 @@ export const zAssetsSubLocationParameters = z.object({
6029
6398
  'bin',
6030
6399
  'drawer'
6031
6400
  ]).optional(),
6032
- name: z.string(),
6033
- code: z.string()
6401
+ name: z.string().min(1),
6402
+ code: z.string().min(1)
6034
6403
  });
6035
6404
  /**
6036
6405
  * Update a storage location. All fields are optional — send only what changes. The holder fields cannot change after creation; renaming code cascades new path codes through the node's subtree.
@@ -6047,8 +6416,8 @@ export const zAssetsSubLocationUpdateParameters = z.object({
6047
6416
  'bin',
6048
6417
  'drawer'
6049
6418
  ]).optional(),
6050
- name: z.string().optional(),
6051
- code: z.string().optional()
6419
+ name: z.string().min(1).optional(),
6420
+ code: z.string().min(1).optional()
6052
6421
  });
6053
6422
  /**
6054
6423
  * A completed movement of item stock between two holders, each a site, a user, or a container. Each line moves one item; applying the transfer records paired outbound and inbound transactions and updates the on-hand, custody, and containment counts. Transfers created through this API are always completed. One-sided moves (placing or removing an item with only one endpoint) record transactions but no transfer, and so are not represented by this resource.
@@ -6567,7 +6936,7 @@ export const zGetFormAssignmentTriggerPath = z.object({
6567
6936
  * Success
6568
6937
  */
6569
6938
  export const zGetFormAssignmentTriggerResponse = zAssetsFormAssignmentTriggerResponseObject;
6570
- export const zUpdateFormAssignmentTriggerBody = zAssetsFormAssignmentTriggerParameters;
6939
+ export const zUpdateFormAssignmentTriggerBody = zAssetsFormAssignmentTriggerUpdateParameters;
6571
6940
  export const zUpdateFormAssignmentTriggerPath = z.object({
6572
6941
  id: z.string()
6573
6942
  });
@@ -6636,7 +7005,7 @@ export const zGetItemPath = z.object({
6636
7005
  * Success
6637
7006
  */
6638
7007
  export const zGetItemResponse = zAssetsItemResponseObject;
6639
- export const zUpdateItemBody = zAssetsItemParameters;
7008
+ export const zUpdateItemBody = zAssetsItemUpdateParameters;
6640
7009
  export const zUpdateItemPath = z.object({
6641
7010
  id: z.string()
6642
7011
  });
@@ -6707,7 +7076,7 @@ export const zGetServiceSchedulePath = z.object({
6707
7076
  * Success
6708
7077
  */
6709
7078
  export const zGetServiceScheduleResponse = zAssetsServiceScheduleResponseObject;
6710
- export const zUpdateServiceScheduleBody = zAssetsServiceScheduleParameters;
7079
+ export const zUpdateServiceScheduleBody = zAssetsServiceScheduleUpdateParameters;
6711
7080
  export const zUpdateServiceSchedulePath = z.object({
6712
7081
  item_id: z.string(),
6713
7082
  id: z.string()
@@ -6763,7 +7132,7 @@ export const zGetServiceEventPath = z.object({
6763
7132
  * Success
6764
7133
  */
6765
7134
  export const zGetServiceEventResponse = zAssetsServiceEventFullResponseObject;
6766
- export const zUpdateServiceEventBody = zAssetsServiceEventParameters;
7135
+ export const zUpdateServiceEventBody = zAssetsServiceEventUpdateParameters;
6767
7136
  export const zUpdateServiceEventPath = z.object({
6768
7137
  item_id: z.string(),
6769
7138
  id: z.string()
@@ -6804,7 +7173,7 @@ export const zGetFormAssignmentTaskPath = z.object({
6804
7173
  * Success
6805
7174
  */
6806
7175
  export const zGetFormAssignmentTaskResponse = zAssetsItemFormAssignmentResponseObject;
6807
- export const zUpdateFormAssignmentTaskBody = zAssetsItemFormAssignmentParameters;
7176
+ export const zUpdateFormAssignmentTaskBody = zAssetsItemFormAssignmentUpdateParameters;
6808
7177
  export const zUpdateFormAssignmentTaskPath = z.object({
6809
7178
  item_id: z.string(),
6810
7179
  id: z.string()
@@ -6855,7 +7224,7 @@ export const zGetDocumentPath = z.object({
6855
7224
  * Success
6856
7225
  */
6857
7226
  export const zGetDocumentResponse = zAssetsDocumentResponseObject;
6858
- export const zUpdateDocumentBody = zAssetsDocumentParameters;
7227
+ export const zUpdateDocumentBody = zAssetsDocumentUpdateParameters;
6859
7228
  export const zUpdateDocumentPath = z.object({
6860
7229
  item_id: z.string(),
6861
7230
  id: z.string()
@@ -6999,7 +7368,7 @@ export const zGetServiceScheduleTemplatePath = z.object({
6999
7368
  * Success
7000
7369
  */
7001
7370
  export const zGetServiceScheduleTemplateResponse = zAssetsServiceScheduleTemplateResponseObject;
7002
- export const zUpdateServiceScheduleTemplateBody = zAssetsServiceScheduleTemplateParameters;
7371
+ export const zUpdateServiceScheduleTemplateBody = zAssetsServiceScheduleTemplateUpdateParameters;
7003
7372
  export const zUpdateServiceScheduleTemplatePath = z.object({
7004
7373
  product_id: z.string(),
7005
7374
  id: z.string()
@@ -7357,7 +7726,7 @@ export const zGetUserCertificationPath = z.object({
7357
7726
  * Success
7358
7727
  */
7359
7728
  export const zGetUserCertificationResponse = zUserCertificationResponseObject;
7360
- export const zUpdateUserCertificationBody = zUserCertificationParameters;
7729
+ export const zUpdateUserCertificationBody = zUserCertificationUpdateParameters;
7361
7730
  export const zUpdateUserCertificationPath = z.object({
7362
7731
  id: z.string()
7363
7732
  });
@@ -7563,7 +7932,7 @@ export const zGetCustomFieldConfigPath = z.object({
7563
7932
  * Success
7564
7933
  */
7565
7934
  export const zGetCustomFieldConfigResponse = zCustomFieldConfigsResponseObject;
7566
- export const zUpdateCustomFieldConfigBody = zCustomFieldConfigParameters;
7935
+ export const zUpdateCustomFieldConfigBody = zCustomFieldConfigUpdateParameters;
7567
7936
  export const zUpdateCustomFieldConfigPath = z.object({
7568
7937
  id: z.string()
7569
7938
  });
@@ -7756,7 +8125,7 @@ export const zGetJobScopePricePath = z.object({
7756
8125
  * Success
7757
8126
  */
7758
8127
  export const zGetJobScopePriceResponse = zProductionJobScopePriceResponseObject;
7759
- export const zUpdateJobScopePriceBody = zProductionJobScopePriceParameters;
8128
+ export const zUpdateJobScopePriceBody = zProductionJobScopePriceUpdateParameters;
7760
8129
  export const zUpdateJobScopePricePath = z.object({
7761
8130
  job_id: z.string(),
7762
8131
  id: z.string()
@@ -7997,7 +8366,7 @@ export const zListJobsResponse = z.object({
7997
8366
  /**
7998
8367
  * Create a job
7999
8368
  */
8000
- export const zCreateJobBody = zJobParameters;
8369
+ export const zCreateJobBody = zJobCreateParameters;
8001
8370
  /**
8002
8371
  * Created
8003
8372
  */
@@ -8209,6 +8578,202 @@ export const zUpdateOvertimeRulePath = z.object({
8209
8578
  * Success
8210
8579
  */
8211
8580
  export const zUpdateOvertimeRuleResponse = zOvertimeRuleResponseObject;
8581
+ export const zShiftPayRateRuleGenesisBody = zPayRatesRuleGenesisParameters;
8582
+ export const zShiftPayRateRuleGenesisHeaders = z.object({
8583
+ 'If-Match': z.string()
8584
+ });
8585
+ export const zShiftPayRateRuleGenesisPath = z.object({
8586
+ rule_package_id: z.string(),
8587
+ rule_id: z.string()
8588
+ });
8589
+ /**
8590
+ * Success
8591
+ */
8592
+ export const zShiftPayRateRuleGenesisResponse = zPayRatesRuleResponseObject;
8593
+ export const zListPayRateRuleHistoryPath = z.object({
8594
+ rule_package_id: z.string(),
8595
+ rule_id: z.string()
8596
+ });
8597
+ export const zListPayRateRuleHistoryQuery = z.object({
8598
+ 'as_of[valid]': z.string().optional(),
8599
+ 'as_of[transaction]': z.string().optional(),
8600
+ 'page[cursor]': z.string().optional(),
8601
+ 'page[limit]': z.int().gte(1).optional().default(20),
8602
+ page: z.string().optional()
8603
+ });
8604
+ /**
8605
+ * Success
8606
+ */
8607
+ export const zListPayRateRuleHistoryResponse = z.object({
8608
+ meta: zMeta,
8609
+ links: zLinks,
8610
+ data: z.array(zPayRatesRuleHistoryVersionObject)
8611
+ });
8612
+ export const zCancelPayRateRuleScheduledChangesHeaders = z.object({
8613
+ 'If-Match': z.string()
8614
+ });
8615
+ export const zCancelPayRateRuleScheduledChangesPath = z.object({
8616
+ rule_package_id: z.string(),
8617
+ rule_id: z.string()
8618
+ });
8619
+ /**
8620
+ * Success
8621
+ */
8622
+ export const zCancelPayRateRuleScheduledChangesResponse = zPayRatesRuleResponseObject;
8623
+ export const zListPayRateRuleScheduledChangesPath = z.object({
8624
+ rule_package_id: z.string(),
8625
+ rule_id: z.string()
8626
+ });
8627
+ export const zListPayRateRuleScheduledChangesQuery = z.object({
8628
+ 'as_of[valid]': z.string().optional(),
8629
+ 'as_of[transaction]': z.string().optional(),
8630
+ 'page[cursor]': z.string().optional(),
8631
+ 'page[limit]': z.int().gte(1).optional().default(20),
8632
+ page: z.string().optional()
8633
+ });
8634
+ /**
8635
+ * Success
8636
+ */
8637
+ export const zListPayRateRuleScheduledChangesResponse = z.object({
8638
+ meta: zMeta,
8639
+ links: zLinks,
8640
+ data: z.array(zPayRatesRuleHistoryVersionObject)
8641
+ });
8642
+ export const zSchedulePayRateRuleChangeBody = zPayRatesRuleScheduledChangeParameters;
8643
+ export const zSchedulePayRateRuleChangeHeaders = z.object({
8644
+ 'If-Match': z.string()
8645
+ });
8646
+ export const zSchedulePayRateRuleChangePath = z.object({
8647
+ rule_package_id: z.string(),
8648
+ rule_id: z.string()
8649
+ });
8650
+ /**
8651
+ * Success without a new segment
8652
+ */
8653
+ export const zSchedulePayRateRuleChangeResponse = zPayRatesRuleResponseObject;
8654
+ export const zCancelPayRateRuleScheduledTerminationHeaders = z.object({
8655
+ 'If-Match': z.string()
8656
+ });
8657
+ export const zCancelPayRateRuleScheduledTerminationPath = z.object({
8658
+ rule_package_id: z.string(),
8659
+ rule_id: z.string()
8660
+ });
8661
+ /**
8662
+ * Success
8663
+ */
8664
+ export const zCancelPayRateRuleScheduledTerminationResponse = zPayRatesRuleResponseObject;
8665
+ export const zSchedulePayRateRuleTerminationBody = zPayRatesRuleScheduledTerminationParameters;
8666
+ export const zSchedulePayRateRuleTerminationHeaders = z.object({
8667
+ 'If-Match': z.string()
8668
+ });
8669
+ export const zSchedulePayRateRuleTerminationPath = z.object({
8670
+ rule_package_id: z.string(),
8671
+ rule_id: z.string()
8672
+ });
8673
+ /**
8674
+ * Created
8675
+ */
8676
+ export const zSchedulePayRateRuleTerminationResponse = zPayRatesRuleResponseObject;
8677
+ export const zListPayRateRulesPath = z.object({
8678
+ rule_package_id: z.string()
8679
+ });
8680
+ export const zListPayRateRulesQuery = z.object({
8681
+ 'as_of[valid]': z.iso.datetime().optional(),
8682
+ as_of: z.string().optional(),
8683
+ 'as_of[bogus_axis]': z.string().optional(),
8684
+ 'as_of[valid][gte]': z.string().optional(),
8685
+ 'as_of[transaction]': z.string().optional(),
8686
+ filter: z.string().optional(),
8687
+ 'filter[unexpected]': z.string().optional(),
8688
+ 'page[cursor]': z.string().optional(),
8689
+ 'page[limit]': z.int().gte(1).optional().default(20),
8690
+ page: z.string().optional()
8691
+ });
8692
+ /**
8693
+ * Success
8694
+ */
8695
+ export const zListPayRateRulesResponse = z.object({
8696
+ meta: zMeta,
8697
+ links: zLinks,
8698
+ data: z.array(zPayRatesRuleResponseObject)
8699
+ });
8700
+ export const zCreatePayRateRuleBody = zPayRatesRuleParameters;
8701
+ export const zCreatePayRateRulePath = z.object({
8702
+ rule_package_id: z.string()
8703
+ });
8704
+ /**
8705
+ * Created
8706
+ */
8707
+ export const zCreatePayRateRuleResponse = zPayRatesRuleResponseObject;
8708
+ export const zDeletePayRateRuleHeaders = z.object({
8709
+ 'If-Match': z.string()
8710
+ });
8711
+ export const zDeletePayRateRulePath = z.object({
8712
+ rule_package_id: z.string(),
8713
+ id: z.string()
8714
+ });
8715
+ /**
8716
+ * Success
8717
+ */
8718
+ export const zDeletePayRateRuleResponse = zPayRatesRuleResponseObject;
8719
+ export const zGetPayRateRulePath = z.object({
8720
+ rule_package_id: z.string(),
8721
+ id: z.string()
8722
+ });
8723
+ export const zGetPayRateRuleQuery = z.object({
8724
+ 'as_of[valid]': z.iso.datetime().optional()
8725
+ });
8726
+ /**
8727
+ * Success
8728
+ */
8729
+ export const zGetPayRateRuleResponse = zPayRatesRuleResponseObject;
8730
+ export const zUpdatePayRateRuleBody = zPayRatesRuleUpdateParameters;
8731
+ export const zUpdatePayRateRuleHeaders = z.object({
8732
+ 'If-Match': z.string()
8733
+ });
8734
+ export const zUpdatePayRateRulePath = z.object({
8735
+ rule_package_id: z.string(),
8736
+ id: z.string()
8737
+ });
8738
+ /**
8739
+ * Success
8740
+ */
8741
+ export const zUpdatePayRateRuleResponse = zPayRatesRuleResponseObject;
8742
+ export const zListPayRateRulePackagesQuery = z.object({
8743
+ 'filter[scoped_to_job_id]': z.string().optional(),
8744
+ 'filter[scoped_to_job_id][null]': z.boolean().optional(),
8745
+ 'filter[default]': z.boolean().optional(),
8746
+ 'filter[selectable]': z.boolean().optional(),
8747
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
8748
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
8749
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
8750
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
8751
+ filter: z.string().optional(),
8752
+ 'filter[unexpected]': z.string().optional(),
8753
+ 'page[cursor]': z.string().optional(),
8754
+ 'page[limit]': z.int().gte(1).optional().default(20),
8755
+ page: z.string().optional()
8756
+ });
8757
+ /**
8758
+ * Success
8759
+ */
8760
+ export const zListPayRateRulePackagesResponse = z.object({
8761
+ meta: zMeta,
8762
+ links: zLinks,
8763
+ data: z.array(zPayRatesRulePackageResponseObject)
8764
+ });
8765
+ export const zCreatePayRateRulePackageBody = zPayRatesRulePackageParameters;
8766
+ /**
8767
+ * Created
8768
+ */
8769
+ export const zCreatePayRateRulePackageResponse = zPayRatesRulePackageResponseObject;
8770
+ export const zGetPayRateRulePackagePath = z.object({
8771
+ id: z.string()
8772
+ });
8773
+ /**
8774
+ * Success
8775
+ */
8776
+ export const zGetPayRateRulePackageResponse = zPayRatesRulePackageResponseObject;
8212
8777
  export const zListAggregateTimeImportsPath = z.object({
8213
8778
  pay_period_id: z.string()
8214
8779
  });
@@ -8884,7 +9449,7 @@ export const zGetProjectPath = z.object({
8884
9449
  * Success
8885
9450
  */
8886
9451
  export const zGetProjectResponse = zProjectResponseObject;
8887
- export const zUpdateProjectBody = zProjectParameters;
9452
+ export const zUpdateProjectBody = zProjectUpdateParameters;
8888
9453
  export const zUpdateProjectPath = z.object({
8889
9454
  id: z.string()
8890
9455
  });