@dsptch-work/api-client 0.41.0 → 0.42.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.
@@ -259,6 +259,12 @@ export type Problem = {
259
259
  *
260
260
  * The upload behind an image attachment's signed id is not an image content type. Upload an image file.
261
261
  *
262
+ * ### certified_payroll_format_unavailable
263
+ *
264
+ * **Certified Payroll Format Unavailable**
265
+ *
266
+ * The named job does not offer this certified payroll format. WH-347 is available only on a job that tracks federal prevailing wage. Use a job that offers the format.
267
+ *
262
268
  * ### company_not_employer
263
269
  *
264
270
  * **Company Not Program Employer**
@@ -313,6 +319,18 @@ export type Problem = {
313
319
  *
314
320
  * An attachment signed id names no upload this endpoint can read. A signed id is issued for one `resource` and verifies only there, so an id for a different resource is indistinguishable from one that is malformed, expired, or tampered with, and all of them answer alike. The message names the resource the upload needed; upload the file again to the direct-uploads endpoint naming it, and pass the signed id that call returns.
315
321
  *
322
+ * ### not_incomplete_permanent_copy
323
+ *
324
+ * **Not An Incomplete Permanent Copy**
325
+ *
326
+ * Ending a form assignment task is allowed only for the open incomplete permanent copy. Completed copies, non-permanent rows, and other uid-family members are refused. Re-read the assignment and end only that open copy.
327
+ *
328
+ * ### nothing_exportable
329
+ *
330
+ * **Nothing Exportable**
331
+ *
332
+ * The requested date range has no reportable pay periods to file for this job. Certified payroll starts at the first week with PWA work and includes only periods whose pay date has elapsed (or, in aggregate mode, periods that have ended). Widen or shift the range, or wait until a period is reportable.
333
+ *
316
334
  * ### nothing_to_cancel
317
335
  *
318
336
  * **Nothing To Cancel**
@@ -394,7 +412,7 @@ export type Problem = {
394
412
  * Another write to the same resource held it for longer than this request was willing to wait, or collided with it, so nothing was applied. The request itself is fine — resend it unchanged after the `Retry-After` window.
395
413
  *
396
414
  */
397
- export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
415
+ export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'certified_payroll_format_unavailable' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'not_incomplete_permanent_copy' | 'nothing_exportable' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
398
416
  export type ApiKeyScopeResponseObject = {
399
417
  resource: string;
400
418
  action: 'read' | 'create' | 'update' | 'delete';
@@ -792,7 +810,7 @@ export type CompetencyCriterionParameters = {
792
810
  */
793
811
  evidence_note?: string | null;
794
812
  /**
795
- * Suggested assessment methods. Optional. Send an empty array to clear.
813
+ * Suggested assessment methods. Optional. Send an empty array to clear; a repeated method answers 422.
796
814
  */
797
815
  assessment_methods?: Array<'direct_observation' | 'simulation' | 'oral_questioning' | 'written_questioning' | 'products_of_work' | 'recognized_prior_learning' | 'witness_testimony' | 'other'>;
798
816
  };
@@ -3337,7 +3355,7 @@ export type AssetsCategoryParameters = {
3337
3355
  */
3338
3356
  name: string;
3339
3357
  /**
3340
- * ID of the parent category; null for a root category.
3358
+ * ID of the parent category; null or blank files the category at the root. A category that is not visible to the API key, or does not exist, answers 404.
3341
3359
  */
3342
3360
  parent_id?: string | null;
3343
3361
  /**
@@ -3349,7 +3367,7 @@ export type AssetsCategoryParameters = {
3349
3367
  */
3350
3368
  id?: string;
3351
3369
  /**
3352
- * ID of the attribute definition.
3370
+ * ID of the attribute definition to assign. An attribute that is not visible to the API key, or does not exist, answers 404.
3353
3371
  */
3354
3372
  assets_attribute_id?: string;
3355
3373
  /**
@@ -3379,7 +3397,7 @@ export type AssetsCategoryUpdateParameters = {
3379
3397
  */
3380
3398
  name?: string;
3381
3399
  /**
3382
- * ID of the parent category; null for a root category.
3400
+ * ID of the parent category; null or blank files the category at the root. A category that is not visible to the API key, or does not exist, answers 404.
3383
3401
  */
3384
3402
  parent_id?: string | null;
3385
3403
  /**
@@ -3391,7 +3409,7 @@ export type AssetsCategoryUpdateParameters = {
3391
3409
  */
3392
3410
  id?: string;
3393
3411
  /**
3394
- * ID of the attribute definition.
3412
+ * ID of the attribute definition to assign. An attribute that is not visible to the API key, or does not exist, answers 404.
3395
3413
  */
3396
3414
  assets_attribute_id?: string;
3397
3415
  /**
@@ -6155,6 +6173,22 @@ export type TimeEntryResponseObject = {
6155
6173
  * Where the base rate came from: one of user_default, position, prevailing_wage, or custom; null when no rate is set. (The schema types this as a free-form nullable string; the value set is defined by the model enum.) Present for company keys and for administrators of the company whose pay schedule holds the entry; omitted for other user keys.
6156
6174
  */
6157
6175
  hourly_rate_src_type?: string | null;
6176
+ /**
6177
+ * Complete 1.5x overtime wage premium in cents, additional to the base hourly rate; serialized as a decimal string preserving fractional cents. Null when no premium is set. Present for company keys and company administrators; omitted for other user keys.
6178
+ */
6179
+ one_five_x_adder_rate_cents?: string | null;
6180
+ /**
6181
+ * Source of the saved 1.5x overtime wage premium; null when no premium is set. Read-only. Present for company keys and company administrators; omitted for other user keys.
6182
+ */
6183
+ one_five_x_adder_rate_src_type?: 'position' | 'prevailing_wage' | 'custom' | null;
6184
+ /**
6185
+ * Complete 2x overtime wage premium in cents, additional to the base hourly rate; serialized as a decimal string preserving fractional cents. Null when no premium is set. Present for company keys and company administrators; omitted for other user keys.
6186
+ */
6187
+ two_x_adder_rate_cents?: string | null;
6188
+ /**
6189
+ * Source of the saved 2x overtime wage premium; null when no premium is set. Read-only. Present for company keys and company administrators; omitted for other user keys.
6190
+ */
6191
+ two_x_adder_rate_src_type?: 'position' | 'prevailing_wage' | 'custom' | null;
6158
6192
  /**
6159
6193
  * Id of the pay period containing this entry (resolved through the time card).
6160
6194
  */
@@ -6267,6 +6301,14 @@ export type TimeEntryCreateParameters = {
6267
6301
  * Base hourly rate in cents, sent as a string to preserve precision; omit it to let the system derive the rate from the position/user default, and null also derives the default. Admin only on user-scoped keys.
6268
6302
  */
6269
6303
  hourly_rate_cents?: string | null;
6304
+ /**
6305
+ * Complete 1.5x overtime wage premium in cents, additional to the base hourly rate rather than a full overtime wage or another increment. Send a nonnegative decimal string; fractional cents and zero are supported. Omission derives the automatic premium on create and preserves the saved premium on update. Null resets to the current automatic premium. An entered amount equal to the computed premium uses its automatic source; an untouched Custom premium stays Custom if the default catches up. Each tier is independent. Company keys and company administrators may write this field; other user keys receive 403, including for null.
6306
+ */
6307
+ one_five_x_adder_rate_cents?: string | null;
6308
+ /**
6309
+ * Complete 2x overtime wage premium in cents, additional to the base hourly rate rather than a full overtime wage or another increment. Send a nonnegative decimal string; fractional cents and zero are supported. Omission derives the automatic premium on create and preserves the saved premium on update. Null resets to the current automatic premium. An entered amount equal to the computed premium uses its automatic source; an untouched Custom premium stays Custom if the default catches up. Each tier is independent. Company keys and company administrators may write this field; other user keys receive 403, including for null.
6310
+ */
6311
+ two_x_adder_rate_cents?: string | null;
6270
6312
  /**
6271
6313
  * Complete desired set of unique nonblank IDs of the features to allocate to this time entry. Only features your company can view are accepted. Omit to keep the allocations (none on create); send an empty array to clear them. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before anything is written.
6272
6314
  */
@@ -6308,6 +6350,14 @@ export type TimeEntryUpdateParameters = {
6308
6350
  * Base hourly rate in cents, sent as a string to preserve precision; omit it to let the system derive the rate from the position/user default, and null also derives the default. Admin only on user-scoped keys.
6309
6351
  */
6310
6352
  hourly_rate_cents?: string | null;
6353
+ /**
6354
+ * Complete 1.5x overtime wage premium in cents, additional to the base hourly rate rather than a full overtime wage or another increment. Send a nonnegative decimal string; fractional cents and zero are supported. Omission derives the automatic premium on create and preserves the saved premium on update. Null resets to the current automatic premium. An entered amount equal to the computed premium uses its automatic source; an untouched Custom premium stays Custom if the default catches up. Each tier is independent. Company keys and company administrators may write this field; other user keys receive 403, including for null.
6355
+ */
6356
+ one_five_x_adder_rate_cents?: string | null;
6357
+ /**
6358
+ * Complete 2x overtime wage premium in cents, additional to the base hourly rate rather than a full overtime wage or another increment. Send a nonnegative decimal string; fractional cents and zero are supported. Omission derives the automatic premium on create and preserves the saved premium on update. Null resets to the current automatic premium. An entered amount equal to the computed premium uses its automatic source; an untouched Custom premium stays Custom if the default catches up. Each tier is independent. Company keys and company administrators may write this field; other user keys receive 403, including for null.
6359
+ */
6360
+ two_x_adder_rate_cents?: string | null;
6311
6361
  /**
6312
6362
  * Complete desired set of unique nonblank IDs of the features to allocate to this time entry. Only features your company can view are accepted. Omit to keep the allocations (none on create); send an empty array to clear them. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before anything is written.
6313
6363
  */
@@ -7569,19 +7619,19 @@ export type TimeCardResponseObject = {
7569
7619
  2: number;
7570
7620
  };
7571
7621
  /**
7572
- * Total pay for the period in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7622
+ * Total pay for the period in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7573
7623
  */
7574
7624
  pay_cents?: string;
7575
7625
  /**
7576
- * Base-wage portion of pay in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7626
+ * Base-wage portion of pay in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7577
7627
  */
7578
7628
  base_wage_pay_cents?: string;
7579
7629
  /**
7580
- * Additional pay from the 1.5x overtime multiplier in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7630
+ * Additional pay from the 1.5x overtime multiplier in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7581
7631
  */
7582
7632
  one_five_x_adder_cents?: string;
7583
7633
  /**
7584
- * Additional pay from the 2.0x overtime multiplier in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7634
+ * Additional pay from the 2.0x overtime multiplier in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7585
7635
  */
7586
7636
  two_x_adder_cents?: string;
7587
7637
  /**
@@ -7692,19 +7742,19 @@ export type JobTimeCardDayResponseObject = {
7692
7742
  2: number;
7693
7743
  };
7694
7744
  /**
7695
- * Total pay for this date in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7745
+ * Total pay for this date in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7696
7746
  */
7697
7747
  pay_cents?: string;
7698
7748
  /**
7699
- * Base-wage portion of this date's pay in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7749
+ * Base-wage portion of this date's pay in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7700
7750
  */
7701
7751
  base_wage_pay_cents?: string;
7702
7752
  /**
7703
- * Additional pay from the 1.5x overtime multiplier on this date, in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7753
+ * Additional pay from the 1.5x overtime multiplier on this date, in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7704
7754
  */
7705
7755
  one_five_x_adder_cents?: string;
7706
7756
  /**
7707
- * Additional pay from the 2.0x overtime multiplier on this date, in integer cents, as a decimal string. Omitted when the caller may see the time card but not its money.
7757
+ * Additional pay from the 2.0x overtime multiplier on this date, in integer cents, as a decimal string. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7708
7758
  */
7709
7759
  two_x_adder_cents?: string;
7710
7760
  /**
@@ -7860,35 +7910,35 @@ export type JobTimeCardDayResponseObject = {
7860
7910
  2: number;
7861
7911
  };
7862
7912
  /**
7863
- * Pay-period-to-date running total of total pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7913
+ * Pay-period-to-date running total of total pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7864
7914
  */
7865
7915
  cumulative_pay_cents?: string;
7866
7916
  /**
7867
- * Week-to-date running total of total pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7917
+ * Week-to-date running total of total pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7868
7918
  */
7869
7919
  weekly_cumulative_pay_cents?: string;
7870
7920
  /**
7871
- * Pay-period-to-date running total of base-wage pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7921
+ * Pay-period-to-date running total of base-wage pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7872
7922
  */
7873
7923
  cumulative_base_wage_pay_cents?: string;
7874
7924
  /**
7875
- * Week-to-date running total of base-wage pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7925
+ * Week-to-date running total of base-wage pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7876
7926
  */
7877
7927
  weekly_cumulative_base_wage_pay_cents?: string;
7878
7928
  /**
7879
- * Pay-period-to-date running total of 1.5x overtime adder pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7929
+ * Pay-period-to-date running total of 1.5x overtime adder pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7880
7930
  */
7881
7931
  cumulative_one_five_x_adder_cents?: string;
7882
7932
  /**
7883
- * Week-to-date running total of 1.5x overtime adder pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7933
+ * Week-to-date running total of 1.5x overtime adder pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7884
7934
  */
7885
7935
  weekly_cumulative_one_five_x_adder_cents?: string;
7886
7936
  /**
7887
- * Pay-period-to-date running total of 2.0x overtime adder pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7937
+ * Pay-period-to-date running total of 2.0x overtime adder pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7888
7938
  */
7889
7939
  cumulative_two_x_adder_cents?: string;
7890
7940
  /**
7891
- * Week-to-date running total of 2.0x overtime adder pay in integer cents, as a decimal string, through this date. Omitted when the caller may see the time card but not its money.
7941
+ * Week-to-date running total of 2.0x overtime adder pay in integer cents, as a decimal string, through this date. Present for company keys, for administrators of the card's company, and for the person the card belongs to; omitted for other user keys.
7892
7942
  */
7893
7943
  weekly_cumulative_two_x_adder_cents?: string;
7894
7944
  /**
@@ -8887,7 +8937,7 @@ export type ProjectParameters = {
8887
8937
  */
8888
8938
  placed_in_service_doc_signed_id?: string;
8889
8939
  /**
8890
- * ID of the user recorded as creator of a newly attached IRA evidence document. Required when any `*_doc_signed_id` is present (omission then answers 400); ignored when every evidence signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator.
8940
+ * ID of the user recorded as creator of a newly attached IRA evidence document. Required when any `*_doc_signed_id` is present (omission then answers 400); ignored when every evidence signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
8891
8941
  */
8892
8942
  performed_by_user_id?: string;
8893
8943
  /**
@@ -8996,7 +9046,7 @@ export type ProjectUpdateParameters = {
8996
9046
  */
8997
9047
  placed_in_service_doc_signed_id?: string;
8998
9048
  /**
8999
- * ID of the user recorded as creator of a newly attached IRA evidence document. Required when any `*_doc_signed_id` is present (omission then answers 400); ignored when every evidence signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator.
9049
+ * ID of the user recorded as creator of a newly attached IRA evidence document. Required when any `*_doc_signed_id` is present (omission then answers 400); ignored when every evidence signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
9000
9050
  */
9001
9051
  performed_by_user_id?: string;
9002
9052
  };
@@ -10617,7 +10667,7 @@ export type JobGoodFaithEffortExceptionResponseObject = {
10617
10667
  */
10618
10668
  num_apprentices_provided: number | null;
10619
10669
  /**
10620
- * Requested minutes of apprentice labor per apprentice; null when absent. Not converted to hours.
10670
+ * Requested apprentice labor per apprentice, in minutes — always a whole number of hours (a multiple of 60); null when absent. Not converted to hours.
10621
10671
  */
10622
10672
  minutes_per_apprentice: number | null;
10623
10673
  /**
@@ -10770,7 +10820,7 @@ export type JobGoodFaithEffortExceptionParameters = {
10770
10820
  */
10771
10821
  num_apprentices_provided?: number | null;
10772
10822
  /**
10773
- * Requested apprentice labor per apprentice, in minutes — not hours. Null or omission is absent; a non-integer answers 422.
10823
+ * Requested apprentice labor per apprentice, in minutes — not hours — and a whole number of hours, so a multiple of 60 (for example 480 for 8 hours). Null or omission is absent; a non-integer or a value that is not a multiple of 60 answers 422.
10774
10824
  */
10775
10825
  minutes_per_apprentice?: number | null;
10776
10826
  /**
@@ -10814,7 +10864,7 @@ export type JobGoodFaithEffortExceptionParameters = {
10814
10864
  */
10815
10865
  no_availability_proof_signed_id?: string;
10816
10866
  /**
10817
- * ID of the user recorded as creator of a newly attached proof document. Required when any proof signed id is present (omission then answers 400); ignored when every proof signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator.
10867
+ * ID of the user recorded as creator of a newly attached proof document. Required when any proof signed id is present (omission then answers 400); ignored when every proof signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
10818
10868
  */
10819
10869
  performed_by_user_id?: string;
10820
10870
  };
@@ -10835,7 +10885,7 @@ export type JobGoodFaithEffortExceptionUpdateParameters = {
10835
10885
  */
10836
10886
  num_apprentices_provided?: number | null;
10837
10887
  /**
10838
- * Requested apprentice labor per apprentice, in minutes — not hours. Null or omission is absent; a non-integer answers 422.
10888
+ * Requested apprentice labor per apprentice, in minutes — not hours — and a whole number of hours, so a multiple of 60 (for example 480 for 8 hours). Null or omission is absent; a non-integer or a value that is not a multiple of 60 answers 422.
10839
10889
  */
10840
10890
  minutes_per_apprentice?: number | null;
10841
10891
  /**
@@ -10879,7 +10929,7 @@ export type JobGoodFaithEffortExceptionUpdateParameters = {
10879
10929
  */
10880
10930
  no_availability_proof_signed_id?: string;
10881
10931
  /**
10882
- * ID of the user recorded as creator of a newly attached proof document. Required when any proof signed id is present (omission then answers 400); ignored when every proof signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator.
10932
+ * ID of the user recorded as creator of a newly attached proof document. Required when any proof signed id is present (omission then answers 400); ignored when every proof signed id is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
10883
10933
  */
10884
10934
  performed_by_user_id?: string;
10885
10935
  };
@@ -10894,6 +10944,92 @@ export type JobGoodFaithEffortExceptionsResponseObject = {
10894
10944
  */
10895
10945
  data: Array<JobGoodFaithEffortExceptionResponseObject>;
10896
10946
  };
10947
+ /**
10948
+ * A job-scoped WH-347 certified-payroll export. The generation handle is polled through this same document; `file` is null until a ZIP is attached. Signing fields are not published.
10949
+ */
10950
+ export type JobWh347ExportResponseObject = {
10951
+ /**
10952
+ * Id of the WH-347 export row.
10953
+ */
10954
+ id: string;
10955
+ /**
10956
+ * Id of the job this export is scoped to. Always matches the job in the URL path.
10957
+ */
10958
+ job_id: string;
10959
+ /**
10960
+ * First calendar day of the filing window.
10961
+ */
10962
+ start_date: string;
10963
+ /**
10964
+ * Last calendar day of the filing window.
10965
+ */
10966
+ end_date: string;
10967
+ /**
10968
+ * Generation-handle status — `pending`, `processing`, `signing`, `signed`, `certifying`, `success`, or `failed`. Create never enters the signing states; those appear only on jobs created in the web app.
10969
+ */
10970
+ status: 'pending' | 'processing' | 'signing' | 'signed' | 'certifying' | 'success' | 'failed';
10971
+ /**
10972
+ * The generated ZIP's filename, content type, size, and URL; null when no file is attached.
10973
+ */
10974
+ file: {
10975
+ /**
10976
+ * Stored name of the generated ZIP.
10977
+ */
10978
+ filename: string;
10979
+ /**
10980
+ * MIME type of the file; null when not recorded.
10981
+ */
10982
+ content_type: string | null;
10983
+ /**
10984
+ * Size of the file in bytes.
10985
+ */
10986
+ byte_size: number;
10987
+ /**
10988
+ * A URL to download the file.
10989
+ */
10990
+ url: string;
10991
+ } | null;
10992
+ /**
10993
+ * When source data was observed to have drifted from this export; null when it has not.
10994
+ */
10995
+ invalidated_at: string | null;
10996
+ /**
10997
+ * Why the export was invalidated — `source_data_changed`, `source_records_deleted`, or `ratio_status_changed`. Null when `invalidated_at` is null.
10998
+ */
10999
+ invalidation_reason: 'source_data_changed' | 'source_records_deleted' | 'ratio_status_changed' | null;
11000
+ /**
11001
+ * WH-347 form version that was or will be generated — `v1` or `v2`. Server-selected on create.
11002
+ */
11003
+ version: 'v1' | 'v2';
11004
+ /**
11005
+ * When the WH-347 export row was created.
11006
+ */
11007
+ created_at: string;
11008
+ };
11009
+ /**
11010
+ * A page of a job's WH-347 certified-payroll exports, with pagination metadata and navigation links.
11011
+ */
11012
+ export type JobWh347ExportsResponseObject = {
11013
+ meta: Meta;
11014
+ links: Links;
11015
+ /**
11016
+ * The page of WH-347 exports.
11017
+ */
11018
+ data: Array<JobWh347ExportResponseObject>;
11019
+ };
11020
+ /**
11021
+ * Start a job-scoped WH-347 certified-payroll export over a calendar window. Creation requires a user-scoped API key, because the generation handle attributes the export to a person. The response is the pending export; poll the member GET for status and the file URL. Version, filename, and signing are server-owned. A job that does not offer WH-347 answers 422 certified_payroll_format_unavailable. A window with no reportable pay periods answers 422 nothing_exportable.
11022
+ */
11023
+ export type JobWh347ExportCreateParameters = {
11024
+ /**
11025
+ * First calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or before `end_date`.
11026
+ */
11027
+ start_date: string;
11028
+ /**
11029
+ * Last calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or after `start_date`.
11030
+ */
11031
+ end_date: string;
11032
+ };
10897
11033
  /**
10898
11034
  * A form-completion task attached to a job — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::JobFormAssignmentTask` id, not the web show `Task#uid`.
10899
11035
  */
@@ -11055,7 +11191,7 @@ export type JobCurePaymentParameters = {
11055
11191
  */
11056
11192
  attestation_signed_id?: string;
11057
11193
  /**
11058
- * ID of the user recorded as creator of the payment (and of a newly attached attestation). Required on create (omission answers 400). On update it is required when `attestation_signed_id` is present and ignored when that key is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated attestation keeps the original document creator.
11194
+ * ID of the user recorded as creator of the payment (and of a newly attached attestation). Required on create (omission answers 400). On update it is required when `attestation_signed_id` is present and ignored when that key is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated attestation keeps the original document creator and records this user as the actor on the replacement's document history.
11059
11195
  */
11060
11196
  performed_by_user_id: string;
11061
11197
  /**
@@ -11092,7 +11228,7 @@ export type JobCurePaymentUpdateParameters = {
11092
11228
  */
11093
11229
  attestation_signed_id?: string;
11094
11230
  /**
11095
- * ID of the user recorded as creator of a newly attached attestation. Required when `attestation_signed_id` is present (omission then answers 400); ignored when that key is omitted. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator.
11231
+ * ID of the user recorded as creator of a newly attached attestation. Required when `attestation_signed_id` is present (omission then answers 400); ignored when that key is omitted. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
11096
11232
  */
11097
11233
  performed_by_user_id?: string;
11098
11234
  };
@@ -11801,7 +11937,7 @@ export type PositionParameters = {
11801
11937
  };
11802
11938
  };
11803
11939
  /**
11804
- * Parameters for creating a per-unit scope price on a job. `scope_kind` and `unit_price_cents` are required; omitting either answers 400, and a null or wrong-typed value answers 422.
11940
+ * Parameters for creating a per-unit scope price on a job. `scope_kind` is required; omission answers 400. Omit `unit_price_cents` or send null to create with an unknown price. Supplied nonnull prices must be nonnegative decimal strings.
11805
11941
  */
11806
11942
  export type ProductionJobScopePriceParameters = {
11807
11943
  /**
@@ -11809,9 +11945,9 @@ export type ProductionJobScopePriceParameters = {
11809
11945
  */
11810
11946
  scope_kind: string;
11811
11947
  /**
11812
- * Billing rate per unit in cents, as a decimal string (e.g. "120000" or the read form "120000.0" for $1,200.00, or "3.5" for $0.035); a fraction of a cent is kept exactly and bills exactly. A negative value or a JSON number answers 422.
11948
+ * Billing rate per unit in cents, as a decimal string (e.g. "120000" or the read form "120000.0" for $1,200.00, or "3.5" for $0.035); a fraction of a cent is kept exactly and bills exactly. Null means the current price is unknown; "0" is a known zero price. A negative value, blank string, JSON number, or wrong type answers 422.
11813
11949
  */
11814
- unit_price_cents: string;
11950
+ unit_price_cents?: string | null;
11815
11951
  /**
11816
11952
  * Contracted number of units expected for this scope on the job, as an integer; null when no target is set.
11817
11953
  */
@@ -11822,7 +11958,7 @@ export type ProductionJobScopePriceParameters = {
11822
11958
  unit_of_measure?: string;
11823
11959
  };
11824
11960
  /**
11825
- * Parameters for updating a per-unit scope price on a job. Every field is optional; omit a field to preserve its current value, or send null for `contracted_count` to clear it. A null or wrong-typed value for any other field answers 422. The resulting price must retain a scope kind and non-negative unit price.
11961
+ * Parameters for updating a per-unit scope price on a job. Every field is optional; omit a field to preserve its current value. Send null for `unit_price_cents` to clear the known price, or for `contracted_count` to clear the target. A null value for any other field, or a wrong-typed value, answers 422. The resulting price must retain a scope kind; supplied nonnull prices must be nonnegative decimal strings.
11826
11962
  */
11827
11963
  export type ProductionJobScopePriceUpdateParameters = {
11828
11964
  /**
@@ -11830,9 +11966,9 @@ export type ProductionJobScopePriceUpdateParameters = {
11830
11966
  */
11831
11967
  scope_kind?: string;
11832
11968
  /**
11833
- * Billing rate per unit in cents, as a decimal string (e.g. "120000" or the read form "120000.0" for $1,200.00, or "3.5" for $0.035); a fraction of a cent is kept exactly and bills exactly. A negative value or a JSON number answers 422.
11969
+ * Billing rate per unit in cents, as a decimal string (e.g. "120000" or the read form "120000.0" for $1,200.00, or "3.5" for $0.035); a fraction of a cent is kept exactly and bills exactly. Null means the current price is unknown; "0" is a known zero price. A negative value, blank string, JSON number, or wrong type answers 422.
11834
11970
  */
11835
- unit_price_cents?: string;
11971
+ unit_price_cents?: string | null;
11836
11972
  /**
11837
11973
  * Contracted number of units expected for this scope on the job, as an integer; null when no target is set.
11838
11974
  */
@@ -11863,9 +11999,9 @@ export type ProductionJobScopePriceResponseObject = {
11863
11999
  */
11864
12000
  unit_of_measure: string;
11865
12001
  /**
11866
- * Billing rate per unit in cents, as a decimal string (e.g. "120000.0" is $1,200.00 and "3.5" is $0.035); a fraction of a cent is kept exactly. Present for company keys and for administrators, managers, safety managers, and field leads of the company that owns the job; omitted for other user keys.
12002
+ * Billing rate per unit in cents, as a decimal string (e.g. "120000.0" is $1,200.00 and "3.5" is $0.035); a fraction of a cent is kept exactly. Null means the current price is unknown; "0.0" is a known zero price. Present for company keys and for administrators, managers, safety managers, and field leads of the company that owns the job; omitted for other user keys.
11867
12003
  */
11868
- unit_price_cents?: string;
12004
+ unit_price_cents?: string | null;
11869
12005
  /**
11870
12006
  * Contracted number of units expected for this scope on the job; null when no target is set. Present for company keys and for administrators, managers, safety managers, and field leads of the company that owns the job; omitted for other user keys.
11871
12007
  */
@@ -13179,21 +13315,14 @@ export type RegionalJobWageDeterminationHistoryCorrectionObject = {
13179
13315
  updated_at: string;
13180
13316
  };
13181
13317
  /**
13182
- * State-specific rate fields recorded on a Regional determination, as decimal-string money in
13183
- * cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
13184
- * a region-determined subset of these keys — never a fixed shape:
13185
- *
13186
- * - Categorized-fringe regions (currently IL) carry `combined_health_fringe_rate_cents`,
13187
- * `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
13188
- * `training_fringe_rate_cents`, and `other_fringe_rate_cents`.
13189
- * - Overtime-adder regions (currently IL and NY) carry `one_five_x_adder_rate_cents`,
13190
- * `two_x_adder_rate_cents`, `one_five_x_fringe_adder_rate_cents`, and
13191
- * `two_x_fringe_adder_rate_cents`.
13192
- * - A region with neither returns an empty object.
13318
+ * State-specific categorized fringe rates recorded on a Regional determination, as decimal-string
13319
+ * money in cents (e.g. "538.0"). Categorized-fringe regions (currently IL) carry
13320
+ * `combined_health_fringe_rate_cents`, `combined_savings_fringe_rate_cents`,
13321
+ * `combined_holiday_pto_fringe_rate_cents`, `training_fringe_rate_cents`, and
13322
+ * `other_fringe_rate_cents`. These values are non-null when present. Other regions return an empty object.
13193
13323
  *
13194
- * Categorized-fringe values are non-null when present; legacy overtime-adder values may be null.
13195
- * The overtime-adder fields are read-only. Configure new overtime premiums through the
13196
- * determination's rate rules.
13324
+ * Overtime wage and fringe premiums belong to the determination's rate-rule package. They are not
13325
+ * returned as scalar regional rate fields.
13197
13326
  *
13198
13327
  */
13199
13328
  export type RegionalWageDeterminationFieldsResponse = {
@@ -16349,7 +16478,7 @@ export type AssetsArchiveParameters = {
16349
16478
  */
16350
16479
  export type AssetsServiceScheduleSeedParameters = {
16351
16480
  /**
16352
- * Optional. Serial item IDs to seed. An ID the API key cannot see answers 404; a visible item the template cannot seed, or a blank member, answers 422 at that member. Omit to seed every seedable item. An empty list, null, or a value that is not an array of strings answers 422.
16481
+ * Optional. Serial item IDs to seed. An ID the API key cannot see answers 404; a visible item the template cannot seed, or a blank member, answers 422 at that member. Omit to seed every seedable item. An empty list, null, a repeated ID, or a value that is not an array of strings answers 422.
16353
16482
  */
16354
16483
  assets_item_ids?: Array<string>;
16355
16484
  /**
@@ -16362,7 +16491,7 @@ export type AssetsServiceScheduleSeedParameters = {
16362
16491
  */
16363
16492
  export type AssetsServiceScheduleSyncParameters = {
16364
16493
  /**
16365
- * Optional. Blocked schedule IDs to sync. An ID the API key cannot see answers 404; a visible schedule the template cannot sync, or a blank member, answers 422 at that member. Omit to sync every blocked schedule. An empty list, null, or a value that is not an array of strings answers 422.
16494
+ * Optional. Blocked schedule IDs to sync. An ID the API key cannot see answers 404; a visible schedule the template cannot sync, or a blank member, answers 422 at that member. Omit to sync every blocked schedule. An empty list, null, a repeated ID, or a value that is not an array of strings answers 422.
16366
16495
  */
16367
16496
  schedule_ids?: Array<string>;
16368
16497
  /**
@@ -19058,6 +19187,37 @@ export type CreateItemFormAssignmentTaskResponses = {
19058
19187
  201: AssetsItemFormAssignmentResponseObject;
19059
19188
  };
19060
19189
  export type CreateItemFormAssignmentTaskResponse = CreateItemFormAssignmentTaskResponses[keyof CreateItemFormAssignmentTaskResponses];
19190
+ export type DeleteFormAssignmentTaskData = {
19191
+ body?: never;
19192
+ path: {
19193
+ item_id: string;
19194
+ id: string;
19195
+ };
19196
+ query?: never;
19197
+ url: '/api/v1/assets/items/{item_id}/form_assignment_tasks/{id}';
19198
+ };
19199
+ export type DeleteFormAssignmentTaskErrors = {
19200
+ /**
19201
+ * Forbidden
19202
+ */
19203
+ 403: Problem;
19204
+ /**
19205
+ * Not Found
19206
+ */
19207
+ 404: Problem;
19208
+ /**
19209
+ * Unprocessable Content
19210
+ */
19211
+ 422: Problem;
19212
+ };
19213
+ export type DeleteFormAssignmentTaskError = DeleteFormAssignmentTaskErrors[keyof DeleteFormAssignmentTaskErrors];
19214
+ export type DeleteFormAssignmentTaskResponses = {
19215
+ /**
19216
+ * No Content
19217
+ */
19218
+ 204: void;
19219
+ };
19220
+ export type DeleteFormAssignmentTaskResponse = DeleteFormAssignmentTaskResponses[keyof DeleteFormAssignmentTaskResponses];
19061
19221
  export type GetFormAssignmentTaskData = {
19062
19222
  body?: never;
19063
19223
  path: {
@@ -19292,10 +19452,17 @@ export type ListVersionsData = {
19292
19452
  item_id: string;
19293
19453
  document_id: string;
19294
19454
  };
19295
- query?: never;
19455
+ query?: {
19456
+ filter?: string;
19457
+ 'filter[unexpected]'?: string;
19458
+ };
19296
19459
  url: '/api/v1/assets/items/{item_id}/documents/{document_id}/versions';
19297
19460
  };
19298
19461
  export type ListVersionsErrors = {
19462
+ /**
19463
+ * Bad Request
19464
+ */
19465
+ 400: Problem;
19299
19466
  /**
19300
19467
  * Forbidden
19301
19468
  */
@@ -20688,7 +20855,7 @@ export type ListPwaUserCountsByProjectByMonthsData = {
20688
20855
  path?: never;
20689
20856
  query?: {
20690
20857
  /**
20691
- * Filter to a single month (`YYYY-MM`)
20858
+ * Filter to a single month, written `YYYY-MM`
20692
20859
  */
20693
20860
  'filter[year_month]'?: string;
20694
20861
  'filter[project_id]'?: string;
@@ -20696,6 +20863,16 @@ export type ListPwaUserCountsByProjectByMonthsData = {
20696
20863
  * Filter to one job outside any project
20697
20864
  */
20698
20865
  'filter[job_id]'?: string;
20866
+ /**
20867
+ * This pagination cursor corresponds to the cursor value found in the response in
20868
+ * `meta.page.next_cursor`.
20869
+ */
20870
+ 'page[cursor]'?: string;
20871
+ /**
20872
+ * 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`.
20873
+ */
20874
+ 'page[limit]'?: number;
20875
+ page?: string;
20699
20876
  filter?: string;
20700
20877
  'filter[unexpected]'?: string;
20701
20878
  };
@@ -20710,13 +20887,21 @@ export type ListPwaUserCountsByProjectByMonthsErrors = {
20710
20887
  * Forbidden
20711
20888
  */
20712
20889
  403: Problem;
20890
+ /**
20891
+ * Unprocessable Content
20892
+ */
20893
+ 422: Problem;
20713
20894
  };
20714
20895
  export type ListPwaUserCountsByProjectByMonthsError = ListPwaUserCountsByProjectByMonthsErrors[keyof ListPwaUserCountsByProjectByMonthsErrors];
20715
20896
  export type ListPwaUserCountsByProjectByMonthsResponses = {
20716
20897
  /**
20717
20898
  * Success
20718
20899
  */
20719
- 200: Array<BillingPwaUserCountByProjectByMonthResponseObject>;
20900
+ 200: {
20901
+ meta: Meta;
20902
+ links: Links;
20903
+ data: Array<BillingPwaUserCountByProjectByMonthResponseObject>;
20904
+ };
20720
20905
  };
20721
20906
  export type ListPwaUserCountsByProjectByMonthsResponse = ListPwaUserCountsByProjectByMonthsResponses[keyof ListPwaUserCountsByProjectByMonthsResponses];
20722
20907
  export type ListPackagesData = {
@@ -21169,9 +21354,9 @@ export type CreateCertificationErrors = {
21169
21354
  export type CreateCertificationError = CreateCertificationErrors[keyof CreateCertificationErrors];
21170
21355
  export type CreateCertificationResponses = {
21171
21356
  /**
21172
- * Success
21357
+ * Created
21173
21358
  */
21174
- 200: CertificationResponseObject;
21359
+ 201: CertificationResponseObject;
21175
21360
  };
21176
21361
  export type CreateCertificationResponse = CreateCertificationResponses[keyof CreateCertificationResponses];
21177
21362
  export type DeleteCertificationData = {
@@ -22382,6 +22567,10 @@ export type CreateCriterionErrors = {
22382
22567
  * Forbidden
22383
22568
  */
22384
22569
  403: Problem;
22570
+ /**
22571
+ * Unprocessable Content
22572
+ */
22573
+ 422: Problem;
22385
22574
  };
22386
22575
  export type CreateCriterionError = CreateCriterionErrors[keyof CreateCriterionErrors];
22387
22576
  export type CreateCriterionResponses = {
@@ -22463,6 +22652,10 @@ export type UpdateCriterionErrors = {
22463
22652
  * Forbidden
22464
22653
  */
22465
22654
  403: Problem;
22655
+ /**
22656
+ * Unprocessable Content
22657
+ */
22658
+ 422: Problem;
22466
22659
  };
22467
22660
  export type UpdateCriterionError = UpdateCriterionErrors[keyof UpdateCriterionErrors];
22468
22661
  export type UpdateCriterionResponses = {
@@ -24162,6 +24355,37 @@ export type CreateJobFormAssignmentTaskResponses = {
24162
24355
  201: JobFormAssignmentResponseObject;
24163
24356
  };
24164
24357
  export type CreateJobFormAssignmentTaskResponse = CreateJobFormAssignmentTaskResponses[keyof CreateJobFormAssignmentTaskResponses];
24358
+ export type DeleteJobFormAssignmentTaskData = {
24359
+ body?: never;
24360
+ path: {
24361
+ job_id: string;
24362
+ id: string;
24363
+ };
24364
+ query?: never;
24365
+ url: '/api/v1/jobs/{job_id}/form_assignment_tasks/{id}';
24366
+ };
24367
+ export type DeleteJobFormAssignmentTaskErrors = {
24368
+ /**
24369
+ * Forbidden
24370
+ */
24371
+ 403: Problem;
24372
+ /**
24373
+ * Not Found
24374
+ */
24375
+ 404: Problem;
24376
+ /**
24377
+ * Unprocessable Content
24378
+ */
24379
+ 422: Problem;
24380
+ };
24381
+ export type DeleteJobFormAssignmentTaskError = DeleteJobFormAssignmentTaskErrors[keyof DeleteJobFormAssignmentTaskErrors];
24382
+ export type DeleteJobFormAssignmentTaskResponses = {
24383
+ /**
24384
+ * No Content
24385
+ */
24386
+ 204: void;
24387
+ };
24388
+ export type DeleteJobFormAssignmentTaskResponse = DeleteJobFormAssignmentTaskResponses[keyof DeleteJobFormAssignmentTaskResponses];
24165
24389
  export type GetJobFormAssignmentTaskData = {
24166
24390
  body?: never;
24167
24391
  path: {
@@ -24259,6 +24483,10 @@ export type ListJobScopePricesErrors = {
24259
24483
  * Forbidden
24260
24484
  */
24261
24485
  403: Problem;
24486
+ /**
24487
+ * Not Found
24488
+ */
24489
+ 404: Problem;
24262
24490
  /**
24263
24491
  * Unprocessable Content
24264
24492
  */
@@ -24556,6 +24784,10 @@ export type UpdateGoodFaithEffortExceptionErrors = {
24556
24784
  * Not Found
24557
24785
  */
24558
24786
  404: Problem;
24787
+ /**
24788
+ * Unprocessable Content
24789
+ */
24790
+ 422: Problem;
24559
24791
  };
24560
24792
  export type UpdateGoodFaithEffortExceptionError = UpdateGoodFaithEffortExceptionErrors[keyof UpdateGoodFaithEffortExceptionErrors];
24561
24793
  export type UpdateGoodFaithEffortExceptionResponses = {
@@ -24565,6 +24797,114 @@ export type UpdateGoodFaithEffortExceptionResponses = {
24565
24797
  200: JobGoodFaithEffortExceptionResponseObject;
24566
24798
  };
24567
24799
  export type UpdateGoodFaithEffortExceptionResponse = UpdateGoodFaithEffortExceptionResponses[keyof UpdateGoodFaithEffortExceptionResponses];
24800
+ export type ListWh347ExportsData = {
24801
+ body?: never;
24802
+ path: {
24803
+ job_id: string;
24804
+ };
24805
+ query?: {
24806
+ /**
24807
+ * Returns exports whose generation handle has any of these statuses. Comma-separate to match multiple (e.g. `pending,processing`). One of pending, processing, signing, signed, certifying, success, or failed.
24808
+ */
24809
+ 'filter[status]'?: string;
24810
+ filter?: string;
24811
+ 'filter[unexpected]'?: string;
24812
+ /**
24813
+ * This pagination cursor corresponds to the cursor value found in the response in
24814
+ * `meta.page.next_cursor`.
24815
+ */
24816
+ 'page[cursor]'?: string;
24817
+ /**
24818
+ * 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`.
24819
+ */
24820
+ 'page[limit]'?: number;
24821
+ page?: string;
24822
+ };
24823
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports';
24824
+ };
24825
+ export type ListWh347ExportsErrors = {
24826
+ /**
24827
+ * Bad Request
24828
+ */
24829
+ 400: Problem;
24830
+ /**
24831
+ * Forbidden
24832
+ */
24833
+ 403: Problem;
24834
+ /**
24835
+ * Not Found
24836
+ */
24837
+ 404: Problem;
24838
+ };
24839
+ export type ListWh347ExportsError = ListWh347ExportsErrors[keyof ListWh347ExportsErrors];
24840
+ export type ListWh347ExportsResponses = {
24841
+ /**
24842
+ * Success
24843
+ */
24844
+ 200: JobWh347ExportsResponseObject;
24845
+ };
24846
+ export type ListWh347ExportsResponse = ListWh347ExportsResponses[keyof ListWh347ExportsResponses];
24847
+ export type CreateWh347ExportData = {
24848
+ body: JobWh347ExportCreateParameters;
24849
+ path: {
24850
+ job_id: string;
24851
+ };
24852
+ query?: never;
24853
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports';
24854
+ };
24855
+ export type CreateWh347ExportErrors = {
24856
+ /**
24857
+ * Bad Request
24858
+ */
24859
+ 400: Problem;
24860
+ /**
24861
+ * Forbidden
24862
+ */
24863
+ 403: Problem;
24864
+ /**
24865
+ * Not Found
24866
+ */
24867
+ 404: Problem;
24868
+ /**
24869
+ * Unprocessable Content
24870
+ */
24871
+ 422: Problem;
24872
+ };
24873
+ export type CreateWh347ExportError = CreateWh347ExportErrors[keyof CreateWh347ExportErrors];
24874
+ export type CreateWh347ExportResponses = {
24875
+ /**
24876
+ * Created
24877
+ */
24878
+ 201: JobWh347ExportResponseObject;
24879
+ };
24880
+ export type CreateWh347ExportResponse = CreateWh347ExportResponses[keyof CreateWh347ExportResponses];
24881
+ export type GetWh347ExportData = {
24882
+ body?: never;
24883
+ path: {
24884
+ job_id: string;
24885
+ id: string;
24886
+ };
24887
+ query?: never;
24888
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports/{id}';
24889
+ };
24890
+ export type GetWh347ExportErrors = {
24891
+ /**
24892
+ * Forbidden
24893
+ */
24894
+ 403: Problem;
24895
+ /**
24896
+ * Not Found
24897
+ */
24898
+ 404: Problem;
24899
+ };
24900
+ export type GetWh347ExportError = GetWh347ExportErrors[keyof GetWh347ExportErrors];
24901
+ export type GetWh347ExportResponses = {
24902
+ /**
24903
+ * Success
24904
+ */
24905
+ 200: JobWh347ExportResponseObject;
24906
+ };
24907
+ export type GetWh347ExportResponse = GetWh347ExportResponses[keyof GetWh347ExportResponses];
24568
24908
  export type ListCurePaymentsData = {
24569
24909
  body?: never;
24570
24910
  path: {
@@ -26365,6 +26705,38 @@ export type CreateFeatureFormAssignmentTaskResponses = {
26365
26705
  201: FeatureFormAssignmentResponseObject;
26366
26706
  };
26367
26707
  export type CreateFeatureFormAssignmentTaskResponse = CreateFeatureFormAssignmentTaskResponses[keyof CreateFeatureFormAssignmentTaskResponses];
26708
+ export type DeleteFeatureFormAssignmentTaskData = {
26709
+ body?: never;
26710
+ path: {
26711
+ site_id: string;
26712
+ feature_id: string;
26713
+ id: string;
26714
+ };
26715
+ query?: never;
26716
+ url: '/api/v1/oversite/sites/{site_id}/features/{feature_id}/form_assignment_tasks/{id}';
26717
+ };
26718
+ export type DeleteFeatureFormAssignmentTaskErrors = {
26719
+ /**
26720
+ * Forbidden
26721
+ */
26722
+ 403: Problem;
26723
+ /**
26724
+ * Not Found
26725
+ */
26726
+ 404: Problem;
26727
+ /**
26728
+ * Unprocessable Content
26729
+ */
26730
+ 422: Problem;
26731
+ };
26732
+ export type DeleteFeatureFormAssignmentTaskError = DeleteFeatureFormAssignmentTaskErrors[keyof DeleteFeatureFormAssignmentTaskErrors];
26733
+ export type DeleteFeatureFormAssignmentTaskResponses = {
26734
+ /**
26735
+ * No Content
26736
+ */
26737
+ 204: void;
26738
+ };
26739
+ export type DeleteFeatureFormAssignmentTaskResponse = DeleteFeatureFormAssignmentTaskResponses[keyof DeleteFeatureFormAssignmentTaskResponses];
26368
26740
  export type GetFeatureFormAssignmentTaskData = {
26369
26741
  body?: never;
26370
26742
  path: {
@@ -26508,6 +26880,37 @@ export type CreateSiteFormAssignmentTaskResponses = {
26508
26880
  201: SiteFormAssignmentResponseObject;
26509
26881
  };
26510
26882
  export type CreateSiteFormAssignmentTaskResponse = CreateSiteFormAssignmentTaskResponses[keyof CreateSiteFormAssignmentTaskResponses];
26883
+ export type DeleteSiteFormAssignmentTaskData = {
26884
+ body?: never;
26885
+ path: {
26886
+ site_id: string;
26887
+ id: string;
26888
+ };
26889
+ query?: never;
26890
+ url: '/api/v1/oversite/sites/{site_id}/form_assignment_tasks/{id}';
26891
+ };
26892
+ export type DeleteSiteFormAssignmentTaskErrors = {
26893
+ /**
26894
+ * Forbidden
26895
+ */
26896
+ 403: Problem;
26897
+ /**
26898
+ * Not Found
26899
+ */
26900
+ 404: Problem;
26901
+ /**
26902
+ * Unprocessable Content
26903
+ */
26904
+ 422: Problem;
26905
+ };
26906
+ export type DeleteSiteFormAssignmentTaskError = DeleteSiteFormAssignmentTaskErrors[keyof DeleteSiteFormAssignmentTaskErrors];
26907
+ export type DeleteSiteFormAssignmentTaskResponses = {
26908
+ /**
26909
+ * No Content
26910
+ */
26911
+ 204: void;
26912
+ };
26913
+ export type DeleteSiteFormAssignmentTaskResponse = DeleteSiteFormAssignmentTaskResponses[keyof DeleteSiteFormAssignmentTaskResponses];
26511
26914
  export type GetSiteFormAssignmentTaskData = {
26512
26915
  body?: never;
26513
26916
  path: {
@@ -30767,6 +31170,8 @@ export type ListProjectDocumentVersionsData = {
30767
31170
  */
30768
31171
  'page[limit]'?: number;
30769
31172
  page?: string;
31173
+ filter?: string;
31174
+ 'filter[unexpected]'?: string;
30770
31175
  };
30771
31176
  url: '/api/v1/projects/{project_id}/documents/{document_id}/versions';
30772
31177
  };
@@ -31337,6 +31742,8 @@ export type ListProjectWageDeterminationRateRulesData = {
31337
31742
  'as_of[bogus_axis]'?: string;
31338
31743
  'as_of[valid][gte]'?: string;
31339
31744
  'as_of[transaction]'?: string;
31745
+ filter?: string;
31746
+ 'filter[unexpected]'?: string;
31340
31747
  };
31341
31748
  url: '/api/v1/projects/{project_id}/wage_determinations/{wage_determination_id}/rate_rules';
31342
31749
  };
@@ -31534,6 +31941,8 @@ export type ListProjectSitesData = {
31534
31941
  */
31535
31942
  'page[limit]'?: number;
31536
31943
  page?: string;
31944
+ filter?: string;
31945
+ 'filter[unexpected]'?: string;
31537
31946
  };
31538
31947
  url: '/api/v1/projects/{project_id}/sites';
31539
31948
  };
@@ -32151,6 +32560,8 @@ export type ListProjectWageDeterminationsData = {
32151
32560
  'as_of[bogus_axis]'?: string;
32152
32561
  'as_of[valid][gte]'?: string;
32153
32562
  'as_of[transaction]'?: string;
32563
+ filter?: string;
32564
+ 'filter[unexpected]'?: string;
32154
32565
  };
32155
32566
  url: '/api/v1/projects/{project_id}/wage_determinations';
32156
32567
  };
@@ -35712,9 +36123,9 @@ export type AddUserRolesErrors = {
35712
36123
  export type AddUserRolesError = AddUserRolesErrors[keyof AddUserRolesErrors];
35713
36124
  export type AddUserRolesResponses = {
35714
36125
  /**
35715
- * Success
36126
+ * Created
35716
36127
  */
35717
- 200: UserRoleResponse;
36128
+ 201: UserRoleResponse;
35718
36129
  };
35719
36130
  export type AddUserRolesResponse = AddUserRolesResponses[keyof AddUserRolesResponses];
35720
36131
  export type DeleteUserRoleData = {