@dsptch-work/api-client 0.38.0 → 0.40.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.
@@ -262,7 +262,7 @@ export const zProblem = z.object({
262
262
  *
263
263
  * **Unparseable Date Value**
264
264
  *
265
- * A date-time value cannot be parsed, falls outside the storable range, or has no UTC offset where one is required. Format values as ISO 8601 (for example `2026-08-05` or `2026-08-05T14:30`); a time entry's `start_time` and `end_time`, a timestamp filter bound, and an `as_of[]` coordinate need an offset (for example `2026-08-05T14:30:00-04:00` or `2026-08-05T18:30:00Z`).
265
+ * A date or date-time value cannot be parsed, names a day that does not exist, falls outside the storable range, or has no UTC offset where one is required. Send a day as `2026-08-05` and an instant with its offset (`2026-08-05T14:30:00-04:00` or `2026-08-05T18:30:00Z`). The times of time entries and apprenticeship allocations, a compliance check's due time, a timecode correction's bounds, timestamp filter bounds, and `as_of[]` coordinates need the offset; a time sent without one is refused with the value to send.
266
266
  *
267
267
  * ### invalid_filter_value
268
268
  *
@@ -446,6 +446,7 @@ 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',
@@ -930,7 +931,7 @@ export const zApprenticeshipAllocationCreateParameters = z.object({
930
931
  apprenticeship_work_process_category_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
931
932
  minutes: z.int(),
932
933
  description: z.string().nullish(),
933
- allocated_at: z.string().optional()
934
+ allocated_at: z.iso.datetime().optional()
934
935
  });
935
936
  /**
936
937
  * Correct an existing allocation's hours, work process category, description, or (for a standalone allocation) effective timestamp. The time card an allocation is linked to cannot be changed after creation. Any change that shifts progression rebuilds it and requests historical wage repricing in the background, including locked time cards.
@@ -939,7 +940,7 @@ export const zApprenticeshipAllocationUpdateParameters = z.object({
939
940
  apprenticeship_work_process_category_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
940
941
  minutes: z.int().optional(),
941
942
  description: z.string().nullish(),
942
- allocated_at: z.string().optional()
943
+ allocated_at: z.iso.datetime().optional()
943
944
  });
944
945
  /**
945
946
  * Enroll a user as an apprentice under an employer in a program; the employing program-employer record is derived from the enrolling company and the program in the URL path. Apprentices cannot be updated through the API, only created. Omitting a required field answers 400; a null for a non-nullable field, a blank ID, a wrong JSON type, an unlisted status, or a date that is not a YYYY-MM-DD calendar date answers 422.
@@ -1095,7 +1096,7 @@ export const zApprenticeshipWageScheduleParameters = z.object({
1095
1096
  journeyworker_fringe_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
1096
1097
  end_wage_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
1097
1098
  periods_attributes: z.array(z.object({
1098
- id: z.string().optional(),
1099
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1099
1100
  period_number: z.int().gte(0).optional(),
1100
1101
  min_minutes: z.int().gte(0).nullish(),
1101
1102
  max_minutes: z.int().gte(0).nullish(),
@@ -1142,7 +1143,7 @@ export const zApprenticeshipWageScheduleUpdateParameters = z.object({
1142
1143
  journeyworker_fringe_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
1143
1144
  end_wage_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
1144
1145
  periods_attributes: z.array(z.object({
1145
- id: z.string().optional(),
1146
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1146
1147
  period_number: z.int().gte(0).optional(),
1147
1148
  min_minutes: z.int().gte(0).nullish(),
1148
1149
  max_minutes: z.int().gte(0).nullish(),
@@ -1554,7 +1555,7 @@ export const zAssetsProductParameters = z.object({
1554
1555
  assets_attribute_option_id: z.string().nullish()
1555
1556
  })).optional(),
1556
1557
  images_attributes: z.array(z.object({
1557
- id: z.string().optional(),
1558
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1558
1559
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1559
1560
  _destroy: z.boolean().optional()
1560
1561
  })).optional(),
@@ -1585,7 +1586,7 @@ export const zAssetsProductUpdateParameters = z.object({
1585
1586
  assets_attribute_option_id: z.string().nullish()
1586
1587
  })).optional(),
1587
1588
  images_attributes: z.array(z.object({
1588
- id: z.string().optional(),
1589
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1589
1590
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1590
1591
  _destroy: z.boolean().optional()
1591
1592
  })).optional()
@@ -1678,7 +1679,7 @@ export const zAssetsAttributeParameters = z.object({
1678
1679
  'select'
1679
1680
  ]),
1680
1681
  options: z.array(z.object({
1681
- id: z.string().optional(),
1682
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1682
1683
  value: z.string().optional(),
1683
1684
  position: z.int().optional(),
1684
1685
  _destroy: z.boolean().optional()
@@ -1697,7 +1698,7 @@ export const zAssetsAttributeUpdateParameters = z.object({
1697
1698
  'select'
1698
1699
  ]).optional(),
1699
1700
  options: z.array(z.object({
1700
- id: z.string().optional(),
1701
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1701
1702
  value: z.string().optional(),
1702
1703
  position: z.int().optional(),
1703
1704
  _destroy: z.boolean().optional()
@@ -1729,7 +1730,7 @@ export const zAssetsCategoryParameters = z.object({
1729
1730
  name: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
1730
1731
  parent_id: z.string().nullish(),
1731
1732
  category_attributes: z.array(z.object({
1732
- id: z.string().optional(),
1733
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1733
1734
  assets_attribute_id: z.string().optional(),
1734
1735
  fillable_on: z.enum(['product', 'item']).optional(),
1735
1736
  required: z.boolean().optional(),
@@ -1744,7 +1745,7 @@ export const zAssetsCategoryUpdateParameters = z.object({
1744
1745
  name: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1745
1746
  parent_id: z.string().nullish(),
1746
1747
  category_attributes: z.array(z.object({
1747
- id: z.string().optional(),
1748
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
1748
1749
  assets_attribute_id: z.string().optional(),
1749
1750
  fillable_on: z.enum(['product', 'item']).optional(),
1750
1751
  required: z.boolean().optional(),
@@ -1786,8 +1787,8 @@ export const zTimeCardPerDiemResponseObject = z.object({
1786
1787
  date: z.iso.date(),
1787
1788
  approver_user_id: z.string(),
1788
1789
  per_diem_id: z.string().nullable(),
1789
- per_diem_rate_cents: z.string().nullable(),
1790
- per_diem_currency: z.string().nullable(),
1790
+ per_diem_rate_cents: z.string().nullish(),
1791
+ per_diem_currency: z.string().nullish(),
1791
1792
  taxable: z.boolean(),
1792
1793
  created_at: z.iso.datetime(),
1793
1794
  updated_at: z.iso.datetime()
@@ -2036,6 +2037,140 @@ export const zHolidayUpdateParameters = z.object({
2036
2037
  banking: z.boolean().optional(),
2037
2038
  count_hours_for_overtime: z.boolean().optional()
2038
2039
  });
2040
+ /**
2041
+ * 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.
2042
+ */
2043
+ export const zPwaCompanyDetailsResponseObject = z.object({
2044
+ id: z.string(),
2045
+ company_id: z.string(),
2046
+ pwcr_number: z.string().nullable(),
2047
+ federal_tax_number: z.string().nullable(),
2048
+ duns_number: z.string().nullable(),
2049
+ contractor_license_number: z.string().nullable(),
2050
+ company_phone: z.string().nullable(),
2051
+ contractor_license_name: z.string().nullable(),
2052
+ dir_contractor_license_type: z.enum([
2053
+ 'CSLB',
2054
+ 'PL',
2055
+ 'OTHER'
2056
+ ]).nullable(),
2057
+ dir_worker_compensation_policy_number: z.string().nullable(),
2058
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullable(),
2059
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullable(),
2060
+ union_status: z.enum([
2061
+ 'FULL_UNION',
2062
+ 'NOT_UNION',
2063
+ 'MIXED'
2064
+ ]).nullable(),
2065
+ ownership_ethnicity: z.enum([
2066
+ 'AFRICAN_AMERICAN',
2067
+ 'ASIAN',
2068
+ 'CAUCASIAN',
2069
+ 'HISPANIC',
2070
+ 'NATIVE_AMERICAN',
2071
+ 'NOT_SPECIFIED',
2072
+ 'OTHER'
2073
+ ]).nullable(),
2074
+ standard_hours_per_day: z.string().nullable(),
2075
+ standard_hours_per_week: z.string().nullable(),
2076
+ contact_name: z.string().nullable(),
2077
+ contact_title: z.string().nullable(),
2078
+ contact_phone: z.string().nullable(),
2079
+ contact_email: z.string().nullable(),
2080
+ contact_address1: z.string().nullable(),
2081
+ contact_address2: z.string().nullable(),
2082
+ contact_city: z.string().nullable(),
2083
+ contact_state: z.string().nullable(),
2084
+ contact_zip: z.string().nullable()
2085
+ });
2086
+ /**
2087
+ * 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.
2088
+ */
2089
+ export const zPwaCompanyDetailsParameters = z.object({
2090
+ pwcr_number: z.string().nullish(),
2091
+ federal_tax_number: z.string().nullish(),
2092
+ duns_number: z.string().nullish(),
2093
+ contractor_license_number: z.string().nullish(),
2094
+ company_phone: z.string().nullish(),
2095
+ contractor_license_name: z.string().nullish(),
2096
+ dir_contractor_license_type: z.enum([
2097
+ 'CSLB',
2098
+ 'PL',
2099
+ 'OTHER'
2100
+ ]).nullish(),
2101
+ dir_worker_compensation_policy_number: z.string().nullish(),
2102
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
2103
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullish(),
2104
+ union_status: z.enum([
2105
+ 'FULL_UNION',
2106
+ 'NOT_UNION',
2107
+ 'MIXED'
2108
+ ]).nullish(),
2109
+ ownership_ethnicity: z.enum([
2110
+ 'AFRICAN_AMERICAN',
2111
+ 'ASIAN',
2112
+ 'CAUCASIAN',
2113
+ 'HISPANIC',
2114
+ 'NATIVE_AMERICAN',
2115
+ 'NOT_SPECIFIED',
2116
+ 'OTHER'
2117
+ ]).nullish(),
2118
+ standard_hours_per_day: z.string().nullish(),
2119
+ standard_hours_per_week: z.string().nullish(),
2120
+ contact_name: z.string().nullish(),
2121
+ contact_title: z.string().nullish(),
2122
+ contact_phone: z.string().nullish(),
2123
+ contact_email: z.string().nullish(),
2124
+ contact_address1: z.string().nullish(),
2125
+ contact_address2: z.string().nullish(),
2126
+ contact_city: z.string().nullish(),
2127
+ contact_state: z.string().nullish(),
2128
+ contact_zip: z.string().nullish()
2129
+ });
2130
+ /**
2131
+ * 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.
2132
+ */
2133
+ export const zPwaCompanyDetailsUpdateParameters = z.object({
2134
+ pwcr_number: z.string().nullish(),
2135
+ federal_tax_number: z.string().nullish(),
2136
+ duns_number: z.string().nullish(),
2137
+ contractor_license_number: z.string().nullish(),
2138
+ company_phone: z.string().nullish(),
2139
+ contractor_license_name: z.string().nullish(),
2140
+ dir_contractor_license_type: z.enum([
2141
+ 'CSLB',
2142
+ 'PL',
2143
+ 'OTHER'
2144
+ ]).nullish(),
2145
+ dir_worker_compensation_policy_number: z.string().nullish(),
2146
+ dir_fund_admin_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
2147
+ dir_fund_admin_basis: z.enum(['PER_HOUR', 'PER_WEEK_FLAT']).nullish(),
2148
+ union_status: z.enum([
2149
+ 'FULL_UNION',
2150
+ 'NOT_UNION',
2151
+ 'MIXED'
2152
+ ]).nullish(),
2153
+ ownership_ethnicity: z.enum([
2154
+ 'AFRICAN_AMERICAN',
2155
+ 'ASIAN',
2156
+ 'CAUCASIAN',
2157
+ 'HISPANIC',
2158
+ 'NATIVE_AMERICAN',
2159
+ 'NOT_SPECIFIED',
2160
+ 'OTHER'
2161
+ ]).nullish(),
2162
+ standard_hours_per_day: z.string().nullish(),
2163
+ standard_hours_per_week: z.string().nullish(),
2164
+ contact_name: z.string().nullish(),
2165
+ contact_title: z.string().nullish(),
2166
+ contact_phone: z.string().nullish(),
2167
+ contact_email: z.string().nullish(),
2168
+ contact_address1: z.string().nullish(),
2169
+ contact_address2: z.string().nullish(),
2170
+ contact_city: z.string().nullish(),
2171
+ contact_state: z.string().nullish(),
2172
+ contact_zip: z.string().nullish()
2173
+ });
2039
2174
  /**
2040
2175
  * 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
2176
  */
@@ -2416,8 +2551,8 @@ export const zJobCreateParameters = z.object({
2416
2551
  'none'
2417
2552
  ]).optional(),
2418
2553
  region: z.string().nullish(),
2419
- start_time: z.string().nullish(),
2420
- end_time: z.string().nullish(),
2554
+ start_time: z.iso.date().nullish(),
2555
+ end_time: z.iso.date().nullish(),
2421
2556
  tz_name: z.string().optional(),
2422
2557
  time_card_start_day: z.int().gte(0).lte(6).optional(),
2423
2558
  clock_in_requirement: z.enum([
@@ -2501,8 +2636,8 @@ export const zJobUpdateParameters = z.object({
2501
2636
  'none'
2502
2637
  ]).optional(),
2503
2638
  region: z.string().nullish(),
2504
- start_time: z.string().nullish(),
2505
- end_time: z.string().nullish(),
2639
+ start_time: z.iso.date().nullish(),
2640
+ end_time: z.iso.date().nullish(),
2506
2641
  tz_name: z.string().optional(),
2507
2642
  time_card_start_day: z.int().gte(0).lte(6).optional(),
2508
2643
  clock_in_requirement: z.enum([
@@ -2637,7 +2772,7 @@ export const zUserParameters = z.object({
2637
2772
  last_sent_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
2638
2773
  skip_notify: z.boolean().optional(),
2639
2774
  skip_invite: z.boolean().optional(),
2640
- hire_date: z.string().optional(),
2775
+ hire_date: z.iso.date().optional(),
2641
2776
  type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
2642
2777
  title: z.string().nullish(),
2643
2778
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
@@ -2863,7 +2998,7 @@ export const zFormDefinitionObject = z.object({
2863
2998
  created_at: z.iso.datetime()
2864
2999
  });
2865
3000
  /**
2866
- * A single form submission — a user's completed SurveyJS form with the resolved answers (the fuller show representation). Read-only; submissions are created in the app.
3001
+ * A single form submission with resolved answers, returned by both show and create.
2867
3002
  */
2868
3003
  export const zFormSubmissionResponseObject = z.object({
2869
3004
  id: z.string(),
@@ -2880,6 +3015,15 @@ export const zFormSubmissionResponseObject = z.object({
2880
3015
  created_at: z.iso.datetime(),
2881
3016
  updated_at: z.iso.datetime()
2882
3017
  });
3018
+ /**
3019
+ * Create a submission using supported keys from the form definition's submission_shape. Requires a user-scoped API key.
3020
+ */
3021
+ export const zFormSubmissionCreateParameters = z.object({
3022
+ form_definition_id: z.string(),
3023
+ user_id: z.string(),
3024
+ json: z.record(z.string(), z.unknown()),
3025
+ timezone: z.string().optional()
3026
+ });
2883
3027
  /**
2884
3028
  * 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.
2885
3029
  */
@@ -2889,7 +3033,7 @@ export const zUserCompanyParameters = z.object({
2889
3033
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
2890
3034
  payroll_id: z.string().nullish(),
2891
3035
  enrolled_in_t_and_a: z.boolean().optional(),
2892
- hire_date: z.string().nullish(),
3036
+ hire_date: z.iso.date().nullish(),
2893
3037
  custom_fields: z.array(z.object({
2894
3038
  custom_field_config_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
2895
3039
  value: z.string().nullable()
@@ -2899,7 +3043,7 @@ export const zUserCompanyParameters = z.object({
2899
3043
  * 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.
2900
3044
  */
2901
3045
  export const zUserCompanyCreateParameters = z.object({
2902
- hire_date: z.string(),
3046
+ hire_date: z.iso.date(),
2903
3047
  type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
2904
3048
  title: z.string().nullish(),
2905
3049
  manager_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
@@ -3389,10 +3533,10 @@ export const zTimeCardResponseObject = z.object({
3389
3533
  1.5: z.number(),
3390
3534
  2: z.number()
3391
3535
  }),
3392
- pay_cents: z.string(),
3393
- base_wage_pay_cents: z.string(),
3394
- one_five_x_adder_cents: z.string(),
3395
- two_x_adder_cents: z.string(),
3536
+ pay_cents: z.string().optional(),
3537
+ base_wage_pay_cents: z.string().optional(),
3538
+ one_five_x_adder_cents: z.string().optional(),
3539
+ two_x_adder_cents: z.string().optional(),
3396
3540
  region_ids: z.array(z.string())
3397
3541
  });
3398
3542
  /**
@@ -3425,10 +3569,10 @@ export const zJobTimeCardDayResponseObject = z.object({
3425
3569
  1.5: z.number(),
3426
3570
  2: z.number()
3427
3571
  }),
3428
- pay_cents: z.string(),
3429
- base_wage_pay_cents: z.string(),
3430
- one_five_x_adder_cents: z.string(),
3431
- two_x_adder_cents: z.string(),
3572
+ pay_cents: z.string().optional(),
3573
+ base_wage_pay_cents: z.string().optional(),
3574
+ one_five_x_adder_cents: z.string().optional(),
3575
+ two_x_adder_cents: z.string().optional(),
3432
3576
  region_ids: z.array(z.string()),
3433
3577
  cumulative_minutes_worked: z.int(),
3434
3578
  weekly_cumulative_minutes_worked: z.int(),
@@ -3470,14 +3614,14 @@ export const zJobTimeCardDayResponseObject = z.object({
3470
3614
  1.5: z.number(),
3471
3615
  2: z.number()
3472
3616
  }),
3473
- cumulative_pay_cents: z.string(),
3474
- weekly_cumulative_pay_cents: z.string(),
3475
- cumulative_base_wage_pay_cents: z.string(),
3476
- weekly_cumulative_base_wage_pay_cents: z.string(),
3477
- cumulative_one_five_x_adder_cents: z.string(),
3478
- weekly_cumulative_one_five_x_adder_cents: z.string(),
3479
- cumulative_two_x_adder_cents: z.string(),
3480
- weekly_cumulative_two_x_adder_cents: z.string(),
3617
+ cumulative_pay_cents: z.string().optional(),
3618
+ weekly_cumulative_pay_cents: z.string().optional(),
3619
+ cumulative_base_wage_pay_cents: z.string().optional(),
3620
+ weekly_cumulative_base_wage_pay_cents: z.string().optional(),
3621
+ cumulative_one_five_x_adder_cents: z.string().optional(),
3622
+ weekly_cumulative_one_five_x_adder_cents: z.string().optional(),
3623
+ cumulative_two_x_adder_cents: z.string().optional(),
3624
+ weekly_cumulative_two_x_adder_cents: z.string().optional(),
3481
3625
  cumulative_region_ids: z.array(z.string()),
3482
3626
  weekly_cumulative_region_ids: z.array(z.string()),
3483
3627
  created_at: z.iso.datetime(),
@@ -3865,6 +4009,10 @@ export const zProjectResponseObject = z.object({
3865
4009
  created_by_user_id: z.string().nullable(),
3866
4010
  parent_id: z.string().nullable(),
3867
4011
  participating_company_ids: z.array(z.string()),
4012
+ manager_users: z.array(z.object({
4013
+ id: z.string(),
4014
+ name: z.string()
4015
+ })),
3868
4016
  federal_pwa_mode: z.enum([
3869
4017
  'all',
3870
4018
  'pw_only',
@@ -3901,6 +4049,7 @@ export const zProjectParameters = z.object({
3901
4049
  description: z.string().nullish(),
3902
4050
  parent_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
3903
4051
  participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4052
+ manager_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3904
4053
  start_date: z.iso.date().nullish(),
3905
4054
  end_date: z.iso.date().nullish(),
3906
4055
  tz_name: z.string().nullish(),
@@ -3937,6 +4086,7 @@ export const zProjectUpdateParameters = z.object({
3937
4086
  description: z.string().nullish(),
3938
4087
  parent_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
3939
4088
  participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4089
+ manager_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3940
4090
  start_date: z.iso.date().nullish(),
3941
4091
  end_date: z.iso.date().nullish(),
3942
4092
  tz_name: z.string().nullish(),
@@ -4392,7 +4542,7 @@ export const zComplianceCheckDetailResponseObject = z.object({
4392
4542
  */
4393
4543
  export const zComplianceCheckParameters = z.object({
4394
4544
  status: z.enum(['dismissed', 'pending']).optional(),
4395
- time_due: z.iso.date().nullish(),
4545
+ time_due: z.iso.datetime().nullish(),
4396
4546
  assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4397
4547
  file_signed_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
4398
4548
  });
@@ -4438,6 +4588,11 @@ export const zTodoInboxTodoResponseObject = z.object({
4438
4588
  'timekeeping',
4439
4589
  'worker'
4440
4590
  ]),
4591
+ approval_status: z.enum([
4592
+ 'pending',
4593
+ 'approved',
4594
+ 'rejected'
4595
+ ]).nullable(),
4441
4596
  task_assignee_user_ids: z.array(z.string()),
4442
4597
  description: zRichTextObject,
4443
4598
  time_due: z.iso.datetime().nullable(),
@@ -5689,8 +5844,8 @@ export const zJobResponseObject = z.object({
5689
5844
  created_at: z.iso.datetime(),
5690
5845
  updated_at: z.iso.datetime(),
5691
5846
  status: z.string(),
5692
- start_time: z.string().nullable(),
5693
- end_time: z.string().nullable(),
5847
+ start_time: z.iso.date().nullable(),
5848
+ end_time: z.iso.date().nullable(),
5694
5849
  purchase_order_number: z.string().nullable(),
5695
5850
  time_card_start_day: zTimeCardStartDay,
5696
5851
  tz_name: z.string(),
@@ -5988,7 +6143,7 @@ export const zFormDefinitionResponseObject = z.object({
5988
6143
  data: z.array(zFormDefinitionObject)
5989
6144
  });
5990
6145
  /**
5991
- * A page of form submissions — the lighter list representation. A submission is a user's completed form; submissions are created in the app, so this API is read-only.
6146
+ * A page of form submissions — the lighter list representation. A submission is a user's completed form, created in the app or through the API.
5992
6147
  */
5993
6148
  export const zFormSubmissionIndexObject = z.object({
5994
6149
  meta: zMeta,
@@ -6369,7 +6524,7 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
6369
6524
  /**
6370
6525
  * State-specific rate fields recorded on a Regional determination, as decimal-string money in
6371
6526
  * cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
6372
- * a region-determined subset of the nine keys the write side accepts — never a fixed shape:
6527
+ * a region-determined subset of these keys — never a fixed shape:
6373
6528
  *
6374
6529
  * - Categorized-fringe regions (currently IL) carry `combined_health_fringe_rate_cents`,
6375
6530
  * `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
@@ -6379,7 +6534,9 @@ export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
6379
6534
  * `two_x_fringe_adder_rate_cents`.
6380
6535
  * - A region with neither returns an empty object.
6381
6536
  *
6382
- * Categorized-fringe values are non-null when present; overtime-adder values may be null.
6537
+ * Categorized-fringe values are non-null when present; legacy overtime-adder values may be null.
6538
+ * The overtime-adder fields are read-only. Configure new overtime premiums through the
6539
+ * determination's rate rules.
6383
6540
  *
6384
6541
  */
6385
6542
  export const zRegionalWageDeterminationFieldsResponse = z.record(z.string(), z.string().nullable());
@@ -6528,11 +6685,7 @@ export const zRegionalJobWageDeterminationParameters = z.object({
6528
6685
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6529
6686
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6530
6687
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6531
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6532
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6533
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6534
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6535
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6688
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6536
6689
  }).optional(),
6537
6690
  overtime_package_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
6538
6691
  });
@@ -6566,11 +6719,7 @@ export const zJobWageDeterminationUpdateParameters = z.object({
6566
6719
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6567
6720
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6568
6721
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6569
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6570
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6571
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6572
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6573
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6722
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6574
6723
  }).optional()
6575
6724
  });
6576
6725
  /**
@@ -6594,11 +6743,7 @@ export const zJobWageDeterminationScheduledChangeParameters = z.object({
6594
6743
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6595
6744
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6596
6745
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6597
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6598
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6599
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6600
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6601
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6746
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6602
6747
  }).optional()
6603
6748
  });
6604
6749
  /**
@@ -6807,11 +6952,7 @@ export const zRegionalProjectWageDeterminationParameters = z.object({
6807
6952
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6808
6953
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6809
6954
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6810
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6811
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6812
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6813
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6814
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6955
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6815
6956
  }).optional(),
6816
6957
  overtime_package_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
6817
6958
  });
@@ -6845,11 +6986,7 @@ export const zProjectWageDeterminationUpdateParameters = z.object({
6845
6986
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6846
6987
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6847
6988
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6848
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6849
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6850
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6851
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6852
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6989
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6853
6990
  }).optional()
6854
6991
  });
6855
6992
  /**
@@ -6873,11 +7010,7 @@ export const zProjectWageDeterminationScheduledChangeParameters = z.object({
6873
7010
  combined_savings_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6874
7011
  combined_holiday_pto_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6875
7012
  training_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6876
- other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6877
- one_five_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6878
- two_x_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6879
- one_five_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish(),
6880
- two_x_fringe_adder_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
7013
+ other_fringe_rate_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).nullish()
6881
7014
  }).optional()
6882
7015
  });
6883
7016
  /**
@@ -7354,7 +7487,7 @@ export const zAssetsItemParameters = z.object({
7354
7487
  assets_attribute_option_id: z.string().nullish()
7355
7488
  })).optional(),
7356
7489
  images_attributes: z.array(z.object({
7357
- id: z.string().optional(),
7490
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
7358
7491
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
7359
7492
  _destroy: z.boolean().optional()
7360
7493
  })).optional(),
@@ -7383,7 +7516,7 @@ export const zAssetsItemUpdateParameters = z.object({
7383
7516
  assets_attribute_option_id: z.string().nullish()
7384
7517
  })).optional(),
7385
7518
  images_attributes: z.array(z.object({
7386
- id: z.string().optional(),
7519
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
7387
7520
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
7388
7521
  _destroy: z.boolean().optional()
7389
7522
  })).optional(),
@@ -7598,7 +7731,7 @@ export const zAssetsItemResponseObject = z.object({
7598
7731
  type: z.enum(['serial', 'bulk']),
7599
7732
  serial_number: z.string().nullable(),
7600
7733
  status: z.enum(['available', 'assigned']).nullable(),
7601
- purchase_date: z.iso.datetime().nullable(),
7734
+ purchase_date: z.iso.date().nullable(),
7602
7735
  purchase_price_cents: z.string().nullable(),
7603
7736
  currency: z.string().nullable(),
7604
7737
  external_id: z.string().nullable(),
@@ -7995,7 +8128,7 @@ export const zAssetsServiceEventParameters = z.object({
7995
8128
  performed_on: z.iso.date(),
7996
8129
  assets_service_schedule_id: z.string().nullish(),
7997
8130
  attachments_attributes: z.array(z.object({
7998
- id: z.string().optional(),
8131
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
7999
8132
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
8000
8133
  _destroy: z.boolean().optional()
8001
8134
  })).optional(),
@@ -8014,7 +8147,7 @@ export const zAssetsServiceEventUpdateParameters = z.object({
8014
8147
  performed_on: z.iso.date().optional(),
8015
8148
  assets_service_schedule_id: z.string().nullish(),
8016
8149
  attachments_attributes: z.array(z.object({
8017
- id: z.string().optional(),
8150
+ id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
8018
8151
  file: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional(),
8019
8152
  _destroy: z.boolean().optional()
8020
8153
  })).optional(),
@@ -10382,6 +10515,11 @@ export const zListFormSubmissionsQuery = z.object({
10382
10515
  * Success
10383
10516
  */
10384
10517
  export const zListFormSubmissionsResponse = zFormSubmissionIndexObject;
10518
+ export const zCreateFormSubmissionBody = zFormSubmissionCreateParameters;
10519
+ /**
10520
+ * Created
10521
+ */
10522
+ export const zCreateFormSubmissionResponse = zFormSubmissionResponseObject;
10385
10523
  export const zGetFormSubmissionPath = z.object({
10386
10524
  id: z.string()
10387
10525
  });
@@ -10669,6 +10807,19 @@ export const zCreateJobTradePath = z.object({
10669
10807
  * Created
10670
10808
  */
10671
10809
  export const zCreateJobTradeResponse = zPwaTradeResponseObject;
10810
+ export const zShiftJobWageDeterminationRateRuleGenesisBody = zPayRatesRuleGenesisParameters;
10811
+ export const zShiftJobWageDeterminationRateRuleGenesisHeaders = z.object({
10812
+ 'If-Match': z.string()
10813
+ });
10814
+ export const zShiftJobWageDeterminationRateRuleGenesisPath = z.object({
10815
+ job_id: z.string(),
10816
+ wage_determination_id: z.string(),
10817
+ rate_rule_id: z.string()
10818
+ });
10819
+ /**
10820
+ * Success
10821
+ */
10822
+ export const zShiftJobWageDeterminationRateRuleGenesisResponse = zRateRuleResponseObject;
10672
10823
  export const zListRateRuleHistoryPath = z.object({
10673
10824
  job_id: z.string(),
10674
10825
  wage_determination_id: z.string(),
@@ -10685,6 +10836,73 @@ export const zListRateRuleHistoryResponse = z.object({
10685
10836
  links: zLinks,
10686
10837
  data: z.array(zRateRuleHistoryVersionObject)
10687
10838
  });
10839
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesHeaders = z.object({
10840
+ 'If-Match': z.string()
10841
+ });
10842
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesPath = z.object({
10843
+ job_id: z.string(),
10844
+ wage_determination_id: z.string(),
10845
+ rate_rule_id: z.string()
10846
+ });
10847
+ /**
10848
+ * Success
10849
+ */
10850
+ export const zCancelJobWageDeterminationRateRuleScheduledChangesResponse = zRateRuleResponseObject;
10851
+ export const zListJobWageDeterminationRateRuleScheduledChangesPath = z.object({
10852
+ job_id: z.string(),
10853
+ wage_determination_id: z.string(),
10854
+ rate_rule_id: z.string()
10855
+ });
10856
+ export const zListJobWageDeterminationRateRuleScheduledChangesQuery = z.object({
10857
+ 'as_of[valid]': z.string().optional(),
10858
+ 'as_of[transaction]': z.string().optional()
10859
+ });
10860
+ /**
10861
+ * Success
10862
+ */
10863
+ export const zListJobWageDeterminationRateRuleScheduledChangesResponse = z.object({
10864
+ meta: zMeta,
10865
+ links: zLinks,
10866
+ data: z.array(zRateRuleHistoryVersionObject)
10867
+ });
10868
+ export const zScheduleJobWageDeterminationRateRuleChangeBody = zPayRatesRuleScheduledChangeParameters;
10869
+ export const zScheduleJobWageDeterminationRateRuleChangeHeaders = z.object({
10870
+ 'If-Match': z.string()
10871
+ });
10872
+ export const zScheduleJobWageDeterminationRateRuleChangePath = z.object({
10873
+ job_id: z.string(),
10874
+ wage_determination_id: z.string(),
10875
+ rate_rule_id: z.string()
10876
+ });
10877
+ /**
10878
+ * Success
10879
+ */
10880
+ export const zScheduleJobWageDeterminationRateRuleChangeResponse = zRateRuleResponseObject;
10881
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationHeaders = z.object({
10882
+ 'If-Match': z.string()
10883
+ });
10884
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationPath = z.object({
10885
+ job_id: z.string(),
10886
+ wage_determination_id: z.string(),
10887
+ rate_rule_id: z.string()
10888
+ });
10889
+ /**
10890
+ * Success
10891
+ */
10892
+ export const zCancelJobWageDeterminationRateRuleScheduledTerminationResponse = zRateRuleResponseObject;
10893
+ export const zScheduleJobWageDeterminationRateRuleTerminationBody = zPayRatesRuleScheduledTerminationParameters;
10894
+ export const zScheduleJobWageDeterminationRateRuleTerminationHeaders = z.object({
10895
+ 'If-Match': z.string()
10896
+ });
10897
+ export const zScheduleJobWageDeterminationRateRuleTerminationPath = z.object({
10898
+ job_id: z.string(),
10899
+ wage_determination_id: z.string(),
10900
+ rate_rule_id: z.string()
10901
+ });
10902
+ /**
10903
+ * Success
10904
+ */
10905
+ export const zScheduleJobWageDeterminationRateRuleTerminationResponse = zRateRuleResponseObject;
10688
10906
  export const zListRateRulesPath = z.object({
10689
10907
  job_id: z.string(),
10690
10908
  wage_determination_id: z.string()
@@ -10713,6 +10931,18 @@ export const zCreateRateRulePath = z.object({
10713
10931
  * Created
10714
10932
  */
10715
10933
  export const zCreateRateRuleResponse = zRateRuleResponseObject;
10934
+ export const zDeleteJobWageDeterminationRateRuleHeaders = z.object({
10935
+ 'If-Match': z.string()
10936
+ });
10937
+ export const zDeleteJobWageDeterminationRateRulePath = z.object({
10938
+ job_id: z.string(),
10939
+ wage_determination_id: z.string(),
10940
+ id: z.string()
10941
+ });
10942
+ /**
10943
+ * Success
10944
+ */
10945
+ export const zDeleteJobWageDeterminationRateRuleResponse = zRateRuleResponseObject;
10716
10946
  export const zGetRateRulePath = z.object({
10717
10947
  job_id: z.string(),
10718
10948
  wage_determination_id: z.string(),
@@ -10725,6 +10955,19 @@ export const zGetRateRuleQuery = z.object({
10725
10955
  * Success
10726
10956
  */
10727
10957
  export const zGetRateRuleResponse = zRateRuleResponseObject;
10958
+ export const zUpdateJobWageDeterminationRateRuleBody = zPayRatesRuleUpdateParameters;
10959
+ export const zUpdateJobWageDeterminationRateRuleHeaders = z.object({
10960
+ 'If-Match': z.string()
10961
+ });
10962
+ export const zUpdateJobWageDeterminationRateRulePath = z.object({
10963
+ job_id: z.string(),
10964
+ wage_determination_id: z.string(),
10965
+ id: z.string()
10966
+ });
10967
+ /**
10968
+ * Success
10969
+ */
10970
+ export const zUpdateJobWageDeterminationRateRuleResponse = zRateRuleResponseObject;
10728
10971
  export const zListJobSitesPath = z.object({
10729
10972
  job_id: z.string()
10730
10973
  });
@@ -12340,6 +12583,19 @@ export const zCreateProjectTradePath = z.object({
12340
12583
  * Created
12341
12584
  */
12342
12585
  export const zCreateProjectTradeResponse = zPwaTradeResponseObject;
12586
+ export const zShiftProjectWageDeterminationRateRuleGenesisBody = zPayRatesRuleGenesisParameters;
12587
+ export const zShiftProjectWageDeterminationRateRuleGenesisHeaders = z.object({
12588
+ 'If-Match': z.string()
12589
+ });
12590
+ export const zShiftProjectWageDeterminationRateRuleGenesisPath = z.object({
12591
+ project_id: z.string(),
12592
+ wage_determination_id: z.string(),
12593
+ rate_rule_id: z.string()
12594
+ });
12595
+ /**
12596
+ * Success
12597
+ */
12598
+ export const zShiftProjectWageDeterminationRateRuleGenesisResponse = zProjectRateRuleResponseObject;
12343
12599
  export const zListProjectWageDeterminationRateRuleHistoryPath = z.object({
12344
12600
  project_id: z.string(),
12345
12601
  wage_determination_id: z.string(),
@@ -12356,6 +12612,73 @@ export const zListProjectWageDeterminationRateRuleHistoryResponse = z.object({
12356
12612
  links: zLinks,
12357
12613
  data: z.array(zProjectRateRuleHistoryVersionObject)
12358
12614
  });
12615
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesHeaders = z.object({
12616
+ 'If-Match': z.string()
12617
+ });
12618
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesPath = z.object({
12619
+ project_id: z.string(),
12620
+ wage_determination_id: z.string(),
12621
+ rate_rule_id: z.string()
12622
+ });
12623
+ /**
12624
+ * Success
12625
+ */
12626
+ export const zCancelProjectWageDeterminationRateRuleScheduledChangesResponse = zProjectRateRuleResponseObject;
12627
+ export const zListProjectWageDeterminationRateRuleScheduledChangesPath = z.object({
12628
+ project_id: z.string(),
12629
+ wage_determination_id: z.string(),
12630
+ rate_rule_id: z.string()
12631
+ });
12632
+ export const zListProjectWageDeterminationRateRuleScheduledChangesQuery = z.object({
12633
+ 'as_of[valid]': z.string().optional(),
12634
+ 'as_of[transaction]': z.string().optional()
12635
+ });
12636
+ /**
12637
+ * Success
12638
+ */
12639
+ export const zListProjectWageDeterminationRateRuleScheduledChangesResponse = z.object({
12640
+ meta: zMeta,
12641
+ links: zLinks,
12642
+ data: z.array(zProjectRateRuleHistoryVersionObject)
12643
+ });
12644
+ export const zScheduleProjectWageDeterminationRateRuleChangeBody = zPayRatesRuleScheduledChangeParameters;
12645
+ export const zScheduleProjectWageDeterminationRateRuleChangeHeaders = z.object({
12646
+ 'If-Match': z.string()
12647
+ });
12648
+ export const zScheduleProjectWageDeterminationRateRuleChangePath = z.object({
12649
+ project_id: z.string(),
12650
+ wage_determination_id: z.string(),
12651
+ rate_rule_id: z.string()
12652
+ });
12653
+ /**
12654
+ * Success
12655
+ */
12656
+ export const zScheduleProjectWageDeterminationRateRuleChangeResponse = zProjectRateRuleResponseObject;
12657
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationHeaders = z.object({
12658
+ 'If-Match': z.string()
12659
+ });
12660
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationPath = z.object({
12661
+ project_id: z.string(),
12662
+ wage_determination_id: z.string(),
12663
+ rate_rule_id: z.string()
12664
+ });
12665
+ /**
12666
+ * Success
12667
+ */
12668
+ export const zCancelProjectWageDeterminationRateRuleScheduledTerminationResponse = zProjectRateRuleResponseObject;
12669
+ export const zScheduleProjectWageDeterminationRateRuleTerminationBody = zPayRatesRuleScheduledTerminationParameters;
12670
+ export const zScheduleProjectWageDeterminationRateRuleTerminationHeaders = z.object({
12671
+ 'If-Match': z.string()
12672
+ });
12673
+ export const zScheduleProjectWageDeterminationRateRuleTerminationPath = z.object({
12674
+ project_id: z.string(),
12675
+ wage_determination_id: z.string(),
12676
+ rate_rule_id: z.string()
12677
+ });
12678
+ /**
12679
+ * Success
12680
+ */
12681
+ export const zScheduleProjectWageDeterminationRateRuleTerminationResponse = zProjectRateRuleResponseObject;
12359
12682
  export const zListProjectWageDeterminationRateRulesPath = z.object({
12360
12683
  project_id: z.string(),
12361
12684
  wage_determination_id: z.string()
@@ -12384,6 +12707,18 @@ export const zCreateProjectWageDeterminationRateRulePath = z.object({
12384
12707
  * Created
12385
12708
  */
12386
12709
  export const zCreateProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12710
+ export const zDeleteProjectWageDeterminationRateRuleHeaders = z.object({
12711
+ 'If-Match': z.string()
12712
+ });
12713
+ export const zDeleteProjectWageDeterminationRateRulePath = z.object({
12714
+ project_id: z.string(),
12715
+ wage_determination_id: z.string(),
12716
+ id: z.string()
12717
+ });
12718
+ /**
12719
+ * Success
12720
+ */
12721
+ export const zDeleteProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12387
12722
  export const zGetProjectWageDeterminationRateRulePath = z.object({
12388
12723
  project_id: z.string(),
12389
12724
  wage_determination_id: z.string(),
@@ -12396,6 +12731,19 @@ export const zGetProjectWageDeterminationRateRuleQuery = z.object({
12396
12731
  * Success
12397
12732
  */
12398
12733
  export const zGetProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12734
+ export const zUpdateProjectWageDeterminationRateRuleBody = zPayRatesRuleUpdateParameters;
12735
+ export const zUpdateProjectWageDeterminationRateRuleHeaders = z.object({
12736
+ 'If-Match': z.string()
12737
+ });
12738
+ export const zUpdateProjectWageDeterminationRateRulePath = z.object({
12739
+ project_id: z.string(),
12740
+ wage_determination_id: z.string(),
12741
+ id: z.string()
12742
+ });
12743
+ /**
12744
+ * Success
12745
+ */
12746
+ export const zUpdateProjectWageDeterminationRateRuleResponse = zProjectRateRuleResponseObject;
12399
12747
  export const zListProjectSitesPath = z.object({
12400
12748
  project_id: z.string()
12401
12749
  });
@@ -12684,6 +13032,46 @@ export const zUpdateProjectPath = z.object({
12684
13032
  * Success
12685
13033
  */
12686
13034
  export const zUpdateProjectResponse = zProjectResponseObject;
13035
+ export const zListCompanyDetailsQuery = z.object({
13036
+ 'page[cursor]': z.string().optional(),
13037
+ 'page[limit]': z.int().gte(1).optional().default(20),
13038
+ page: z.string().optional()
13039
+ });
13040
+ /**
13041
+ * Success
13042
+ */
13043
+ export const zListCompanyDetailsResponse = z.object({
13044
+ meta: zMeta,
13045
+ links: zLinks,
13046
+ data: z.array(zPwaCompanyDetailsResponseObject)
13047
+ });
13048
+ export const zCreateCompanyDetailBody = zPwaCompanyDetailsParameters;
13049
+ /**
13050
+ * Created
13051
+ */
13052
+ export const zCreateCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
13053
+ export const zDeleteCompanyDetailPath = z.object({
13054
+ id: z.string()
13055
+ });
13056
+ /**
13057
+ * No Content
13058
+ */
13059
+ export const zDeleteCompanyDetailResponse = z.void();
13060
+ export const zGetCompanyDetailPath = z.object({
13061
+ id: z.string()
13062
+ });
13063
+ /**
13064
+ * Success
13065
+ */
13066
+ export const zGetCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
13067
+ export const zUpdateCompanyDetailBody = zPwaCompanyDetailsUpdateParameters;
13068
+ export const zUpdateCompanyDetailPath = z.object({
13069
+ id: z.string()
13070
+ });
13071
+ /**
13072
+ * Success
13073
+ */
13074
+ export const zUpdateCompanyDetailResponse = zPwaCompanyDetailsResponseObject;
12687
13075
  export const zCreateCompanyUserDetailBody = zPwaCompanyUserDetailsParameters;
12688
13076
  /**
12689
13077
  * Created