@dsptch-work/api-client 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,20 @@ export type Problem = {
24
24
  /**
25
25
  * An opaque URN identifying this one occurrence of the failure, carrying the request's id. Quote it when correlating a failure with support or your logs.
26
26
  */
27
- instance?: string;
27
+ instance: string;
28
+ /**
29
+ * Optional nonempty validation entries. Each item gives a readable detail and, when the server can prove a public body location, a pointer to it. Clients must accept entries without a pointer.
30
+ */
31
+ errors?: Array<{
32
+ /**
33
+ * The validation message for this entry.
34
+ */
35
+ detail: string;
36
+ /**
37
+ * A JSON Pointer URI fragment for the public request-body field this entry identifies. Omitted when the server cannot reliably name a public field. It may name a required field absent from the body (for example `#/name`); clients must handle that missing target.
38
+ */
39
+ pointer?: string;
40
+ }>;
28
41
  };
29
42
  /**
30
43
  * Error types
@@ -1305,7 +1318,7 @@ export type TimecodeResponseObject = {
1305
1318
  updated_at: string;
1306
1319
  };
1307
1320
  /**
1308
- * An employment stint in the credential company. Its id is stable across valid-time versions; a rehire is a separate stint with a new id. A read returns only a version covering now or as_of[valid].
1321
+ * An employment stint in the credential company. Its id is stable across valid-time versions; a rehire is a separate stint with a new id. A read returns only a version covering now or as_of[valid]. Company keys, company administrators, and the employed person receive direct monetary fields; those fields are omitted for company managers reading coworkers.
1309
1322
  */
