@dsptch-work/api-client 0.9.0 → 0.11.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.
@@ -66,6 +66,12 @@ export type Problem = {
66
66
  *
67
67
  * A signed token in the request fails signature verification. Re-obtain the token from the endpoint that issued it.
68
68
  *
69
+ * ### malformed_body
70
+ *
71
+ * **Malformed Request Body**
72
+ *
73
+ * The request body could not be parsed in the declared content type — most commonly a body that is not valid JSON. Send a well-formed body matching the `Content-Type` header.
74
+ *
69
75
  * ### non_range_filter_value
70
76
  *
71
77
  * **Range Filter Needs Bounds**
@@ -94,7 +100,7 @@ export type Problem = {
94
100
  *
95
101
  * **Parameter Must Be An Object**
96
102
  *
97
- * A container query parameter — `filter`, `page`, or `as_of` — arrived as a scalar, array, or blank value instead of a nested object. Use the object syntax, for example `filter[key]=value`.
103
+ * Something that must be an object arrived as something else. Either a container query parameter — `filter`, `page`, or `as_of` — arrived as a scalar, array, or blank value, in which case use the object syntax, for example `filter[key]=value`; or the request body of a write that documents this failure parsed to `null`, an array, or a bare scalar, in which case send a JSON object. An absent or empty body is not this failure.
98
104
  *
99
105
  * ### unknown_axis
100
106
  *
@@ -104,9 +110,9 @@ export type Problem = {
104
110
  *
105
111
  * ### unknown_key
106
112
  *
107
- * **Unknown Query Parameter**
113
+ * **Unknown Key**
108
114
  *
109
- * The query string carries a top-level key outside the declared containers — typically a misspelled container. Remove or correct it; unknown keys are never silently ignored.
115
+ * The query string carries a top-level key outside the declared containers, or the request body carries a key the operation's contract does not declare — typically a misspelled container or field. Remove or correct the keys the detail names; unknown keys are never silently ignored.
110
116
  *
111
117
  * ### unsupported_axis
112
118
  *
@@ -333,7 +339,7 @@ export type Problem = {
333
339
  * Another write to the same resource held it for longer than this request was willing to wait, so nothing was applied. The request itself is fine — resend it unchanged after the `Retry-After` window.
334
340
  *
335
341
  */
336
- export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'insufficient_api_key_scope' | 'not_found' | 'already_terminated' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'non_numeric_cents' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'write_contended';
342
+ export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'insufficient_api_key_scope' | 'not_found' | 'already_terminated' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'non_numeric_cents' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'write_contended';
337
343
  export type ApiKeyScopeResponseObject = {
338
344
  resource: string;
339
345
  action: 'read' | 'create' | 'update' | 'delete';
@@ -468,7 +474,7 @@ export type ApprenticeshipProgramResponseObject = {
468
474
  /**
469
475
  * Agency that registered the program: federal (DOL Office of Apprenticeship) or regional (a recognized state apprenticeship agency); null when not recorded.
470
476
  */
471
- registration_agency_type: 'federal' | 'regional';
477
+ registration_agency_type: 'federal' | 'regional' | null;
472
478
  /**
473
479
  * When the record was created (ISO 8601).
474
480
  */
@@ -709,7 +715,7 @@ export type ApprenticeshipApprenticeResponseObject = {
709
715
  /**
710
716
  * Result of the last DOL status-verification attempt: one of pending, in_progress, failed, or success; null when never attempted.
711
717
  */
712
- status_verification_result: 'pending' | 'in_progress' | 'failed' | 'success';
718
+ status_verification_result: 'pending' | 'in_progress' | 'failed' | 'success' | null;
713
719
  /**
714
720
  * Date the apprentice is expected to begin the apprenticeship.
715
721
  */
@@ -799,7 +805,7 @@ export type ApprenticeshipProgramParameters = {
799
805
  /**
800
806
  * Agency that registered the program: federal or regional; optional, null to clear.
801
807
  */
802
- registration_agency_type?: 'federal' | 'regional';
808
+ registration_agency_type?: 'federal' | 'regional' | null;
803
809
  };
804
810
  /**
805
811
  * Create or update an occupation (trade) within a sponsored program; the program is taken from the URL path.
@@ -967,7 +973,7 @@ export type ApprenticeshipWageScheduleParameters = {
967
973
  */
968
974
  export type TimecodeResponseObject = {
969
975
  /**
970
- * Version-stable identifier; always equal to bitemporal_id, never a per-version row id (UUID string).
976
+ * Version-stable identifier the identity every version of the timecode shares, never a per-version row id (UUID string).
971
977
  */
972
978
  id: string;
973
979
  /**
@@ -1031,9 +1037,9 @@ export type TimecodeResponseObject = {
1031
1037
  */
1032
1038
  restricted_to: 'none' | 'job' | 'non_job' | 'job_with_timecode';
1033
1039
  /**
1034
- * Id of the company that owns this timecode as a company-wide default; null for job-scoped timecodes (a timecode is either company-default or job-scoped, never both). Timecodes created through this API are always company-owned by the caller's company.
1040
+ * Id of the company that owns this timecode as a company-wide default. Always your company a timecode is either company-default or job-scoped, and this API only exposes the company-default ones.
1035
1041
  */
1036
- default_for_company_id: string | null;
1042
+ default_for_company_id: string;
1037
1043
  /**
1038
1044
  * ISO8601 timestamp at which this version's validity window begins (bitemporal valid-time start); never null for this resource — a lower bound is always recorded.
1039
1045
  */
@@ -1059,8 +1065,39 @@ export type TimecodeResponseObject = {
1059
1065
  */
1060
1066
  updated_at: string;
1061
1067
  };
1068
+ export type TimecodeHistoryCorrectionObject = {
1069
+ /**
1070
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
1071
+ */
1072
+ timekeeping_timecode_id: string;
1073
+ name: string;
1074
+ description: string | null;
1075
+ description_is_required: boolean;
1076
+ billable: boolean;
1077
+ overtime_eligible: boolean;
1078
+ unpaid: boolean;
1079
+ holiday: boolean;
1080
+ pto: boolean;
1081
+ safety: boolean;
1082
+ lunch_shortcut: boolean;
1083
+ break_shortcut: boolean;
1084
+ pwa: boolean;
1085
+ rest_and_recovery: boolean;
1086
+ incentive_pay_eligible: boolean;
1087
+ restricted_to: 'none' | 'job' | 'non_job' | 'job_with_timecode';
1088
+ default_for_company_id: string;
1089
+ valid_from: string | null;
1090
+ valid_to: string | null;
1091
+ transaction_from: string;
1092
+ transaction_to: string | null;
1093
+ created_at: string;
1094
+ updated_at: string;
1095
+ };
1062
1096
  export type TimecodeHistoryVersionObject = {
1063
- id: string;
1097
+ /**
1098
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
1099
+ */
1100
+ timekeeping_timecode_id: string;
1064
1101
  name: string;
1065
1102
  description: string | null;
1066
1103
  description_is_required: boolean;
@@ -1076,7 +1113,7 @@ export type TimecodeHistoryVersionObject = {
1076
1113
  rest_and_recovery: boolean;
1077
1114
  incentive_pay_eligible: boolean;
1078
1115
  restricted_to: 'none' | 'job' | 'non_job' | 'job_with_timecode';
1079
- default_for_company_id: string | null;
1116
+ default_for_company_id: string;
1080
1117
  valid_from: string | null;
1081
1118
  valid_to: string | null;
1082
1119
  transaction_from: string;
@@ -1084,7 +1121,7 @@ export type TimecodeHistoryVersionObject = {
1084
1121
  created_at: string;
1085
1122
  updated_at: string;
1086
1123
  version_status: 'scheduled' | 'current' | 'historical';
1087
- corrections: Array<TimecodeResponseObject>;
1124
+ corrections: Array<TimecodeHistoryCorrectionObject>;
1088
1125
  };
1089
1126
  /**
1090
1127
  * 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.
@@ -1186,6 +1223,9 @@ export type TimecodeGenesisParameters = {
1186
1223
  */
1187
1224
  effective_date: string;
1188
1225
  };
1226
+ /**
1227
+ * Request body for scheduling a timecode's termination: the date from which it stops being valid. The body is required — the endpoint reads effective_date with `params.expect`, so a request omitting it is refused with `400`.
1228
+ */
1189
1229
  export type TimecodeScheduledTerminationParameters = {
1190
1230
  /**
1191
1231
  * When the timecode stops being valid. Must fall strictly after the version family's `valid_from`; an end at or before it would leave no coverage at all and is refused with `422`.
@@ -1318,6 +1358,10 @@ export type AssetsProductResponseObject = {
1318
1358
  * Images attached to the product; each carries a download url for its file.
1319
1359
  */
1320
1360
  images: Array<AssetsAttachmentResponseObject>;
1361
+ /**
1362
+ * When the product was archived (ISO 8601); null while active. Archiving a product also archives all of its items; both are hidden from listings by default (see filter[state]) and read-only until unarchived.
1363
+ */
1364
+ archived_at: string | null;
1321
1365
  /**
1322
1366
  * When the record was created (ISO 8601).
1323
1367
  */
@@ -1535,7 +1579,7 @@ export type PerDiemParameters = {
1535
1579
  /**
1536
1580
  * Allowance amount in cents, as a string (e.g. "7500" is $75.00).
1537
1581
  */
1538
- rate_cents: string | null;
1582
+ rate_cents: string;
1539
1583
  /**
1540
1584
  * ISO 4217 currency code, e.g. "USD".
1541
1585
  */
@@ -1950,7 +1994,7 @@ export type AttestationConfigResponseObject = {
1950
1994
  /**
1951
1995
  * The attestation question presented to the worker when a shift ends.
1952
1996
  */
1953
- content: string | null;
1997
+ content: string;
1954
1998
  /**
1955
1999
  * The answer expected for a compliant shift (true or false).
1956
2000
  */
@@ -2028,7 +2072,7 @@ export type PayPeriodConfigResponseObject = {
2028
2072
  /**
2029
2073
  * Granularity at which payroll actuals are collected: none (not collected), base (from paystub line items), or aggregate (pre-summed totals). Null when unset.
2030
2074
  */
2031
- payroll_mode: 'none' | 'base' | 'aggregate';
2075
+ payroll_mode: 'none' | 'base' | 'aggregate' | null;
2032
2076
  /**
2033
2077
  * Granularity at which time is tracked: none, base (individual time entries, auto-aggregated), or aggregate (day-level totals only, no entries).
2034
2078
  */
@@ -2036,7 +2080,7 @@ export type PayPeriodConfigResponseObject = {
2036
2080
  /**
2037
2081
  * External payroll provider this schedule integrates with: one of rippling, quickbooks_online, paychex, or gusto. Null when none.
2038
2082
  */
2039
- payroll_system: 'rippling' | 'quickbooks_online' | 'paychex' | 'gusto';
2083
+ payroll_system: 'rippling' | 'quickbooks_online' | 'paychex' | 'gusto' | null;
2040
2084
  /**
2041
2085
  * Whether paystub line-item actuals are imported from the payroll system. Null when unset.
2042
2086
  */
@@ -2066,8 +2110,34 @@ export type PayPeriodConfigResponseObject = {
2066
2110
  */
2067
2111
  created_at: string;
2068
2112
  };
2113
+ export type PayPeriodConfigHistoryCorrectionObject = {
2114
+ /**
2115
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
2116
+ */
2117
+ timekeeping_pay_period_config_id: string;
2118
+ company_id: string;
2119
+ name: string;
2120
+ frequency: 'weekly' | 'biweekly';
2121
+ start_day_of_week: number;
2122
+ tz_name: string;
2123
+ currency: string;
2124
+ status: 'synced' | 'pending' | 'failed';
2125
+ payroll_mode: 'none' | 'base' | 'aggregate' | null;
2126
+ time_mode: 'none' | 'base' | 'aggregate';
2127
+ payroll_system: 'rippling' | 'quickbooks_online' | 'paychex' | 'gusto' | null;
2128
+ actuals_enabled: boolean | null;
2129
+ requires_external_map_contributor: boolean;
2130
+ paid_after_holiday: boolean;
2131
+ demo: boolean | null;
2132
+ valid_from: string | null;
2133
+ valid_to: string | null;
2134
+ created_at: string;
2135
+ };
2069
2136
  export type PayPeriodConfigHistoryVersionObject = {
2070
- id: string;
2137
+ /**
2138
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
2139
+ */
2140
+ timekeeping_pay_period_config_id: string;
2071
2141
  company_id: string;
2072
2142
  name: string;
2073
2143
  frequency: 'weekly' | 'biweekly';
@@ -2075,9 +2145,9 @@ export type PayPeriodConfigHistoryVersionObject = {
2075
2145
  tz_name: string;
2076
2146
  currency: string;
2077
2147
  status: 'synced' | 'pending' | 'failed';
2078
- payroll_mode: 'none' | 'base' | 'aggregate';
2148
+ payroll_mode: 'none' | 'base' | 'aggregate' | null;
2079
2149
  time_mode: 'none' | 'base' | 'aggregate';
2080
- payroll_system: 'rippling' | 'quickbooks_online' | 'paychex' | 'gusto';
2150
+ payroll_system: 'rippling' | 'quickbooks_online' | 'paychex' | 'gusto' | null;
2081
2151
  actuals_enabled: boolean | null;
2082
2152
  requires_external_map_contributor: boolean;
2083
2153
  paid_after_holiday: boolean;
@@ -2086,7 +2156,7 @@ export type PayPeriodConfigHistoryVersionObject = {
2086
2156
  valid_to: string | null;
2087
2157
  created_at: string;
2088
2158
  version_status: 'scheduled' | 'current' | 'historical';
2089
- corrections: Array<PayPeriodConfigResponseObject>;
2159
+ corrections: Array<PayPeriodConfigHistoryCorrectionObject>;
2090
2160
  };
2091
2161
  /**
2092
2162
  * Create or update a holiday on a pay schedule. name, holiday_type, and month are required; mday is required for fixed holidays and wday + week for floating holidays (enforced by model validation).
@@ -2184,7 +2254,7 @@ export type PwaCompanyUserDetailsResponseObject = {
2184
2254
  /**
2185
2255
  * Worker sex for demographic reporting: one of female, male, non_binary, or not_specified; null when unset.
2186
2256
  */
2187
- sex: 'female' | 'male' | 'non_binary' | 'not_specified';
2257
+ sex: 'female' | 'male' | 'non_binary' | 'not_specified' | null;
2188
2258
  /**
2189
2259
  * Local business license number, when a jurisdiction requires it on certified payroll; null when unset.
2190
2260
  */
@@ -2204,11 +2274,11 @@ export type PwaCompanyUserDetailsResponseObject = {
2204
2274
  /**
2205
2275
  * Veteran status per US Census definitions: one of protected_veteran, not_protected_veteran, reserves, guard, or not_specified; null when unset.
2206
2276
  */
2207
- veteran_status: 'protected_veteran' | 'not_protected_veteran' | 'reserves' | 'guard' | 'not_specified';
2277
+ veteran_status: 'protected_veteran' | 'not_protected_veteran' | 'reserves' | 'guard' | 'not_specified' | null;
2208
2278
  /**
2209
2279
  * Whether the worker is of Hispanic origin per US Census definitions: one of yes, no, or not_specified; null when unset.
2210
2280
  */
2211
- hispanic_origin: 'yes' | 'no' | 'not_specified';
2281
+ hispanic_origin: 'yes' | 'no' | 'not_specified' | null;
2212
2282
  /**
2213
2283
  * Number of payroll withholding exemptions reported on California DIR certified payroll (eCPR), 0 to 99; null when unset.
2214
2284
  */
@@ -2220,11 +2290,11 @@ export type PwaCompanyUserDetailsResponseObject = {
2220
2290
  /**
2221
2291
  * Illinois DOL race classification for Illinois prevailing-wage reporting, as a single code (e.g. white, black, hispanic_or_latino); null when unset. See the schema enum for the full set.
2222
2292
  */
2223
- il_dol_race: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other';
2293
+ il_dol_race: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other' | null;
2224
2294
  /**
2225
2295
  * Illinois SHINES employment type: one of part_time, full_time, seasonal_temporary, or independent_contract; null when unset.
2226
2296
  */
2227
- il_shines_employment_type: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract';
2297
+ il_shines_employment_type: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract' | null;
2228
2298
  /**
2229
2299
  * Illinois SHINES Equity Eligible Person (EEP) qualifiers for the worker, as an array of codes (e.g. eep_program_completed, foster_care, formerly_incarcerated); null when unset. See the schema enum for the full set.
2230
2300
  */
@@ -2236,7 +2306,7 @@ export type PwaCompanyUserDetailsResponseObject = {
2236
2306
  /**
2237
2307
  * Oregon BOLI workweek schedule: five_eight (five eight-hour days) or four_ten (four ten-hour days); null when unset.
2238
2308
  */
2239
- or_boli_schedule_type: 'five_eight' | 'four_ten';
2309
+ or_boli_schedule_type: 'five_eight' | 'four_ten' | null;
2240
2310
  /**
2241
2311
  * Oregon BOLI race classification, as an array of codes (e.g. white, asian, hispanic_or_latino, black_or_african_american); null when unset. See the schema enum for the full set.
2242
2312
  */
@@ -2281,7 +2351,7 @@ export type PwaCompanyUserDetailsParameters = {
2281
2351
  /**
2282
2352
  * Worker sex for demographic reporting: one of female, male, non_binary, or not_specified.
2283
2353
  */
2284
- sex?: 'female' | 'male' | 'non_binary' | 'not_specified';
2354
+ sex?: 'female' | 'male' | 'non_binary' | 'not_specified' | null;
2285
2355
  /**
2286
2356
  * Local business license number, when a jurisdiction requires it on certified payroll.
2287
2357
  */
@@ -2301,11 +2371,11 @@ export type PwaCompanyUserDetailsParameters = {
2301
2371
  /**
2302
2372
  * Veteran status per US Census definitions: one of protected_veteran, not_protected_veteran, reserves, guard, or not_specified.
2303
2373
  */
2304
- veteran_status?: 'protected_veteran' | 'not_protected_veteran' | 'reserves' | 'guard' | 'not_specified';
2374
+ veteran_status?: 'protected_veteran' | 'not_protected_veteran' | 'reserves' | 'guard' | 'not_specified' | null;
2305
2375
  /**
2306
2376
  * Whether the worker is of Hispanic origin per US Census definitions: one of yes, no, or not_specified.
2307
2377
  */
2308
- hispanic_origin?: 'yes' | 'no' | 'not_specified';
2378
+ hispanic_origin?: 'yes' | 'no' | 'not_specified' | null;
2309
2379
  /**
2310
2380
  * Number of payroll withholding exemptions reported on California DIR certified payroll (eCPR), 0 to 99.
2311
2381
  */
@@ -2317,11 +2387,11 @@ export type PwaCompanyUserDetailsParameters = {
2317
2387
  /**
2318
2388
  * Illinois DOL race classification for Illinois prevailing-wage reporting, as a single code (e.g. white, black, hispanic_or_latino). See the schema enum for the full set.
2319
2389
  */
2320
- il_dol_race?: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other';
2390
+ il_dol_race?: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other' | null;
2321
2391
  /**
2322
2392
  * Illinois SHINES employment type: one of part_time, full_time, seasonal_temporary, or independent_contract.
2323
2393
  */
2324
- il_shines_employment_type?: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract';
2394
+ il_shines_employment_type?: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract' | null;
2325
2395
  /**
2326
2396
  * Illinois SHINES Equity Eligible Person (EEP) qualifiers for the worker, as an array of codes (e.g. eep_program_completed, foster_care, formerly_incarcerated). See the schema enum for the full set.
2327
2397
  */
@@ -2333,7 +2403,7 @@ export type PwaCompanyUserDetailsParameters = {
2333
2403
  /**
2334
2404
  * Oregon BOLI workweek schedule: five_eight (five eight-hour days) or four_ten (four ten-hour days).
2335
2405
  */
2336
- or_boli_schedule_type?: 'five_eight' | 'four_ten';
2406
+ or_boli_schedule_type?: 'five_eight' | 'four_ten' | null;
2337
2407
  /**
2338
2408
  * Oregon BOLI race classification, as an array of codes (e.g. white, asian, hispanic_or_latino, black_or_african_american).
2339
2409
  */
@@ -2475,52 +2545,7 @@ export type JobResponseObject = {
2475
2545
  */
2476
2546
  project_id: string | null;
2477
2547
  /**
2478
- * Deprecated. The creating company as a minimal object; use created_by_company_id instead.
2479
- *
2480
- * @deprecated
2481
- */
2482
- created_by_company: {
2483
- /**
2484
- * ID of the creating company.
2485
- */
2486
- id?: string;
2487
- /**
2488
- * Name of the creating company.
2489
- */
2490
- name?: string;
2491
- };
2492
- /**
2493
- * Deprecated. The requesting company as a minimal object; use requested_by_company_id instead.
2494
- *
2495
- * @deprecated
2496
- */
2497
- requested_by_company: {
2498
- /**
2499
- * ID of the requesting company.
2500
- */
2501
- id?: string;
2502
- /**
2503
- * Name of the requesting company.
2504
- */
2505
- name?: string;
2506
- };
2507
- /**
2508
- * Deprecated. The job's primary manager as a minimal object; null when the job has no manager.
2509
- *
2510
- * @deprecated
2511
- */
2512
- manager_user: {
2513
- /**
2514
- * ID of the manager user.
2515
- */
2516
- id?: string;
2517
- /**
2518
- * Name of the manager user.
2519
- */
2520
- name?: string;
2521
- } | null;
2522
- /**
2523
- * The job's managers, each as a minimal object; empty when the job has no managers. This is the current field — the singular manager_user is deprecated.
2548
+ * The job's managers, each as a minimal object; empty when the job has no managers.
2524
2549
  */
2525
2550
  manager_users: Array<{
2526
2551
  /**
@@ -2539,30 +2564,30 @@ export type JobResponseObject = {
2539
2564
  /**
2540
2565
  * ID of the creating user.
2541
2566
  */
2542
- id?: string;
2567
+ id: string;
2543
2568
  /**
2544
2569
  * Name of the creating user.
2545
2570
  */
2546
- name?: string;
2571
+ name: string;
2547
2572
  };
2548
2573
  /**
2549
- * Sites (geofenced locations) associated with the job; null when none.
2574
+ * Sites (geofenced locations) associated with the job; empty when none.
2550
2575
  */
2551
2576
  sites: Array<{
2552
2577
  /**
2553
2578
  * Name of the site.
2554
2579
  */
2555
- name?: string;
2580
+ name: string;
2556
2581
  /**
2557
- * Geofenced features within the site; null when none.
2582
+ * Geofenced features within the site; empty when none.
2558
2583
  */
2559
- features?: Array<{
2584
+ features: Array<{
2560
2585
  /**
2561
2586
  * Name of the feature.
2562
2587
  */
2563
- name?: string;
2564
- }> | null;
2565
- }> | null;
2588
+ name: string;
2589
+ }>;
2590
+ }>;
2566
2591
  /**
2567
2592
  * The job's structured address; null when unset.
2568
2593
  */
@@ -2570,18 +2595,18 @@ export type JobResponseObject = {
2570
2595
  /**
2571
2596
  * Human-readable one-line address label.
2572
2597
  */
2573
- label?: string;
2598
+ label: string;
2574
2599
  } | null;
2575
2600
  /**
2576
- * Positions on the job — the worker assignments that track time against it; null when none.
2601
+ * Positions on the job — the worker assignments that track time against it; empty when none.
2577
2602
  */
2578
2603
  positions: Array<{
2579
- position_function?: PositionFunction;
2604
+ position_function: PositionFunction;
2580
2605
  /**
2581
2606
  * ID of the worker assigned to the position; null when unfilled.
2582
2607
  */
2583
- fulfilled_by_user_id?: string | null;
2584
- }> | null;
2608
+ fulfilled_by_user_id: string | null;
2609
+ }>;
2585
2610
  /**
2586
2611
  * The project this job belongs to; null when none.
2587
2612
  */
@@ -2589,22 +2614,22 @@ export type JobResponseObject = {
2589
2614
  /**
2590
2615
  * Name of the project.
2591
2616
  */
2592
- name?: string;
2617
+ name: string;
2593
2618
  } | null;
2594
2619
  pwa_details: PwaJobDetailsResponseObject;
2595
2620
  /**
2596
- * Work types (trade or scope categories) associated with the job; null when none.
2621
+ * Work types (trade or scope categories) associated with the job; empty when none.
2597
2622
  */
2598
2623
  work_types: Array<{
2599
2624
  /**
2600
2625
  * The work-type name.
2601
2626
  */
2602
- value?: string;
2603
- }> | null;
2627
+ value: string;
2628
+ }>;
2604
2629
  /**
2605
- * IDs of the timecodes currently associated with the job; null when none.
2630
+ * IDs of the timecodes currently associated with the job; empty when none.
2606
2631
  */
2607
- timekeeping_timecode_ids: Array<string> | null;
2632
+ timekeeping_timecode_ids: Array<string>;
2608
2633
  /**
2609
2634
  * Whether the feature-allocation selector is shown for this job.
2610
2635
  */
@@ -2705,15 +2730,13 @@ export type JobParameters = {
2705
2730
  */
2706
2731
  description?: string;
2707
2732
  /**
2708
- * ID of the user creating the job. Required.
2733
+ * ID of the company that requested the job (for example a general contractor). Required.
2709
2734
  */
2710
- created_by_user_id: string;
2735
+ requested_by_company_id: string;
2711
2736
  /**
2712
- * Deprecated and ignored; set the job's managers through manager_user_ids instead.
2713
- *
2714
- * @deprecated
2737
+ * ID of the user creating the job. Required.
2715
2738
  */
2716
- manager_user_id?: string | null;
2739
+ created_by_user_id: string;
2717
2740
  /**
2718
2741
  * IDs of the users who manage the job; null when the job has no managers.
2719
2742
  */
@@ -2845,6 +2868,19 @@ export type JobParameters = {
2845
2868
  */
2846
2869
  label?: string | null;
2847
2870
  } | null;
2871
+ /**
2872
+ * Custom field values to add to the job, addressed by custom field config id; null when none. Each row creates a value, so a config that already carries one on this job is refused with a 422 — to overwrite, send the value under a top-level key named after the custom field instead. Supplying this key turns that by-name form off for the request.
2873
+ */
2874
+ custom_fields_attributes?: Array<{
2875
+ /**
2876
+ * ID of the custom field config the value belongs to; the config must belong to the company that owns the job.
2877
+ */
2878
+ custom_field_config_id: string;
2879
+ /**
2880
+ * Value to store for the custom field; null when unset.
2881
+ */
2882
+ value?: string | null;
2883
+ }> | null;
2848
2884
  /**
2849
2885
  * Prevailing-wage / apprenticeship (PWA) compliance details to set on the job; which fields apply depends on region. Null when the job tracks no PWA compliance.
2850
2886
  */
@@ -3048,6 +3084,10 @@ export type UserResponseObject = {
3048
3084
  * URL of the worker's LinkedIn profile. Null when unset.
3049
3085
  */
3050
3086
  linkedin_url: string | null;
3087
+ /**
3088
+ * Identity of the worker's employment at your company, stable across employment versions — a title change or a raise versions the employment without changing this id. It names the employment that this object's employment fields (type through employment_window, plus manager_user_id and any employment custom fields) describe: a worker rehired after an earlier stint holds a second employment with its own id, and exactly one of them is published here.
3089
+ */
3090
+ employment_id: string;
3051
3091
  type: UserCompanyType;
3052
3092
  /**
3053
3093
  * Job title at your company. Null when unset.
@@ -3110,7 +3150,7 @@ export type UserResponseObject = {
3110
3150
  */
3111
3151
  termination_date: string | null;
3112
3152
  /**
3113
- * Window over which the employment version in this response is in effect. Employment is versioned, so a worker whose title or pay changed has several versions and exactly one is published here. The version in effect now is served; where none is in effect the nearest is served instead most recently ended first, else soonest to open — so this window is how you tell a current employment from an ended or a not-yet-started one. Distinct from hire_date and termination_date, which bound the whole employment rather than this one version.
3153
+ * Window over which the employment version in this response is in effect. Employment is versioned, so a worker whose title or pay changed has several versions and exactly one is published here. The version in effect now is served; where none is in effect, the soonest to begin is served, else the most recently ended a scheduled hire outranks an ended stint — so this window is how you tell a current employment from an ended or a not-yet-started one. Distinct from hire_date and termination_date, which bound the whole employment rather than this one version.
3114
3154
  */
3115
3155
  employment_window: {
3116
3156
  /**
@@ -3118,7 +3158,7 @@ export type UserResponseObject = {
3118
3158
  */
3119
3159
  valid_from: string | null;
3120
3160
  /**
3121
- * When this version of the employment stopped applying (ISO 8601); null while it is still in effect. A value in the past means this is the nearest version rather than a current one.
3161
+ * When this version of the employment stopped applying (ISO 8601); null while it is still in effect. A value in the past means an ended version is being served because the worker has nothing current or scheduled.
3122
3162
  */
3123
3163
  valid_to: string | null;
3124
3164
  };
@@ -3137,91 +3177,91 @@ export type UserResponseObject = {
3137
3177
  /**
3138
3178
  * Unique identifier of the compliance record.
3139
3179
  */
3140
- id?: string;
3180
+ id: string;
3141
3181
  /**
3142
3182
  * Home street address line 1, for certified-payroll reporting. Null when unset.
3143
3183
  */
3144
- address1?: string | null;
3184
+ address1: string | null;
3145
3185
  /**
3146
3186
  * Home street address line 2. Null when unset.
3147
3187
  */
3148
- address2?: string | null;
3188
+ address2: string | null;
3149
3189
  /**
3150
3190
  * Home address city. Null when unset.
3151
3191
  */
3152
- city?: string | null;
3192
+ city: string | null;
3153
3193
  /**
3154
3194
  * Home address two-letter US state code. Null when unset.
3155
3195
  */
3156
- state?: string | null;
3196
+ state: string | null;
3157
3197
  /**
3158
3198
  * Home address ZIP code. Null when unset.
3159
3199
  */
3160
- zip?: string | null;
3200
+ zip: string | null;
3161
3201
  /**
3162
3202
  * Worker race for demographic reporting, as an array of codes such as CAUCASIAN, AFRICAN_AMERICAN, ASIAN, NATIVE_AMERICAN, OTHER, and NOT_SPECIFIED. Null when unset.
3163
3203
  */
3164
- race?: Array<string> | null;
3204
+ race: Array<string> | null;
3165
3205
  /**
3166
3206
  * Worker sex for demographic reporting: one of female, male, non_binary, or not_specified. Null when unset.
3167
3207
  */
3168
- sex?: string | null;
3208
+ sex: string | null;
3169
3209
  /**
3170
3210
  * Local business license number, when a jurisdiction requires it on certified payroll. Null when unset.
3171
3211
  */
3172
- local_business_license?: string | null;
3212
+ local_business_license: string | null;
3173
3213
  /**
3174
3214
  * Two-letter US state that issued the worker's driver's license. Null when unset.
3175
3215
  */
3176
- drivers_license_state?: string | null;
3216
+ drivers_license_state: string | null;
3177
3217
  /**
3178
3218
  * Worker's driver's license number (stored encrypted). Null when unset.
3179
3219
  */
3180
- drivers_license_number?: string | null;
3220
+ drivers_license_number: string | null;
3181
3221
  /**
3182
3222
  * Veteran status per US Census definitions: one of protected_veteran, not_protected_veteran, reserves, guard, or not_specified. Null when unset.
3183
3223
  */
3184
- veteran_status?: string | null;
3224
+ veteran_status: string | null;
3185
3225
  /**
3186
3226
  * Whether the worker is of Hispanic origin per US Census definitions: one of yes, no, or not_specified. Null when unset.
3187
3227
  */
3188
- hispanic_origin?: string | null;
3228
+ hispanic_origin: string | null;
3189
3229
  /**
3190
3230
  * Worker Social Security Number (nine digits, stored encrypted), required on certified payroll in some jurisdictions. Null when unset.
3191
3231
  */
3192
- ssn?: string | null;
3232
+ ssn: string | null;
3193
3233
  /**
3194
3234
  * Whether the worker has a disability, for demographic reporting. Null when unset.
3195
3235
  */
3196
- disabled?: boolean | null;
3236
+ disabled: boolean | null;
3197
3237
  /**
3198
3238
  * Number of payroll withholding exemptions reported on California DIR certified payroll (eCPR); an integer from 0 to 99. Null when unset.
3199
3239
  */
3200
- ca_dir_withholding_exemptions?: number | null;
3240
+ ca_dir_withholding_exemptions: number | null;
3201
3241
  /**
3202
3242
  * Illinois DOL race classification for Illinois prevailing-wage reporting, as a single code such as white, black, or hispanic_or_latino. Null when unset. See the schema enum for the full set.
3203
3243
  */
3204
- il_dol_race?: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other';
3244
+ il_dol_race: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other' | null;
3205
3245
  /**
3206
3246
  * Illinois SHINES employment type: one of part_time, full_time, seasonal_temporary, or independent_contract. Null when unset.
3207
3247
  */
3208
- il_shines_employment_type?: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract';
3248
+ il_shines_employment_type: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract' | null;
3209
3249
  /**
3210
3250
  * Illinois SHINES Equity Eligible Person (EEP) qualifiers for the worker, as an array of codes such as eep_program_completed, foster_care, and formerly_incarcerated. Null when unset.
3211
3251
  */
3212
- il_shines_eep_qualifiers?: Array<'eep_program_completed' | 'foster_care' | 'formerly_incarcerated' | 'equity_investment_eligible_community' | 'self_registered_or_unknown'> | null;
3252
+ il_shines_eep_qualifiers: Array<'eep_program_completed' | 'foster_care' | 'formerly_incarcerated' | 'equity_investment_eligible_community' | 'self_registered_or_unknown'> | null;
3213
3253
  /**
3214
3254
  * Illinois SHINES workforce-program participation for the worker, as an array of program codes such as solar_training_pipeline_program and craft_apprenticeship_program. Null when unset.
3215
3255
  */
3216
- il_shines_other_programs?: Array<'solar_training_pipeline_program' | 'craft_apprenticeship_program' | 'multi_cultural_jobs_program' | 'clean_jobs_workforce_network_program' | 'illinois_climate_works_prep_apprenticeship_program' | 'returning_residents_clean_jobs_training_program' | 'other'> | null;
3256
+ il_shines_other_programs: Array<'solar_training_pipeline_program' | 'craft_apprenticeship_program' | 'multi_cultural_jobs_program' | 'clean_jobs_workforce_network_program' | 'illinois_climate_works_prep_apprenticeship_program' | 'returning_residents_clean_jobs_training_program' | 'other'> | null;
3217
3257
  /**
3218
3258
  * Oregon BOLI workweek schedule: five_eight (five eight-hour days) or four_ten (four ten-hour days). Null when unset.
3219
3259
  */
3220
- or_boli_schedule_type?: 'five_eight' | 'four_ten';
3260
+ or_boli_schedule_type: 'five_eight' | 'four_ten' | null;
3221
3261
  /**
3222
3262
  * Oregon BOLI race classification, as an array of codes such as white, asian, hispanic_or_latino, and black_or_african_american. Null when unset.
3223
3263
  */
3224
- or_boli_race?: Array<'american_indian_or_alaska_native' | 'asian' | 'hispanic_or_latino' | 'black_or_african_american' | 'native_hawaiian_or_pacific_islander' | 'white' | 'portuguese_or_brazilian'> | null;
3264
+ or_boli_race: Array<'american_indian_or_alaska_native' | 'asian' | 'hispanic_or_latino' | 'black_or_african_american' | 'native_hawaiian_or_pacific_islander' | 'white' | 'portuguese_or_brazilian'> | null;
3225
3265
  } | null;
3226
3266
  [key: string]: unknown;
3227
3267
  };
@@ -3490,11 +3530,11 @@ export type UserParameters = {
3490
3530
  /**
3491
3531
  * Illinois DOL race classification for Illinois prevailing-wage reporting, as a single code such as white, black, or hispanic_or_latino. See the schema enum for the full set.
3492
3532
  */
3493
- il_dol_race?: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other';
3533
+ il_dol_race?: 'white' | 'black' | 'hispanic_or_latino' | 'american_indian_or_alaska_native' | 'chinese' | 'filipino' | 'asian_india' | 'vietnamese' | 'korean' | 'japanese' | 'native_hawaiian' | 'samoan' | 'chamorro' | 'other_asian' | 'other_pacific_islander' | 'other' | null;
3494
3534
  /**
3495
3535
  * Illinois SHINES employment type: one of part_time, full_time, seasonal_temporary, or independent_contract.
3496
3536
  */
3497
- il_shines_employment_type?: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract';
3537
+ il_shines_employment_type?: 'part_time' | 'full_time' | 'seasonal_temporary' | 'independent_contract' | null;
3498
3538
  /**
3499
3539
  * Illinois SHINES Equity Eligible Person (EEP) qualifiers for the worker, as an array of codes such as eep_program_completed, foster_care, and formerly_incarcerated.
3500
3540
  */
@@ -3506,7 +3546,7 @@ export type UserParameters = {
3506
3546
  /**
3507
3547
  * Oregon BOLI workweek schedule: five_eight (five eight-hour days) or four_ten (four ten-hour days).
3508
3548
  */
3509
- or_boli_schedule_type?: 'five_eight' | 'four_ten';
3549
+ or_boli_schedule_type?: 'five_eight' | 'four_ten' | null;
3510
3550
  /**
3511
3551
  * Oregon BOLI race classification, as an array of codes such as white, asian, hispanic_or_latino, and black_or_african_american.
3512
3552
  */
@@ -3518,12 +3558,12 @@ export type UserParameters = {
3518
3558
  * A page of time entries, with pagination metadata and navigation links.
3519
3559
  */
3520
3560
  export type TimeEntryIndexObject = {
3521
- meta?: Meta;
3522
- links?: Links;
3561
+ meta: Meta;
3562
+ links: Links;
3523
3563
  /**
3524
3564
  * The page of time entries.
3525
3565
  */
3526
- data?: Array<TimeEntryResponseObject>;
3566
+ data: Array<TimeEntryResponseObject>;
3527
3567
  };
3528
3568
  /**
3529
3569
  * A single time entry: one atomic block of tracked work with its start/end times, optional timecode classification, optional job, pay rate, and manager approval status.
@@ -3580,15 +3620,15 @@ export type TimeEntryResponseObject = {
3580
3620
  /**
3581
3621
  * Straight-time minutes worked (1.0× pay multiplier).
3582
3622
  */
3583
- 1?: number;
3623
+ 1: number;
3584
3624
  /**
3585
3625
  * Time-and-a-half minutes worked (1.5× pay multiplier).
3586
3626
  */
3587
- 1.5?: number;
3627
+ 1.5: number;
3588
3628
  /**
3589
3629
  * Double-time minutes worked (2.0× pay multiplier).
3590
3630
  */
3591
- 2?: number;
3631
+ 2: number;
3592
3632
  };
3593
3633
  /**
3594
3634
  * The "1.5" (time-and-a-half) slice of the entry's incentive-pay overtime minutes, in minutes; an integer.
@@ -3599,9 +3639,9 @@ export type TimeEntryResponseObject = {
3599
3639
  */
3600
3640
  hourly_rate_cents: string | null;
3601
3641
  /**
3602
- * ISO currency code for the money fields, delegated from the time card; null when unset.
3642
+ * ISO currency code for the money fields, delegated from the time card's pay schedule.
3603
3643
  */
3604
- currency: string | null;
3644
+ currency: string;
3605
3645
  /**
3606
3646
  * Where the base rate came from: one of user_default, position, prevailing_wage, or custom; null when no rate is set. (The schema types this as a free-form nullable string; the value set is defined by the model enum.)
3607
3647
  */
@@ -3637,44 +3677,8 @@ export type TimeEntryResponseObject = {
3637
3677
  /**
3638
3678
  * Name of the allocated feature.
3639
3679
  */
3640
- name?: string;
3680
+ name: string;
3641
3681
  }>;
3642
- /**
3643
- * Deprecated. The worker as a nested object with id and name; prefer user_id.
3644
- *
3645
- * @deprecated
3646
- */
3647
- user: {
3648
- /**
3649
- * Unique identifier of the time entry.
3650
- */
3651
- id?: string;
3652
- /**
3653
- * The worker's name.
3654
- */
3655
- name?: string;
3656
- };
3657
- /**
3658
- * Deprecated. The timecode as a nested object with id and name; null when none is set; prefer timekeeping_timecode_id.
3659
- *
3660
- * @deprecated
3661
- */
3662
- timecode: {
3663
- /**
3664
- * Unique identifier of the time entry.
3665
- */
3666
- id?: string;
3667
- /**
3668
- * The timecode's name.
3669
- */
3670
- name?: string;
3671
- } | null;
3672
- /**
3673
- * Deprecated. Same value as hours_worked, retained for backward compatibility.
3674
- *
3675
- * @deprecated
3676
- */
3677
- total_hours: number;
3678
3682
  };
3679
3683
  /**
3680
3684
  * A record of a single approval or decline action taken against a time entry.
@@ -3719,21 +3723,21 @@ export type ManagerTimeEntryApprovalParameters = {
3719
3723
  approver_user_id: string;
3720
3724
  };
3721
3725
  /**
3722
- * Request body for creating or updating a time entry; on create, timekeeping_time_card_id, start_time, and end_time are required.
3726
+ * The time-entry body fields shared by the create and update bodies; each of those declares its own requiredness.
3723
3727
  */
3724
3728
  export type TimeEntryParameters = {
3725
3729
  /**
3726
3730
  * Id of the time card to attach the entry to; user_id is derived server-side from it. Required on create.
3727
3731
  */
3728
- timekeeping_time_card_id: string;
3732
+ timekeeping_time_card_id?: string;
3729
3733
  /**
3730
3734
  * these will be rounded to the nearest second
3731
3735
  */
3732
- start_time: string;
3736
+ start_time?: string;
3733
3737
  /**
3734
3738
  * these will be rounded to the nearest second
3735
3739
  */
3736
- end_time: string;
3740
+ end_time?: string;
3737
3741
  /**
3738
3742
  * Id of the job to work against; the worker must have a Position covering that job at start_time. Send null (or omit) for no job.
3739
3743
  */
@@ -3758,11 +3762,25 @@ export type TimeEntryParameters = {
3758
3762
  * Feature ids to allocate to this time entry. Only features your company can view are accepted.
3759
3763
  */
3760
3764
  feature_ids?: Array<string> | null;
3765
+ };
3766
+ /**
3767
+ * Request body for creating a time entry — the time_entry_parameters fields, of which timekeeping_time_card_id, start_time, and end_time are required, plus the explicit "no feature" acknowledgement.
3768
+ */
3769
+ export type TimeEntryCreateParameters = TimeEntryParameters & {
3761
3770
  /**
3762
3771
  * Set true to record an explicit "no feature" answer when the job requires a feature allocation and you're not supplying one.
3763
3772
  */
3764
3773
  feature_allocation_acknowledged?: boolean | null;
3765
3774
  };
3775
+ /**
3776
+ * Request body for updating a time entry — the time_entry_parameters fields, every one optional, plus the acknowledgement that clears an apprenticeship allocation conflict.
3777
+ */
3778
+ export type TimeEntryUpdateParameters = TimeEntryParameters & {
3779
+ /**
3780
+ * Set true to accept dropping the time card's apprenticeship hour allocations when the new times invalidate them; without it such an update returns 422.
3781
+ */
3782
+ confirm_allocation_conflict?: boolean | null;
3783
+ };
3766
3784
  /**
3767
3785
  * A page of form definitions. A form definition is a SurveyJS form template built and versioned in the web app's form builder, so this API is read-only.
3768
3786
  */
@@ -3776,93 +3794,93 @@ export type FormDefinitionResponseObject = {
3776
3794
  /**
3777
3795
  * Unique identifier.
3778
3796
  */
3779
- id?: string;
3797
+ id: string;
3780
3798
  /**
3781
3799
  * Human-readable name of the form.
3782
3800
  */
3783
- name?: string;
3801
+ name: string;
3784
3802
  /**
3785
3803
  * Free-text description of the form.
3786
3804
  */
3787
- description?: string;
3805
+ description: string;
3788
3806
  /**
3789
3807
  * ID of the company that owns this form.
3790
3808
  */
3791
- company_id?: string;
3809
+ company_id: string;
3792
3810
  /**
3793
3811
  * ID of the user who last modified the form; null when unknown.
3794
3812
  */
3795
- modified_by_user_id?: string | null;
3813
+ modified_by_user_id: string | null;
3796
3814
  /**
3797
3815
  * Lowercase tags on the form; null when none are set.
3798
3816
  */
3799
- tags?: Array<string> | null;
3817
+ tags: Array<string> | null;
3800
3818
  /**
3801
3819
  * Names of the questions whose answers make up a submission's title; null when none are set.
3802
3820
  */
3803
- title_keys?: Array<string> | null;
3821
+ title_keys: Array<string> | null;
3804
3822
  /**
3805
3823
  * Whether the form can be edited.
3806
3824
  */
3807
- editable?: boolean;
3825
+ editable: boolean;
3808
3826
  /**
3809
3827
  * Whether the form is always shown to users.
3810
3828
  */
3811
- always_visible?: boolean;
3829
+ always_visible: boolean;
3812
3830
  /**
3813
3831
  * Whether the form collects sensitive data.
3814
3832
  */
3815
- sensitive_form?: boolean;
3833
+ sensitive_form: boolean;
3816
3834
  /**
3817
3835
  * Whether a user's prior answers can be carried forward into a new submission.
3818
3836
  */
3819
- allow_carry_forward?: boolean;
3837
+ allow_carry_forward: boolean;
3820
3838
  /**
3821
3839
  * Revision number of the form's active version; null when it has no active version.
3822
3840
  */
3823
- current_revision?: number;
3841
+ current_revision: number | null;
3824
3842
  /**
3825
3843
  * The SurveyJS form schema (questions, pages, and logic).
3826
3844
  */
3827
- json?: {
3845
+ json: {
3828
3846
  [key: string]: unknown;
3829
3847
  };
3830
3848
  /**
3831
3849
  * When the record was created (ISO 8601).
3832
3850
  */
3833
- created_at?: string;
3851
+ created_at: string;
3834
3852
  }>;
3835
3853
  };
3836
3854
  /**
3837
3855
  * 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.
3838
3856
  */
3839
3857
  export type FormSubmissionIndexObject = {
3840
- meta?: Meta;
3841
- links?: Links;
3858
+ meta: Meta;
3859
+ links: Links;
3842
3860
  /**
3843
3861
  * The page of form submissions.
3844
3862
  */
3845
- data?: Array<{
3863
+ data: Array<{
3846
3864
  /**
3847
3865
  * Unique identifier.
3848
3866
  */
3849
- id?: string;
3867
+ id: string;
3850
3868
  /**
3851
3869
  * ID of the user who owns the submission.
3852
3870
  */
3853
- user_id?: string;
3871
+ user_id: string;
3854
3872
  /**
3855
3873
  * ID of the user who last updated the submission.
3856
3874
  */
3857
- updated_by_user_id?: string;
3875
+ updated_by_user_id: string;
3858
3876
  /**
3859
3877
  * When the record was created (ISO 8601).
3860
3878
  */
3861
- created_at?: string;
3879
+ created_at: string;
3862
3880
  /**
3863
3881
  * When the record was last updated (ISO 8601).
3864
3882
  */
3865
- updated_at?: string;
3883
+ updated_at: string;
3866
3884
  }>;
3867
3885
  };
3868
3886
  /**
@@ -3876,11 +3894,11 @@ export type FormSubmissionResponseObject = {
3876
3894
  /**
3877
3895
  * Unique identifier.
3878
3896
  */
3879
- id?: string;
3897
+ id: string;
3880
3898
  /**
3881
3899
  * The submitting user's name.
3882
3900
  */
3883
- name?: string;
3901
+ name: string;
3884
3902
  };
3885
3903
  /**
3886
3904
  * Human-readable title derived from the submission's title-key answers; null when none.
@@ -3964,7 +3982,7 @@ export type UserCompanyCreateParameters = {
3964
3982
  /**
3965
3983
  * How the worker is paid: hourly or salary.
3966
3984
  */
3967
- compensation_type?: string | null;
3985
+ compensation_type?: 'hourly' | 'salary';
3968
3986
  /**
3969
3987
  * Whether to enroll the worker in Time and Attendance (time tracking).
3970
3988
  */
@@ -4009,6 +4027,7 @@ export type UserCompanyCreateParameters = {
4009
4027
  * Paid training time for the year, in minutes.
4010
4028
  */
4011
4029
  training_annual_minutes?: number | null;
4030
+ [key: string]: unknown;
4012
4031
  };
4013
4032
  /**
4014
4033
  * A worker's scheduled compensation timeline at your company — the version currently in effect plus any future-dated versions.
@@ -4017,12 +4036,12 @@ export type UserCompanyScheduledChangesResponse = {
4017
4036
  /**
4018
4037
  * Id of the worker whose compensation timeline this is.
4019
4038
  */
4020
- user_id?: string;
4021
- current_version?: UserCompanyScheduledChange;
4039
+ user_id: string;
4040
+ current_version: UserCompanyScheduledChange;
4022
4041
  /**
4023
4042
  * Future-dated compensation versions, each taking effect on its start date, ordered earliest first.
4024
4043
  */
4025
- scheduled_changes?: Array<UserCompanyScheduledChange>;
4044
+ scheduled_changes: Array<UserCompanyScheduledChange>;
4026
4045
  };
4027
4046
  /**
4028
4047
  * Request body for scheduling a future-dated compensation change. effective_date sets when the new values take effect; earlier history is preserved as its own version. Covers the pay, benefit, accrual, and department fields.
@@ -4039,7 +4058,7 @@ export type UserCompanyScheduledChangesParameters = {
4039
4058
  /**
4040
4059
  * How the worker is paid: hourly or salary.
4041
4060
  */
4042
- compensation_type?: string;
4061
+ compensation_type?: 'hourly' | 'salary';
4043
4062
  /**
4044
4063
  * Whether the worker is eligible for overtime pay.
4045
4064
  */
@@ -4306,11 +4325,11 @@ export type UserGroupResponse = {
4306
4325
  /**
4307
4326
  * Unique identifier.
4308
4327
  */
4309
- id?: string;
4328
+ id: string;
4310
4329
  /**
4311
4330
  * ID of the user who belongs to the group.
4312
4331
  */
4313
- user_id?: string;
4332
+ user_id: string;
4314
4333
  };
4315
4334
  /**
4316
4335
  * Request body for adding users to a group. The group is taken from the URL path.
@@ -4349,24 +4368,24 @@ export type FormSubmissionDeltasResponse = {
4349
4368
  * A page of change events (create, update, destroy) for time entries, drawn from version history; scoped by the surviving parent time card, so a destroyed entry's history stays visible.
4350
4369
  */
4351
4370
  export type TimeEntryDeltasResponse = {
4352
- meta?: DeltaMeta;
4353
- links?: Links;
4371
+ meta: DeltaMeta;
4372
+ links: Links;
4354
4373
  /**
4355
4374
  * The page of time-entry change events.
4356
4375
  */
4357
- data?: Array<{
4376
+ data: Array<{
4358
4377
  /**
4359
4378
  * The change this event records: one of create, update, or destroy.
4360
4379
  */
4361
- event?: 'create' | 'update' | 'destroy';
4380
+ event: 'create' | 'update' | 'destroy';
4362
4381
  /**
4363
4382
  * ID of the time entry this event applies to — the entry's own id, not a version-record id; for a destroy event, the id of the now-deleted entry.
4364
4383
  */
4365
- id?: string;
4384
+ id: string;
4366
4385
  /**
4367
4386
  * When this event occurred (ISO 8601).
4368
4387
  */
4369
- timestamp?: string;
4388
+ timestamp: string;
4370
4389
  }>;
4371
4390
  };
4372
4391
  /**
@@ -4380,55 +4399,55 @@ export type UserCompanyScheduledChange = {
4380
4399
  /**
4381
4400
  * Unique identifier of this employment version.
4382
4401
  */
4383
- id?: string;
4402
+ id: string;
4384
4403
  /**
4385
4404
  * Date this version takes effect (ISO 8601). For a scheduled change this equals the effective_date that created it.
4386
4405
  */
4387
- start_date?: string;
4406
+ start_date: string;
4388
4407
  /**
4389
4408
  * Base pay rate for this version, formatted as a currency string; null when unset.
4390
4409
  */
4391
- hourly_rate?: string | null;
4410
+ hourly_rate: string | null;
4392
4411
  /**
4393
4412
  * How the worker is paid: hourly or salary.
4394
4413
  */
4395
- compensation_type?: string;
4414
+ compensation_type: string;
4396
4415
  /**
4397
4416
  * Whether the worker is eligible for overtime pay in this version.
4398
4417
  */
4399
- overtime_eligible?: boolean;
4418
+ overtime_eligible: boolean;
4400
4419
  /**
4401
4420
  * Annual training-fund contribution, formatted as a currency string; null when unset.
4402
4421
  */
4403
- training_annual_amount?: string | null;
4422
+ training_annual_amount: string | null;
4404
4423
  /**
4405
4424
  * Employer-paid annual combined health benefit, formatted as a currency string; null when unset.
4406
4425
  */
4407
- employer_combined_health_amount?: string | null;
4426
+ employer_combined_health_amount: string | null;
4408
4427
  /**
4409
4428
  * Employer-paid annual combined savings and retirement benefit, formatted as a currency string; null when unset.
4410
4429
  */
4411
- employer_combined_savings?: string | null;
4430
+ employer_combined_savings: string | null;
4412
4431
  /**
4413
4432
  * Annualized minutes the worker is expected to work in this version; null when unset.
4414
4433
  */
4415
- worked_annual_minutes?: number | null;
4434
+ worked_annual_minutes: number | null;
4416
4435
  /**
4417
4436
  * Paid time off accrued for the year, in minutes; null when unset.
4418
4437
  */
4419
- pto_annual_minutes?: number | null;
4438
+ pto_annual_minutes: number | null;
4420
4439
  /**
4421
4440
  * Holiday time accrued for the year, in minutes; null when unset.
4422
4441
  */
4423
- holiday_annual_minutes?: number | null;
4442
+ holiday_annual_minutes: number | null;
4424
4443
  /**
4425
4444
  * Paid training time for the year, in minutes; null when unset.
4426
4445
  */
4427
- training_annual_minutes?: number | null;
4446
+ training_annual_minutes: number | null;
4428
4447
  /**
4429
4448
  * Id of the department the worker is assigned to in this version; null when none.
4430
4449
  */
4431
- companies_department_id?: string | null;
4450
+ companies_department_id: string | null;
4432
4451
  };
4433
4452
  /**
4434
4453
  * Request body for scheduling the end of a worker's employment at your company. Sets the employment's end date; cancel the scheduled termination to restore open-ended employment. Deleting the employment record instead (DELETE on the membership) removes it entirely and is not reversible.
@@ -4452,39 +4471,39 @@ export type PayPeriodsResponseObject = {
4452
4471
  /**
4453
4472
  * Unique identifier.
4454
4473
  */
4455
- id?: string;
4474
+ id: string;
4456
4475
  /**
4457
4476
  * ID of the pay schedule (PayPeriodConfig) that owns this pay period, stable across all of its versions.
4458
4477
  */
4459
- timekeeping_pay_period_config_id?: string;
4478
+ timekeeping_pay_period_config_id: string;
4460
4479
  /**
4461
4480
  * Calendar date (YYYY-MM-DD) that workers are paid for this period.
4462
4481
  */
4463
- pay_date?: string;
4482
+ pay_date: string;
4464
4483
  /**
4465
4484
  * Start of the pay-period window (ISO 8601).
4466
4485
  */
4467
- start_time?: string;
4486
+ start_time: string;
4468
4487
  /**
4469
4488
  * End of the pay-period window (ISO 8601).
4470
4489
  */
4471
- end_time?: string;
4490
+ end_time: string;
4472
4491
  /**
4473
4492
  * When payroll must be run for this period (ISO 8601).
4474
4493
  */
4475
- pay_run_deadline?: string;
4494
+ pay_run_deadline: string;
4476
4495
  /**
4477
4496
  * When time-card approvals are due for this period (ISO 8601).
4478
4497
  */
4479
- approvals_deadline?: string;
4498
+ approvals_deadline: string;
4480
4499
  /**
4481
4500
  * When the record was created (ISO 8601).
4482
4501
  */
4483
- created_at?: string;
4502
+ created_at: string;
4484
4503
  /**
4485
4504
  * When the record was last updated (ISO 8601).
4486
4505
  */
4487
- updated_at?: string;
4506
+ updated_at: string;
4488
4507
  }>;
4489
4508
  };
4490
4509
  /**
@@ -4574,15 +4593,15 @@ export type TimeCardResponseObject = {
4574
4593
  /**
4575
4594
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4576
4595
  */
4577
- 1?: number;
4596
+ 1: number;
4578
4597
  /**
4579
4598
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4580
4599
  */
4581
- 1.5?: number;
4600
+ 1.5: number;
4582
4601
  /**
4583
4602
  * Minutes at the 2.0x (double-time) overtime multiplier.
4584
4603
  */
4585
- 2?: number;
4604
+ 2: number;
4586
4605
  };
4587
4606
  /**
4588
4607
  * Incentive-pay-eligible overtime minutes bucketed by pay-rate multiplier.
@@ -4591,15 +4610,15 @@ export type TimeCardResponseObject = {
4591
4610
  /**
4592
4611
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4593
4612
  */
4594
- 1?: number;
4613
+ 1: number;
4595
4614
  /**
4596
4615
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4597
4616
  */
4598
- 1.5?: number;
4617
+ 1.5: number;
4599
4618
  /**
4600
4619
  * Minutes at the 2.0x (double-time) overtime multiplier.
4601
4620
  */
4602
- 2?: number;
4621
+ 2: number;
4603
4622
  };
4604
4623
  /**
4605
4624
  * Total pay for the period in integer cents, as a decimal string.
@@ -4697,15 +4716,15 @@ export type JobTimeCardDayResponseObject = {
4697
4716
  /**
4698
4717
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4699
4718
  */
4700
- 1?: number;
4719
+ 1: number;
4701
4720
  /**
4702
4721
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4703
4722
  */
4704
- 1.5?: number;
4723
+ 1.5: number;
4705
4724
  /**
4706
4725
  * Minutes at the 2.0x (double-time) overtime multiplier.
4707
4726
  */
4708
- 2?: number;
4727
+ 2: number;
4709
4728
  };
4710
4729
  /**
4711
4730
  * Incentive-pay-eligible overtime minutes bucketed by pay-rate multiplier.
@@ -4714,15 +4733,15 @@ export type JobTimeCardDayResponseObject = {
4714
4733
  /**
4715
4734
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4716
4735
  */
4717
- 1?: number;
4736
+ 1: number;
4718
4737
  /**
4719
4738
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4720
4739
  */
4721
- 1.5?: number;
4740
+ 1.5: number;
4722
4741
  /**
4723
4742
  * Minutes at the 2.0x (double-time) overtime multiplier.
4724
4743
  */
4725
- 2?: number;
4744
+ 2: number;
4726
4745
  };
4727
4746
  /**
4728
4747
  * Total pay for this date in integer cents, as a decimal string.
@@ -4831,15 +4850,15 @@ export type JobTimeCardDayResponseObject = {
4831
4850
  /**
4832
4851
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4833
4852
  */
4834
- 1?: number;
4853
+ 1: number;
4835
4854
  /**
4836
4855
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4837
4856
  */
4838
- 1.5?: number;
4857
+ 1.5: number;
4839
4858
  /**
4840
4859
  * Minutes at the 2.0x (double-time) overtime multiplier.
4841
4860
  */
4842
- 2?: number;
4861
+ 2: number;
4843
4862
  };
4844
4863
  /**
4845
4864
  * Week-to-date running total of overtime minutes bucketed by pay-rate multiplier, through this date.
@@ -4848,15 +4867,15 @@ export type JobTimeCardDayResponseObject = {
4848
4867
  /**
4849
4868
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4850
4869
  */
4851
- 1?: number;
4870
+ 1: number;
4852
4871
  /**
4853
4872
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4854
4873
  */
4855
- 1.5?: number;
4874
+ 1.5: number;
4856
4875
  /**
4857
4876
  * Minutes at the 2.0x (double-time) overtime multiplier.
4858
4877
  */
4859
- 2?: number;
4878
+ 2: number;
4860
4879
  };
4861
4880
  /**
4862
4881
  * Pay-period-to-date running total of incentive-pay overtime minutes bucketed by pay-rate multiplier, through this date.
@@ -4865,15 +4884,15 @@ export type JobTimeCardDayResponseObject = {
4865
4884
  /**
4866
4885
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4867
4886
  */
4868
- 1?: number;
4887
+ 1: number;
4869
4888
  /**
4870
4889
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4871
4890
  */
4872
- 1.5?: number;
4891
+ 1.5: number;
4873
4892
  /**
4874
4893
  * Minutes at the 2.0x (double-time) overtime multiplier.
4875
4894
  */
4876
- 2?: number;
4895
+ 2: number;
4877
4896
  };
4878
4897
  /**
4879
4898
  * Week-to-date running total of incentive-pay overtime minutes bucketed by pay-rate multiplier, through this date.
@@ -4882,15 +4901,15 @@ export type JobTimeCardDayResponseObject = {
4882
4901
  /**
4883
4902
  * Minutes at the 1.0x (straight-time) pay-rate multiplier.
4884
4903
  */
4885
- 1?: number;
4904
+ 1: number;
4886
4905
  /**
4887
4906
  * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
4888
4907
  */
4889
- 1.5?: number;
4908
+ 1.5: number;
4890
4909
  /**
4891
4910
  * Minutes at the 2.0x (double-time) overtime multiplier.
4892
4911
  */
4893
- 2?: number;
4912
+ 2: number;
4894
4913
  };
4895
4914
  /**
4896
4915
  * Pay-period-to-date running total of total pay in integer cents, as a decimal string, through this date.
@@ -5102,7 +5121,7 @@ export type PayrollFringeBenefitPlanResponseObject = {
5102
5121
  /**
5103
5122
  * Which employer contribution this plan covers: one of employer_combined_health, employer_combined_savings, employer_combined_holiday_pto, employer_training, or employer_other_contributions. Null when unset.
5104
5123
  */
5105
- benefit_category: 'employer_combined_health' | 'employer_combined_savings' | 'employer_combined_holiday_pto' | 'employer_training' | 'employer_other_contributions';
5124
+ benefit_category: 'employer_combined_health' | 'employer_combined_savings' | 'employer_combined_holiday_pto' | 'employer_training' | 'employer_other_contributions' | null;
5106
5125
  /**
5107
5126
  * Whether this is a jointly-managed (Taft-Hartley) fund, which is exempt from the detailed Illinois fund fields.
5108
5127
  */
@@ -5244,7 +5263,7 @@ export type PayrollExternalMapResponseObject = {
5244
5263
  /**
5245
5264
  * Who the amount is attributed to: one of any, employee, or employer. Null when unset.
5246
5265
  */
5247
- contributor: 'any' | 'employee' | 'employer';
5266
+ contributor: 'any' | 'employee' | 'employer' | null;
5248
5267
  /**
5249
5268
  * Number of pay periods per year, used to annualize this element's amounts.
5250
5269
  */
@@ -5282,15 +5301,40 @@ export type PayrollExternalMapResponseObject = {
5282
5301
  */
5283
5302
  updated_at: string;
5284
5303
  };
5304
+ export type PayrollExternalMapHistoryCorrectionObject = {
5305
+ /**
5306
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
5307
+ */
5308
+ payrolls_external_map_id: string;
5309
+ name: string;
5310
+ payrolls_compensation_element_id: string;
5311
+ compensation_element_name: string;
5312
+ compensation_element_category: 'tax' | 'health' | 'retirement' | 'insurance' | 'earning' | 'garnishment' | 'other';
5313
+ timekeeping_pay_period_config_id: string | null;
5314
+ payrolls_fringe_benefit_plan_id: string | null;
5315
+ contributor: 'any' | 'employee' | 'employer' | null;
5316
+ annual_periods: number;
5317
+ created_by_user_id: string | null;
5318
+ global: boolean;
5319
+ valid_from: string | null;
5320
+ valid_to: string | null;
5321
+ transaction_from: string;
5322
+ transaction_to: string | null;
5323
+ created_at: string;
5324
+ updated_at: string;
5325
+ };
5285
5326
  export type PayrollExternalMapHistoryVersionObject = {
5286
- id: string;
5327
+ /**
5328
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
5329
+ */
5330
+ payrolls_external_map_id: string;
5287
5331
  name: string;
5288
5332
  payrolls_compensation_element_id: string;
5289
5333
  compensation_element_name: string;
5290
5334
  compensation_element_category: 'tax' | 'health' | 'retirement' | 'insurance' | 'earning' | 'garnishment' | 'other';
5291
5335
  timekeeping_pay_period_config_id: string | null;
5292
5336
  payrolls_fringe_benefit_plan_id: string | null;
5293
- contributor: 'any' | 'employee' | 'employer';
5337
+ contributor: 'any' | 'employee' | 'employer' | null;
5294
5338
  annual_periods: number;
5295
5339
  created_by_user_id: string | null;
5296
5340
  global: boolean;
@@ -5301,7 +5345,7 @@ export type PayrollExternalMapHistoryVersionObject = {
5301
5345
  created_at: string;
5302
5346
  updated_at: string;
5303
5347
  version_status: 'scheduled' | 'current' | 'historical';
5304
- corrections: Array<PayrollExternalMapResponseObject>;
5348
+ corrections: Array<PayrollExternalMapHistoryCorrectionObject>;
5305
5349
  };
5306
5350
  /**
5307
5351
  * A payroll run — a record of one payroll-processing event, synced from an external payroll system or reported to DSPTCH (never a run DSPTCH itself initiates). Paystubs belong to a run.
@@ -5725,7 +5769,7 @@ export type FeatureResponseObject = {
5725
5769
  */
5726
5770
  geometry: {
5727
5771
  [key: string]: unknown;
5728
- } | null;
5772
+ };
5729
5773
  /**
5730
5774
  * When the feature became active.
5731
5775
  */
@@ -5817,9 +5861,9 @@ export type ComplianceCheckResponseObject = {
5817
5861
  */
5818
5862
  user_id: string | null;
5819
5863
  /**
5820
- * UID of the employment (user-company) this check applies to; set only when type is "Compliances::UserCompanyCheck", else null.
5864
+ * ID of the employment (user-company) this check applies to, stable across all of its versions; set only when type is "Compliances::UserCompanyCheck", else null.
5821
5865
  */
5822
- user_company_uid: string | null;
5866
+ employment_id: string | null;
5823
5867
  /**
5824
5868
  * From the check's requirement.
5825
5869
  */
@@ -5839,7 +5883,7 @@ export type ComplianceCheckResponseObject = {
5839
5883
  /**
5840
5884
  * Urgency of the requirement: one of critical, high, medium, or low; null when the requirement sets no priority.
5841
5885
  */
5842
- priority: 'critical' | 'high' | 'medium' | 'low';
5886
+ priority: 'critical' | 'high' | 'medium' | 'low' | null;
5843
5887
  /**
5844
5888
  * When the check was last evaluated (ISO 8601); null when never evaluated.
5845
5889
  */
@@ -6229,7 +6273,7 @@ export type PaystubLineItemResponseObject = {
6229
6273
  */
6230
6274
  id: string;
6231
6275
  /**
6232
- * ID (bitemporal identity) of the external map that defines what this line item represents.
6276
+ * ID of the external map that defines what this line item represents — the identity every version of the map shares.
6233
6277
  */
6234
6278
  payrolls_external_map_id: string;
6235
6279
  /**
@@ -6251,23 +6295,23 @@ export type PaystubLineItemResponseObject = {
6251
6295
  /**
6252
6296
  * The external system's field name for the mapped compensation element.
6253
6297
  */
6254
- name?: string;
6298
+ name: string;
6255
6299
  /**
6256
6300
  * The DSPTCH compensation element the external map points to.
6257
6301
  */
6258
- compensation_element?: {
6302
+ compensation_element: {
6259
6303
  /**
6260
6304
  * Name of the compensation element (e.g. "401(k)").
6261
6305
  */
6262
- name?: string;
6306
+ name: string;
6263
6307
  /**
6264
6308
  * Free-text description of the compensation element; null when none.
6265
6309
  */
6266
- description?: string | null;
6310
+ description: string | null;
6267
6311
  /**
6268
6312
  * Internal categorization of the compensation element: one of tax, health, retirement, insurance, earning, garnishment, or other.
6269
6313
  */
6270
- category?: 'tax' | 'health' | 'retirement' | 'insurance' | 'earning' | 'garnishment' | 'other';
6314
+ category: 'tax' | 'health' | 'retirement' | 'insurance' | 'earning' | 'garnishment' | 'other';
6271
6315
  };
6272
6316
  };
6273
6317
  /**
@@ -6370,13 +6414,13 @@ export type PositionResponseObject = {
6370
6414
  */
6371
6415
  pwa: boolean;
6372
6416
  /**
6373
- * UIDs of the federal (Davis-Bacon) wage determinations applied to this position; empty when none.
6417
+ * IDs of the federal (Davis-Bacon) wage determinations applied to this position; empty when none.
6374
6418
  */
6375
- federal_wage_determination_uids: Array<string>;
6419
+ federal_wage_determination_ids: Array<string>;
6376
6420
  /**
6377
- * UIDs of the regional (state) wage determinations applied to this position; empty when none.
6421
+ * IDs of the regional (state) wage determinations applied to this position; empty when none.
6378
6422
  */
6379
- regional_wage_determination_uids: Array<string>;
6423
+ regional_wage_determination_ids: Array<string>;
6380
6424
  /**
6381
6425
  * PWA classification detail for this position; carries skill_level, the apprenticeship or skill classification, which is null when unset.
6382
6426
  */
@@ -6385,7 +6429,7 @@ export type PositionResponseObject = {
6385
6429
  * The apprenticeship or skill classification; null when unset.
6386
6430
  */
6387
6431
  skill_level: string | null;
6388
- } | null;
6432
+ };
6389
6433
  /**
6390
6434
  * Start of the position's scheduled window (ISO 8601); null when unscheduled.
6391
6435
  */
@@ -6467,7 +6511,7 @@ export type PositionParameters = {
6467
6511
  */
6468
6512
  wage_adder_rate_cents?: number | null;
6469
6513
  /**
6470
- * Wage determinations to attach or detach, each by job_wage_determination_uid (with the join record id when updating or removing an existing one).
6514
+ * Wage determinations to attach, each by job_wage_determination_id (with the join record id when updating an existing attachment). Detaching is not available through this API.
6471
6515
  */
6472
6516
  job_wage_determinations_positions_attributes?: Array<{
6473
6517
  /**
@@ -6475,9 +6519,9 @@ export type PositionParameters = {
6475
6519
  */
6476
6520
  id?: number | null;
6477
6521
  /**
6478
- * UID of the job wage determination to attach or detach.
6522
+ * ID of the job wage determination to attach.
6479
6523
  */
6480
- job_wage_determination_uid?: string | null;
6524
+ job_wage_determination_id?: string | null;
6481
6525
  }>;
6482
6526
  /**
6483
6527
  * PWA classification detail to set; skill_level sets the apprenticeship or skill classification.
@@ -6735,51 +6779,51 @@ export type FormAssignmentTaskResponseObject = Array<{
6735
6779
  /**
6736
6780
  * Unique identifier of the assignment task.
6737
6781
  */
6738
- id?: string;
6782
+ id: string;
6739
6783
  /**
6740
6784
  * ID of the form being assigned.
6741
6785
  */
6742
- form_definition_id?: string;
6786
+ form_definition_id: string;
6743
6787
  /**
6744
6788
  * Recurrence frequency (e.g. DAILY, WEEKLY); null when the assignment does not recur.
6745
6789
  */
6746
- frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY';
6790
+ frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
6747
6791
  /**
6748
6792
  * When the recurrence stops (ISO 8601); null when the assignment does not recur.
6749
6793
  */
6750
- recurrence_end_time?: string | null;
6794
+ recurrence_end_time: string | null;
6751
6795
  /**
6752
6796
  * When the assigned form is due (ISO 8601).
6753
6797
  */
6754
- time_due?: string;
6798
+ time_due: string;
6755
6799
  /**
6756
6800
  * Timezone for the due time.
6757
6801
  */
6758
- tz_name?: string;
6802
+ tz_name: string;
6759
6803
  /**
6760
6804
  * Display name of the task; falls back to the form's name.
6761
6805
  */
6762
- name?: string;
6806
+ name: string;
6763
6807
  /**
6764
6808
  * Free-text task description; null when none.
6765
6809
  */
6766
- description?: string | null;
6810
+ description: string | null;
6767
6811
  /**
6768
6812
  * IDs of the users the form is assigned to.
6769
6813
  */
6770
- task_assignee_user_ids?: Array<string>;
6814
+ task_assignee_user_ids: Array<string>;
6771
6815
  /**
6772
6816
  * Reminder schedule for the assignment.
6773
6817
  */
6774
- reminders?: Array<{
6818
+ reminders: Array<{
6775
6819
  /**
6776
6820
  * Lead time before the due time, as an ISO 8601 duration.
6777
6821
  */
6778
- offset?: string;
6822
+ offset: string;
6779
6823
  /**
6780
6824
  * Absolute time the reminder fires (ISO 8601).
6781
6825
  */
6782
- remind_at?: string;
6826
+ remind_at: string;
6783
6827
  }>;
6784
6828
  }>;
6785
6829
  /**
@@ -6801,7 +6845,7 @@ export type CertificationParameters = {
6801
6845
  /**
6802
6846
  * Whether this is a recognized, vetted credential type. This is a property of the certification definition, distinct from the verified flag on a certification a worker holds.
6803
6847
  */
6804
- verified?: boolean | null;
6848
+ verified?: boolean;
6805
6849
  /**
6806
6850
  * How long the certification stays valid, as an ISO 8601 duration (for example "P1Y" for one year or "P6M" for six months). Drives expiry reminders on held certifications; null when the certification does not expire.
6807
6851
  */
@@ -6949,7 +6993,7 @@ export type UserCertificationParameters = {
6949
6993
  /**
6950
6994
  * Whether DSPTCH has verified this held certification. Distinct from the verified flag on the certification definition itself.
6951
6995
  */
6952
- verified?: boolean | null;
6996
+ verified?: boolean;
6953
6997
  /**
6954
6998
  * When the held certification expires (YYYY-MM-DD). Must be after received_at; null when it does not expire.
6955
6999
  */
@@ -6975,12 +7019,12 @@ export type UserCertificationParameters = {
6975
7019
  * A page of certifications held by your company's workers.
6976
7020
  */
6977
7021
  export type UserCertificationsResponseObj = {
6978
- meta?: Meta;
6979
- links?: Links;
7022
+ meta: Meta;
7023
+ links: Links;
6980
7024
  /**
6981
7025
  * The page of held certifications.
6982
7026
  */
6983
- data?: Array<UserCertificationResponseObject>;
7027
+ data: Array<UserCertificationResponseObject>;
6984
7028
  };
6985
7029
  /**
6986
7030
  * A certification held by a worker — the record that a worker earned a certification, with its receipt date, optional expiry, and verification state.
@@ -7054,15 +7098,15 @@ export type PositionFunction = {
7054
7098
  /**
7055
7099
  * Unique identifier.
7056
7100
  */
7057
- id?: string;
7101
+ id: string;
7058
7102
  /**
7059
7103
  * The function name (e.g. "Electrician", "Foreman").
7060
7104
  */
7061
- value?: string;
7105
+ value: string;
7062
7106
  /**
7063
7107
  * Free-text description of what the function covers.
7064
7108
  */
7065
- description?: string;
7109
+ description: string;
7066
7110
  } | null;
7067
7111
  /**
7068
7112
  * Request body for granting a user a role in a company.
@@ -7088,24 +7132,24 @@ export type UserRoleResponse = {
7088
7132
  /**
7089
7133
  * Unique identifier.
7090
7134
  */
7091
- id?: string;
7135
+ id: string;
7092
7136
  /**
7093
7137
  * ID of the user who holds the role.
7094
7138
  */
7095
- user_id?: string;
7139
+ user_id: string;
7096
7140
  /**
7097
7141
  * ID of the company the role is scoped to.
7098
7142
  */
7099
- company_id?: string;
7143
+ company_id: string;
7100
7144
  /**
7101
7145
  * The granted role: one of TECHNICIAN, FIELD_LEAD, MANAGER, SAFETY_MANAGER, or ADMIN.
7102
7146
  */
7103
- role?: 'TECHNICIAN' | 'FIELD_LEAD' | 'MANAGER' | 'SAFETY_MANAGER' | 'ADMIN';
7147
+ role: 'TECHNICIAN' | 'FIELD_LEAD' | 'MANAGER' | 'SAFETY_MANAGER' | 'ADMIN';
7104
7148
  };
7105
7149
  /**
7106
7150
  * Employment classification of a worker at a company: EMPLOYEE (W-2) or CONTRACTOR (1099). Null when unset.
7107
7151
  */
7108
- export type UserCompanyType = 'EMPLOYEE' | 'CONTRACTOR';
7152
+ export type UserCompanyType = 'EMPLOYEE' | 'CONTRACTOR' | null;
7109
7153
  /**
7110
7154
  * Keyset pagination cursors for the collection.
7111
7155
  */
@@ -7113,17 +7157,17 @@ export type Page = {
7113
7157
  /**
7114
7158
  * Opaque cursor to send back as `page[cursor]` to fetch the next page; null when there are no more pages.
7115
7159
  */
7116
- next_cursor?: string | null;
7160
+ next_cursor: string | null;
7117
7161
  /**
7118
7162
  * Opaque cursor for the page just returned; null on the first page.
7119
7163
  */
7120
- current_cursor?: string | null;
7164
+ current_cursor: string | null;
7121
7165
  };
7122
7166
  /**
7123
7167
  * Pagination metadata for a paged collection, holding the keyset cursors under `page`.
7124
7168
  */
7125
7169
  export type Meta = {
7126
- page?: Page;
7170
+ page: Page;
7127
7171
  };
7128
7172
  /**
7129
7173
  * Pagination metadata for a change-feed page, with the feed's safe polling watermark.
@@ -7142,15 +7186,15 @@ export type Links = {
7142
7186
  /**
7143
7187
  * URL of the current request, echoing the path and query that produced this page.
7144
7188
  */
7145
- self?: string;
7189
+ self: string;
7146
7190
  /**
7147
7191
  * URL of the collection's first page.
7148
7192
  */
7149
- first?: string | null;
7193
+ first: string | null;
7150
7194
  /**
7151
7195
  * URL of the next page, already carrying its `page[cursor]`; null when this is the last page.
7152
7196
  */
7153
- next?: string | null;
7197
+ next: string | null;
7154
7198
  };
7155
7199
  /**
7156
7200
  * A timestamp range filter on a date/time field, supplied as `filter[field][gte]` and/or `filter[field][lte]`; omit or null a bound for an open-ended range.
@@ -7170,13 +7214,9 @@ export type DateTimeFilter = {
7170
7214
  */
7171
7215
  export type WageDeterminationResponseObject = {
7172
7216
  /**
7173
- * Unique identifier.
7217
+ * Identifier of this determination record — permanent, because the record is an immutable DOL publication; a DOL revision arrives as a new record linked through superseded_by_wage_determination_id, not a rewrite of this one.
7174
7218
  */
7175
7219
  id: string;
7176
- /**
7177
- * Stable identifier shared by every temporal version of this determination; the id changes with each version, the uid does not.
7178
- */
7179
- uid: string;
7180
7220
  /**
7181
7221
  * DOL general decision number identifying this determination (e.g. "CA20240001"); combine with modification_number for the full versioned identifier (e.g. "CA20240001/1").
7182
7222
  */
@@ -7298,13 +7338,9 @@ export type JobWageDeterminationResponseObject = ({
7298
7338
  */
7299
7339
  export type FederalJobWageDeterminationResponseObject = {
7300
7340
  /**
7301
- * Unique identifier.
7341
+ * Identifier of the determination, stable across every one of its temporal versions — it addresses the determination itself, not the version you happen to be reading, and is what the member and history paths take.
7302
7342
  */
7303
7343
  id: string;
7304
- /**
7305
- * Stable identifier shared by every temporal version of this determination; the id changes with each version, the uid does not.
7306
- */
7307
- uid: string;
7308
7344
  /**
7309
7345
  * ID of the job this wage determination applies to.
7310
7346
  */
@@ -7336,7 +7372,7 @@ export type FederalJobWageDeterminationResponseObject = {
7336
7372
  /**
7337
7373
  * Broad DOL construction category — one of building, heavy, highway, or residential; null when not recorded.
7338
7374
  */
7339
- construction_category: 'building' | 'heavy' | 'highway' | 'residential';
7375
+ construction_category: 'building' | 'heavy' | 'highway' | 'residential' | null;
7340
7376
  /**
7341
7377
  * The DOL general wage determination the rates are drawn from — the general decision number plus its revision (e.g. "CA20230001/5"); null when not recorded.
7342
7378
  */
@@ -7363,13 +7399,9 @@ export type FederalJobWageDeterminationResponseObject = {
7363
7399
  */
7364
7400
  export type RegionalJobWageDeterminationResponseObject = {
7365
7401
  /**
7366
- * Unique identifier.
7402
+ * Identifier of the determination, stable across every one of its temporal versions — it addresses the determination itself, not the version you happen to be reading, and is what the member and history paths take.
7367
7403
  */
7368
7404
  id: string;
7369
- /**
7370
- * Stable identifier shared by every temporal version of this determination; the id changes with each version, the uid does not.
7371
- */
7372
- uid: string;
7373
7405
  /**
7374
7406
  * ID of the job this wage determination applies to.
7375
7407
  */
@@ -7398,7 +7430,7 @@ export type RegionalJobWageDeterminationResponseObject = {
7398
7430
  * The DOL general wage determination the rates are drawn from — the general decision number plus its revision (e.g. "CA20230001/5"); null when not recorded.
7399
7431
  */
7400
7432
  general_wage_determination: string | null;
7401
- regional_fields: RegionalWageDeterminationFields;
7433
+ regional_fields: RegionalWageDeterminationFieldsResponse;
7402
7434
  /**
7403
7435
  * Valid time — when this version of the determination took effect (ISO 8601); null when the version has no recorded start.
7404
7436
  */
@@ -7422,8 +7454,10 @@ export type JobWageDeterminationHistoryVersionObject = ({
7422
7454
  type: 'Pwa::JobWageDeterminations::Regional';
7423
7455
  } & RegionalJobWageDeterminationHistoryVersionObject);
7424
7456
  export type FederalJobWageDeterminationHistoryVersionObject = {
7425
- id: string;
7426
- uid: string;
7457
+ /**
7458
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7459
+ */
7460
+ job_wage_determination_id: string;
7427
7461
  job_id: string;
7428
7462
  pwa_trade_id: string;
7429
7463
  type: 'Pwa::JobWageDeterminations::Federal';
@@ -7431,18 +7465,20 @@ export type FederalJobWageDeterminationHistoryVersionObject = {
7431
7465
  hourly_rate_cents: string;
7432
7466
  fringe_rate_cents: string;
7433
7467
  class_code: string | null;
7434
- construction_category: 'building' | 'heavy' | 'highway' | 'residential';
7468
+ construction_category: 'building' | 'heavy' | 'highway' | 'residential' | null;
7435
7469
  general_wage_determination: string | null;
7436
7470
  valid_from: string | null;
7437
7471
  valid_to: string | null;
7438
7472
  created_at: string;
7439
7473
  updated_at: string;
7440
7474
  version_status: 'scheduled' | 'current' | 'historical';
7441
- corrections: Array<JobWageDeterminationResponseObject>;
7475
+ corrections: Array<JobWageDeterminationHistoryCorrectionObject>;
7442
7476
  };
7443
7477
  export type RegionalJobWageDeterminationHistoryVersionObject = {
7444
- id: string;
7445
- uid: string;
7478
+ /**
7479
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7480
+ */
7481
+ job_wage_determination_id: string;
7446
7482
  job_id: string;
7447
7483
  pwa_trade_id: string;
7448
7484
  type: 'Pwa::JobWageDeterminations::Regional';
@@ -7450,18 +7486,116 @@ export type RegionalJobWageDeterminationHistoryVersionObject = {
7450
7486
  hourly_rate_cents: string;
7451
7487
  fringe_rate_cents: string;
7452
7488
  general_wage_determination: string | null;
7453
- regional_fields: RegionalWageDeterminationFields;
7489
+ regional_fields: RegionalWageDeterminationFieldsResponse;
7454
7490
  valid_from: string | null;
7455
7491
  valid_to: string | null;
7456
7492
  created_at: string;
7457
7493
  updated_at: string;
7458
7494
  version_status: 'scheduled' | 'current' | 'historical';
7459
- corrections: Array<JobWageDeterminationResponseObject>;
7495
+ corrections: Array<JobWageDeterminationHistoryCorrectionObject>;
7496
+ };
7497
+ export type JobWageDeterminationHistoryCorrectionObject = ({
7498
+ type: 'Pwa::JobWageDeterminations::Federal';
7499
+ } & FederalJobWageDeterminationHistoryCorrectionObject) | ({
7500
+ type: 'Pwa::JobWageDeterminations::Regional';
7501
+ } & RegionalJobWageDeterminationHistoryCorrectionObject);
7502
+ export type FederalJobWageDeterminationHistoryCorrectionObject = {
7503
+ /**
7504
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7505
+ */
7506
+ job_wage_determination_id: string;
7507
+ job_id: string;
7508
+ pwa_trade_id: string;
7509
+ type: 'Pwa::JobWageDeterminations::Federal';
7510
+ labor_classification: string;
7511
+ hourly_rate_cents: string;
7512
+ fringe_rate_cents: string;
7513
+ class_code: string | null;
7514
+ construction_category: 'building' | 'heavy' | 'highway' | 'residential' | null;
7515
+ general_wage_determination: string | null;
7516
+ valid_from: string | null;
7517
+ valid_to: string | null;
7518
+ created_at: string;
7519
+ updated_at: string;
7520
+ };
7521
+ export type RegionalJobWageDeterminationHistoryCorrectionObject = {
7522
+ /**
7523
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7524
+ */
7525
+ job_wage_determination_id: string;
7526
+ job_id: string;
7527
+ pwa_trade_id: string;
7528
+ type: 'Pwa::JobWageDeterminations::Regional';
7529
+ labor_classification: string;
7530
+ hourly_rate_cents: string;
7531
+ fringe_rate_cents: string;
7532
+ general_wage_determination: string | null;
7533
+ regional_fields: RegionalWageDeterminationFieldsResponse;
7534
+ valid_from: string | null;
7535
+ valid_to: string | null;
7536
+ created_at: string;
7537
+ updated_at: string;
7538
+ };
7539
+ /**
7540
+ * State-specific rate fields for a Regional determination, as decimal-string money in cents
7541
+ * (e.g. "538.0"). These nine properties are the whole write vocabulary, but which of them a
7542
+ * request may send is set by the job's region, not the request — sending a key the job's
7543
+ * region does not allow returns a 422:
7544
+ *
7545
+ * - Categorized-fringe regions (currently IL) accept `combined_health_fringe_rate_cents`,
7546
+ * `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
7547
+ * `training_fringe_rate_cents`, and `other_fringe_rate_cents`.
7548
+ * - Overtime-adder regions (currently IL and NY) accept `one_five_x_adder_rate_cents`,
7549
+ * `two_x_adder_rate_cents`, `one_five_x_fringe_adder_rate_cents`, and
7550
+ * `two_x_fringe_adder_rate_cents`.
7551
+ *
7552
+ * In a categorized-fringe region the five fringe keys are required, not merely accepted —
7553
+ * omitting any of them returns a 422. Categorized-fringe values are non-null when present;
7554
+ * overtime-adder values may be null.
7555
+ *
7556
+ */
7557
+ export type RegionalWageDeterminationFields = {
7558
+ /**
7559
+ * Combined health fringe rate, in cents as a decimal string. Categorized-fringe regions only; non-null when present.
7560
+ */
7561
+ combined_health_fringe_rate_cents?: string;
7562
+ /**
7563
+ * Combined savings fringe rate, in cents as a decimal string. Categorized-fringe regions only; non-null when present.
7564
+ */
7565
+ combined_savings_fringe_rate_cents?: string;
7566
+ /**
7567
+ * Combined holiday/PTO fringe rate, in cents as a decimal string. Categorized-fringe regions only; non-null when present.
7568
+ */
7569
+ combined_holiday_pto_fringe_rate_cents?: string;
7570
+ /**
7571
+ * Training fringe rate, in cents as a decimal string. Categorized-fringe regions only; non-null when present.
7572
+ */
7573
+ training_fringe_rate_cents?: string;
7574
+ /**
7575
+ * Other (uncategorized) fringe rate, in cents as a decimal string. Categorized-fringe regions only; non-null when present.
7576
+ */
7577
+ other_fringe_rate_cents?: string;
7578
+ /**
7579
+ * Hourly wage adder added to 1.5x overtime, in cents as a decimal string. Overtime-adder regions only; may be null.
7580
+ */
7581
+ one_five_x_adder_rate_cents?: string | null;
7582
+ /**
7583
+ * Hourly wage adder added to 2x overtime, in cents as a decimal string. Overtime-adder regions only; may be null.
7584
+ */
7585
+ two_x_adder_rate_cents?: string | null;
7586
+ /**
7587
+ * Hourly fringe adder added to 1.5x overtime, in cents as a decimal string. Overtime-adder regions only; may be null.
7588
+ */
7589
+ one_five_x_fringe_adder_rate_cents?: string | null;
7590
+ /**
7591
+ * Hourly fringe adder added to 2x overtime, in cents as a decimal string. Overtime-adder regions only; may be null.
7592
+ */
7593
+ two_x_fringe_adder_rate_cents?: string | null;
7460
7594
  };
7461
7595
  /**
7462
- * State-specific rate fields for a Regional determination, as decimal-string money in cents
7463
- * (e.g. "538.0"). Which keys appear is set by the job's region, not the request, so this object is
7464
- * always a subset of the keys below — never a fixed shape:
7596
+ * State-specific rate fields recorded on a Regional determination, as decimal-string money in
7597
+ * cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
7598
+ * a region-determined subset of the nine keys the write side accepts — never a fixed shape:
7465
7599
  *
7466
7600
  * - Categorized-fringe regions (currently IL) carry `combined_health_fringe_rate_cents`,
7467
7601
  * `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
@@ -7471,12 +7605,10 @@ export type RegionalJobWageDeterminationHistoryVersionObject = {
7471
7605
  * `two_x_fringe_adder_rate_cents`.
7472
7606
  * - A region with neither returns an empty object.
7473
7607
  *
7474
- * On write the same applicability governs the request sending a key the job's region does not
7475
- * allow returns a 422. Categorized-fringe values are non-null when present; overtime-adder values
7476
- * may be null.
7608
+ * Categorized-fringe values are non-null when present; overtime-adder values may be null.
7477
7609
  *
7478
7610
  */
7479
- export type RegionalWageDeterminationFields = {
7611
+ export type RegionalWageDeterminationFieldsResponse = {
7480
7612
  [key: string]: string | null;
7481
7613
  };
7482
7614
  /**
@@ -7518,7 +7650,7 @@ export type FederalJobWageDeterminationParameters = {
7518
7650
  /**
7519
7651
  * Broad DOL construction category — one of building, heavy, highway, or residential; null when not recorded.
7520
7652
  */
7521
- construction_category?: 'building' | 'heavy' | 'highway' | 'residential';
7653
+ construction_category?: 'building' | 'heavy' | 'highway' | 'residential' | null;
7522
7654
  /**
7523
7655
  * The DOL general wage determination the rates are drawn from — the general decision number plus its revision (e.g. "CA20230001/5"); null when not recorded.
7524
7656
  */
@@ -7674,15 +7806,11 @@ export type RateRuleCondition = ({
7674
7806
  */
7675
7807
  export type RateRuleResponseObject = {
7676
7808
  /**
7677
- * Unique identifier.
7809
+ * Identity shared by every version of the rule, never a per-version row id — the value the member and history paths address the rule by.
7678
7810
  */
7679
7811
  id: string;
7680
7812
  /**
7681
- * Stable identifier shared across temporal versions of the rule; the id changes with each version, the uid does not.
7682
- */
7683
- uid: string;
7684
- /**
7685
- * ID of the job wage determination this rule is applied to, taken from the request path. Because rules attach to a shared package, the same rule can surface under more than one determination.
7813
+ * ID of the job wage determination this rule is applied to, taken from the request path — the determination's own family identifier, stable across its temporal versions. Because rules attach to a shared package, the same rule can surface under more than one determination.
7686
7814
  */
7687
7815
  job_wage_determination_id: string;
7688
7816
  /**
@@ -7711,9 +7839,25 @@ export type RateRuleResponseObject = {
7711
7839
  */
7712
7840
  updated_at: string;
7713
7841
  };
7842
+ export type RateRuleHistoryCorrectionObject = {
7843
+ /**
7844
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7845
+ */
7846
+ pay_rates_rule_id: string;
7847
+ job_wage_determination_id: string;
7848
+ pay_rates_rule_package_id: string;
7849
+ effect: RateRuleEffect;
7850
+ conditions: Array<RateRuleCondition>;
7851
+ valid_from: string | null;
7852
+ valid_to: string | null;
7853
+ created_at: string;
7854
+ updated_at: string;
7855
+ };
7714
7856
  export type RateRuleHistoryVersionObject = {
7715
- id: string;
7716
- uid: string;
7857
+ /**
7858
+ * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
7859
+ */
7860
+ pay_rates_rule_id: string;
7717
7861
  job_wage_determination_id: string;
7718
7862
  pay_rates_rule_package_id: string;
7719
7863
  effect: RateRuleEffect;
@@ -7723,7 +7867,7 @@ export type RateRuleHistoryVersionObject = {
7723
7867
  created_at: string;
7724
7868
  updated_at: string;
7725
7869
  version_status: 'scheduled' | 'current' | 'historical';
7726
- corrections: Array<RateRuleResponseObject>;
7870
+ corrections: Array<RateRuleHistoryCorrectionObject>;
7727
7871
  };
7728
7872
  /**
7729
7873
  * Create a rate rule on a job wage determination. `effect` is required. `conditions` is optional — an omitted or empty list makes the rule always apply. `effective_date` (YYYY-MM-DD) sets when the rule takes effect; it defaults to today and cannot predate the earliest applicable wage determination.
@@ -7772,9 +7916,9 @@ export type AssetsItemResponseObject = {
7772
7916
  */
7773
7917
  serial_number: string | null;
7774
7918
  /**
7775
- * Lifecycle status of the item: one of available, assigned, or retired.
7919
+ * Placement status of the item: available, or assigned when held by a user.
7776
7920
  */
7777
- status: 'available' | 'assigned' | 'retired';
7921
+ status: 'available' | 'assigned' | null;
7778
7922
  /**
7779
7923
  * When the item was purchased (ISO 8601).
7780
7924
  */
@@ -7829,6 +7973,10 @@ export type AssetsItemResponseObject = {
7829
7973
  * Images attached to the item; each carries a download url for its file.
7830
7974
  */
7831
7975
  images: Array<AssetsAttachmentResponseObject>;
7976
+ /**
7977
+ * When the item was archived (ISO 8601); null while active. An archived item is hidden from listings by default (see filter[state]) and read-only, with its location and history preserved; unarchiving restores it as it was.
7978
+ */
7979
+ archived_at: string | null;
7832
7980
  /**
7833
7981
  * When the record was created (ISO 8601).
7834
7982
  */
@@ -7859,9 +8007,9 @@ export type AssetsItemParameters = {
7859
8007
  */
7860
8008
  serial_number: string;
7861
8009
  /**
7862
- * Lifecycle status of the item: one of available, assigned, or retired.
8010
+ * Placement status of the item: available, or assigned when held by a user.
7863
8011
  */
7864
- status?: 'available' | 'assigned' | 'retired';
8012
+ status?: 'available' | 'assigned';
7865
8013
  /**
7866
8014
  * When the item was purchased (ISO 8601).
7867
8015
  */
@@ -8038,7 +8186,7 @@ export type AssetsFormAssignmentTriggerResponseObject = {
8038
8186
  /**
8039
8187
  * How often the generated form recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment.
8040
8188
  */
8041
- recurrence_frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY';
8189
+ recurrence_frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
8042
8190
  /**
8043
8191
  * How the first due date is set: day_of_event (the day the rule fires), day_of_week (the next day_of_week_due), or day_of_month (day_of_month_due of the current or next month).
8044
8192
  */
@@ -8111,7 +8259,7 @@ export type AssetsFormAssignmentTriggerParameters = {
8111
8259
  /**
8112
8260
  * How often the generated form recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment.
8113
8261
  */
8114
- recurrence_frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY';
8262
+ recurrence_frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
8115
8263
  /**
8116
8264
  * Day of week the form is first due, 0 (Sunday) to 6 (Saturday). Required when first_due_by is day_of_week; null otherwise.
8117
8265
  */
@@ -8148,7 +8296,7 @@ export type AssetsAttachmentResponseObject = {
8148
8296
  /**
8149
8297
  * MIME type of the file; null when not recorded.
8150
8298
  */
8151
- content_type?: string | null;
8299
+ content_type: string | null;
8152
8300
  /**
8153
8301
  * Size of the file in bytes.
8154
8302
  */
@@ -8227,7 +8375,7 @@ export type AssetsDocumentResponseObject = {
8227
8375
  /**
8228
8376
  * MIME type of the file; null when not recorded.
8229
8377
  */
8230
- content_type?: string | null;
8378
+ content_type: string | null;
8231
8379
  /**
8232
8380
  * Size of the file in bytes.
8233
8381
  */
@@ -8313,9 +8461,9 @@ export type AssetsItemFormAssignmentResponseObject = {
8313
8461
  */
8314
8462
  description: string | null;
8315
8463
  /**
8316
- * IANA time zone in which time_due is interpreted; null for an unscheduled task.
8464
+ * IANA time zone in which time_due is interpreted; always set, defaulting to US/Central.
8317
8465
  */
8318
- tz_name: string | null;
8466
+ tz_name: string;
8319
8467
  /**
8320
8468
  * When the form task is due (ISO 8601), interpreted in tz_name; null for an unscheduled task.
8321
8469
  */
@@ -8323,7 +8471,7 @@ export type AssetsItemFormAssignmentResponseObject = {
8323
8471
  /**
8324
8472
  * How often this form task recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment; on write, applied only when recurring is true.
8325
8473
  */
8326
- frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY';
8474
+ frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
8327
8475
  /**
8328
8476
  * When recurrence stops (ISO 8601); null for a non-recurring or open-ended task.
8329
8477
  */
@@ -8339,11 +8487,11 @@ export type AssetsItemFormAssignmentResponseObject = {
8339
8487
  /**
8340
8488
  * ISO 8601 duration offset from the due time for the reminder (e.g. -PT1H for one hour before); must be one of the preset reminder times.
8341
8489
  */
8342
- offset?: string;
8490
+ offset: string;
8343
8491
  /**
8344
8492
  * When the reminder fires (ISO 8601), computed as the due time plus the offset.
8345
8493
  */
8346
- remind_at?: string | null;
8494
+ remind_at: string;
8347
8495
  }>;
8348
8496
  };
8349
8497
  /**
@@ -8389,7 +8537,7 @@ export type AssetsItemFormAssignmentParameters = {
8389
8537
  /**
8390
8538
  * How often this form task recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment; on write, applied only when recurring is true.
8391
8539
  */
8392
- frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY';
8540
+ frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
8393
8541
  /**
8394
8542
  * When recurrence stops (ISO 8601); null for a non-recurring or open-ended task.
8395
8543
  */
@@ -8995,15 +9143,6 @@ export type AssetsAdjustmentParameters = {
8995
9143
  */
8996
9144
  performed_by_user_id: string;
8997
9145
  };
8998
- /**
8999
- * Retire an item, taking it out of service. A serial item is removed from its site or user (recording the removal) and marked retired; a bulk item is flagged retired without changing its stock. Delete this resource to un-retire.
9000
- */
9001
- export type AssetsRetirementParameters = {
9002
- /**
9003
- * ID of the user this retirement is performed on behalf of, recorded on any resulting transaction. Required; must belong to your company.
9004
- */
9005
- performed_by_user_id: string;
9006
- };
9007
9146
  export type ListApiKeyScopesData = {
9008
9147
  body?: never;
9009
9148
  path?: never;
@@ -9015,7 +9154,7 @@ export type ListApiKeyScopesResponses = {
9015
9154
  * Success
9016
9155
  */
9017
9156
  200: {
9018
- data?: Array<ApiKeyScopeResponseObject>;
9157
+ data: Array<ApiKeyScopeResponseObject>;
9019
9158
  };
9020
9159
  };
9021
9160
  export type ListApiKeyScopesResponse = ListApiKeyScopesResponses[keyof ListApiKeyScopesResponses];
@@ -9085,9 +9224,9 @@ export type ListApprenticesResponses = {
9085
9224
  * Success
9086
9225
  */
9087
9226
  200: {
9088
- meta?: Meta;
9089
- links?: Links;
9090
- data?: Array<ApprenticeshipApprenticeResponseObject>;
9227
+ meta: Meta;
9228
+ links: Links;
9229
+ data: Array<ApprenticeshipApprenticeResponseObject>;
9091
9230
  };
9092
9231
  };
9093
9232
  export type ListApprenticesResponse = ListApprenticesResponses[keyof ListApprenticesResponses];
@@ -9170,9 +9309,9 @@ export type ListOccupationsResponses = {
9170
9309
  * Success
9171
9310
  */
9172
9311
  200: {
9173
- meta?: Meta;
9174
- links?: Links;
9175
- data?: Array<ApprenticeshipOccupationResponseObject>;
9312
+ meta: Meta;
9313
+ links: Links;
9314
+ data: Array<ApprenticeshipOccupationResponseObject>;
9176
9315
  };
9177
9316
  };
9178
9317
  export type ListOccupationsResponse = ListOccupationsResponses[keyof ListOccupationsResponses];
@@ -9278,9 +9417,9 @@ export type ListEmployersResponses = {
9278
9417
  * Success
9279
9418
  */
9280
9419
  200: {
9281
- meta?: Meta;
9282
- links?: Links;
9283
- data?: Array<ApprenticeshipProgramEmployerResponseObject>;
9420
+ meta: Meta;
9421
+ links: Links;
9422
+ data: Array<ApprenticeshipProgramEmployerResponseObject>;
9284
9423
  };
9285
9424
  };
9286
9425
  export type ListEmployersResponse = ListEmployersResponses[keyof ListEmployersResponses];
@@ -9407,9 +9546,9 @@ export type ListProgramsResponses = {
9407
9546
  * Success
9408
9547
  */
9409
9548
  200: {
9410
- meta?: Meta;
9411
- links?: Links;
9412
- data?: Array<ApprenticeshipProgramResponseObject>;
9549
+ meta: Meta;
9550
+ links: Links;
9551
+ data: Array<ApprenticeshipProgramResponseObject>;
9413
9552
  };
9414
9553
  };
9415
9554
  export type ListProgramsResponse = ListProgramsResponses[keyof ListProgramsResponses];
@@ -9512,9 +9651,9 @@ export type ListPeriodsResponses = {
9512
9651
  * Success
9513
9652
  */
9514
9653
  200: {
9515
- meta?: Meta;
9516
- links?: Links;
9517
- data?: Array<ApprenticeshipWageSchedulePeriodResponseObject>;
9654
+ meta: Meta;
9655
+ links: Links;
9656
+ data: Array<ApprenticeshipWageSchedulePeriodResponseObject>;
9518
9657
  };
9519
9658
  };
9520
9659
  export type ListPeriodsResponse = ListPeriodsResponses[keyof ListPeriodsResponses];
@@ -9620,9 +9759,9 @@ export type ListWageSchedulesResponses = {
9620
9759
  * Success
9621
9760
  */
9622
9761
  200: {
9623
- meta?: Meta;
9624
- links?: Links;
9625
- data?: Array<ApprenticeshipWageScheduleResponseObject>;
9762
+ meta: Meta;
9763
+ links: Links;
9764
+ data: Array<ApprenticeshipWageScheduleResponseObject>;
9626
9765
  };
9627
9766
  };
9628
9767
  export type ListWageSchedulesResponse = ListWageSchedulesResponses[keyof ListWageSchedulesResponses];
@@ -9732,9 +9871,9 @@ export type ListAttributesResponses = {
9732
9871
  * Success
9733
9872
  */
9734
9873
  200: {
9735
- meta?: Meta;
9736
- links?: Links;
9737
- data?: Array<AssetsAttributeResponseObject>;
9874
+ meta: Meta;
9875
+ links: Links;
9876
+ data: Array<AssetsAttributeResponseObject>;
9738
9877
  };
9739
9878
  };
9740
9879
  export type ListAttributesResponse = ListAttributesResponses[keyof ListAttributesResponses];
@@ -9891,9 +10030,9 @@ export type ListCategoriesResponses = {
9891
10030
  * Success
9892
10031
  */
9893
10032
  200: {
9894
- meta?: Meta;
9895
- links?: Links;
9896
- data?: Array<AssetsCategoryResponseObject>;
10033
+ meta: Meta;
10034
+ links: Links;
10035
+ data: Array<AssetsCategoryResponseObject>;
9897
10036
  };
9898
10037
  };
9899
10038
  export type ListCategoriesResponse = ListCategoriesResponses[keyof ListCategoriesResponses];
@@ -10034,9 +10173,9 @@ export type ListCustodiesResponses = {
10034
10173
  * Success
10035
10174
  */
10036
10175
  200: {
10037
- meta?: Meta;
10038
- links?: Links;
10039
- data?: Array<AssetsCustodyResponseObject>;
10176
+ meta: Meta;
10177
+ links: Links;
10178
+ data: Array<AssetsCustodyResponseObject>;
10040
10179
  };
10041
10180
  };
10042
10181
  export type ListCustodiesResponse = ListCustodiesResponses[keyof ListCustodiesResponses];
@@ -10089,9 +10228,9 @@ export type ListEventsResponses = {
10089
10228
  * Success
10090
10229
  */
10091
10230
  200: {
10092
- meta?: Meta;
10093
- links?: Links;
10094
- data?: Array<AssetsItemEventResponseObject>;
10231
+ meta: Meta;
10232
+ links: Links;
10233
+ data: Array<AssetsItemEventResponseObject>;
10095
10234
  };
10096
10235
  };
10097
10236
  export type ListEventsResponse = ListEventsResponses[keyof ListEventsResponses];
@@ -10163,9 +10302,9 @@ export type ListFormAssignmentTriggersResponses = {
10163
10302
  * Success
10164
10303
  */
10165
10304
  200: {
10166
- meta?: Meta;
10167
- links?: Links;
10168
- data?: Array<AssetsFormAssignmentTriggerResponseObject>;
10305
+ meta: Meta;
10306
+ links: Links;
10307
+ data: Array<AssetsFormAssignmentTriggerResponseObject>;
10169
10308
  };
10170
10309
  };
10171
10310
  export type ListFormAssignmentTriggersResponse = ListFormAssignmentTriggersResponses[keyof ListFormAssignmentTriggersResponses];
@@ -10290,9 +10429,9 @@ export type ListInventoriesResponses = {
10290
10429
  * Success
10291
10430
  */
10292
10431
  200: {
10293
- meta?: Meta;
10294
- links?: Links;
10295
- data?: Array<AssetsInventoryResponseObject>;
10432
+ meta: Meta;
10433
+ links: Links;
10434
+ data: Array<AssetsInventoryResponseObject>;
10296
10435
  };
10297
10436
  };
10298
10437
  export type ListInventoriesResponse = ListInventoriesResponses[keyof ListInventoriesResponses];
@@ -10354,6 +10493,10 @@ export type ListItemsData = {
10354
10493
  * Filter by service state
10355
10494
  */
10356
10495
  'filter[service]'?: string;
10496
+ /**
10497
+ * Filter by lifecycle state (defaults to 'active', hiding archived items)
10498
+ */
10499
+ 'filter[state]'?: string;
10357
10500
  filter?: string;
10358
10501
  'filter[unexpected]'?: string;
10359
10502
  };
@@ -10379,9 +10522,9 @@ export type ListItemsResponses = {
10379
10522
  * Success
10380
10523
  */
10381
10524
  200: {
10382
- meta?: Meta;
10383
- links?: Links;
10384
- data?: Array<AssetsItemResponseObject>;
10525
+ meta: Meta;
10526
+ links: Links;
10527
+ data: Array<AssetsItemResponseObject>;
10385
10528
  };
10386
10529
  };
10387
10530
  export type ListItemsResponse = ListItemsResponses[keyof ListItemsResponses];
@@ -10475,50 +10618,6 @@ export type UpdateItemResponses = {
10475
10618
  200: AssetsItemResponseObject;
10476
10619
  };
10477
10620
  export type UpdateItemResponse = UpdateItemResponses[keyof UpdateItemResponses];
10478
- export type UnretireItemData = {
10479
- body?: never;
10480
- path: {
10481
- item_id: string;
10482
- };
10483
- query?: never;
10484
- url: '/api/v1/assets/items/{item_id}/retirement';
10485
- };
10486
- export type UnretireItemErrors = {
10487
- /**
10488
- * Forbidden
10489
- */
10490
- 403: Problem;
10491
- };
10492
- export type UnretireItemError = UnretireItemErrors[keyof UnretireItemErrors];
10493
- export type UnretireItemResponses = {
10494
- /**
10495
- * Success
10496
- */
10497
- 200: AssetsItemResponseObject;
10498
- };
10499
- export type UnretireItemResponse = UnretireItemResponses[keyof UnretireItemResponses];
10500
- export type RetireItemData = {
10501
- body: AssetsRetirementParameters;
10502
- path: {
10503
- item_id: string;
10504
- };
10505
- query?: never;
10506
- url: '/api/v1/assets/items/{item_id}/retirement';
10507
- };
10508
- export type RetireItemErrors = {
10509
- /**
10510
- * Forbidden
10511
- */
10512
- 403: Problem;
10513
- };
10514
- export type RetireItemError = RetireItemErrors[keyof RetireItemErrors];
10515
- export type RetireItemResponses = {
10516
- /**
10517
- * Created
10518
- */
10519
- 201: AssetsItemResponseObject;
10520
- };
10521
- export type RetireItemResponse = RetireItemResponses[keyof RetireItemResponses];
10522
10621
  export type ListServiceSchedulesData = {
10523
10622
  body?: never;
10524
10623
  path: {
@@ -10565,9 +10664,9 @@ export type ListServiceSchedulesResponses = {
10565
10664
  * Success
10566
10665
  */
10567
10666
  200: {
10568
- meta?: Meta;
10569
- links?: Links;
10570
- data?: Array<AssetsServiceScheduleResponseObject>;
10667
+ meta: Meta;
10668
+ links: Links;
10669
+ data: Array<AssetsServiceScheduleResponseObject>;
10571
10670
  };
10572
10671
  };
10573
10672
  export type ListServiceSchedulesResponse = ListServiceSchedulesResponses[keyof ListServiceSchedulesResponses];
@@ -10723,9 +10822,9 @@ export type ListServiceEventsResponses = {
10723
10822
  * Success
10724
10823
  */
10725
10824
  200: {
10726
- meta?: Meta;
10727
- links?: Links;
10728
- data?: Array<AssetsServiceEventFullResponseObject>;
10825
+ meta: Meta;
10826
+ links: Links;
10827
+ data: Array<AssetsServiceEventFullResponseObject>;
10729
10828
  };
10730
10829
  };
10731
10830
  export type ListServiceEventsResponse = ListServiceEventsResponses[keyof ListServiceEventsResponses];
@@ -10863,9 +10962,9 @@ export type ListFormAssignmentTasksResponses = {
10863
10962
  * Success
10864
10963
  */
10865
10964
  200: {
10866
- meta?: Meta;
10867
- links?: Links;
10868
- data?: Array<AssetsItemFormAssignmentResponseObject>;
10965
+ meta: Meta;
10966
+ links: Links;
10967
+ data: Array<AssetsItemFormAssignmentResponseObject>;
10869
10968
  };
10870
10969
  };
10871
10970
  export type ListFormAssignmentTasksResponse = ListFormAssignmentTasksResponses[keyof ListFormAssignmentTasksResponses];
@@ -10986,9 +11085,9 @@ export type ListDocumentsResponses = {
10986
11085
  * Success
10987
11086
  */
10988
11087
  200: {
10989
- meta?: Meta;
10990
- links?: Links;
10991
- data?: Array<AssetsDocumentResponseObject>;
11088
+ meta: Meta;
11089
+ links: Links;
11090
+ data: Array<AssetsDocumentResponseObject>;
10992
11091
  };
10993
11092
  };
10994
11093
  export type ListDocumentsResponse = ListDocumentsResponses[keyof ListDocumentsResponses];
@@ -11116,9 +11215,9 @@ export type ListVersionsResponses = {
11116
11215
  * Success
11117
11216
  */
11118
11217
  200: {
11119
- meta?: Meta;
11120
- links?: Links;
11121
- data?: Array<AssetsDocumentVersionResponseObject>;
11218
+ meta: Meta;
11219
+ links: Links;
11220
+ data: Array<AssetsDocumentVersionResponseObject>;
11122
11221
  };
11123
11222
  };
11124
11223
  export type ListVersionsResponse = ListVersionsResponses[keyof ListVersionsResponses];
@@ -11130,6 +11229,14 @@ export type ListProductsData = {
11130
11229
  * Filter by asset category
11131
11230
  */
11132
11231
  'filter[assets_category_id]'?: string;
11232
+ /**
11233
+ * Filter by lifecycle state (defaults to 'active', hiding archived products):
11234
+ * * `active`
11235
+ * * `archived`
11236
+ * * `all`
11237
+ *
11238
+ */
11239
+ 'filter[state]'?: string;
11133
11240
  'filter[created_at][gte]'?: string;
11134
11241
  'filter[created_at][lte]'?: string;
11135
11242
  'filter[updated_at][gte]'?: string;
@@ -11169,9 +11276,9 @@ export type ListProductsResponses = {
11169
11276
  * Success
11170
11277
  */
11171
11278
  200: {
11172
- meta?: Meta;
11173
- links?: Links;
11174
- data?: Array<AssetsProductResponseObject>;
11279
+ meta: Meta;
11280
+ links: Links;
11281
+ data: Array<AssetsProductResponseObject>;
11175
11282
  };
11176
11283
  };
11177
11284
  export type ListProductsResponse = ListProductsResponses[keyof ListProductsResponses];
@@ -11363,9 +11470,9 @@ export type ListServiceScheduleTemplatesResponses = {
11363
11470
  * Success
11364
11471
  */
11365
11472
  200: {
11366
- meta?: Meta;
11367
- links?: Links;
11368
- data?: Array<AssetsServiceScheduleTemplateResponseObject>;
11473
+ meta: Meta;
11474
+ links: Links;
11475
+ data: Array<AssetsServiceScheduleTemplateResponseObject>;
11369
11476
  };
11370
11477
  };
11371
11478
  export type ListServiceScheduleTemplatesResponse = ListServiceScheduleTemplatesResponses[keyof ListServiceScheduleTemplatesResponses];
@@ -11581,9 +11688,9 @@ export type ListAssetsSitesResponses = {
11581
11688
  * Success
11582
11689
  */
11583
11690
  200: {
11584
- meta?: Meta;
11585
- links?: Links;
11586
- data?: Array<AssetsSiteResponseObject>;
11691
+ meta: Meta;
11692
+ links: Links;
11693
+ data: Array<AssetsSiteResponseObject>;
11587
11694
  };
11588
11695
  };
11589
11696
  export type ListAssetsSitesResponse = ListAssetsSitesResponses[keyof ListAssetsSitesResponses];
@@ -11723,9 +11830,9 @@ export type ListTransfersResponses = {
11723
11830
  * Success
11724
11831
  */
11725
11832
  200: {
11726
- meta?: Meta;
11727
- links?: Links;
11728
- data?: Array<AssetsTransferResponseObject>;
11833
+ meta: Meta;
11834
+ links: Links;
11835
+ data: Array<AssetsTransferResponseObject>;
11729
11836
  };
11730
11837
  };
11731
11838
  export type ListTransfersResponse = ListTransfersResponses[keyof ListTransfersResponses];
@@ -11822,9 +11929,9 @@ export type ListVendorsResponses = {
11822
11929
  * Success
11823
11930
  */
11824
11931
  200: {
11825
- meta?: Meta;
11826
- links?: Links;
11827
- data?: Array<AssetsVendorResponseObject>;
11932
+ meta: Meta;
11933
+ links: Links;
11934
+ data: Array<AssetsVendorResponseObject>;
11828
11935
  };
11829
11936
  };
11830
11937
  export type ListVendorsResponse = ListVendorsResponses[keyof ListVendorsResponses];
@@ -11973,9 +12080,9 @@ export type ListFeaturesResponses = {
11973
12080
  * Success
11974
12081
  */
11975
12082
  200: {
11976
- meta?: Meta;
11977
- links?: Links;
11978
- data?: Array<FeatureResponseObject>;
12083
+ meta: Meta;
12084
+ links: Links;
12085
+ data: Array<FeatureResponseObject>;
11979
12086
  };
11980
12087
  };
11981
12088
  export type ListFeaturesResponse = ListFeaturesResponses[keyof ListFeaturesResponses];
@@ -12052,9 +12159,9 @@ export type ListAtlasSitesResponses = {
12052
12159
  * Success
12053
12160
  */
12054
12161
  200: {
12055
- meta?: Meta;
12056
- links?: Links;
12057
- data?: Array<SiteResponseObject>;
12162
+ meta: Meta;
12163
+ links: Links;
12164
+ data: Array<SiteResponseObject>;
12058
12165
  };
12059
12166
  };
12060
12167
  export type ListAtlasSitesResponse = ListAtlasSitesResponses[keyof ListAtlasSitesResponses];
@@ -12159,9 +12266,9 @@ export type ListPackagesResponses = {
12159
12266
  * Success
12160
12267
  */
12161
12268
  200: {
12162
- meta?: Meta;
12163
- links?: Links;
12164
- data?: Array<CertificationPackageResponseObject>;
12269
+ meta: Meta;
12270
+ links: Links;
12271
+ data: Array<CertificationPackageResponseObject>;
12165
12272
  };
12166
12273
  };
12167
12274
  export type ListPackagesResponse = ListPackagesResponses[keyof ListPackagesResponses];
@@ -12610,9 +12717,9 @@ export type ListDepartmentsResponses = {
12610
12717
  * Success
12611
12718
  */
12612
12719
  200: {
12613
- meta?: Meta;
12614
- links?: Links;
12615
- data?: Array<DepartmentResponseObject>;
12720
+ meta: Meta;
12721
+ links: Links;
12722
+ data: Array<DepartmentResponseObject>;
12616
12723
  };
12617
12724
  };
12618
12725
  export type ListDepartmentsResponse = ListDepartmentsResponses[keyof ListDepartmentsResponses];
@@ -12709,9 +12816,9 @@ export type ListCompaniesResponses = {
12709
12816
  * Success
12710
12817
  */
12711
12818
  200: {
12712
- meta?: Meta;
12713
- links?: Links;
12714
- data?: Array<CompanyResponseObject>;
12819
+ meta: Meta;
12820
+ links: Links;
12821
+ data: Array<CompanyResponseObject>;
12715
12822
  };
12716
12823
  };
12717
12824
  export type ListCompaniesResponse = ListCompaniesResponses[keyof ListCompaniesResponses];
@@ -12827,9 +12934,9 @@ export type ListChecksResponses = {
12827
12934
  * Success
12828
12935
  */
12829
12936
  200: {
12830
- meta?: Meta;
12831
- links?: Links;
12832
- data?: Array<ComplianceCheckResponseObject>;
12937
+ meta: Meta;
12938
+ links: Links;
12939
+ data: Array<ComplianceCheckResponseObject>;
12833
12940
  };
12834
12941
  };
12835
12942
  export type ListChecksResponse = ListChecksResponses[keyof ListChecksResponses];
@@ -12922,9 +13029,9 @@ export type ListCustomFieldConfigsResponses = {
12922
13029
  * Success
12923
13030
  */
12924
13031
  200: {
12925
- meta?: Meta;
12926
- links?: Links;
12927
- data?: Array<CustomFieldConfigsResponseObject>;
13032
+ meta: Meta;
13033
+ links: Links;
13034
+ data: Array<CustomFieldConfigsResponseObject>;
12928
13035
  };
12929
13036
  };
12930
13037
  export type ListCustomFieldConfigsResponse = ListCustomFieldConfigsResponses[keyof ListCustomFieldConfigsResponses];
@@ -13262,9 +13369,9 @@ export type ListGroupUsersResponses = {
13262
13369
  * Success
13263
13370
  */
13264
13371
  200: {
13265
- meta?: Meta;
13266
- links?: Links;
13267
- data?: Array<UserGroupResponse>;
13372
+ meta: Meta;
13373
+ links: Links;
13374
+ data: Array<UserGroupResponse>;
13268
13375
  };
13269
13376
  };
13270
13377
  export type ListGroupUsersResponse = ListGroupUsersResponses[keyof ListGroupUsersResponses];
@@ -13354,9 +13461,9 @@ export type ListGroupsResponses = {
13354
13461
  * Success
13355
13462
  */
13356
13463
  200: {
13357
- meta?: Meta;
13358
- links?: Links;
13359
- data?: Array<GroupResponseObject>;
13464
+ meta: Meta;
13465
+ links: Links;
13466
+ data: Array<GroupResponseObject>;
13360
13467
  };
13361
13468
  };
13362
13469
  export type ListGroupsResponse = ListGroupsResponses[keyof ListGroupsResponses];
@@ -13367,6 +13474,10 @@ export type CreateGroupData = {
13367
13474
  url: '/api/v1/groups';
13368
13475
  };
13369
13476
  export type CreateGroupErrors = {
13477
+ /**
13478
+ * Bad Request
13479
+ */
13480
+ 400: Problem;
13370
13481
  /**
13371
13482
  * Forbidden
13372
13483
  */
@@ -13445,6 +13556,10 @@ export type UpdateGroupData = {
13445
13556
  url: '/api/v1/groups/{id}';
13446
13557
  };
13447
13558
  export type UpdateGroupErrors = {
13559
+ /**
13560
+ * Bad Request
13561
+ */
13562
+ 400: Problem;
13448
13563
  /**
13449
13564
  * Forbidden
13450
13565
  */
@@ -13512,9 +13627,9 @@ export type ListJobScopePricesResponses = {
13512
13627
  * Success
13513
13628
  */
13514
13629
  200: {
13515
- meta?: Meta;
13516
- links?: Links;
13517
- data?: Array<ProductionJobScopePriceResponseObject>;
13630
+ meta: Meta;
13631
+ links: Links;
13632
+ data: Array<ProductionJobScopePriceResponseObject>;
13518
13633
  };
13519
13634
  };
13520
13635
  export type ListJobScopePricesResponse = ListJobScopePricesResponses[keyof ListJobScopePricesResponses];
@@ -13671,16 +13786,16 @@ export type ListRateRuleHistoryData = {
13671
13786
  body?: never;
13672
13787
  path: {
13673
13788
  job_id: string;
13674
- wage_determination_uid: string;
13789
+ wage_determination_id: string;
13675
13790
  /**
13676
- * The rule's version-stable identity, as returned in `uid`.
13791
+ * The rule's version-stable identity, as returned in `id`.
13677
13792
  */
13678
- rate_rule_uid: string;
13793
+ rate_rule_id: string;
13679
13794
  };
13680
13795
  query?: {
13681
13796
  'as_of[valid]'?: string;
13682
13797
  };
13683
- url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_uid}/rate_rules/{rate_rule_uid}/history';
13798
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_id}/rate_rules/{rate_rule_id}/history';
13684
13799
  };
13685
13800
  export type ListRateRuleHistoryErrors = {
13686
13801
  /**
@@ -13702,9 +13817,9 @@ export type ListRateRuleHistoryResponses = {
13702
13817
  * Success
13703
13818
  */
13704
13819
  200: {
13705
- meta?: Meta;
13706
- links?: Links;
13707
- data?: Array<RateRuleHistoryVersionObject>;
13820
+ meta: Meta;
13821
+ links: Links;
13822
+ data: Array<RateRuleHistoryVersionObject>;
13708
13823
  };
13709
13824
  };
13710
13825
  export type ListRateRuleHistoryResponse = ListRateRuleHistoryResponses[keyof ListRateRuleHistoryResponses];
@@ -13712,7 +13827,7 @@ export type ListRateRulesData = {
13712
13827
  body?: never;
13713
13828
  path: {
13714
13829
  job_id: string;
13715
- wage_determination_uid: string;
13830
+ wage_determination_id: string;
13716
13831
  };
13717
13832
  query?: {
13718
13833
  /**
@@ -13724,7 +13839,7 @@ export type ListRateRulesData = {
13724
13839
  'as_of[valid][gte]'?: string;
13725
13840
  'as_of[transaction]'?: string;
13726
13841
  };
13727
- url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_uid}/rate_rules';
13842
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_id}/rate_rules';
13728
13843
  };
13729
13844
  export type ListRateRulesErrors = {
13730
13845
  /**
@@ -13746,9 +13861,9 @@ export type ListRateRulesResponses = {
13746
13861
  * Success
13747
13862
  */
13748
13863
  200: {
13749
- meta?: Meta;
13750
- links?: Links;
13751
- data?: Array<RateRuleResponseObject>;
13864
+ meta: Meta;
13865
+ links: Links;
13866
+ data: Array<RateRuleResponseObject>;
13752
13867
  };
13753
13868
  };
13754
13869
  export type ListRateRulesResponse = ListRateRulesResponses[keyof ListRateRulesResponses];
@@ -13756,10 +13871,10 @@ export type CreateRateRuleData = {
13756
13871
  body: RateRuleParameters;
13757
13872
  path: {
13758
13873
  job_id: string;
13759
- wage_determination_uid: string;
13874
+ wage_determination_id: string;
13760
13875
  };
13761
13876
  query?: never;
13762
- url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_uid}/rate_rules';
13877
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_id}/rate_rules';
13763
13878
  };
13764
13879
  export type CreateRateRuleErrors = {
13765
13880
  /**
@@ -13783,8 +13898,8 @@ export type GetRateRuleData = {
13783
13898
  body?: never;
13784
13899
  path: {
13785
13900
  job_id: string;
13786
- wage_determination_uid: string;
13787
- uid: string;
13901
+ wage_determination_id: string;
13902
+ id: string;
13788
13903
  };
13789
13904
  query?: {
13790
13905
  /**
@@ -13792,7 +13907,7 @@ export type GetRateRuleData = {
13792
13907
  */
13793
13908
  'as_of[valid]'?: string;
13794
13909
  };
13795
- url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_uid}/rate_rules/{uid}';
13910
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_id}/rate_rules/{id}';
13796
13911
  };
13797
13912
  export type GetRateRuleErrors = {
13798
13913
  /**
@@ -13817,14 +13932,14 @@ export type ListJobWageDeterminationHistoryData = {
13817
13932
  path: {
13818
13933
  job_id: string;
13819
13934
  /**
13820
- * The determination's version-stable identity, as returned in `uid`.
13935
+ * The determination's version-stable identity, as returned in `id`.
13821
13936
  */
13822
- wage_determination_uid: string;
13937
+ wage_determination_id: string;
13823
13938
  };
13824
13939
  query?: {
13825
13940
  'as_of[valid]'?: string;
13826
13941
  };
13827
- url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_uid}/history';
13942
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{wage_determination_id}/history';
13828
13943
  };
13829
13944
  export type ListJobWageDeterminationHistoryErrors = {
13830
13945
  /**
@@ -13846,9 +13961,9 @@ export type ListJobWageDeterminationHistoryResponses = {
13846
13961
  * Success
13847
13962
  */
13848
13963
  200: {
13849
- meta?: Meta;
13850
- links?: Links;
13851
- data?: Array<JobWageDeterminationHistoryVersionObject>;
13964
+ meta: Meta;
13965
+ links: Links;
13966
+ data: Array<JobWageDeterminationHistoryVersionObject>;
13852
13967
  };
13853
13968
  };
13854
13969
  export type ListJobWageDeterminationHistoryResponse = ListJobWageDeterminationHistoryResponses[keyof ListJobWageDeterminationHistoryResponses];
@@ -13889,9 +14004,9 @@ export type ListJobWageDeterminationsResponses = {
13889
14004
  * Success
13890
14005
  */
13891
14006
  200: {
13892
- meta?: Meta;
13893
- links?: Links;
13894
- data?: Array<JobWageDeterminationResponseObject>;
14007
+ meta: Meta;
14008
+ links: Links;
14009
+ data: Array<JobWageDeterminationResponseObject>;
13895
14010
  };
13896
14011
  };
13897
14012
  export type ListJobWageDeterminationsResponse = ListJobWageDeterminationsResponses[keyof ListJobWageDeterminationsResponses];
@@ -13931,10 +14046,10 @@ export type DeleteWageDeterminationData = {
13931
14046
  };
13932
14047
  path: {
13933
14048
  job_id: string;
13934
- uid: string;
14049
+ id: string;
13935
14050
  };
13936
14051
  query?: never;
13937
- url: '/api/v1/jobs/{job_id}/wage_determinations/{uid}';
14052
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{id}';
13938
14053
  };
13939
14054
  export type DeleteWageDeterminationErrors = {
13940
14055
  /**
@@ -13970,7 +14085,7 @@ export type GetJobWageDeterminationData = {
13970
14085
  body?: never;
13971
14086
  path: {
13972
14087
  job_id: string;
13973
- uid: string;
14088
+ id: string;
13974
14089
  };
13975
14090
  query?: {
13976
14091
  /**
@@ -13978,7 +14093,7 @@ export type GetJobWageDeterminationData = {
13978
14093
  */
13979
14094
  'as_of[valid]'?: string;
13980
14095
  };
13981
- url: '/api/v1/jobs/{job_id}/wage_determinations/{uid}';
14096
+ url: '/api/v1/jobs/{job_id}/wage_determinations/{id}';
13982
14097
  };
13983
14098
  export type GetJobWageDeterminationErrors = {
13984
14099
  /**
@@ -14053,9 +14168,9 @@ export type ListJobsResponses = {
14053
14168
  * Success
14054
14169
  */
14055
14170
  200: {
14056
- meta?: Meta;
14057
- links?: Links;
14058
- data?: Array<JobResponseObject>;
14171
+ meta: Meta;
14172
+ links: Links;
14173
+ data: Array<JobResponseObject>;
14059
14174
  };
14060
14175
  };
14061
14176
  export type ListJobsResponse = ListJobsResponses[keyof ListJobsResponses];
@@ -14287,9 +14402,9 @@ export type ListCompensationElementsResponses = {
14287
14402
  * Success
14288
14403
  */
14289
14404
  200: {
14290
- meta?: Meta;
14291
- links?: Links;
14292
- data?: Array<CompensationElementResponseObject>;
14405
+ meta: Meta;
14406
+ links: Links;
14407
+ data: Array<CompensationElementResponseObject>;
14293
14408
  };
14294
14409
  };
14295
14410
  export type ListCompensationElementsResponse = ListCompensationElementsResponses[keyof ListCompensationElementsResponses];
@@ -14356,9 +14471,9 @@ export type ListExternalMapHistoryResponses = {
14356
14471
  * Success
14357
14472
  */
14358
14473
  200: {
14359
- meta?: Meta;
14360
- links?: Links;
14361
- data?: Array<PayrollExternalMapHistoryVersionObject>;
14474
+ meta: Meta;
14475
+ links: Links;
14476
+ data: Array<PayrollExternalMapHistoryVersionObject>;
14362
14477
  };
14363
14478
  };
14364
14479
  export type ListExternalMapHistoryResponse = ListExternalMapHistoryResponses[keyof ListExternalMapHistoryResponses];
@@ -14424,9 +14539,9 @@ export type ListExternalMapsResponses = {
14424
14539
  * Success
14425
14540
  */
14426
14541
  200: {
14427
- meta?: Meta;
14428
- links?: Links;
14429
- data?: Array<PayrollExternalMapResponseObject>;
14542
+ meta: Meta;
14543
+ links: Links;
14544
+ data: Array<PayrollExternalMapResponseObject>;
14430
14545
  };
14431
14546
  };
14432
14547
  export type ListExternalMapsResponse = ListExternalMapsResponses[keyof ListExternalMapsResponses];
@@ -14508,9 +14623,9 @@ export type ListFringeBenefitPlansResponses = {
14508
14623
  * Success
14509
14624
  */
14510
14625
  200: {
14511
- meta?: Meta;
14512
- links?: Links;
14513
- data?: Array<PayrollFringeBenefitPlanResponseObject>;
14626
+ meta: Meta;
14627
+ links: Links;
14628
+ data: Array<PayrollFringeBenefitPlanResponseObject>;
14514
14629
  };
14515
14630
  };
14516
14631
  export type ListFringeBenefitPlansResponse = ListFringeBenefitPlansResponses[keyof ListFringeBenefitPlansResponses];
@@ -15160,9 +15275,9 @@ export type ListPerDiemsResponses = {
15160
15275
  * Success
15161
15276
  */
15162
15277
  200: {
15163
- meta?: Meta;
15164
- links?: Links;
15165
- data?: Array<PerDiemResponseObject>;
15278
+ meta: Meta;
15279
+ links: Links;
15280
+ data: Array<PerDiemResponseObject>;
15166
15281
  };
15167
15282
  };
15168
15283
  export type ListPerDiemsResponse = ListPerDiemsResponses[keyof ListPerDiemsResponses];
@@ -15173,6 +15288,10 @@ export type CreatePerDiemData = {
15173
15288
  url: '/api/v1/per_diems';
15174
15289
  };
15175
15290
  export type CreatePerDiemErrors = {
15291
+ /**
15292
+ * Bad Request
15293
+ */
15294
+ 400: Problem;
15176
15295
  /**
15177
15296
  * Forbidden
15178
15297
  */
@@ -15264,6 +15383,10 @@ export type UpdatePerDiemData = {
15264
15383
  url: '/api/v1/per_diems/{id}';
15265
15384
  };
15266
15385
  export type UpdatePerDiemErrors = {
15386
+ /**
15387
+ * Bad Request
15388
+ */
15389
+ 400: Problem;
15267
15390
  /**
15268
15391
  * Forbidden
15269
15392
  */
@@ -15314,9 +15437,9 @@ export type ListPositionFunctionsResponses = {
15314
15437
  * Success
15315
15438
  */
15316
15439
  200: {
15317
- meta?: Meta;
15318
- links?: Links;
15319
- data?: Array<PositionFunctionResponseObject>;
15440
+ meta: Meta;
15441
+ links: Links;
15442
+ data: Array<PositionFunctionResponseObject>;
15320
15443
  };
15321
15444
  };
15322
15445
  export type ListPositionFunctionsResponse = ListPositionFunctionsResponses[keyof ListPositionFunctionsResponses];
@@ -15327,6 +15450,10 @@ export type CreatePositionFunctionData = {
15327
15450
  url: '/api/v1/position_functions';
15328
15451
  };
15329
15452
  export type CreatePositionFunctionErrors = {
15453
+ /**
15454
+ * Bad Request
15455
+ */
15456
+ 400: Problem;
15330
15457
  /**
15331
15458
  * Forbidden
15332
15459
  */
@@ -15409,6 +15536,10 @@ export type UpdatePositionFunctionData = {
15409
15536
  url: '/api/v1/position_functions/{id}';
15410
15537
  };
15411
15538
  export type UpdatePositionFunctionErrors = {
15539
+ /**
15540
+ * Bad Request
15541
+ */
15542
+ 400: Problem;
15412
15543
  /**
15413
15544
  * Forbidden
15414
15545
  */
@@ -15475,9 +15606,9 @@ export type ListCompletionsResponses = {
15475
15606
  * Success
15476
15607
  */
15477
15608
  200: {
15478
- meta?: Meta;
15479
- links?: Links;
15480
- data?: Array<ProductionCompletionResponseObject>;
15609
+ meta: Meta;
15610
+ links: Links;
15611
+ data: Array<ProductionCompletionResponseObject>;
15481
15612
  };
15482
15613
  };
15483
15614
  export type ListCompletionsResponse = ListCompletionsResponses[keyof ListCompletionsResponses];
@@ -15680,9 +15811,9 @@ export type ListProjectsResponses = {
15680
15811
  * Success
15681
15812
  */
15682
15813
  200: {
15683
- meta?: Meta;
15684
- links?: Links;
15685
- data?: Array<ProjectResponseObject>;
15814
+ meta: Meta;
15815
+ links: Links;
15816
+ data: Array<ProjectResponseObject>;
15686
15817
  };
15687
15818
  };
15688
15819
  export type ListProjectsResponse = ListProjectsResponses[keyof ListProjectsResponses];
@@ -15877,9 +16008,9 @@ export type ListTradesResponses = {
15877
16008
  * Success
15878
16009
  */
15879
16010
  200: {
15880
- meta?: Meta;
15881
- links?: Links;
15882
- data?: Array<PwaTradeResponseObject>;
16011
+ meta: Meta;
16012
+ links: Links;
16013
+ data: Array<PwaTradeResponseObject>;
15883
16014
  };
15884
16015
  };
15885
16016
  export type ListTradesResponse = ListTradesResponses[keyof ListTradesResponses];
@@ -16014,6 +16145,10 @@ export type CreatePositionData = {
16014
16145
  url: '/api/v1/jobs/{job_id}/positions';
16015
16146
  };
16016
16147
  export type CreatePositionErrors = {
16148
+ /**
16149
+ * Bad Request
16150
+ */
16151
+ 400: Problem;
16017
16152
  /**
16018
16153
  * Forbidden
16019
16154
  */
@@ -16041,6 +16176,10 @@ export type UpdatePositionData = {
16041
16176
  url: '/api/v1/jobs/{job_id}/positions/{id}';
16042
16177
  };
16043
16178
  export type UpdatePositionErrors = {
16179
+ /**
16180
+ * Bad Request
16181
+ */
16182
+ 400: Problem;
16044
16183
  /**
16045
16184
  * Forbidden
16046
16185
  */
@@ -16091,9 +16230,9 @@ export type ListTemplatesResponses = {
16091
16230
  * Success
16092
16231
  */
16093
16232
  200: {
16094
- meta?: Meta;
16095
- links?: Links;
16096
- data?: Array<JobTemplateResponseObject>;
16233
+ meta: Meta;
16234
+ links: Links;
16235
+ data: Array<JobTemplateResponseObject>;
16097
16236
  };
16098
16237
  };
16099
16238
  export type ListTemplatesResponse = ListTemplatesResponses[keyof ListTemplatesResponses];
@@ -16196,9 +16335,9 @@ export type ListTimeCardPerDiemsResponses = {
16196
16335
  * Success
16197
16336
  */
16198
16337
  200: {
16199
- meta?: Meta;
16200
- links?: Links;
16201
- data?: Array<TimeCardPerDiemResponseObject>;
16338
+ meta: Meta;
16339
+ links: Links;
16340
+ data: Array<TimeCardPerDiemResponseObject>;
16202
16341
  };
16203
16342
  };
16204
16343
  export type ListTimeCardPerDiemsResponse = ListTimeCardPerDiemsResponses[keyof ListTimeCardPerDiemsResponses];
@@ -16336,9 +16475,9 @@ export type ListPriorPeriodAdjustmentsResponses = {
16336
16475
  * Success
16337
16476
  */
16338
16477
  200: {
16339
- meta?: Meta;
16340
- links?: Links;
16341
- data?: Array<PriorPeriodAdjustmentResponseObject>;
16478
+ meta: Meta;
16479
+ links: Links;
16480
+ data: Array<PriorPeriodAdjustmentResponseObject>;
16342
16481
  };
16343
16482
  };
16344
16483
  export type ListPriorPeriodAdjustmentsResponse = ListPriorPeriodAdjustmentsResponses[keyof ListPriorPeriodAdjustmentsResponses];
@@ -16584,12 +16723,16 @@ export type ListTimeEntriesResponses = {
16584
16723
  };
16585
16724
  export type ListTimeEntriesResponse = ListTimeEntriesResponses[keyof ListTimeEntriesResponses];
16586
16725
  export type CreateTimeEntryData = {
16587
- body: TimeEntryParameters;
16726
+ body: TimeEntryCreateParameters;
16588
16727
  path?: never;
16589
16728
  query?: never;
16590
16729
  url: '/api/v1/time_entries';
16591
16730
  };
16592
16731
  export type CreateTimeEntryErrors = {
16732
+ /**
16733
+ * Bad Request
16734
+ */
16735
+ 400: Problem;
16593
16736
  /**
16594
16737
  * Forbidden
16595
16738
  */
@@ -16637,7 +16780,7 @@ export type DeleteTimeEntryResponses = {
16637
16780
  };
16638
16781
  export type DeleteTimeEntryResponse = DeleteTimeEntryResponses[keyof DeleteTimeEntryResponses];
16639
16782
  export type UpdateTimeEntryData = {
16640
- body: TimeEntryParameters;
16783
+ body: TimeEntryUpdateParameters;
16641
16784
  path: {
16642
16785
  /**
16643
16786
  * Unique identifier of the time entry.
@@ -16648,6 +16791,10 @@ export type UpdateTimeEntryData = {
16648
16791
  url: '/api/v1/time_entries/{id}';
16649
16792
  };
16650
16793
  export type UpdateTimeEntryErrors = {
16794
+ /**
16795
+ * Bad Request
16796
+ */
16797
+ 400: Problem;
16651
16798
  /**
16652
16799
  * Forbidden
16653
16800
  */
@@ -16750,9 +16897,9 @@ export type ListTimecodeHistoryResponses = {
16750
16897
  * Success
16751
16898
  */
16752
16899
  200: {
16753
- meta?: Meta;
16754
- links?: Links;
16755
- data?: Array<TimecodeHistoryVersionObject>;
16900
+ meta: Meta;
16901
+ links: Links;
16902
+ data: Array<TimecodeHistoryVersionObject>;
16756
16903
  };
16757
16904
  };
16758
16905
  export type ListTimecodeHistoryResponse = ListTimecodeHistoryResponses[keyof ListTimecodeHistoryResponses];
@@ -17028,9 +17175,9 @@ export type ListTimecodesResponses = {
17028
17175
  * Success
17029
17176
  */
17030
17177
  200: {
17031
- meta?: Meta;
17032
- links?: Links;
17033
- data?: Array<TimecodeResponseObject>;
17178
+ meta: Meta;
17179
+ links: Links;
17180
+ data: Array<TimecodeResponseObject>;
17034
17181
  };
17035
17182
  };
17036
17183
  export type ListTimecodesResponse = ListTimecodesResponses[keyof ListTimecodesResponses];
@@ -17277,9 +17424,9 @@ export type ListAttestationConfigsResponses = {
17277
17424
  * Success
17278
17425
  */
17279
17426
  200: {
17280
- meta?: Meta;
17281
- links?: Links;
17282
- data?: Array<AttestationConfigResponseObject>;
17427
+ meta: Meta;
17428
+ links: Links;
17429
+ data: Array<AttestationConfigResponseObject>;
17283
17430
  };
17284
17431
  };
17285
17432
  export type ListAttestationConfigsResponse = ListAttestationConfigsResponses[keyof ListAttestationConfigsResponses];
@@ -17400,9 +17547,9 @@ export type ListPayPeriodConfigHistoryResponses = {
17400
17547
  * Success
17401
17548
  */
17402
17549
  200: {
17403
- meta?: Meta;
17404
- links?: Links;
17405
- data?: Array<PayPeriodConfigHistoryVersionObject>;
17550
+ meta: Meta;
17551
+ links: Links;
17552
+ data: Array<PayPeriodConfigHistoryVersionObject>;
17406
17553
  };
17407
17554
  };
17408
17555
  export type ListPayPeriodConfigHistoryResponse = ListPayPeriodConfigHistoryResponses[keyof ListPayPeriodConfigHistoryResponses];
@@ -17466,9 +17613,9 @@ export type ListHolidaysResponses = {
17466
17613
  * Success
17467
17614
  */
17468
17615
  200: {
17469
- meta?: Meta;
17470
- links?: Links;
17471
- data?: Array<HolidayResponseObject>;
17616
+ meta: Meta;
17617
+ links: Links;
17618
+ data: Array<HolidayResponseObject>;
17472
17619
  };
17473
17620
  };
17474
17621
  export type ListHolidaysResponse = ListHolidaysResponses[keyof ListHolidaysResponses];
@@ -17484,6 +17631,10 @@ export type CreateHolidayData = {
17484
17631
  url: '/api/v1/timekeeping/pay_period_configs/{pay_period_config_id}/holidays';
17485
17632
  };
17486
17633
  export type CreateHolidayErrors = {
17634
+ /**
17635
+ * Bad Request
17636
+ */
17637
+ 400: Problem;
17487
17638
  /**
17488
17639
  * Forbidden
17489
17640
  */
@@ -17544,6 +17695,10 @@ export type UpdateHolidayData = {
17544
17695
  url: '/api/v1/timekeeping/pay_period_configs/{pay_period_config_id}/holidays/{id}';
17545
17696
  };
17546
17697
  export type UpdateHolidayErrors = {
17698
+ /**
17699
+ * Bad Request
17700
+ */
17701
+ 400: Problem;
17547
17702
  /**
17548
17703
  * Forbidden
17549
17704
  */
@@ -17606,9 +17761,9 @@ export type ListPayPeriodConfigsResponses = {
17606
17761
  * Success
17607
17762
  */
17608
17763
  200: {
17609
- meta?: Meta;
17610
- links?: Links;
17611
- data?: Array<PayPeriodConfigResponseObject>;
17764
+ meta: Meta;
17765
+ links: Links;
17766
+ data: Array<PayPeriodConfigResponseObject>;
17612
17767
  };
17613
17768
  };
17614
17769
  export type ListPayPeriodConfigsResponse = ListPayPeriodConfigsResponses[keyof ListPayPeriodConfigsResponses];
@@ -17690,9 +17845,9 @@ export type ListTimeCardActualsResponses = {
17690
17845
  * Success
17691
17846
  */
17692
17847
  200: {
17693
- meta?: Meta;
17694
- links?: Links;
17695
- data?: Array<TimeCardActualsResponseObject>;
17848
+ meta: Meta;
17849
+ links: Links;
17850
+ data: Array<TimeCardActualsResponseObject>;
17696
17851
  };
17697
17852
  };
17698
17853
  export type ListTimeCardActualsResponse = ListTimeCardActualsResponses[keyof ListTimeCardActualsResponses];
@@ -17772,9 +17927,9 @@ export type ListUserRolesResponses = {
17772
17927
  * Success
17773
17928
  */
17774
17929
  200: {
17775
- meta?: Meta;
17776
- links?: Links;
17777
- data?: Array<UserRoleResponse>;
17930
+ meta: Meta;
17931
+ links: Links;
17932
+ data: Array<UserRoleResponse>;
17778
17933
  };
17779
17934
  };
17780
17935
  export type ListUserRolesResponse = ListUserRolesResponses[keyof ListUserRolesResponses];
@@ -18155,9 +18310,9 @@ export type ListUsersResponses = {
18155
18310
  * Success
18156
18311
  */
18157
18312
  200: {
18158
- meta?: Meta;
18159
- links?: Links;
18160
- data?: Array<UserResponseObject>;
18313
+ meta: Meta;
18314
+ links: Links;
18315
+ data: Array<UserResponseObject>;
18161
18316
  };
18162
18317
  };
18163
18318
  export type ListUsersResponse = ListUsersResponses[keyof ListUsersResponses];
@@ -18399,9 +18554,9 @@ export type ListWorkTypesResponses = {
18399
18554
  * Success
18400
18555
  */
18401
18556
  200: {
18402
- meta?: Meta;
18403
- links?: Links;
18404
- data?: Array<WorkTypeResponseObject>;
18557
+ meta: Meta;
18558
+ links: Links;
18559
+ data: Array<WorkTypeResponseObject>;
18405
18560
  };
18406
18561
  };
18407
18562
  export type ListWorkTypesResponse = ListWorkTypesResponses[keyof ListWorkTypesResponses];