1310
1323
  export type PeopleEmploymentResponseObject = {
1311
1324
  /**
@@ -1381,21 +1394,21 @@ export type PeopleEmploymentResponseObject = {
1381
1394
  */
1382
1395
  training_annual_minutes: number | null;
1383
1396
  /**
1384
- * Hourly pay in cents as a decimal string; null when unset.
1397
+ * Hourly pay in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset.
1385
1398
  */
1386
- hourly_rate_cents: string | null;
1399
+ hourly_rate_cents?: string | null;
1387
1400
  /**
1388
- * Annual training amount in cents as a decimal string; null when unset.
1401
+ * Annual training amount in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset.
1389
1402
  */
1390
- training_annual_amount_cents: string | null;
1403
+ training_annual_amount_cents?: string | null;
1391
1404
  /**
1392
- * Employer health amount in cents as a decimal string; null when unset.
1405
+ * Employer health amount in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset.
1393
1406
  */
1394
- employer_combined_health_amount_cents: string | null;
1407
+ employer_combined_health_amount_cents?: string | null;
1395
1408
  /**
1396
- * Employer savings amount in cents as a decimal string; null when unset.
1409
+ * Employer savings amount in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset.
1397
1410
  */
1398
- employer_combined_savings_cents: string | null;
1411
+ employer_combined_savings_cents?: string | null;
1399
1412
  /**
1400
1413
  * Currency from the company's current pay schedule, or the system default when it has none. It is company configuration context rather than historical employment data.
1401
1414
  */
@@ -1439,10 +1452,10 @@ export type PeopleEmploymentHistoryCorrectionObject = {
1439
1452
  pto_annual_minutes: number | null;
1440
1453
  holiday_annual_minutes: number | null;
1441
1454
  training_annual_minutes: number | null;
1442
- hourly_rate_cents: string | null;
1443
- training_annual_amount_cents: string | null;
1444
- employer_combined_health_amount_cents: string | null;
1445
- employer_combined_savings_cents: string | null;
1455
+ hourly_rate_cents?: string | null;
1456
+ training_annual_amount_cents?: string | null;
1457
+ employer_combined_health_amount_cents?: string | null;
1458
+ employer_combined_savings_cents?: string | null;
1446
1459
  currency: string;
1447
1460
  valid_from: string | null;
1448
1461
  valid_to: string | null;
@@ -1471,10 +1484,10 @@ export type PeopleEmploymentHistoryVersionObject = {
1471
1484
  pto_annual_minutes: number | null;
1472
1485
  holiday_annual_minutes: number | null;
1473
1486
  training_annual_minutes: number | null;
1474
- hourly_rate_cents: string | null;
1475
- training_annual_amount_cents: string | null;
1476
- employer_combined_health_amount_cents: string | null;
1477
- employer_combined_savings_cents: string | null;
1487
+ hourly_rate_cents?: string | null;
1488
+ training_annual_amount_cents?: string | null;
1489
+ employer_combined_health_amount_cents?: string | null;
1490
+ employer_combined_savings_cents?: string | null;
1478
1491
  currency: string;
1479
1492
  valid_from: string | null;
1480
1493
  valid_to: string | null;
@@ -3537,7 +3550,7 @@ export type PwaJobDetailsResponseObject = {
3537
3550
  ny_dol_prc_number?: string | null;
3538
3551
  } | null;
3539
3552
  /**
3540
- * Parameters for creating a job. Sets the job's schedule, work types, address, and optional Prevailing Wage / Apprenticeship (PWA) compliance. Extra keys are accepted, including custom fields.
3553
+ * Fields shared by job creation and updates. Updates may omit any field to preserve its current value. The resulting job must still satisfy its schedule and PWA validation rules. Extra keys are accepted, including custom fields.
3541
3554
  */
3542
3555
  export type JobParameters = {
3543
3556
  /**
@@ -3553,13 +3566,13 @@ export type JobParameters = {
3553
3566
  */
3554
3567
  description?: string;
3555
3568
  /**
3556
- * ID of the company that requested the job (for example a general contractor). Required.
3569
+ * ID of the company that requested the job (for example a general contractor). Required on create; omit on update to preserve the existing requester.
3557
3570
  */
3558
- requested_by_company_id: string;
3571
+ requested_by_company_id?: string;
3559
3572
  /**
3560
3573
  * ID of the user creating the job. Required on create and immutable thereafter — an update that sets, changes, or clears it is rejected.
3561
3574
  */
3562
- created_by_user_id: string;
3575
+ created_by_user_id?: string;
3563
3576
  /**
3564
3577
  * IDs of the users who manage the job; null when the job has no managers.
3565
3578
  */
@@ -3780,7 +3793,13 @@ export type JobParameters = {
3780
3793
  [key: string]: unknown;
3781
3794
  };
3782
3795
  /**
3783
- * Parameters for updating an existing job. Accepts every job_parameters field, plus a directly settable status.
3796
+ * Parameters for creating a job. `requested_by_company_id` and `created_by_user_id` are required. Sets the job's schedule, work types, address, and optional Prevailing Wage / Apprenticeship (PWA) compliance.
3797
+ */
3798
+ export type JobCreateParameters = JobParameters & {
3799
+ [key: string]: unknown;
3800
+ };
3801
+ /**
3802
+ * Parameters for updating an existing job. Every field is optional; omit a field to preserve its current value. The resulting job must still satisfy schedule and PWA validation rules. Accepts every shared job field plus a directly settable status.
3784
3803
  */
3785
3804
  export type JobUpdateParameters = JobParameters & {
3786
3805
  /**
@@ -4227,11 +4246,11 @@ export type UserParameters = {
4227
4246
  */
4228
4247
  avatar_signed_id?: string;
4229
4248
  /**
4230
- * Id of the internal user recorded as the creator of the worker's invite. Ignored when skip_invite is set.
4249
+ * Id of the internal user recorded as the creator of the worker's invite, and named to the recipient as the person inviting them; must be a member of your company. Ignored when skip_invite is set.
4231
4250
  */
4232
4251
  created_by_user_id?: string;
4233
4252
  /**
4234
- * Id of the internal user recorded as having last sent the worker's invite. Null, and ignored, when skip_invite is set.
4253
+ * Id of the internal user recorded as having last sent the worker's invite, and named as the sender on that person's in-app notification; must be a member of your company. Null, and ignored, when skip_invite is set.
4235
4254
  */
4236
4255
  last_sent_by_user_id?: string | null;
4237
4256
  /**
@@ -5151,7 +5170,7 @@ export type CustomFieldConfigsResponseObject = {
5151
5170
  updated_at: string;
5152
5171
  };
5153
5172
  /**
5154
- * Request body for creating or updating a custom field definition.
5173
+ * Request body for creating a custom field definition. `name` and `model_type` are required.
5155
5174
  */
5156
5175
  export type CustomFieldConfigParameters = {
5157
5176
  /**
@@ -5171,6 +5190,27 @@ export type CustomFieldConfigParameters = {
5171
5190
  */
5172
5191
  visible?: boolean;
5173
5192
  };
5193
+ /**
5194
+ * Request body for updating a custom field definition. Every field is optional; omit a field to preserve its current value. The resulting definition's name must remain unique for its company and model type.
5195
+ */
5196
+ export type CustomFieldConfigUpdateParameters = {
5197
+ /**
5198
+ * Name of the custom field; omit to preserve the current value. The resulting name must remain present and unique per company and model type.
5199
+ */
5200
+ name?: string;
5201
+ /**
5202
+ * Optional description of the custom field.
5203
+ */
5204
+ description?: string | null;
5205
+ /**
5206
+ * The kind of record the field attaches to: one of apprenticeship_apprentice, company, job, or user_company. Omit to preserve the current value.
5207
+ */
5208
+ model_type?: 'apprenticeship_apprentice' | 'company' | 'job' | 'user_company';
5209
+ /**
5210
+ * Whether the field is shown.
5211
+ */
5212
+ visible?: boolean;
5213
+ };
5174
5214
  /**
5175
5215
  * A user's membership in a group.
5176
5216
  */
@@ -6665,6 +6705,10 @@ export type ProjectResponseObject = {
6665
6705
  * Identifier of the immediate parent project in the ancestry hierarchy, or null for a top-level project.
6666
6706
  */
6667
6707
  parent_id: string | null;
6708
+ /**
6709
+ * Identifiers of companies participating in this project.
6710
+ */
6711
+ participating_company_ids: Array<string>;
6668
6712
  /**
6669
6713
  * Federal PWA tracking mode: `all` (prevailing wage + apprenticeship), `pw_only` (prevailing wage), `ap_only` (apprenticeship), or `none`.
6670
6714
  */
@@ -6731,7 +6775,7 @@ export type ProjectResponseObject = {
6731
6775
  updated_at: string;
6732
6776
  };
6733
6777
  /**
6734
- * Request body for creating or updating a project. Only `name` is required by the schema; `created_by_user_id` is additionally required on create and must be a member of the owning company. The owning company is inferred from the API key and is not part of the body.
6778
+ * Request body for creating or updating a project. Only `name` is required by the schema; `created_by_user_id` is additionally required on create and must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Omit relationship fields on PATCH to leave them unchanged.
6735
6779
  */
6736
6780
  export type ProjectParameters = {
6737
6781
  /**
@@ -6746,10 +6790,107 @@ export type ProjectParameters = {
6746
6790
  * Free-form project description, or null.
6747
6791
  */
6748
6792
  description?: string | null;
6793
+ /**
6794
+ * User recorded as the project's creator; must be a member of the owning company. Required on create and immutable thereafter — an update that sets, changes, or clears it is rejected.
6795
+ */
6796
+ created_by_user_id: string;
6797
+ /**
6798
+ * ID of a project visible to the API key's policy. Send null to make the project a root; the child schedule must fit within the parent's schedule.
6799
+ */
6800
+ parent_id?: string | null;
6801
+ /**
6802
+ * Complete desired set of participating company IDs. Send an empty array to clear the set. Remove a participant's jobs before removing it from this set.
6803
+ */
6804
+ participating_company_ids?: Array<string>;
6805
+ /**
6806
+ * Schedule start date as an ISO8601 date (YYYY-MM-DD), or null; requires tz_name to be set.
6807
+ */
6808
+ start_date?: string | null;
6809
+ /**
6810
+ * Schedule end date as an ISO8601 date (YYYY-MM-DD), or null; must be on or after start_date.
6811
+ */
6812
+ end_date?: string | null;
6813
+ /**
6814
+ * IANA time zone name. Required when start_date is set.
6815
+ */
6816
+ tz_name?: string | null;
6817
+ /**
6818
+ * Day of week billing starts: 0 (Sunday) through 6 (Saturday).
6819
+ */
6820
+ billing_start_day?: number | null;
6821
+ /**
6822
+ * Federal PWA tracking mode: `all` (prevailing wage + apprenticeship), `pw_only`, `ap_only`, or `none`. Any other value returns 422.
6823
+ */
6824
+ federal_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
6825
+ /**
6826
+ * Any value other than `none` requires `region`.
6827
+ */
6828
+ regional_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
6829
+ /**
6830
+ * US state abbreviation; must be one of the owning company's operating regions.
6831
+ */
6832
+ region?: string | null;
6833
+ /**
6834
+ * Gates IRA tax-credit checks. Applies only while `federal_pwa_mode` is not `none` — sending `true` or null while federal tracking is off returns 422, and switching to `none` sets it back to `false`.
6835
+ */
6836
+ asset_owner?: boolean;
6837
+ /**
6838
+ * Name of the project administrator. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6839
+ */
6840
+ administrator_name?: string | null;
6841
+ /**
6842
+ * Email of the project administrator. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6843
+ */
6844
+ administrator_email?: string | null;
6845
+ /**
6846
+ * Phone of the project administrator, normalized to E.164. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6847
+ */
6848
+ administrator_phone?: string | null;
6849
+ /**
6850
+ * Decimal string (e.g. "5000.0"). Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6851
+ */
6852
+ budget?: string;
6853
+ /**
6854
+ * Prevailing-wage lock-in date as an ISO8601 date. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6855
+ */
6856
+ prevailing_wage_lock_in_date?: string | null;
6857
+ /**
6858
+ * IRA beginning-of-construction date as an ISO8601 date. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6859
+ */
6860
+ beginning_of_construction_date?: string | null;
6861
+ /**
6862
+ * IRA placed-in-service date as an ISO8601 date. Applies only while `federal_pwa_mode` is not `none` — sending it while federal tracking is off, even as null, returns 422, and switching to `none` clears the stored value.
6863
+ */
6864
+ placed_in_service_date?: string | null;
6865
+ };
6866
+ /**
6867
+ * Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only and an update that names it is rejected.
6868
+ */
6869
+ export type ProjectUpdateParameters = {
6870
+ /**
6871
+ * Client-supplied external identifier, or null.
6872
+ */
6873
+ external_id?: string | null;
6874
+ /**
6875
+ * Human-readable project name; omit to preserve the current value. The resulting project name must remain present and unique within the owning company.
6876
+ */
6877
+ name?: string;
6878
+ /**
6879
+ * Free-form project description, or null.
6880
+ */
6881
+ description?: string | null;
6749
6882
  /**
6750
6883
  * User recorded as the project's creator; must be a member of the owning company. Required on create and immutable thereafter — an update that sets, changes, or clears it is rejected.
6751
6884
  */
6752
6885
  created_by_user_id?: string | null;
6886
+ /**
6887
+ * ID of a project visible to the API key's policy. Send null to make the project a root; the child schedule must fit within the parent's schedule.
6888
+ */
6889
+ parent_id?: string | null;
6890
+ /**
6891
+ * Complete desired set of participating company IDs. Send an empty array to clear the set. Remove a participant's jobs before removing it from this set.
6892
+ */
6893
+ participating_company_ids?: Array<string>;
6753
6894
  /**
6754
6895
  * Schedule start date as an ISO8601 date (YYYY-MM-DD), or null; requires tz_name to be set.
6755
6896
  */
@@ -8008,6 +8149,10 @@ export type PositionResponseObject = {
8008
8149
  * ID of the worker assigned to fill this position; null when the position is unfilled.
8009
8150
  */
8010
8151
  fulfilled_by_user_id: string | null;
8152
+ /**
8153
+ * ID of the pay-rate rule package applied to this position, or null when none is set.
8154
+ */
8155
+ pay_rates_rule_package_id: string | null;
8011
8156
  position_function: PositionFunction;
8012
8157
  /**
8013
8158
  * Name of the per diem applied to this position; null when none is set.
@@ -8087,6 +8232,56 @@ export type PositionResponseObject = {
8087
8232
  */
8088
8233
  updated_at: string;
8089
8234
  };
8235
+ /**
8236
+ * A company-owned collection of conditional wage and fringe adjustments, optionally scoped to a job.
8237
+ */
8238
+ export type PayRatesRulePackageResponseObject = {
8239
+ /**
8240
+ * Unique identifier of the rule package.
8241
+ */
8242
+ id: string;
8243
+ /**
8244
+ * Human-readable package name.
8245
+ */
8246
+ name: string;
8247
+ /**
8248
+ * Free-form package description, or null.
8249
+ */
8250
+ description: string | null;
8251
+ /**
8252
+ * ID of the job this package is scoped to, or null for a company-wide package.
8253
+ */
8254
+ scoped_to_job_id: string | null;
8255
+ /**
8256
+ * Whether this is the default package within its company-wide or job scope.
8257
+ */
8258
+ default: boolean;
8259
+ /**
8260
+ * Whether users may select this package directly in configuration workflows.
8261
+ */
8262
+ selectable: boolean;
8263
+ /**
8264
+ * When the record was created (ISO 8601).
8265
+ */
8266
+ created_at: string;
8267
+ /**
8268
+ * When the record was last updated (ISO 8601).
8269
+ */
8270
+ updated_at: string;
8271
+ };
8272
+ /**
8273
+ * Parameters for creating a company-wide pay-rate rule package.
8274
+ */
8275
+ export type PayRatesRulePackageParameters = {
8276
+ /**
8277
+ * Human-readable package name.
8278
+ */
8279
+ name: string;
8280
+ /**
8281
+ * Free-form package description; send null or omit it when no description is needed.
8282
+ */
8283
+ description?: string | null;
8284
+ };
8090
8285
  /**
8091
8286
  * A page of a job's positions, with pagination metadata and navigation links.
8092
8287
  */
@@ -8165,7 +8360,7 @@ export type PositionParameters = {
8165
8360
  };
8166
8361
  };
8167
8362
  /**
8168
- * Parameters for creating or updating a per-unit scope price on a job.
8363
+ * Parameters for creating a per-unit scope price on a job. `scope_kind` and `unit_price` are required.
8169
8364
  */
8170
8365
  export type ProductionJobScopePriceParameters = {
8171
8366
  /**
@@ -8185,6 +8380,27 @@ export type ProductionJobScopePriceParameters = {
8185
8380
  */
8186
8381
  unit_of_measure?: string;
8187
8382
  };
8383
+ /**
8384
+ * Parameters for updating a per-unit scope price on a job. Every field is optional; omit a field to preserve its current value. The resulting price must retain a scope kind and non-negative unit price.
8385
+ */
8386
+ export type ProductionJobScopePriceUpdateParameters = {
8387
+ /**
8388
+ * The scope of work this price covers, as a free-text label (for example "annual", "semi_annual", or "modules"). A job has at most one price per scope kind.
8389
+ */
8390
+ scope_kind?: string;
8391
+ /**
8392
+ * Billing rate per unit, as a decimal string in the company's currency.
8393
+ */
8394
+ unit_price?: string;
8395
+ /**
8396
+ * Contracted number of units expected for this scope on the job; null when no target is set.
8397
+ */
8398
+ contracted_count?: number | null;
8399
+ /**
8400
+ * What each priced unit represents, as a free-text label (for example "modules", "piles", or "turbines"); defaults to "units".
8401
+ */
8402
+ unit_of_measure?: string;
8403
+ };
8188
8404
  /**
8189
8405
  * A per-unit billing price for one scope of work on a job. Production completions bill against these prices.
8190
8406
  */
@@ -8639,7 +8855,7 @@ export type CertificationResponseObject = {
8639
8855
  updated_at: string;
8640
8856
  };
8641
8857
  /**
8642
- * Request body for recording or updating a certification held by a worker — who holds it, which certification, when it was received, and optional proof, expiry, and verification details.
8858
+ * Request body for recording a certification held by a worker — who holds it, which certification, when it was received, and optional proof, expiry, and verification details.
8643
8859
  */
8644
8860
  export type UserCertificationParameters = {
8645
8861
  /**
@@ -8692,6 +8908,60 @@ export type UserCertificationParameters = {
8692
8908
  */
8693
8909
  approved_at?: string | null;
8694
8910
  };
8911
+ /**
8912
+ * Request body for updating a certification held by a worker. Every field is optional; omit a field to preserve its current value. The resulting certification must still have a receipt date and verification state, and any expiry date must remain after its receipt date.
8913
+ */
8914
+ export type UserCertificationUpdateParameters = {
8915
+ /**
8916
+ * Id of the worker who holds the certification. Omit to preserve the current worker.
8917
+ */
8918
+ user_id?: string;
8919
+ /**
8920
+ * Id of the certification held. Omit to preserve the current certification; a worker can hold each certification at most once.
8921
+ */
8922
+ certification_id?: string;
8923
+ /**
8924
+ * When the worker earned the certification (ISO 8601). Omit to preserve the current receipt date.
8925
+ */
8926
+ received_at?: string;
8927
+ /**
8928
+ * Optional proof document to attach (for example a certificate scan). Write-only — it is not returned in responses.
8929
+ */
8930
+ file?: {
8931
+ /**
8932
+ * File name of the proof document, including its extension (for example "gwo-cert.pdf").
8933
+ */
8934
+ name: string;
8935
+ /**
8936
+ * Base64-encoded contents of the proof document.
8937
+ */
8938
+ content: string;
8939
+ } | null;
8940
+ /**
8941
+ * Whether DSPTCH has verified this held certification. Distinct from the verified flag on the certification definition itself.
8942
+ */
8943
+ verified?: boolean;
8944
+ /**
8945
+ * When the held certification expires (YYYY-MM-DD). Must be after received_at; null when it does not expire.
8946
+ */
8947
+ expiration_date?: string | null;
8948
+ /**
8949
+ * The credential or document number for the held certification, as issued by the issuer (for example a WINDA number or a license number). Free text; null when none.
8950
+ */
8951
+ credential_id?: string | null;
8952
+ /**
8953
+ * Id of the user recorded as approving this held certification; null when unset.
8954
+ */
8955
+ approved_by_user_id?: string | null;
8956
+ /**
8957
+ * When the held certification was archived (ISO 8601); null while active. Archiving is a soft flag, separate from deleting the record.
8958
+ */
8959
+ archived_at?: string | null;
8960
+ /**
8961
+ * When this held certification was approved (ISO 8601); null when unset.
8962
+ */
8963
+ approved_at?: string | null;
8964
+ };
8695
8965
  /**
8696
8966
  * A page of certifications held by your company's workers.
8697
8967
  */
@@ -9262,6 +9532,10 @@ export type FederalJobWageDeterminationResponseObject = {
9262
9532
  * ID of the overtime package whose rules apply to this determination, or null when none is set. Not a versioned attribute: every version of the determination carries the same package, so this reads the same whatever point in time you ask for. The rules inside the package carry their own valid times.
9263
9533
  */
9264
9534
  overtime_package_id: string | null;
9535
+ /**
9536
+ * ID of the pay-rate rule package attached to this determination family, or null when none is set. The attachment is shared by every temporal version of the determination.
9537
+ */
9538
+ pay_rates_rule_package_id: string | null;
9265
9539
  /**
9266
9540
  * Determination type — the Federal or Regional subtype (an STI class name). Federal carries a DOL class code and construction category; Regional carries the nested regional_fields object.
9267
9541
  */
@@ -9327,6 +9601,10 @@ export type RegionalJobWageDeterminationResponseObject = {
9327
9601
  * ID of the overtime package whose rules apply to this determination, or null when none is set. Not a versioned attribute: every version of the determination carries the same package, so this reads the same whatever point in time you ask for. The rules inside the package carry their own valid times.
9328
9602
  */
9329
9603
  overtime_package_id: string | null;
9604
+ /**
9605
+ * ID of the pay-rate rule package attached to this determination family, or null when none is set. The attachment is shared by every temporal version of the determination.
9606
+ */
9607
+ pay_rates_rule_package_id: string | null;
9330
9608
  /**
9331
9609
  * Determination type — the Federal or Regional subtype (an STI class name). Federal carries a DOL class code and construction category; Regional carries the nested regional_fields object.
9332
9610
  */
@@ -9378,6 +9656,7 @@ export type FederalJobWageDeterminationHistoryVersionObject = {
9378
9656
  job_id: string;
9379
9657
  pwa_trade_id: string;
9380
9658
  overtime_package_id: string | null;
9659
+ pay_rates_rule_package_id: string | null;
9381
9660
  type: 'Pwa::JobWageDeterminations::Federal';
9382
9661
  labor_classification: string;
9383
9662
  hourly_rate_cents: string;
@@ -9400,6 +9679,7 @@ export type RegionalJobWageDeterminationHistoryVersionObject = {
9400
9679
  job_id: string;
9401
9680
  pwa_trade_id: string;
9402
9681
  overtime_package_id: string | null;
9682
+ pay_rates_rule_package_id: string | null;
9403
9683
  type: 'Pwa::JobWageDeterminations::Regional';
9404
9684
  labor_classification: string;
9405
9685
  hourly_rate_cents: string;
@@ -9426,6 +9706,7 @@ export type FederalJobWageDeterminationHistoryCorrectionObject = {
9426
9706
  job_id: string;
9427
9707
  pwa_trade_id: string;
9428
9708
  overtime_package_id: string | null;
9709
+ pay_rates_rule_package_id: string | null;
9429
9710
  type: 'Pwa::JobWageDeterminations::Federal';
9430
9711
  labor_classification: string;
9431
9712
  hourly_rate_cents: string;
@@ -9446,6 +9727,7 @@ export type RegionalJobWageDeterminationHistoryCorrectionObject = {
9446
9727
  job_id: string;
9447
9728
  pwa_trade_id: string;
9448
9729
  overtime_package_id: string | null;
9730
+ pay_rates_rule_package_id: string | null;
9449
9731
  type: 'Pwa::JobWageDeterminations::Regional';
9450
9732
  labor_classification: string;
9451
9733
  hourly_rate_cents: string;
@@ -9576,6 +9858,10 @@ export type FederalJobWageDeterminationParameters = {
9576
9858
  * 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.
9577
9859
  */
9578
9860
  general_wage_determination?: string | null;
9861
+ /**
9862
+ * Pay-rate rule package attached to the whole determination family. On create, omit it or send null to leave the family unattached. On update, send null to detach it or omit the key to keep the current attachment. A package belonging to another company is refused.
9863
+ */
9864
+ pay_rates_rule_package_id?: string | null;
9579
9865
  };
9580
9866
  /**
9581
9867
  * Parameters for creating a Regional (state prevailing-wage) wage determination on a job.
@@ -9609,6 +9895,10 @@ export type RegionalJobWageDeterminationParameters = {
9609
9895
  * Overtime package whose rules govern overtime on work under this determination. This is not a versioned attribute: setting it points every version at that package, not only the one this request writes, and `effective_from` does not date it. Send null to detach, leaving the determination with no overtime package of its own. Omit the key to leave the current attachment alone. A package belonging to another company is refused, and a Federal determination refuses one outright — only a Regional determination carries overtime rules.
9610
9896
  */
9611
9897
  overtime_package_id?: string | null;
9898
+ /**
9899
+ * Pay-rate rule package attached to the whole determination family. On create, omit it or send null to leave the family unattached. On update, send null to detach it or omit the key to keep the current attachment. A package belonging to another company is refused.
9900
+ */
9901
+ pay_rates_rule_package_id?: string | null;
9612
9902
  regional_fields?: RegionalWageDeterminationFields;
9613
9903
  };
9614
9904
  /**
@@ -9623,6 +9913,10 @@ export type JobWageDeterminationUpdateParameters = {
9623
9913
  * Overtime package whose rules govern overtime on work under this determination. This is not a versioned attribute: setting it points every version at that package, not only the one this request writes, and `effective_from` does not date it. Send null to detach, leaving the determination with no overtime package of its own. Omit the key to leave the current attachment alone. A package belonging to another company is refused, and a Federal determination refuses one outright — only a Regional determination carries overtime rules.
9624
9914
  */
9625
9915
  overtime_package_id?: string | null;
9916
+ /**
9917
+ * Pay-rate rule package attached to the whole determination family. On create, omit it or send null to leave the family unattached. On update, send null to detach it or omit the key to keep the current attachment. A package belonging to another company is refused.
9918
+ */
9919
+ pay_rates_rule_package_id?: string | null;
9626
9920
  /**
9627
9921
  * Human-readable labor classification — the craft or trade this determination sets rates for; the display label, distinct from the machine class code.
9628
9922
  */
@@ -9889,21 +10183,149 @@ export type RateRuleHistoryVersionObject = {
9889
10183
  corrections: Array<RateRuleHistoryCorrectionObject>;
9890
10184
  };
9891
10185
  /**
9892
- * An overtime rule (daily or weekly) belonging to an overtime package. It sets a pay multiplier that applies once a worked-hours threshold — and any day or date qualifier — is met. `valid_from`/`valid_to` bound the window this version is in effect.
10186
+ * A conditional wage or fringe adjustment owned by a pay-rate rule package, with the selected version's valid-time window.
9893
10187
  */
9894
- export type OvertimeRuleResponseObject = {
10188
+ export type PayRatesRuleResponseObject = {
9895
10189
  /**
9896
- * The rule's identity, shared by every version of it. Addresses the rule itself rather than one of its versions; versions are told apart by their `valid_from`/`valid_to` windows.
10190
+ * Identity shared by every valid-time version of the rule; the member and history paths address the family with this value.
9897
10191
  */
9898
10192
  id: string;
9899
10193
  /**
9900
- * ID of the overtime package this rule belongs to, taken from the request path.
10194
+ * ID of the pay-rate rule package that owns this rule.
9901
10195
  */
9902
- overtime_package_id: string;
10196
+ pay_rates_rule_package_id: string;
9903
10197
  /**
9904
- * The rule's cadence, as a class name: `DailyOvertimeRule` applies per day, `WeeklyOvertimeRule` per week.
10198
+ * ISO 4217 currency code for effect.amount_cents, inherited from the package's company.
9905
10199
  */
9906
- type: 'DailyOvertimeRule' | 'WeeklyOvertimeRule';
10200
+ currency: string;
10201
+ effect: RateRuleEffect;
10202
+ /**
10203
+ * Conditions that decide when the effect applies. An empty list means the rule always applies.
10204
+ */
10205
+ conditions: Array<RateRuleCondition>;
10206
+ /**
10207
+ * Valid time — when this version begins applying (ISO 8601); null for an unbounded lower bound.
10208
+ */
10209
+ valid_from: string | null;
10210
+ /**
10211
+ * Valid time — the exclusive end when this version stops applying (ISO 8601); null for an open-ended upper bound.
10212
+ */
10213
+ valid_to: string | null;
10214
+ /**
10215
+ * When the record was created (ISO 8601).
10216
+ */
10217
+ created_at: string;
10218
+ /**
10219
+ * When the record was last updated (ISO 8601).
10220
+ */
10221
+ updated_at: string;
10222
+ };
10223
+ /**
10224
+ * Parameters for creating a conditional wage or fringe adjustment in a pay-rate rule package.
10225
+ */
10226
+ export type PayRatesRuleParameters = {
10227
+ effect: RateRuleEffect;
10228
+ /**
10229
+ * Match conditions for the rule. Omit or send an empty list for an unconditional rule.
10230
+ */
10231
+ conditions?: Array<RateRuleCondition>;
10232
+ /**
10233
+ * Calendar date when the rule begins in the package company's timezone; defaults to today there.
10234
+ */
10235
+ effective_date?: string;
10236
+ };
10237
+ /**
10238
+ * Change a rule from an effective date forward. Omitted effect or conditions keep that part of the targeted version. When the targeted recipe changes, the resulting complete recipe applies from that coordinate across later scheduled versions; an unchanged recipe does not alter later scheduled versions. An empty conditions list makes the rule unconditional. Omit effective_from to correct the selected version from its exact existing start. A rule with an unbounded lower limit requires effective_from.
10239
+ */
10240
+ export type PayRatesRuleUpdateParameters = {
10241
+ effect?: RateRuleEffect;
10242
+ /**
10243
+ * Replacement match conditions. Omit this field to keep the targeted version's conditions; send an empty list to make the rule unconditional.
10244
+ */
10245
+ conditions?: Array<RateRuleCondition>;
10246
+ /**
10247
+ * Date the change begins, YYYY-MM-DD. Omit it to correct the selected version from its exact existing start. Required when that version has no lower bound.
10248
+ */
10249
+ effective_from?: string;
10250
+ };
10251
+ /**
10252
+ * Parameters for moving where a pay-rate rule family's valid-time timeline begins.
10253
+ */
10254
+ export type PayRatesRuleGenesisParameters = {
10255
+ /**
10256
+ * The timeline's new start as a calendar date (`YYYY-MM-DD`); a value carrying a time component is refused with `422` rather than truncated. Moving it earlier extends the first version back to it. Moving it later removes coverage before it. Refused with `422` when the new start would fall at or after a standing termination.
10257
+ */
10258
+ effective_date: string;
10259
+ };
10260
+ /**
10261
+ * Parameters for scheduling when a pay-rate rule family stops being valid.
10262
+ */
10263
+ export type PayRatesRuleScheduledTerminationParameters = {
10264
+ /**
10265
+ * The exclusive end of the family's valid-time timeline as a calendar date (`YYYY-MM-DD`); a value carrying a time component is refused with `422` rather than truncated. Must fall after genesis. Scheduling removes versions that start after the new end and truncates the version spanning it. A family holds at most one standing termination; cancel it before scheduling another. Cancellation reopens the last surviving version with its existing recipe and does not restore removed versions.
10266
+ */
10267
+ effective_date: string;
10268
+ };
10269
+ /**
10270
+ * Schedule a rule recipe change from a company-local effective date.
10271
+ */
10272
+ export type PayRatesRuleScheduledChangeParameters = {
10273
+ /**
10274
+ * Date the change begins, YYYY-MM-DD.
10275
+ */
10276
+ effective_date: string;
10277
+ effect?: RateRuleEffect;
10278
+ /**
10279
+ * Replacement match conditions. Omit this field to keep the targeted version's conditions; send an empty list to make the rule unconditional.
10280
+ */
10281
+ conditions?: Array<RateRuleCondition>;
10282
+ };
10283
+ export type PayRatesRuleHistoryCorrectionObject = {
10284
+ /**
10285
+ * 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.
10286
+ */
10287
+ pay_rates_rule_id: string;
10288
+ pay_rates_rule_package_id: string;
10289
+ currency: string;
10290
+ effect: RateRuleEffect;
10291
+ conditions: Array<RateRuleCondition>;
10292
+ valid_from: string | null;
10293
+ valid_to: string | null;
10294
+ created_at: string;
10295
+ updated_at: string;
10296
+ };
10297
+ export type PayRatesRuleHistoryVersionObject = {
10298
+ /**
10299
+ * 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.
10300
+ */
10301
+ pay_rates_rule_id: string;
10302
+ pay_rates_rule_package_id: string;
10303
+ currency: string;
10304
+ effect: RateRuleEffect;
10305
+ conditions: Array<RateRuleCondition>;
10306
+ valid_from: string | null;
10307
+ valid_to: string | null;
10308
+ created_at: string;
10309
+ updated_at: string;
10310
+ version_status: 'scheduled' | 'current' | 'historical';
10311
+ corrections: Array<PayRatesRuleHistoryCorrectionObject>;
10312
+ };
10313
+ /**
10314
+ * An overtime rule (daily or weekly) belonging to an overtime package. It sets a pay multiplier that applies once a worked-hours threshold — and any day or date qualifier — is met. `valid_from`/`valid_to` bound the window this version is in effect.
10315
+ */
10316
+ export type OvertimeRuleResponseObject = {
10317
+ /**
10318
+ * The rule's identity, shared by every version of it. Addresses the rule itself rather than one of its versions; versions are told apart by their `valid_from`/`valid_to` windows.
10319
+ */
10320
+ id: string;
10321
+ /**
10322
+ * ID of the overtime package this rule belongs to, taken from the request path.
10323
+ */
10324
+ overtime_package_id: string;
10325
+ /**
10326
+ * The rule's cadence, as a class name: `DailyOvertimeRule` applies per day, `WeeklyOvertimeRule` per week.
10327
+ */
10328
+ type: 'DailyOvertimeRule' | 'WeeklyOvertimeRule';
9907
10329
  /**
9908
10330
  * The overtime pay multiplier: `one_x` = 1.0x (straight time), `one_five_x` = 1.5x, `two_x` = 2.0x.
9909
10331
  */
@@ -10212,7 +10634,7 @@ export type AssetsItemResponseObject = {
10212
10634
  updated_at: string;
10213
10635
  };
10214
10636
  /**
10215
- * Create or update an asset item. The write API creates serial items only; assets_product_id and serial_number are set on create and ignored on update. On create you may also place the item — assets_site_id to stock it at a site, or user_id to assign it to a user (the two are mutually exclusive). performed_by_user_id is required.
10637
+ * Create an asset item. The write API creates serial items only; assets_product_id and serial_number identify the product and serial number. On create you may also place the item — assets_site_id to stock it at a site, or user_id to assign it to a user (the two are mutually exclusive). performed_by_user_id is required.
10216
10638
  */
10217
10639
  export type AssetsItemParameters = {
10218
10640
  /**
@@ -10276,6 +10698,71 @@ export type AssetsItemParameters = {
10276
10698
  */
10277
10699
  performed_by_user_id: string;
10278
10700
  };
10701
+ /**
10702
+ * Update an asset item. All item fields are optional — send only what changes — but performed_by_user_id is required to record the updater and any placement. Omitted attributes retain their existing values.
10703
+ */
10704
+ export type AssetsItemUpdateParameters = {
10705
+ /**
10706
+ * Human-readable name for the item.
10707
+ */
10708
+ name?: string;
10709
+ /**
10710
+ * Free-text description of the item.
10711
+ */
10712
+ description?: string;
10713
+ /**
10714
+ * ID of the product this item is an instance of.
10715
+ */
10716
+ assets_product_id?: string;
10717
+ /**
10718
+ * Serial number identifying the individual physical unit; unique within its product.
10719
+ */
10720
+ serial_number?: string;
10721
+ /**
10722
+ * Placement status of the item: available, or assigned when held by a user.
10723
+ */
10724
+ status?: 'available' | 'assigned';
10725
+ /**
10726
+ * When the item was purchased (ISO 8601).
10727
+ */
10728
+ purchase_date?: string;
10729
+ /**
10730
+ * Purchase price in cents, in the item's currency.
10731
+ */
10732
+ purchase_price_cents?: number;
10733
+ /**
10734
+ * Identifier for this item in an external system.
10735
+ */
10736
+ external_id?: string;
10737
+ /**
10738
+ * URL to this item in an external system.
10739
+ */
10740
+ external_system_url?: string;
10741
+ /**
10742
+ * Image attachments. Send file with a signed_id to add one; include id with _destroy to remove an existing one.
10743
+ */
10744
+ images_attributes?: Array<AssetsAttachmentParameters>;
10745
+ /**
10746
+ * Optional. Move the item to this site; mutually exclusive with user_id and container_item_id.
10747
+ */
10748
+ assets_site_id?: string;
10749
+ /**
10750
+ * Optional. Assign the item to this user; mutually exclusive with assets_site_id and container_item_id.
10751
+ */
10752
+ user_id?: string;
10753
+ /**
10754
+ * Optional. Place the item inside this container item; mutually exclusive with assets_site_id and user_id.
10755
+ */
10756
+ container_item_id?: string;
10757
+ /**
10758
+ * Optional. The storage location within the placement site or container; omit for an unbinned placement. Ignored for a user assignment.
10759
+ */
10760
+ assets_sub_location_id?: string;
10761
+ /**
10762
+ * ID of the user this update is performed on behalf of, recorded as updater and attributed to any placement. Required; must belong to your company.
10763
+ */
10764
+ performed_by_user_id: string;
10765
+ };
10279
10766
  /**
10280
10767
  * A vendor in the company's asset catalog — a supplier or manufacturer that products are sourced from.
10281
10768
  */
@@ -10531,6 +11018,59 @@ export type AssetsFormAssignmentTriggerParameters = {
10531
11018
  */
10532
11019
  assets_product_ids?: Array<string>;
10533
11020
  };
11021
+ /**
11022
+ * Update a form-assignment trigger rule. All fields are optional — send only what changes. When changing first_due_by, include the matching day field when required; assigned_user_ids applies only to the custom assign_to mode.
11023
+ */
11024
+ export type AssetsFormAssignmentTriggerUpdateParameters = {
11025
+ /**
11026
+ * ID of the form definition (a SurveyJS form template) this assignment is for.
11027
+ */
11028
+ form_definition_id?: string;
11029
+ /**
11030
+ * The custody event that fires the rule: assignment (an item is assigned to a user) or unassignment (an item is removed from a user).
11031
+ */
11032
+ triggered_by?: 'assignment' | 'unassignment';
11033
+ /**
11034
+ * Who the generated form is assigned to: custom (the users in assigned_user_ids), asset_assignee (the user who now holds the item), or previous_asset_assignee (the user who held it before the event).
11035
+ */
11036
+ assign_to?: 'custom' | 'asset_assignee' | 'previous_asset_assignee';
11037
+ /**
11038
+ * 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).
11039
+ */
11040
+ first_due_by?: 'day_of_event' | 'day_of_week' | 'day_of_month';
11041
+ /**
11042
+ * IANA time zone (e.g. "America/New_York") in which time_of_day_due is interpreted.
11043
+ */
11044
+ tz_name?: string;
11045
+ /**
11046
+ * Wall-clock time of day the form is due (HH:MM), interpreted in tz_name.
11047
+ */
11048
+ time_of_day_due?: string;
11049
+ /**
11050
+ * Optional label for this trigger rule; null when unset.
11051
+ */
11052
+ name?: string | null;
11053
+ /**
11054
+ * How often the generated form recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment.
11055
+ */
11056
+ recurrence_frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
11057
+ /**
11058
+ * Day of week the form is first due, 0 (Sunday) to 6 (Saturday). Required when first_due_by is day_of_week; null otherwise.
11059
+ */
11060
+ day_of_week_due?: number | null;
11061
+ /**
11062
+ * Day of month the form is first due, 1 to 31 (clamped to the month's last day). Required when first_due_by is day_of_month; null otherwise.
11063
+ */
11064
+ day_of_month_due?: number | null;
11065
+ /**
11066
+ * IDs of the users the generated form is assigned to. Used only when assign_to is custom; cleared for the other modes.
11067
+ */
11068
+ assigned_user_ids?: Array<string>;
11069
+ /**
11070
+ * IDs of the products this rule applies to; the rule fires for items of these products.
11071
+ */
11072
+ assets_product_ids?: Array<string>;
11073
+ };
10534
11074
  /**
10535
11075
  * A file attached to an asset — an item or product image, or a service-event attachment. Uploaded through the direct-upload flow; the response carries a URL to download it.
10536
11076
  */
@@ -10665,6 +11205,23 @@ export type AssetsDocumentParameters = {
10665
11205
  */
10666
11206
  description?: string | null;
10667
11207
  };
11208
+ /**
11209
+ * Update an asset-item document. All fields are optional — send only what changes. Omit file to retain the existing attachment, or supply a new signed_id to replace it.
11210
+ */
11211
+ export type AssetsDocumentUpdateParameters = {
11212
+ /**
11213
+ * A signed_id from POST /api/v1/direct_uploads identifying a replacement blob. Register the upload naming `assets.items.documents` — a signed_id issued for any other resource will not resolve here.
11214
+ */
11215
+ file?: string;
11216
+ /**
11217
+ * The file's human-readable download name; null when not set.
11218
+ */
11219
+ filename?: string | null;
11220
+ /**
11221
+ * Free-text description of the document; null when none.
11222
+ */
11223
+ description?: string | null;
11224
+ };
10668
11225
  /**
10669
11226
  * One entry in an item document's change history, recorded whenever the document is created, updated, or deleted — including when only its attached file is replaced.
10670
11227
  */
@@ -10812,48 +11369,111 @@ export type AssetsItemFormAssignmentParameters = {
10812
11369
  };
10813
11370
  };
10814
11371
  /**
10815
- * On-hand stock of an item at a site — one row per item, site, and storage location. Read-only. A site with none of the item has no row at all, since a row is removed once its count reaches zero.
11372
+ * Update an item form assignment. All fields are optional — send only what changes. recurring gates the recurrence fields, and task_attributes.reminders_attributes replaces the existing reminder set when supplied.
10816
11373
  */
10817
- export type AssetsInventoryResponseObject = {
10818
- /**
10819
- * Unique identifier.
10820
- */
10821
- id: string;
10822
- /**
10823
- * ID of the asset item stocked here.
10824
- */
10825
- assets_item_id: string;
10826
- /**
10827
- * ID of the site holding the stock.
10828
- */
10829
- assets_site_id: string;
10830
- /**
10831
- * ID of the storage location within the site this row's stock sits in; null for the site's unbinned stock. Each storage location keeps its own row.
10832
- */
10833
- assets_sub_location_id: string | null;
10834
- /**
10835
- * ID of the company that owns this record.
10836
- */
10837
- company_id: string;
11374
+ export type AssetsItemFormAssignmentUpdateParameters = {
10838
11375
  /**
10839
- * Number of units of the item currently on hand at the site.
11376
+ * ID of the form definition (a SurveyJS form template) this assignment is for.
10840
11377
  */
10841
- quantity_on_hand: number;
11378
+ form_definition_id?: string;
10842
11379
  /**
10843
- * When the record was created (ISO 8601).
11380
+ * When true, frequency and recurrence_end_time apply; when false or omitted, the task is one-time and those fields are cleared.
10844
11381
  */
10845
- created_at: string;
11382
+ recurring?: boolean;
10846
11383
  /**
10847
- * When the record was last updated (ISO 8601).
11384
+ * The underlying task's name, schedule, assignees, and reminders.
10848
11385
  */
10849
- updated_at: string;
10850
- };
10851
- /**
10852
- * Custody of an item held by a user — one row per item and user. Read-only. A user holding none of the item has no row at all, since a row is removed once its count reaches zero.
10853
- */
10854
- export type AssetsCustodyResponseObject = {
10855
- /**
10856
- * Unique identifier.
11386
+ task_attributes?: {
11387
+ /**
11388
+ * Name of the form task; defaults to the form definition's name.
11389
+ */
11390
+ name?: string | null;
11391
+ /**
11392
+ * Free-text description of the task.
11393
+ */
11394
+ description?: string | null;
11395
+ /**
11396
+ * ID of the user who created the task. Existing assignments retain their creator when this is omitted.
11397
+ */
11398
+ created_by_user_id?: string;
11399
+ /**
11400
+ * ID of the user updating the task. The API derives the stored updater from the task creator.
11401
+ */
11402
+ updated_by_user_id?: string | null;
11403
+ /**
11404
+ * When the form task is due (ISO 8601), interpreted in tz_name; null for an unscheduled task.
11405
+ */
11406
+ time_due?: string | null;
11407
+ /**
11408
+ * IANA time zone in which time_due is interpreted; null for an unscheduled task.
11409
+ */
11410
+ tz_name?: string | null;
11411
+ /**
11412
+ * 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.
11413
+ */
11414
+ frequency?: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
11415
+ /**
11416
+ * When recurrence stops (ISO 8601); null for a non-recurring or open-ended task.
11417
+ */
11418
+ recurrence_end_time?: string | null;
11419
+ /**
11420
+ * IDs of the users this form task is assigned to.
11421
+ */
11422
+ task_assignee_user_ids?: Array<string>;
11423
+ /**
11424
+ * Reminders to attach, each an offset from the due time. On update, replaces the existing set.
11425
+ */
11426
+ reminders_attributes?: Array<{
11427
+ /**
11428
+ * 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.
11429
+ */
11430
+ offset: 'PT0S' | 'PT-1M' | 'PT-5M' | 'PT-10M' | 'PT-15M' | 'PT-30M' | 'PT-1H' | 'PT-2H' | 'P-1D' | 'P-2D' | 'P-3D' | 'P-4D' | 'P-5D' | 'P-6D' | 'P-1W' | 'P-2W' | 'P-1M' | 'P-2M' | 'P-3M' | 'P-6M' | 'P-1Y' | 'PT5M' | 'PT15M' | 'PT30M' | 'PT1H' | 'PT6H' | 'PT12H' | 'P1D' | 'P2D' | 'P3D' | 'P4D' | 'P5D' | 'P6D' | 'P1W' | 'P2W' | 'P3W';
11431
+ }>;
11432
+ };
11433
+ };
11434
+ /**
11435
+ * On-hand stock of an item at a site — one row per item, site, and storage location. Read-only. A site with none of the item has no row at all, since a row is removed once its count reaches zero.
11436
+ */
11437
+ export type AssetsInventoryResponseObject = {
11438
+ /**
11439
+ * Unique identifier.
11440
+ */
11441
+ id: string;
11442
+ /**
11443
+ * ID of the asset item stocked here.
11444
+ */
11445
+ assets_item_id: string;
11446
+ /**
11447
+ * ID of the site holding the stock.
11448
+ */
11449
+ assets_site_id: string;
11450
+ /**
11451
+ * ID of the storage location within the site this row's stock sits in; null for the site's unbinned stock. Each storage location keeps its own row.
11452
+ */
11453
+ assets_sub_location_id: string | null;
11454
+ /**
11455
+ * ID of the company that owns this record.
11456
+ */
11457
+ company_id: string;
11458
+ /**
11459
+ * Number of units of the item currently on hand at the site.
11460
+ */
11461
+ quantity_on_hand: number;
11462
+ /**
11463
+ * When the record was created (ISO 8601).
11464
+ */
11465
+ created_at: string;
11466
+ /**
11467
+ * When the record was last updated (ISO 8601).
11468
+ */
11469
+ updated_at: string;
11470
+ };
11471
+ /**
11472
+ * Custody of an item held by a user — one row per item and user. Read-only. A user holding none of the item has no row at all, since a row is removed once its count reaches zero.
11473
+ */
11474
+ export type AssetsCustodyResponseObject = {
11475
+ /**
11476
+ * Unique identifier.
10857
11477
  */
10858
11478
  id: string;
10859
11479
  /**
@@ -11107,6 +11727,35 @@ export type AssetsServiceScheduleParameters = {
11107
11727
  */
11108
11728
  performed_by_user_id: string;
11109
11729
  };
11730
+ /**
11731
+ * Update a service schedule. Cadence and last_serviced_on fields are optional — send only what changes — but performed_by_user_id is required to record the updater. next_due_date is recomputed.
11732
+ */
11733
+ export type AssetsServiceScheduleUpdateParameters = {
11734
+ /**
11735
+ * The service cadence: one of calibration or maintenance.
11736
+ */
11737
+ kind?: 'calibration' | 'maintenance';
11738
+ /**
11739
+ * Optional label distinguishing this schedule from others of the same kind on the item; null when unset.
11740
+ */
11741
+ name?: string | null;
11742
+ /**
11743
+ * Unit of the service interval: one of year, month, week, or day.
11744
+ */
11745
+ interval_unit?: 'year' | 'month' | 'week' | 'day';
11746
+ /**
11747
+ * Number of interval_units between services; greater than 0.
11748
+ */
11749
+ interval_count?: number;
11750
+ /**
11751
+ * Manually-set anchor date of the most recent service; next_due_date derives from it until an actual service event supersedes it. Null when unset.
11752
+ */
11753
+ last_serviced_on?: string | null;
11754
+ /**
11755
+ * ID of the user this update is performed on behalf of, recorded as the schedule's updater. Required; must belong to your company.
11756
+ */
11757
+ performed_by_user_id: string;
11758
+ };
11110
11759
  /**
11111
11760
  * A service performed on a serial item — scheduled (satisfying a service schedule) or ad-hoc. Recording one advances the linked schedule's next_due_date.
11112
11761
  */
@@ -11185,6 +11834,35 @@ export type AssetsServiceEventParameters = {
11185
11834
  */
11186
11835
  attachments_attributes?: Array<AssetsAttachmentParameters>;
11187
11836
  };
11837
+ /**
11838
+ * Update a service event. Event fields are optional — send only what changes — but performed_by_user_id is required to record the updater. A linked schedule dictates kind, and changing or removing the link recomputes affected due dates.
11839
+ */
11840
+ export type AssetsServiceEventUpdateParameters = {
11841
+ /**
11842
+ * The kind of service performed: one of calibration, maintenance, or repair. Ignored when assets_service_schedule_id is set — the schedule dictates the kind.
11843
+ */
11844
+ kind?: 'calibration' | 'maintenance' | 'repair';
11845
+ /**
11846
+ * Free-text notes on the service; null when none.
11847
+ */
11848
+ notes?: string | null;
11849
+ /**
11850
+ * Date the service was performed; stored as company-local midnight and returned as performed_at. Omit to retain the existing date.
11851
+ */
11852
+ performed_on?: string;
11853
+ /**
11854
+ * ID of the service schedule this event satisfies; must belong to the item. Omit to retain the existing link, or send null to remove it.
11855
+ */
11856
+ assets_service_schedule_id?: string | null;
11857
+ /**
11858
+ * ID of the user this update is performed on behalf of. Required; must belong to your company.
11859
+ */
11860
+ performed_by_user_id: string;
11861
+ /**
11862
+ * Document attachments for the service. Set _destroy with an id to remove an existing one; omit id to add a new one.
11863
+ */
11864
+ attachments_attributes?: Array<AssetsAttachmentParameters>;
11865
+ };
11188
11866
  /**
11189
11867
  * A product-level service cadence that seeds and syncs the matching schedules on that product's items. Changing its defining fields (name, kind, interval) reconciles linked item schedules in the background.
11190
11868
  */
@@ -11251,6 +11929,31 @@ export type AssetsServiceScheduleTemplateParameters = {
11251
11929
  */
11252
11930
  performed_by_user_id: string;
11253
11931
  };
11932
+ /**
11933
+ * Update a service schedule template. Cadence fields are optional — send only what changes — but performed_by_user_id is required to record the updater. Changing defining fields reconciles linked item schedules in the background.
11934
+ */
11935
+ export type AssetsServiceScheduleTemplateUpdateParameters = {
11936
+ /**
11937
+ * The service cadence: one of calibration or maintenance.
11938
+ */
11939
+ kind?: 'calibration' | 'maintenance';
11940
+ /**
11941
+ * Optional label distinguishing this template from others of the same kind on the product; null when unset.
11942
+ */
11943
+ name?: string | null;
11944
+ /**
11945
+ * Unit of the service interval: one of year, month, week, or day.
11946
+ */
11947
+ interval_unit?: 'year' | 'month' | 'week' | 'day';
11948
+ /**
11949
+ * Number of interval_units between services; greater than 0.
11950
+ */
11951
+ interval_count?: number;
11952
+ /**
11953
+ * ID of the user this update is performed on behalf of, recorded as the template's updater. Required; must belong to your company.
11954
+ */
11955
+ performed_by_user_id: string;
11956
+ };
11254
11957
  /**
11255
11958
  * A node of fixed storage structure inside a site or a container item — a zone, aisle, rack, shelf, bin, or drawer. Nodes form a tree per holder, and each carries a scannable path_code composed from its ancestors' codes.
11256
11959
  */
@@ -12902,7 +13605,7 @@ export type GetFormAssignmentTriggerResponses = {
12902
13605
  };
12903
13606
  export type GetFormAssignmentTriggerResponse = GetFormAssignmentTriggerResponses[keyof GetFormAssignmentTriggerResponses];
12904
13607
  export type UpdateFormAssignmentTriggerData = {
12905
- body: AssetsFormAssignmentTriggerParameters;
13608
+ body: AssetsFormAssignmentTriggerUpdateParameters;
12906
13609
  path: {
12907
13610
  id: string;
12908
13611
  };
@@ -13122,7 +13825,7 @@ export type GetItemResponses = {
13122
13825
  };
13123
13826
  export type GetItemResponse = GetItemResponses[keyof GetItemResponses];
13124
13827
  export type UpdateItemData = {
13125
- body: AssetsItemParameters;
13828
+ body: AssetsItemUpdateParameters;
13126
13829
  path: {
13127
13830
  id: string;
13128
13831
  };
@@ -13130,10 +13833,18 @@ export type UpdateItemData = {
13130
13833
  url: '/api/v1/assets/items/{id}';
13131
13834
  };
13132
13835
  export type UpdateItemErrors = {
13836
+ /**
13837
+ * Bad Request (missing performed_by_user_id)
13838
+ */
13839
+ 400: Problem;
13133
13840
  /**
13134
13841
  * Forbidden
13135
13842
  */
13136
13843
  403: Problem;
13844
+ /**
13845
+ * Unprocessable Content
13846
+ */
13847
+ 422: Problem;
13137
13848
  };
13138
13849
  export type UpdateItemError = UpdateItemErrors[keyof UpdateItemErrors];
13139
13850
  export type UpdateItemResponses = {
@@ -13328,7 +14039,7 @@ export type GetServiceScheduleResponses = {
13328
14039
  };
13329
14040
  export type GetServiceScheduleResponse = GetServiceScheduleResponses[keyof GetServiceScheduleResponses];
13330
14041
  export type UpdateServiceScheduleData = {
13331
- body: AssetsServiceScheduleParameters;
14042
+ body: AssetsServiceScheduleUpdateParameters;
13332
14043
  path: {
13333
14044
  item_id: string;
13334
14045
  id: string;
@@ -13337,6 +14048,10 @@ export type UpdateServiceScheduleData = {
13337
14048
  url: '/api/v1/assets/items/{item_id}/service_schedules/{id}';
13338
14049
  };
13339
14050
  export type UpdateServiceScheduleErrors = {
14051
+ /**
14052
+ * Bad Request (missing performed_by_user_id)
14053
+ */
14054
+ 400: Problem;
13340
14055
  /**
13341
14056
  * Forbidden
13342
14057
  */
@@ -13486,7 +14201,7 @@ export type GetServiceEventResponses = {
13486
14201
  };
13487
14202
  export type GetServiceEventResponse = GetServiceEventResponses[keyof GetServiceEventResponses];
13488
14203
  export type UpdateServiceEventData = {
13489
- body: AssetsServiceEventParameters;
14204
+ body: AssetsServiceEventUpdateParameters;
13490
14205
  path: {
13491
14206
  item_id: string;
13492
14207
  id: string;
@@ -13495,6 +14210,10 @@ export type UpdateServiceEventData = {
13495
14210
  url: '/api/v1/assets/items/{item_id}/service_events/{id}';
13496
14211
  };
13497
14212
  export type UpdateServiceEventErrors = {
14213
+ /**
14214
+ * Bad Request (missing performed_by_user_id)
14215
+ */
14216
+ 400: Problem;
13498
14217
  /**
13499
14218
  * Forbidden
13500
14219
  */
@@ -13607,7 +14326,7 @@ export type GetFormAssignmentTaskResponses = {
13607
14326
  };
13608
14327
  export type GetFormAssignmentTaskResponse = GetFormAssignmentTaskResponses[keyof GetFormAssignmentTaskResponses];
13609
14328
  export type UpdateFormAssignmentTaskData = {
13610
- body: AssetsItemFormAssignmentParameters;
14329
+ body: AssetsItemFormAssignmentUpdateParameters;
13611
14330
  path: {
13612
14331
  item_id: string;
13613
14332
  id: string;
@@ -13753,7 +14472,7 @@ export type GetDocumentResponses = {
13753
14472
  };
13754
14473
  export type GetDocumentResponse = GetDocumentResponses[keyof GetDocumentResponses];
13755
14474
  export type UpdateDocumentData = {
13756
- body: AssetsDocumentParameters;
14475
+ body: AssetsDocumentUpdateParameters;
13757
14476
  path: {
13758
14477
  item_id: string;
13759
14478
  id: string;
@@ -14194,7 +14913,7 @@ export type GetServiceScheduleTemplateResponses = {
14194
14913
  };
14195
14914
  export type GetServiceScheduleTemplateResponse = GetServiceScheduleTemplateResponses[keyof GetServiceScheduleTemplateResponses];
14196
14915
  export type UpdateServiceScheduleTemplateData = {
14197
- body: AssetsServiceScheduleTemplateParameters;
14916
+ body: AssetsServiceScheduleTemplateUpdateParameters;
14198
14917
  path: {
14199
14918
  product_id: string;
14200
14919
  id: string;
@@ -14203,6 +14922,10 @@ export type UpdateServiceScheduleTemplateData = {
14203
14922
  url: '/api/v1/assets/products/{product_id}/service_schedule_templates/{id}';
14204
14923
  };
14205
14924
  export type UpdateServiceScheduleTemplateErrors = {
14925
+ /**
14926
+ * Bad Request (missing performed_by_user_id)
14927
+ */
14928
+ 400: Problem;
14206
14929
  /**
14207
14930
  * Forbidden
14208
14931
  */
@@ -15325,7 +16048,7 @@ export type GetUserCertificationResponses = {
15325
16048
  };
15326
16049
  export type GetUserCertificationResponse = GetUserCertificationResponses[keyof GetUserCertificationResponses];
15327
16050
  export type UpdateUserCertificationData = {
15328
- body?: UserCertificationParameters;
16051
+ body?: UserCertificationUpdateParameters;
15329
16052
  path: {
15330
16053
  id: string;
15331
16054
  };
@@ -16021,7 +16744,7 @@ export type GetCustomFieldConfigResponses = {
16021
16744
  };
16022
16745
  export type GetCustomFieldConfigResponse = GetCustomFieldConfigResponses[keyof GetCustomFieldConfigResponses];
16023
16746
  export type UpdateCustomFieldConfigData = {
16024
- body?: CustomFieldConfigParameters;
16747
+ body?: CustomFieldConfigUpdateParameters;
16025
16748
  path: {
16026
16749
  id: string;
16027
16750
  };
@@ -16631,7 +17354,7 @@ export type GetJobScopePriceResponses = {
16631
17354
  };
16632
17355
  export type GetJobScopePriceResponse = GetJobScopePriceResponses[keyof GetJobScopePriceResponses];
16633
17356
  export type UpdateJobScopePriceData = {
16634
- body?: ProductionJobScopePriceParameters;
17357
+ body?: ProductionJobScopePriceUpdateParameters;
16635
17358
  path: {
16636
17359
  job_id: string;
16637
17360
  id: string;
@@ -17204,6 +17927,10 @@ export type CreateWageDeterminationData = {
17204
17927
  url: '/api/v1/jobs/{job_id}/wage_determinations';
17205
17928
  };
17206
17929
  export type CreateWageDeterminationErrors = {
17930
+ /**
17931
+ * Bad Request
17932
+ */
17933
+ 400: Problem;
17207
17934
  /**
17208
17935
  * Forbidden
17209
17936
  */
@@ -17424,7 +18151,7 @@ export type CreateJobData = {
17424
18151
  /**
17425
18152
  * Create a job
17426
18153
  */
17427
- body: JobParameters;
18154
+ body: JobCreateParameters;
17428
18155
  path?: never;
17429
18156
  query?: never;
17430
18157
  url: '/api/v1/jobs';
@@ -17747,7 +18474,551 @@ export type CancelOvertimeRuleScheduledChangesErrors = {
17747
18474
  /**
17748
18475
  * Not Found
17749
18476
  */
17750
- 404: Problem;
18477
+ 404: Problem;
18478
+ /**
18479
+ * Precondition Failed
18480
+ */
18481
+ 412: Problem;
18482
+ /**
18483
+ * Unprocessable Content
18484
+ */
18485
+ 422: Problem;
18486
+ /**
18487
+ * Precondition Required
18488
+ */
18489
+ 428: Problem;
18490
+ };
18491
+ export type CancelOvertimeRuleScheduledChangesError = CancelOvertimeRuleScheduledChangesErrors[keyof CancelOvertimeRuleScheduledChangesErrors];
18492
+ export type CancelOvertimeRuleScheduledChangesResponses = {
18493
+ /**
18494
+ * Success
18495
+ */
18496
+ 200: OvertimeRuleResponseObject;
18497
+ };
18498
+ export type CancelOvertimeRuleScheduledChangesResponse = CancelOvertimeRuleScheduledChangesResponses[keyof CancelOvertimeRuleScheduledChangesResponses];
18499
+ export type ListOvertimeRuleScheduledChangesData = {
18500
+ body?: never;
18501
+ path: {
18502
+ overtime_package_id: string;
18503
+ overtime_rule_id: string;
18504
+ };
18505
+ query?: never;
18506
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes';
18507
+ };
18508
+ export type ListOvertimeRuleScheduledChangesErrors = {
18509
+ /**
18510
+ * Forbidden
18511
+ */
18512
+ 403: Problem;
18513
+ /**
18514
+ * Not Found
18515
+ */
18516
+ 404: Problem;
18517
+ };
18518
+ export type ListOvertimeRuleScheduledChangesError = ListOvertimeRuleScheduledChangesErrors[keyof ListOvertimeRuleScheduledChangesErrors];
18519
+ export type ListOvertimeRuleScheduledChangesResponses = {
18520
+ /**
18521
+ * Success with scheduled changes
18522
+ */
18523
+ 200: Array<OvertimeRuleResponseObject>;
18524
+ };
18525
+ export type ListOvertimeRuleScheduledChangesResponse = ListOvertimeRuleScheduledChangesResponses[keyof ListOvertimeRuleScheduledChangesResponses];
18526
+ export type ScheduleOvertimeRuleChangeData = {
18527
+ body: OvertimeRuleScheduledChangeParameters;
18528
+ headers: {
18529
+ /**
18530
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
18531
+ */
18532
+ 'If-Match': string;
18533
+ };
18534
+ path: {
18535
+ overtime_package_id: string;
18536
+ overtime_rule_id: string;
18537
+ };
18538
+ query?: never;
18539
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes';
18540
+ };
18541
+ export type ScheduleOvertimeRuleChangeErrors = {
18542
+ /**
18543
+ * Bad Request
18544
+ */
18545
+ 400: Problem;
18546
+ /**
18547
+ * Forbidden
18548
+ */
18549
+ 403: Problem;
18550
+ /**
18551
+ * Not Found
18552
+ */
18553
+ 404: Problem;
18554
+ /**
18555
+ * Conflict
18556
+ */
18557
+ 409: Problem;
18558
+ /**
18559
+ * Precondition Failed
18560
+ */
18561
+ 412: Problem;
18562
+ /**
18563
+ * Unprocessable Content
18564
+ */
18565
+ 422: Problem;
18566
+ /**
18567
+ * Precondition Required
18568
+ */
18569
+ 428: Problem;
18570
+ };
18571
+ export type ScheduleOvertimeRuleChangeError = ScheduleOvertimeRuleChangeErrors[keyof ScheduleOvertimeRuleChangeErrors];
18572
+ export type ScheduleOvertimeRuleChangeResponses = {
18573
+ /**
18574
+ * Success (already scheduled)
18575
+ */
18576
+ 200: OvertimeRuleResponseObject;
18577
+ /**
18578
+ * Created
18579
+ */
18580
+ 201: OvertimeRuleResponseObject;
18581
+ };
18582
+ export type ScheduleOvertimeRuleChangeResponse = ScheduleOvertimeRuleChangeResponses[keyof ScheduleOvertimeRuleChangeResponses];
18583
+ export type CancelOvertimeRuleScheduledTerminationData = {
18584
+ body?: never;
18585
+ headers: {
18586
+ /**
18587
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
18588
+ */
18589
+ 'If-Match': string;
18590
+ };
18591
+ path: {
18592
+ overtime_package_id: string;
18593
+ overtime_rule_id: string;
18594
+ };
18595
+ query?: never;
18596
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination';
18597
+ };
18598
+ export type CancelOvertimeRuleScheduledTerminationErrors = {
18599
+ /**
18600
+ * Forbidden
18601
+ */
18602
+ 403: Problem;
18603
+ /**
18604
+ * Not Found
18605
+ */
18606
+ 404: Problem;
18607
+ /**
18608
+ * Precondition Failed
18609
+ */
18610
+ 412: Problem;
18611
+ /**
18612
+ * Unprocessable Content
18613
+ */
18614
+ 422: Problem;
18615
+ /**
18616
+ * Precondition Required
18617
+ */
18618
+ 428: Problem;
18619
+ };
18620
+ export type CancelOvertimeRuleScheduledTerminationError = CancelOvertimeRuleScheduledTerminationErrors[keyof CancelOvertimeRuleScheduledTerminationErrors];
18621
+ export type CancelOvertimeRuleScheduledTerminationResponses = {
18622
+ /**
18623
+ * Success
18624
+ */
18625
+ 200: OvertimeRuleResponseObject;
18626
+ };
18627
+ export type CancelOvertimeRuleScheduledTerminationResponse = CancelOvertimeRuleScheduledTerminationResponses[keyof CancelOvertimeRuleScheduledTerminationResponses];
18628
+ export type ScheduleOvertimeRuleTerminationData = {
18629
+ body: OvertimeRuleScheduledTerminationParameters;
18630
+ headers: {
18631
+ /**
18632
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
18633
+ */
18634
+ 'If-Match': string;
18635
+ };
18636
+ path: {
18637
+ overtime_package_id: string;
18638
+ overtime_rule_id: string;
18639
+ };
18640
+ query?: never;
18641
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination';
18642
+ };
18643
+ export type ScheduleOvertimeRuleTerminationErrors = {
18644
+ /**
18645
+ * Bad Request
18646
+ */
18647
+ 400: Problem;
18648
+ /**
18649
+ * Forbidden
18650
+ */
18651
+ 403: Problem;
18652
+ /**
18653
+ * Not Found
18654
+ */
18655
+ 404: Problem;
18656
+ /**
18657
+ * Conflict
18658
+ */
18659
+ 409: Problem;
18660
+ /**
18661
+ * Precondition Failed
18662
+ */
18663
+ 412: Problem;
18664
+ /**
18665
+ * Unprocessable Content
18666
+ */
18667
+ 422: Problem;
18668
+ /**
18669
+ * Precondition Required
18670
+ */
18671
+ 428: Problem;
18672
+ };
18673
+ export type ScheduleOvertimeRuleTerminationError = ScheduleOvertimeRuleTerminationErrors[keyof ScheduleOvertimeRuleTerminationErrors];
18674
+ export type ScheduleOvertimeRuleTerminationResponses = {
18675
+ /**
18676
+ * Created
18677
+ */
18678
+ 201: OvertimeRuleResponseObject;
18679
+ };
18680
+ export type ScheduleOvertimeRuleTerminationResponse = ScheduleOvertimeRuleTerminationResponses[keyof ScheduleOvertimeRuleTerminationResponses];
18681
+ export type ListOvertimeRulesData = {
18682
+ body?: never;
18683
+ path: {
18684
+ overtime_package_id: string;
18685
+ };
18686
+ query?: {
18687
+ /**
18688
+ * Read the version valid at this point in time. Defaults to now.
18689
+ */
18690
+ 'as_of[valid]'?: string;
18691
+ as_of?: string;
18692
+ 'as_of[bogus_axis]'?: string;
18693
+ 'as_of[valid][gte]'?: string;
18694
+ 'as_of[transaction]'?: string;
18695
+ filter?: string;
18696
+ 'filter[unexpected]'?: string;
18697
+ /**
18698
+ * This pagination cursor corresponds to the cursor value found in the response in
18699
+ * `meta.page.next_cursor`.
18700
+ */
18701
+ 'page[cursor]'?: string;
18702
+ /**
18703
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
18704
+ */
18705
+ 'page[limit]'?: number;
18706
+ page?: string;
18707
+ };
18708
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules';
18709
+ };
18710
+ export type ListOvertimeRulesErrors = {
18711
+ /**
18712
+ * Bad Request
18713
+ */
18714
+ 400: Problem;
18715
+ /**
18716
+ * Forbidden
18717
+ */
18718
+ 403: Problem;
18719
+ /**
18720
+ * Unprocessable Content
18721
+ */
18722
+ 422: Problem;
18723
+ };
18724
+ export type ListOvertimeRulesError = ListOvertimeRulesErrors[keyof ListOvertimeRulesErrors];
18725
+ export type ListOvertimeRulesResponses = {
18726
+ /**
18727
+ * Success
18728
+ */
18729
+ 200: {
18730
+ meta: Meta;
18731
+ links: Links;
18732
+ data: Array<OvertimeRuleResponseObject>;
18733
+ };
18734
+ };
18735
+ export type ListOvertimeRulesResponse = ListOvertimeRulesResponses[keyof ListOvertimeRulesResponses];
18736
+ export type CreateOvertimeRuleData = {
18737
+ body: OvertimeRuleParameters;
18738
+ path: {
18739
+ overtime_package_id: string;
18740
+ };
18741
+ query?: never;
18742
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules';
18743
+ };
18744
+ export type CreateOvertimeRuleErrors = {
18745
+ /**
18746
+ * Bad Request (unknown body key)
18747
+ */
18748
+ 400: Problem;
18749
+ /**
18750
+ * Forbidden
18751
+ */
18752
+ 403: Problem;
18753
+ /**
18754
+ * Not Found
18755
+ */
18756
+ 404: Problem;
18757
+ /**
18758
+ * Unprocessable Content
18759
+ */
18760
+ 422: Problem;
18761
+ };
18762
+ export type CreateOvertimeRuleError = CreateOvertimeRuleErrors[keyof CreateOvertimeRuleErrors];
18763
+ export type CreateOvertimeRuleResponses = {
18764
+ /**
18765
+ * Created
18766
+ */
18767
+ 201: OvertimeRuleResponseObject;
18768
+ };
18769
+ export type CreateOvertimeRuleResponse = CreateOvertimeRuleResponses[keyof CreateOvertimeRuleResponses];
18770
+ export type DeleteOvertimeRuleData = {
18771
+ body?: never;
18772
+ headers: {
18773
+ /**
18774
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
18775
+ */
18776
+ 'If-Match': string;
18777
+ };
18778
+ path: {
18779
+ overtime_package_id: string;
18780
+ id: string;
18781
+ };
18782
+ query?: never;
18783
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
18784
+ };
18785
+ export type DeleteOvertimeRuleErrors = {
18786
+ /**
18787
+ * Forbidden
18788
+ */
18789
+ 403: Problem;
18790
+ /**
18791
+ * Not Found
18792
+ */
18793
+ 404: Problem;
18794
+ /**
18795
+ * Precondition Failed
18796
+ */
18797
+ 412: Problem;
18798
+ /**
18799
+ * Precondition Required
18800
+ */
18801
+ 428: Problem;
18802
+ };
18803
+ export type DeleteOvertimeRuleError = DeleteOvertimeRuleErrors[keyof DeleteOvertimeRuleErrors];
18804
+ export type DeleteOvertimeRuleResponses = {
18805
+ /**
18806
+ * Success
18807
+ */
18808
+ 200: OvertimeRuleResponseObject;
18809
+ };
18810
+ export type DeleteOvertimeRuleResponse = DeleteOvertimeRuleResponses[keyof DeleteOvertimeRuleResponses];
18811
+ export type GetOvertimeRuleData = {
18812
+ body?: never;
18813
+ path: {
18814
+ overtime_package_id: string;
18815
+ id: string;
18816
+ };
18817
+ query?: {
18818
+ /**
18819
+ * Read the version valid at this point in time. Defaults to now.
18820
+ */
18821
+ 'as_of[valid]'?: string;
18822
+ };
18823
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
18824
+ };
18825
+ export type GetOvertimeRuleErrors = {
18826
+ /**
18827
+ * Forbidden
18828
+ */
18829
+ 403: Problem;
18830
+ /**
18831
+ * Not Found
18832
+ */
18833
+ 404: Problem;
18834
+ };
18835
+ export type GetOvertimeRuleError = GetOvertimeRuleErrors[keyof GetOvertimeRuleErrors];
18836
+ export type GetOvertimeRuleResponses = {
18837
+ /**
18838
+ * Success
18839
+ */
18840
+ 200: OvertimeRuleResponseObject;
18841
+ };
18842
+ export type GetOvertimeRuleResponse = GetOvertimeRuleResponses[keyof GetOvertimeRuleResponses];
18843
+ export type UpdateOvertimeRuleData = {
18844
+ body: OvertimeRuleUpdateParameters;
18845
+ headers: {
18846
+ /**
18847
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
18848
+ */
18849
+ 'If-Match': string;
18850
+ };
18851
+ path: {
18852
+ overtime_package_id: string;
18853
+ id: string;
18854
+ };
18855
+ query?: never;
18856
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
18857
+ };
18858
+ export type UpdateOvertimeRuleErrors = {
18859
+ /**
18860
+ * Bad Request (unknown body key)
18861
+ */
18862
+ 400: Problem;
18863
+ /**
18864
+ * Forbidden
18865
+ */
18866
+ 403: Problem;
18867
+ /**
18868
+ * Not Found
18869
+ */
18870
+ 404: Problem;
18871
+ /**
18872
+ * Conflict
18873
+ */
18874
+ 409: Problem;
18875
+ /**
18876
+ * Precondition Failed
18877
+ */
18878
+ 412: Problem;
18879
+ /**
18880
+ * Unprocessable Content
18881
+ */
18882
+ 422: Problem;
18883
+ /**
18884
+ * Precondition Required
18885
+ */
18886
+ 428: Problem;
18887
+ };
18888
+ export type UpdateOvertimeRuleError = UpdateOvertimeRuleErrors[keyof UpdateOvertimeRuleErrors];
18889
+ export type UpdateOvertimeRuleResponses = {
18890
+ /**
18891
+ * Success
18892
+ */
18893
+ 200: OvertimeRuleResponseObject;
18894
+ };
18895
+ export type UpdateOvertimeRuleResponse = UpdateOvertimeRuleResponses[keyof UpdateOvertimeRuleResponses];
18896
+ export type ShiftPayRateRuleGenesisData = {
18897
+ body: PayRatesRuleGenesisParameters;
18898
+ headers: {
18899
+ /**
18900
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists.
18901
+ */
18902
+ 'If-Match': string;
18903
+ };
18904
+ path: {
18905
+ rule_package_id: string;
18906
+ /**
18907
+ * The rule's version-stable identity.
18908
+ */
18909
+ rule_id: string;
18910
+ };
18911
+ query?: never;
18912
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/genesis';
18913
+ };
18914
+ export type ShiftPayRateRuleGenesisErrors = {
18915
+ /**
18916
+ * Bad Request
18917
+ */
18918
+ 400: Problem;
18919
+ /**
18920
+ * Forbidden
18921
+ */
18922
+ 403: Problem;
18923
+ /**
18924
+ * Not Found
18925
+ */
18926
+ 404: Problem;
18927
+ /**
18928
+ * Precondition Failed
18929
+ */
18930
+ 412: Problem;
18931
+ /**
18932
+ * Unprocessable Content
18933
+ */
18934
+ 422: Problem;
18935
+ /**
18936
+ * Precondition Required
18937
+ */
18938
+ 428: Problem;
18939
+ };
18940
+ export type ShiftPayRateRuleGenesisError = ShiftPayRateRuleGenesisErrors[keyof ShiftPayRateRuleGenesisErrors];
18941
+ export type ShiftPayRateRuleGenesisResponses = {
18942
+ /**
18943
+ * Success
18944
+ */
18945
+ 200: PayRatesRuleResponseObject;
18946
+ };
18947
+ export type ShiftPayRateRuleGenesisResponse = ShiftPayRateRuleGenesisResponses[keyof ShiftPayRateRuleGenesisResponses];
18948
+ export type ListPayRateRuleHistoryData = {
18949
+ body?: never;
18950
+ path: {
18951
+ rule_package_id: string;
18952
+ /**
18953
+ * The rule's version-stable identity, as returned in `id`.
18954
+ */
18955
+ rule_id: string;
18956
+ };
18957
+ query?: {
18958
+ 'as_of[valid]'?: string;
18959
+ 'as_of[transaction]'?: string;
18960
+ /**
18961
+ * This pagination cursor corresponds to the cursor value found in the response in
18962
+ * `meta.page.next_cursor`.
18963
+ */
18964
+ 'page[cursor]'?: string;
18965
+ /**
18966
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
18967
+ */
18968
+ 'page[limit]'?: number;
18969
+ page?: string;
18970
+ };
18971
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/history';
18972
+ };
18973
+ export type ListPayRateRuleHistoryErrors = {
18974
+ /**
18975
+ * Bad Request
18976
+ */
18977
+ 400: Problem;
18978
+ /**
18979
+ * Forbidden
18980
+ */
18981
+ 403: Problem;
18982
+ /**
18983
+ * Not Found
18984
+ */
18985
+ 404: Problem;
18986
+ };
18987
+ export type ListPayRateRuleHistoryError = ListPayRateRuleHistoryErrors[keyof ListPayRateRuleHistoryErrors];
18988
+ export type ListPayRateRuleHistoryResponses = {
18989
+ /**
18990
+ * Success
18991
+ */
18992
+ 200: {
18993
+ meta: Meta;
18994
+ links: Links;
18995
+ data: Array<PayRatesRuleHistoryVersionObject>;
18996
+ };
18997
+ };
18998
+ export type ListPayRateRuleHistoryResponse = ListPayRateRuleHistoryResponses[keyof ListPayRateRuleHistoryResponses];
18999
+ export type CancelPayRateRuleScheduledChangesData = {
19000
+ body?: never;
19001
+ headers: {
19002
+ /**
19003
+ * Version validator this write is composed against.
19004
+ */
19005
+ 'If-Match': string;
19006
+ };
19007
+ path: {
19008
+ rule_package_id: string;
19009
+ /**
19010
+ * The rule's version-stable identity.
19011
+ */
19012
+ rule_id: string;
19013
+ };
19014
+ query?: never;
19015
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes';
19016
+ };
19017
+ export type CancelPayRateRuleScheduledChangesErrors = {
19018
+ /**
19019
+ * Forbidden
19020
+ */
19021
+ 403: Problem;
17751
19022
  /**
17752
19023
  * Precondition Failed
17753
19024
  */
@@ -17761,24 +19032,44 @@ export type CancelOvertimeRuleScheduledChangesErrors = {
17761
19032
  */
17762
19033
  428: Problem;
17763
19034
  };
17764
- export type CancelOvertimeRuleScheduledChangesError = CancelOvertimeRuleScheduledChangesErrors[keyof CancelOvertimeRuleScheduledChangesErrors];
17765
- export type CancelOvertimeRuleScheduledChangesResponses = {
19035
+ export type CancelPayRateRuleScheduledChangesError = CancelPayRateRuleScheduledChangesErrors[keyof CancelPayRateRuleScheduledChangesErrors];
19036
+ export type CancelPayRateRuleScheduledChangesResponses = {
17766
19037
  /**
17767
19038
  * Success
17768
19039
  */
17769
- 200: OvertimeRuleResponseObject;
19040
+ 200: PayRatesRuleResponseObject;
17770
19041
  };
17771
- export type CancelOvertimeRuleScheduledChangesResponse = CancelOvertimeRuleScheduledChangesResponses[keyof CancelOvertimeRuleScheduledChangesResponses];
17772
- export type ListOvertimeRuleScheduledChangesData = {
19042
+ export type CancelPayRateRuleScheduledChangesResponse = CancelPayRateRuleScheduledChangesResponses[keyof CancelPayRateRuleScheduledChangesResponses];
19043
+ export type ListPayRateRuleScheduledChangesData = {
17773
19044
  body?: never;
17774
19045
  path: {
17775
- overtime_package_id: string;
17776
- overtime_rule_id: string;
19046
+ rule_package_id: string;
19047
+ /**
19048
+ * The rule's version-stable identity.
19049
+ */
19050
+ rule_id: string;
17777
19051
  };
17778
- query?: never;
17779
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes';
19052
+ query?: {
19053
+ 'as_of[valid]'?: string;
19054
+ 'as_of[transaction]'?: string;
19055
+ /**
19056
+ * This pagination cursor corresponds to the cursor value found in the response in
19057
+ * `meta.page.next_cursor`.
19058
+ */
19059
+ 'page[cursor]'?: string;
19060
+ /**
19061
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
19062
+ */
19063
+ 'page[limit]'?: number;
19064
+ page?: string;
19065
+ };
19066
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes';
17780
19067
  };
17781
- export type ListOvertimeRuleScheduledChangesErrors = {
19068
+ export type ListPayRateRuleScheduledChangesErrors = {
19069
+ /**
19070
+ * Bad Request
19071
+ */
19072
+ 400: Problem;
17782
19073
  /**
17783
19074
  * Forbidden
17784
19075
  */
@@ -17788,30 +19079,37 @@ export type ListOvertimeRuleScheduledChangesErrors = {
17788
19079
  */
17789
19080
  404: Problem;
17790
19081
  };
17791
- export type ListOvertimeRuleScheduledChangesError = ListOvertimeRuleScheduledChangesErrors[keyof ListOvertimeRuleScheduledChangesErrors];
17792
- export type ListOvertimeRuleScheduledChangesResponses = {
19082
+ export type ListPayRateRuleScheduledChangesError = ListPayRateRuleScheduledChangesErrors[keyof ListPayRateRuleScheduledChangesErrors];
19083
+ export type ListPayRateRuleScheduledChangesResponses = {
17793
19084
  /**
17794
- * Success with scheduled changes
19085
+ * Success
17795
19086
  */
17796
- 200: Array<OvertimeRuleResponseObject>;
19087
+ 200: {
19088
+ meta: Meta;
19089
+ links: Links;
19090
+ data: Array<PayRatesRuleHistoryVersionObject>;
19091
+ };
17797
19092
  };
17798
- export type ListOvertimeRuleScheduledChangesResponse = ListOvertimeRuleScheduledChangesResponses[keyof ListOvertimeRuleScheduledChangesResponses];
17799
- export type ScheduleOvertimeRuleChangeData = {
17800
- body: OvertimeRuleScheduledChangeParameters;
19093
+ export type ListPayRateRuleScheduledChangesResponse = ListPayRateRuleScheduledChangesResponses[keyof ListPayRateRuleScheduledChangesResponses];
19094
+ export type SchedulePayRateRuleChangeData = {
19095
+ body: PayRatesRuleScheduledChangeParameters;
17801
19096
  headers: {
17802
19097
  /**
17803
- * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
19098
+ * Version validator this write is composed against.
17804
19099
  */
17805
19100
  'If-Match': string;
17806
19101
  };
17807
19102
  path: {
17808
- overtime_package_id: string;
17809
- overtime_rule_id: string;
19103
+ rule_package_id: string;
19104
+ /**
19105
+ * The rule's version-stable identity.
19106
+ */
19107
+ rule_id: string;
17810
19108
  };
17811
19109
  query?: never;
17812
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes';
19110
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes';
17813
19111
  };
17814
- export type ScheduleOvertimeRuleChangeErrors = {
19112
+ export type SchedulePayRateRuleChangeErrors = {
17815
19113
  /**
17816
19114
  * Bad Request
17817
19115
  */
@@ -17820,14 +19118,6 @@ export type ScheduleOvertimeRuleChangeErrors = {
17820
19118
  * Forbidden
17821
19119
  */
17822
19120
  403: Problem;
17823
- /**
17824
- * Not Found
17825
- */
17826
- 404: Problem;
17827
- /**
17828
- * Conflict
17829
- */
17830
- 409: Problem;
17831
19121
  /**
17832
19122
  * Precondition Failed
17833
19123
  */
@@ -17841,34 +19131,37 @@ export type ScheduleOvertimeRuleChangeErrors = {
17841
19131
  */
17842
19132
  428: Problem;
17843
19133
  };
17844
- export type ScheduleOvertimeRuleChangeError = ScheduleOvertimeRuleChangeErrors[keyof ScheduleOvertimeRuleChangeErrors];
17845
- export type ScheduleOvertimeRuleChangeResponses = {
19134
+ export type SchedulePayRateRuleChangeError = SchedulePayRateRuleChangeErrors[keyof SchedulePayRateRuleChangeErrors];
19135
+ export type SchedulePayRateRuleChangeResponses = {
17846
19136
  /**
17847
- * Success (already scheduled)
19137
+ * Success without a new segment
17848
19138
  */
17849
- 200: OvertimeRuleResponseObject;
19139
+ 200: PayRatesRuleResponseObject;
17850
19140
  /**
17851
19141
  * Created
17852
19142
  */
17853
- 201: OvertimeRuleResponseObject;
19143
+ 201: PayRatesRuleResponseObject;
17854
19144
  };
17855
- export type ScheduleOvertimeRuleChangeResponse = ScheduleOvertimeRuleChangeResponses[keyof ScheduleOvertimeRuleChangeResponses];
17856
- export type CancelOvertimeRuleScheduledTerminationData = {
19145
+ export type SchedulePayRateRuleChangeResponse = SchedulePayRateRuleChangeResponses[keyof SchedulePayRateRuleChangeResponses];
19146
+ export type CancelPayRateRuleScheduledTerminationData = {
17857
19147
  body?: never;
17858
19148
  headers: {
17859
19149
  /**
17860
- * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
19150
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists.
17861
19151
  */
17862
19152
  'If-Match': string;
17863
19153
  };
17864
19154
  path: {
17865
- overtime_package_id: string;
17866
- overtime_rule_id: string;
19155
+ rule_package_id: string;
19156
+ /**
19157
+ * The rule's version-stable identity.
19158
+ */
19159
+ rule_id: string;
17867
19160
  };
17868
19161
  query?: never;
17869
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination';
19162
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_termination';
17870
19163
  };
17871
- export type CancelOvertimeRuleScheduledTerminationErrors = {
19164
+ export type CancelPayRateRuleScheduledTerminationErrors = {
17872
19165
  /**
17873
19166
  * Forbidden
17874
19167
  */
@@ -17890,30 +19183,33 @@ export type CancelOvertimeRuleScheduledTerminationErrors = {
17890
19183
  */
17891
19184
  428: Problem;
17892
19185
  };
17893
- export type CancelOvertimeRuleScheduledTerminationError = CancelOvertimeRuleScheduledTerminationErrors[keyof CancelOvertimeRuleScheduledTerminationErrors];
17894
- export type CancelOvertimeRuleScheduledTerminationResponses = {
19186
+ export type CancelPayRateRuleScheduledTerminationError = CancelPayRateRuleScheduledTerminationErrors[keyof CancelPayRateRuleScheduledTerminationErrors];
19187
+ export type CancelPayRateRuleScheduledTerminationResponses = {
17895
19188
  /**
17896
19189
  * Success
17897
19190
  */
17898
- 200: OvertimeRuleResponseObject;
19191
+ 200: PayRatesRuleResponseObject;
17899
19192
  };
17900
- export type CancelOvertimeRuleScheduledTerminationResponse = CancelOvertimeRuleScheduledTerminationResponses[keyof CancelOvertimeRuleScheduledTerminationResponses];
17901
- export type ScheduleOvertimeRuleTerminationData = {
17902
- body: OvertimeRuleScheduledTerminationParameters;
19193
+ export type CancelPayRateRuleScheduledTerminationResponse = CancelPayRateRuleScheduledTerminationResponses[keyof CancelPayRateRuleScheduledTerminationResponses];
19194
+ export type SchedulePayRateRuleTerminationData = {
19195
+ body: PayRatesRuleScheduledTerminationParameters;
17903
19196
  headers: {
17904
19197
  /**
17905
- * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
19198
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists.
17906
19199
  */
17907
19200
  'If-Match': string;
17908
19201
  };
17909
19202
  path: {
17910
- overtime_package_id: string;
17911
- overtime_rule_id: string;
19203
+ rule_package_id: string;
19204
+ /**
19205
+ * The rule's version-stable identity.
19206
+ */
19207
+ rule_id: string;
17912
19208
  };
17913
19209
  query?: never;
17914
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination';
19210
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_termination';
17915
19211
  };
17916
- export type ScheduleOvertimeRuleTerminationErrors = {
19212
+ export type SchedulePayRateRuleTerminationErrors = {
17917
19213
  /**
17918
19214
  * Bad Request
17919
19215
  */
@@ -17943,18 +19239,18 @@ export type ScheduleOvertimeRuleTerminationErrors = {
17943
19239
  */
17944
19240
  428: Problem;
17945
19241
  };
17946
- export type ScheduleOvertimeRuleTerminationError = ScheduleOvertimeRuleTerminationErrors[keyof ScheduleOvertimeRuleTerminationErrors];
17947
- export type ScheduleOvertimeRuleTerminationResponses = {
19242
+ export type SchedulePayRateRuleTerminationError = SchedulePayRateRuleTerminationErrors[keyof SchedulePayRateRuleTerminationErrors];
19243
+ export type SchedulePayRateRuleTerminationResponses = {
17948
19244
  /**
17949
19245
  * Created
17950
19246
  */
17951
- 201: OvertimeRuleResponseObject;
19247
+ 201: PayRatesRuleResponseObject;
17952
19248
  };
17953
- export type ScheduleOvertimeRuleTerminationResponse = ScheduleOvertimeRuleTerminationResponses[keyof ScheduleOvertimeRuleTerminationResponses];
17954
- export type ListOvertimeRulesData = {
19249
+ export type SchedulePayRateRuleTerminationResponse = SchedulePayRateRuleTerminationResponses[keyof SchedulePayRateRuleTerminationResponses];
19250
+ export type ListPayRateRulesData = {
17955
19251
  body?: never;
17956
19252
  path: {
17957
- overtime_package_id: string;
19253
+ rule_package_id: string;
17958
19254
  };
17959
19255
  query?: {
17960
19256
  /**
@@ -17978,9 +19274,9 @@ export type ListOvertimeRulesData = {
17978
19274
  'page[limit]'?: number;
17979
19275
  page?: string;
17980
19276
  };
17981
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules';
19277
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules';
17982
19278
  };
17983
- export type ListOvertimeRulesErrors = {
19279
+ export type ListPayRateRulesErrors = {
17984
19280
  /**
17985
19281
  * Bad Request
17986
19282
  */
@@ -17994,29 +19290,29 @@ export type ListOvertimeRulesErrors = {
17994
19290
  */
17995
19291
  422: Problem;
17996
19292
  };
17997
- export type ListOvertimeRulesError = ListOvertimeRulesErrors[keyof ListOvertimeRulesErrors];
17998
- export type ListOvertimeRulesResponses = {
19293
+ export type ListPayRateRulesError = ListPayRateRulesErrors[keyof ListPayRateRulesErrors];
19294
+ export type ListPayRateRulesResponses = {
17999
19295
  /**
18000
19296
  * Success
18001
19297
  */
18002
19298
  200: {
18003
19299
  meta: Meta;
18004
19300
  links: Links;
18005
- data: Array<OvertimeRuleResponseObject>;
19301
+ data: Array<PayRatesRuleResponseObject>;
18006
19302
  };
18007
19303
  };
18008
- export type ListOvertimeRulesResponse = ListOvertimeRulesResponses[keyof ListOvertimeRulesResponses];
18009
- export type CreateOvertimeRuleData = {
18010
- body: OvertimeRuleParameters;
19304
+ export type ListPayRateRulesResponse = ListPayRateRulesResponses[keyof ListPayRateRulesResponses];
19305
+ export type CreatePayRateRuleData = {
19306
+ body: PayRatesRuleParameters;
18011
19307
  path: {
18012
- overtime_package_id: string;
19308
+ rule_package_id: string;
18013
19309
  };
18014
19310
  query?: never;
18015
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules';
19311
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules';
18016
19312
  };
18017
- export type CreateOvertimeRuleErrors = {
19313
+ export type CreatePayRateRuleErrors = {
18018
19314
  /**
18019
- * Bad Request (unknown body key)
19315
+ * Bad Request
18020
19316
  */
18021
19317
  400: Problem;
18022
19318
  /**
@@ -18032,30 +19328,33 @@ export type CreateOvertimeRuleErrors = {
18032
19328
  */
18033
19329
  422: Problem;
18034
19330
  };
18035
- export type CreateOvertimeRuleError = CreateOvertimeRuleErrors[keyof CreateOvertimeRuleErrors];
18036
- export type CreateOvertimeRuleResponses = {
19331
+ export type CreatePayRateRuleError = CreatePayRateRuleErrors[keyof CreatePayRateRuleErrors];
19332
+ export type CreatePayRateRuleResponses = {
18037
19333
  /**
18038
19334
  * Created
18039
19335
  */
18040
- 201: OvertimeRuleResponseObject;
19336
+ 201: PayRatesRuleResponseObject;
18041
19337
  };
18042
- export type CreateOvertimeRuleResponse = CreateOvertimeRuleResponses[keyof CreateOvertimeRuleResponses];
18043
- export type DeleteOvertimeRuleData = {
19338
+ export type CreatePayRateRuleResponse = CreatePayRateRuleResponses[keyof CreatePayRateRuleResponses];
19339
+ export type DeletePayRateRuleData = {
18044
19340
  body?: never;
18045
19341
  headers: {
18046
19342
  /**
18047
- * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
19343
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists.
18048
19344
  */
18049
19345
  'If-Match': string;
18050
19346
  };
18051
19347
  path: {
18052
- overtime_package_id: string;
19348
+ rule_package_id: string;
19349
+ /**
19350
+ * The rule's version-stable identity.
19351
+ */
18053
19352
  id: string;
18054
19353
  };
18055
19354
  query?: never;
18056
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
19355
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}';
18057
19356
  };
18058
- export type DeleteOvertimeRuleErrors = {
19357
+ export type DeletePayRateRuleErrors = {
18059
19358
  /**
18060
19359
  * Forbidden
18061
19360
  */
@@ -18073,18 +19372,21 @@ export type DeleteOvertimeRuleErrors = {
18073
19372
  */
18074
19373
  428: Problem;
18075
19374
  };
18076
- export type DeleteOvertimeRuleError = DeleteOvertimeRuleErrors[keyof DeleteOvertimeRuleErrors];
18077
- export type DeleteOvertimeRuleResponses = {
19375
+ export type DeletePayRateRuleError = DeletePayRateRuleErrors[keyof DeletePayRateRuleErrors];
19376
+ export type DeletePayRateRuleResponses = {
18078
19377
  /**
18079
19378
  * Success
18080
19379
  */
18081
- 200: OvertimeRuleResponseObject;
19380
+ 200: PayRatesRuleResponseObject;
18082
19381
  };
18083
- export type DeleteOvertimeRuleResponse = DeleteOvertimeRuleResponses[keyof DeleteOvertimeRuleResponses];
18084
- export type GetOvertimeRuleData = {
19382
+ export type DeletePayRateRuleResponse = DeletePayRateRuleResponses[keyof DeletePayRateRuleResponses];
19383
+ export type GetPayRateRuleData = {
18085
19384
  body?: never;
18086
19385
  path: {
18087
- overtime_package_id: string;
19386
+ rule_package_id: string;
19387
+ /**
19388
+ * The rule's version-stable identity.
19389
+ */
18088
19390
  id: string;
18089
19391
  };
18090
19392
  query?: {
@@ -18093,9 +19395,13 @@ export type GetOvertimeRuleData = {
18093
19395
  */
18094
19396
  'as_of[valid]'?: string;
18095
19397
  };
18096
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
19398
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}';
18097
19399
  };
18098
- export type GetOvertimeRuleErrors = {
19400
+ export type GetPayRateRuleErrors = {
19401
+ /**
19402
+ * Bad Request
19403
+ */
19404
+ 400: Problem;
18099
19405
  /**
18100
19406
  * Forbidden
18101
19407
  */
@@ -18104,33 +19410,40 @@ export type GetOvertimeRuleErrors = {
18104
19410
  * Not Found
18105
19411
  */
18106
19412
  404: Problem;
19413
+ /**
19414
+ * Unprocessable Content
19415
+ */
19416
+ 422: Problem;
18107
19417
  };
18108
- export type GetOvertimeRuleError = GetOvertimeRuleErrors[keyof GetOvertimeRuleErrors];
18109
- export type GetOvertimeRuleResponses = {
19418
+ export type GetPayRateRuleError = GetPayRateRuleErrors[keyof GetPayRateRuleErrors];
19419
+ export type GetPayRateRuleResponses = {
18110
19420
  /**
18111
19421
  * Success
18112
19422
  */
18113
- 200: OvertimeRuleResponseObject;
19423
+ 200: PayRatesRuleResponseObject;
18114
19424
  };
18115
- export type GetOvertimeRuleResponse = GetOvertimeRuleResponses[keyof GetOvertimeRuleResponses];
18116
- export type UpdateOvertimeRuleData = {
18117
- body: OvertimeRuleUpdateParameters;
19425
+ export type GetPayRateRuleResponse = GetPayRateRuleResponses[keyof GetPayRateRuleResponses];
19426
+ export type UpdatePayRateRuleData = {
19427
+ body: PayRatesRuleUpdateParameters;
18118
19428
  headers: {
18119
19429
  /**
18120
- * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists. See "Version validators" in the API overview.
19430
+ * Version validator this write is composed against — the `ETag` from a read of this rule, or `*` to write against whatever exists.
18121
19431
  */
18122
19432
  'If-Match': string;
18123
19433
  };
18124
19434
  path: {
18125
- overtime_package_id: string;
19435
+ rule_package_id: string;
19436
+ /**
19437
+ * The rule's version-stable identity.
19438
+ */
18126
19439
  id: string;
18127
19440
  };
18128
19441
  query?: never;
18129
- url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}';
19442
+ url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}';
18130
19443
  };
18131
- export type UpdateOvertimeRuleErrors = {
19444
+ export type UpdatePayRateRuleErrors = {
18132
19445
  /**
18133
- * Bad Request (unknown body key)
19446
+ * Bad Request
18134
19447
  */
18135
19448
  400: Problem;
18136
19449
  /**
@@ -18141,10 +19454,6 @@ export type UpdateOvertimeRuleErrors = {
18141
19454
  * Not Found
18142
19455
  */
18143
19456
  404: Problem;
18144
- /**
18145
- * Conflict
18146
- */
18147
- 409: Problem;
18148
19457
  /**
18149
19458
  * Precondition Failed
18150
19459
  */
@@ -18158,14 +19467,133 @@ export type UpdateOvertimeRuleErrors = {
18158
19467
  */
18159
19468
  428: Problem;
18160
19469
  };
18161
- export type UpdateOvertimeRuleError = UpdateOvertimeRuleErrors[keyof UpdateOvertimeRuleErrors];
18162
- export type UpdateOvertimeRuleResponses = {
19470
+ export type UpdatePayRateRuleError = UpdatePayRateRuleErrors[keyof UpdatePayRateRuleErrors];
19471
+ export type UpdatePayRateRuleResponses = {
18163
19472
  /**
18164
19473
  * Success
18165
19474
  */
18166
- 200: OvertimeRuleResponseObject;
19475
+ 200: PayRatesRuleResponseObject;
18167
19476
  };
18168
- export type UpdateOvertimeRuleResponse = UpdateOvertimeRuleResponses[keyof UpdateOvertimeRuleResponses];
19477
+ export type UpdatePayRateRuleResponse = UpdatePayRateRuleResponses[keyof UpdatePayRateRuleResponses];
19478
+ export type ListPayRateRulePackagesData = {
19479
+ body?: never;
19480
+ path?: never;
19481
+ query?: {
19482
+ /**
19483
+ * Return packages scoped to this job.
19484
+ */
19485
+ 'filter[scoped_to_job_id]'?: string;
19486
+ /**
19487
+ * Set to `true` to return company-wide packages without a job scope.
19488
+ */
19489
+ 'filter[scoped_to_job_id][null]'?: boolean;
19490
+ /**
19491
+ * Filter by whether the package is the default for its scope.
19492
+ */
19493
+ 'filter[default]'?: boolean;
19494
+ /**
19495
+ * Filter by whether users can select the package.
19496
+ */
19497
+ 'filter[selectable]'?: boolean;
19498
+ 'filter[created_at][gte]'?: string;
19499
+ 'filter[created_at][lte]'?: string;
19500
+ 'filter[updated_at][gte]'?: string;
19501
+ 'filter[updated_at][lte]'?: string;
19502
+ filter?: string;
19503
+ 'filter[unexpected]'?: string;
19504
+ /**
19505
+ * This pagination cursor corresponds to the cursor value found in the response in
19506
+ * `meta.page.next_cursor`.
19507
+ */
19508
+ 'page[cursor]'?: string;
19509
+ /**
19510
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
19511
+ */
19512
+ 'page[limit]'?: number;
19513
+ page?: string;
19514
+ };
19515
+ url: '/api/v1/pay/rates/rule_packages';
19516
+ };
19517
+ export type ListPayRateRulePackagesErrors = {
19518
+ /**
19519
+ * Bad Request
19520
+ */
19521
+ 400: Problem;
19522
+ /**
19523
+ * Forbidden
19524
+ */
19525
+ 403: Problem;
19526
+ /**
19527
+ * Unprocessable Content
19528
+ */
19529
+ 422: Problem;
19530
+ };
19531
+ export type ListPayRateRulePackagesError = ListPayRateRulePackagesErrors[keyof ListPayRateRulePackagesErrors];
19532
+ export type ListPayRateRulePackagesResponses = {
19533
+ /**
19534
+ * Success
19535
+ */
19536
+ 200: {
19537
+ meta: Meta;
19538
+ links: Links;
19539
+ data: Array<PayRatesRulePackageResponseObject>;
19540
+ };
19541
+ };
19542
+ export type ListPayRateRulePackagesResponse = ListPayRateRulePackagesResponses[keyof ListPayRateRulePackagesResponses];
19543
+ export type CreatePayRateRulePackageData = {
19544
+ body: PayRatesRulePackageParameters;
19545
+ path?: never;
19546
+ query?: never;
19547
+ url: '/api/v1/pay/rates/rule_packages';
19548
+ };
19549
+ export type CreatePayRateRulePackageErrors = {
19550
+ /**
19551
+ * Bad Request
19552
+ */
19553
+ 400: Problem;
19554
+ /**
19555
+ * Forbidden
19556
+ */
19557
+ 403: Problem;
19558
+ /**
19559
+ * Unprocessable Content
19560
+ */
19561
+ 422: Problem;
19562
+ };
19563
+ export type CreatePayRateRulePackageError = CreatePayRateRulePackageErrors[keyof CreatePayRateRulePackageErrors];
19564
+ export type CreatePayRateRulePackageResponses = {
19565
+ /**
19566
+ * Created
19567
+ */
19568
+ 201: PayRatesRulePackageResponseObject;
19569
+ };
19570
+ export type CreatePayRateRulePackageResponse = CreatePayRateRulePackageResponses[keyof CreatePayRateRulePackageResponses];
19571
+ export type GetPayRateRulePackageData = {
19572
+ body?: never;
19573
+ path: {
19574
+ id: string;
19575
+ };
19576
+ query?: never;
19577
+ url: '/api/v1/pay/rates/rule_packages/{id}';
19578
+ };
19579
+ export type GetPayRateRulePackageErrors = {
19580
+ /**
19581
+ * Forbidden
19582
+ */
19583
+ 403: Problem;
19584
+ /**
19585
+ * Not Found
19586
+ */
19587
+ 404: Problem;
19588
+ };
19589
+ export type GetPayRateRulePackageError = GetPayRateRulePackageErrors[keyof GetPayRateRulePackageErrors];
19590
+ export type GetPayRateRulePackageResponses = {
19591
+ /**
19592
+ * Success
19593
+ */
19594
+ 200: PayRatesRulePackageResponseObject;
19595
+ };
19596
+ export type GetPayRateRulePackageResponse = GetPayRateRulePackageResponses[keyof GetPayRateRulePackageResponses];
18169
19597
  export type ListAggregateTimeImportsData = {
18170
19598
  body?: never;
18171
19599
  path: {
@@ -20086,6 +21514,10 @@ export type UpdatePositionFunctionErrors = {
20086
21514
  * Not Found
20087
21515
  */
20088
21516
  404: Problem;
21517
+ /**
21518
+ * Unprocessable Content
21519
+ */
21520
+ 422: Problem;
20089
21521
  };
20090
21522
  export type UpdatePositionFunctionError = UpdatePositionFunctionErrors[keyof UpdatePositionFunctionErrors];
20091
21523
  export type UpdatePositionFunctionResponses = {
@@ -20366,6 +21798,10 @@ export type CreateProjectErrors = {
20366
21798
  * Forbidden
20367
21799
  */
20368
21800
  403: Problem;
21801
+ /**
21802
+ * Not Found
21803
+ */
21804
+ 404: Problem;
20369
21805
  /**
20370
21806
  * Unprocessable Content
20371
21807
  */
@@ -20409,7 +21845,7 @@ export type GetProjectResponses = {
20409
21845
  };
20410
21846
  export type GetProjectResponse = GetProjectResponses[keyof GetProjectResponses];
20411
21847
  export type UpdateProjectData = {
20412
- body: ProjectParameters;
21848
+ body: ProjectUpdateParameters;
20413
21849
  path: {
20414
21850
  /**
20415
21851
  * Unique identifier of the project (UUID).