@dsptch-work/api-client 0.41.0 → 0.43.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. Each format is available only on a job that tracks the matching prevailing-wage jurisdiction. 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,174 @@ export type JobGoodFaithEffortExceptionsResponseObject = {
10894
10944
  */
10895
10945
  data: Array<JobGoodFaithEffortExceptionResponseObject>;
10896
10946
  };
10947
+ /**
10948
+ * A job-scoped CA DIR eCPR XML certified-payroll export. The generation handle is polled through this same document; `file` is null until an XML or ZIP is attached. Signing fields are not published. This format has no form version.
10949
+ */
10950
+ export type JobCaEcprXmlExportResponseObject = {
10951
+ /**
10952
+ * Id of the CA eCPR XML 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`. CA eCPR generation does not enter the signing states.
10969
+ */
10970
+ status: 'pending' | 'processing' | 'signing' | 'signed' | 'certifying' | 'success' | 'failed';
10971
+ /**
10972
+ * The generated file's filename, content type, size, and URL; null when no file is attached.
10973
+ */
10974
+ file: {
10975
+ /**
10976
+ * Stored name of the generated file.
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
+ * When the CA eCPR XML export row was created.
11002
+ */
11003
+ created_at: string;
11004
+ };
11005
+ /**
11006
+ * A page of a job's CA DIR eCPR XML certified-payroll exports, with pagination metadata and navigation links.
11007
+ */
11008
+ export type JobCaEcprXmlExportsResponseObject = {
11009
+ meta: Meta;
11010
+ links: Links;
11011
+ /**
11012
+ * The page of CA eCPR XML exports.
11013
+ */
11014
+ data: Array<JobCaEcprXmlExportResponseObject>;
11015
+ };
11016
+ /**
11017
+ * Start a job-scoped CA DIR eCPR XML 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. Filename is server-owned. A job that does not offer CA eCPR answers 422 certified_payroll_format_unavailable. A window with no reportable pay periods answers 422 nothing_exportable.
11018
+ */
11019
+ export type JobCaEcprXmlExportCreateParameters = {
11020
+ /**
11021
+ * First calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or before `end_date`.
11022
+ */
11023
+ start_date: string;
11024
+ /**
11025
+ * Last calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or after `start_date`.
11026
+ */
11027
+ end_date: string;
11028
+ };
11029
+ /**
11030
+ * 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.
11031
+ */
11032
+ export type JobWh347ExportResponseObject = {
11033
+ /**
11034
+ * Id of the WH-347 export row.
11035
+ */
11036
+ id: string;
11037
+ /**
11038
+ * Id of the job this export is scoped to. Always matches the job in the URL path.
11039
+ */
11040
+ job_id: string;
11041
+ /**
11042
+ * First calendar day of the filing window.
11043
+ */
11044
+ start_date: string;
11045
+ /**
11046
+ * Last calendar day of the filing window.
11047
+ */
11048
+ end_date: string;
11049
+ /**
11050
+ * 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.
11051
+ */
11052
+ status: 'pending' | 'processing' | 'signing' | 'signed' | 'certifying' | 'success' | 'failed';
11053
+ /**
11054
+ * The generated ZIP's filename, content type, size, and URL; null when no file is attached.
11055
+ */
11056
+ file: {
11057
+ /**
11058
+ * Stored name of the generated ZIP.
11059
+ */
11060
+ filename: string;
11061
+ /**
11062
+ * MIME type of the file; null when not recorded.
11063
+ */
11064
+ content_type: string | null;
11065
+ /**
11066
+ * Size of the file in bytes.
11067
+ */
11068
+ byte_size: number;
11069
+ /**
11070
+ * A URL to download the file.
11071
+ */
11072
+ url: string;
11073
+ } | null;
11074
+ /**
11075
+ * When source data was observed to have drifted from this export; null when it has not.
11076
+ */
11077
+ invalidated_at: string | null;
11078
+ /**
11079
+ * Why the export was invalidated — `source_data_changed`, `source_records_deleted`, or `ratio_status_changed`. Null when `invalidated_at` is null.
11080
+ */
11081
+ invalidation_reason: 'source_data_changed' | 'source_records_deleted' | 'ratio_status_changed' | null;
11082
+ /**
11083
+ * WH-347 form version that was or will be generated — `v1` or `v2`. Server-selected on create.
11084
+ */
11085
+ version: 'v1' | 'v2';
11086
+ /**
11087
+ * When the WH-347 export row was created.
11088
+ */
11089
+ created_at: string;
11090
+ };
11091
+ /**
11092
+ * A page of a job's WH-347 certified-payroll exports, with pagination metadata and navigation links.
11093
+ */
11094
+ export type JobWh347ExportsResponseObject = {
11095
+ meta: Meta;
11096
+ links: Links;
11097
+ /**
11098
+ * The page of WH-347 exports.
11099
+ */
11100
+ data: Array<JobWh347ExportResponseObject>;
11101
+ };
11102
+ /**
11103
+ * 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.
11104
+ */
11105
+ export type JobWh347ExportCreateParameters = {
11106
+ /**
11107
+ * First calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or before `end_date`.
11108
+ */
11109
+ start_date: string;
11110
+ /**
11111
+ * Last calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or after `start_date`.
11112
+ */
11113
+ end_date: string;
11114
+ };
10897
11115
  /**
10898
11116
  * 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
11117
  */
@@ -11055,7 +11273,7 @@ export type JobCurePaymentParameters = {
11055
11273
  */
11056
11274
  attestation_signed_id?: string;
11057
11275
  /**
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.
11276
+ * 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
11277
  */
11060
11278
  performed_by_user_id: string;
11061
11279
  /**
@@ -11092,7 +11310,7 @@ export type JobCurePaymentUpdateParameters = {
11092
11310
  */
11093
11311
  attestation_signed_id?: string;
11094
11312
  /**
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.
11313
+ * 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
11314
  */
11097
11315
  performed_by_user_id?: string;
11098
11316
  };
@@ -11801,7 +12019,7 @@ export type PositionParameters = {
11801
12019
  };
11802
12020
  };
11803
12021
  /**
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.
12022
+ * 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
12023
  */
11806
12024
  export type ProductionJobScopePriceParameters = {
11807
12025
  /**
@@ -11809,9 +12027,9 @@ export type ProductionJobScopePriceParameters = {
11809
12027
  */
11810
12028
  scope_kind: string;
11811
12029
  /**
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.
12030
+ * 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
12031
  */
11814
- unit_price_cents: string;
12032
+ unit_price_cents?: string | null;
11815
12033
  /**
11816
12034
  * Contracted number of units expected for this scope on the job, as an integer; null when no target is set.
11817
12035
  */
@@ -11822,7 +12040,7 @@ export type ProductionJobScopePriceParameters = {
11822
12040
  unit_of_measure?: string;
11823
12041
  };
11824
12042
  /**
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.
12043
+ * 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
12044
  */
11827
12045
  export type ProductionJobScopePriceUpdateParameters = {
11828
12046
  /**
@@ -11830,9 +12048,9 @@ export type ProductionJobScopePriceUpdateParameters = {
11830
12048
  */
11831
12049
  scope_kind?: string;
11832
12050
  /**
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.
12051
+ * 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
12052
  */
11835
- unit_price_cents?: string;
12053
+ unit_price_cents?: string | null;
11836
12054
  /**
11837
12055
  * Contracted number of units expected for this scope on the job, as an integer; null when no target is set.
11838
12056
  */
@@ -11863,9 +12081,9 @@ export type ProductionJobScopePriceResponseObject = {
11863
12081
  */
11864
12082
  unit_of_measure: string;
11865
12083
  /**
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.
12084
+ * 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
12085
  */
11868
- unit_price_cents?: string;
12086
+ unit_price_cents?: string | null;
11869
12087
  /**
11870
12088
  * 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
12089
  */
@@ -11879,6 +12097,245 @@ export type ProductionJobScopePriceResponseObject = {
11879
12097
  */
11880
12098
  updated_at: string;
11881
12099
  };
12100
+ /**
12101
+ * Add one named intention. Re-adding a retained pair preserves omitted metadata and restores its membership.
12102
+ */
12103
+ export type ProductionPlannedFeatureTaskParameters = {
12104
+ /**
12105
+ * Optional operational title; a new pair defaults to the Feature name. Does not define production identity.
12106
+ */
12107
+ name?: string;
12108
+ /**
12109
+ * Optional instructions. Null clears the description.
12110
+ */
12111
+ description?: string | null;
12112
+ /**
12113
+ * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12114
+ */
12115
+ time_due?: string | null;
12116
+ /**
12117
+ * Time zone for the intended deadline. Omit to keep the Task zone.
12118
+ */
12119
+ tz_name?: string;
12120
+ /**
12121
+ * Replacement set of intended authorized company-member people; omission preserves, [] clears. Independent from actual Completion crew.
12122
+ */
12123
+ task_assignee_user_ids?: Array<string>;
12124
+ /**
12125
+ * Required on every company-key write: responsible company-member human UUID. User keys may omit it or send their own ID; a different ID is forbidden. Human attribution does not replace authorization or audit principal.
12126
+ */
12127
+ performed_by_user_id?: string;
12128
+ /**
12129
+ * An authorized active Feature on a Site of the URL Job. Fixed after creation.
12130
+ */
12131
+ feature_id: string;
12132
+ };
12133
+ /**
12134
+ * Edit only intended Task metadata, preserving every omitted field and the original creator.
12135
+ */
12136
+ export type ProductionPlannedFeatureTaskUpdateParameters = {
12137
+ /**
12138
+ * Operational title; does not define production identity.
12139
+ */
12140
+ name?: string;
12141
+ /**
12142
+ * Optional instructions. Null clears the description.
12143
+ */
12144
+ description?: string | null;
12145
+ /**
12146
+ * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12147
+ */
12148
+ time_due?: string | null;
12149
+ /**
12150
+ * Time zone for the intended deadline. Omit to keep the Task zone.
12151
+ */
12152
+ tz_name?: string;
12153
+ /**
12154
+ * Replacement set of intended authorized company-member people; omission preserves, [] clears. Independent from actual Completion crew.
12155
+ */
12156
+ task_assignee_user_ids?: Array<string>;
12157
+ /**
12158
+ * Required for company keys on every write. User keys use only their authenticated user; a different supplied UUID is forbidden.
12159
+ */
12160
+ performed_by_user_id?: string;
12161
+ };
12162
+ /**
12163
+ * Set retained membership idempotently, without removing the pair, its Task or actual evidence.
12164
+ */
12165
+ export type ProductionPlannedFeatureTaskArchiveParameters = {
12166
+ /**
12167
+ * True archives current named membership; false restores it after current admission validity is checked.
12168
+ */
12169
+ archived: boolean;
12170
+ /**
12171
+ * Required for company keys on every archive or restore. User keys use only their authenticated user; a different supplied UUID is forbidden.
12172
+ */
12173
+ performed_by_user_id?: string;
12174
+ };
12175
+ /**
12176
+ * One retained scope/Feature intention and its optional intended metadata. Actual Completion remains the sole production evidence.
12177
+ */
12178
+ export type ProductionPlannedFeatureTaskResponseObject = {
12179
+ /**
12180
+ * Stable retained intention identifier.
12181
+ */
12182
+ id: string;
12183
+ /**
12184
+ * Owning service scope on the URL Job.
12185
+ */
12186
+ production_job_scope_price_id: string;
12187
+ /**
12188
+ * Named Feature identity, fixed for the retained pair.
12189
+ */
12190
+ feature_id: string;
12191
+ /**
12192
+ * Stable paired Task identity. Generic Task completion, dismissal, copying and recurrence are unsupported.
12193
+ */
12194
+ task_id: string;
12195
+ /**
12196
+ * Nullable supporting effective actual report. Actual crew and work_date belong to that Completion.
12197
+ */
12198
+ production_completion_id: string | null;
12199
+ /**
12200
+ * Null for current named membership; set for an archived retained intention.
12201
+ */
12202
+ archived_at: string | null;
12203
+ /**
12204
+ * Operational Task title; not production identity.
12205
+ */
12206
+ name: string;
12207
+ /**
12208
+ * Plain-text intended instructions; empty when absent.
12209
+ */
12210
+ description: string;
12211
+ /**
12212
+ * Nullable intended deadline as a UTC instant; independent from actual work_date.
12213
+ */
12214
+ time_due: string | null;
12215
+ /**
12216
+ * Time zone for the intended deadline.
12217
+ */
12218
+ tz_name: string;
12219
+ /**
12220
+ * Intended people, independently from the actual Completion crew.
12221
+ */
12222
+ task_assignee_user_ids: Array<string>;
12223
+ /**
12224
+ * When the record was created (ISO 8601).
12225
+ */
12226
+ created_at: string;
12227
+ /**
12228
+ * When the record was last updated (ISO 8601).
12229
+ */
12230
+ updated_at: string;
12231
+ };
12232
+ /**
12233
+ * Create a dated commitment on a Feature-tracked Job scope. The date and condition object are required; condition.requirement_kind is required. Omission answers 400. The server chooses and owns the condition type and identity. A Quantity-tracked scope answers 422. No performed_by_user_id is required or accepted; audit records the authenticated user, or null for a company key.
12234
+ */
12235
+ export type ProductionDeliveryTargetParameters = {
12236
+ /**
12237
+ * Inclusive contractual deadline as a calendar date (YYYY-MM-DD) in the Job's time zone. Null or an invalid calendar date answers 422.
12238
+ */
12239
+ due_date: string;
12240
+ /**
12241
+ * The whole-service requirement. Null, a wrong type or an unknown nested key answers 422.
12242
+ */
12243
+ condition_attributes: {
12244
+ /**
12245
+ * Use count for a fixed positive N, or all for the current named Feature set. Null or another value answers 422.
12246
+ */
12247
+ requirement_kind: 'count' | 'all';
12248
+ /**
12249
+ * Positive integer N for count; required for that mode. Omit or send null for all. The resulting whole rule must be valid or the write answers 422 atomically.
12250
+ */
12251
+ required_count?: number | null;
12252
+ };
12253
+ };
12254
+ /**
12255
+ * Change a target's date or whole-service rule. Omitted fields retain their current values, including required_count when changing modes. Send required_count null when switching count to all; send a positive count when switching all to count. The server preserves target and condition identities. Null date, condition object or requirement kind answers 422. A rejected write changes neither record.
12256
+ */
12257
+ export type ProductionDeliveryTargetUpdateParameters = {
12258
+ /**
12259
+ * Inclusive Job-local calendar deadline; omit to preserve it. Null or an invalid calendar date answers 422.
12260
+ */
12261
+ due_date?: string;
12262
+ /**
12263
+ * Partial whole-service rule. Omit to preserve the rule; an empty object preserves both fields. Null answers 422.
12264
+ */
12265
+ condition_attributes?: {
12266
+ /**
12267
+ * count or all; omit to preserve the mode. The resulting complete rule must be valid.
12268
+ */
12269
+ requirement_kind?: 'count' | 'all';
12270
+ /**
12271
+ * Positive integer N for count, or null for all. Omission preserves the existing value even when requirement_kind changes.
12272
+ */
12273
+ required_count?: number | null;
12274
+ };
12275
+ };
12276
+ /**
12277
+ * A scope-owned target and current assessment. No Feature identities, private counts or prices are exposed. Assessments use current named membership and effective actual work dates, rather than Task completion flags or filing times.
12278
+ */
12279
+ export type ProductionDeliveryTargetResponseObject = {
12280
+ /**
12281
+ * Unique target identifier.
12282
+ */
12283
+ id: string;
12284
+ /**
12285
+ * Scope that owns the target; fixed at creation.
12286
+ */
12287
+ production_job_scope_price_id: string;
12288
+ /**
12289
+ * Inclusive contractual deadline in the Job's time zone.
12290
+ */
12291
+ due_date: string;
12292
+ /**
12293
+ * Server-owned whole-service rule; its internal type and identity are not public write inputs.
12294
+ */
12295
+ condition: {
12296
+ /**
12297
+ * count for a fixed N, or all for the current named Feature set.
12298
+ */
12299
+ requirement_kind: 'count' | 'all';
12300
+ /**
12301
+ * Explicit positive N for count; null for all. Remains visible when the assessment is unavailable.
12302
+ */
12303
+ required_count: number | null;
12304
+ };
12305
+ /**
12306
+ * Current deadline assessment. Missing caller visibility of named membership or named evidence makes it unavailable, without disclosing hidden identities or counts.
12307
+ */
12308
+ assessment: {
12309
+ /**
12310
+ * Explicit N for count; current named set size for all. Null for an empty all set or when an all assessment is unavailable.
12311
+ */
12312
+ required_total: number | null;
12313
+ /**
12314
+ * Current named Features with effective whole-service completion work dates on or before due_date; null when unavailable.
12315
+ */
12316
+ qualifying_count: number | null;
12317
+ /**
12318
+ * Current named Features with effective whole-service completions at any work date, including after due_date; null when unavailable.
12319
+ */
12320
+ current_achieved_count: number | null;
12321
+ /**
12322
+ * Nonnegative difference between the requirement and qualifying count; null when the requirement is unknown or assessment unavailable.
12323
+ */
12324
+ shortfall: number | null;
12325
+ /**
12326
+ * unavailable when caller visibility omits named membership or evidence; awaiting_named_scope when there are no active names; met_by_date when the deadline requirement is met; remaining_before_deadline through the Job-local due date; shortfall_after_deadline afterwards. Assessments are current facts, not forecasts or a declaration that the named plan covers the entire contract.
12327
+ */
12328
+ state: 'unavailable' | 'awaiting_named_scope' | 'met_by_date' | 'remaining_before_deadline' | 'shortfall_after_deadline';
12329
+ };
12330
+ /**
12331
+ * When the record was created (ISO 8601).
12332
+ */
12333
+ created_at: string;
12334
+ /**
12335
+ * When the record was last updated (ISO 8601).
12336
+ */
12337
+ updated_at: string;
12338
+ };
11882
12339
  /**
11883
12340
  * Record a completion against a scope price. The server takes the completable subtype from the production tracking kind of the scope price's job, never from the request: a feature-tracked job records which feature was completed, and a quantity-tracked job how many units were completed. completable_attributes declares both kinds' keys; sending the other kind's key answers 422 subtype_foreign_keys with an entry pointing at it, and nothing is written.
11884
12341
  */
@@ -11943,6 +12400,15 @@ export type ProductionCompletionUpdateParameters = {
11943
12400
  quantity_completed?: number;
11944
12401
  };
11945
12402
  };
12403
+ /**
12404
+ * Explicit retained Feature lifecycle command. Both states are idempotent; Quantity withdrawal and restoration return 422.
12405
+ */
12406
+ export type ProductionCompletionWithdrawalParameters = {
12407
+ /**
12408
+ * Boolean required. True withdraws the Feature claim; false restores the same retained ID if no effective replacement exists. The server sets or clears withdrawn_at.
12409
+ */
12410
+ withdrawn: boolean;
12411
+ };
11946
12412
  /**
11947
12413
  * A recorded production completion. The completable_type discriminator selects the feature-tracked or quantity-tracked representation.
11948
12414
  */
@@ -12011,6 +12477,10 @@ export type ProductionFeatureCompletionResponseObject = {
12011
12477
  * Date the work was performed (YYYY-MM-DD), in the job's time zone.
12012
12478
  */
12013
12479
  work_date: string;
12480
+ /**
12481
+ * Server-recorded withdrawal instant for a Feature claim; null when effective. Always null for Quantity completions. Withdrawal retains the identity and current corrected facts, excludes the claim from ordinary reads and output, and is reversible only when no effective replacement exists.
12482
+ */
12483
+ withdrawn_at: string | null;
12014
12484
  };
12015
12485
  /**
12016
12486
  * A completion recorded on a quantity-tracked job — a unit of scoped work finished by a crew, counting how many units were completed.
@@ -12072,6 +12542,10 @@ export type ProductionQuantityCompletionResponseObject = {
12072
12542
  * Date the work was performed (YYYY-MM-DD), in the job's time zone.
12073
12543
  */
12074
12544
  work_date: string;
12545
+ /**
12546
+ * Server-recorded withdrawal instant for a Feature claim; null when effective. Always null for Quantity completions. Withdrawal retains the identity and current corrected facts, excludes the claim from ordinary reads and output, and is reversible only when no effective replacement exists.
12547
+ */
12548
+ withdrawn_at: string | null;
12075
12549
  };
12076
12550
  /**
12077
12551
  * The form-assignment tasks created by one request — assigning a form to one or more users, each with a due time and optional recurrence and reminders. Returned as an array because a request can spread the assignment into one task per assignee.
@@ -13179,21 +13653,14 @@ export type RegionalJobWageDeterminationHistoryCorrectionObject = {
13179
13653
  updated_at: string;
13180
13654
  };
13181
13655
  /**
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:
13656
+ * State-specific categorized fringe rates recorded on a Regional determination, as decimal-string
13657
+ * money in cents (e.g. "538.0"). Categorized-fringe regions (currently IL) carry
13658
+ * `combined_health_fringe_rate_cents`, `combined_savings_fringe_rate_cents`,
13659
+ * `combined_holiday_pto_fringe_rate_cents`, `training_fringe_rate_cents`, and
13660
+ * `other_fringe_rate_cents`. These values are non-null when present. Other regions return an empty object.
13185
13661
  *
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.
13193
- *
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.
13662
+ * Overtime wage and fringe premiums belong to the determination's rate-rule package. They are not
13663
+ * returned as scalar regional rate fields.
13197
13664
  *
13198
13665
  */
13199
13666
  export type RegionalWageDeterminationFieldsResponse = {
@@ -16349,7 +16816,7 @@ export type AssetsArchiveParameters = {
16349
16816
  */
16350
16817
  export type AssetsServiceScheduleSeedParameters = {
16351
16818
  /**
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.
16819
+ * 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
16820
  */
16354
16821
  assets_item_ids?: Array<string>;
16355
16822
  /**
@@ -16362,7 +16829,7 @@ export type AssetsServiceScheduleSeedParameters = {
16362
16829
  */
16363
16830
  export type AssetsServiceScheduleSyncParameters = {
16364
16831
  /**
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.
16832
+ * 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
16833
  */
16367
16834
  schedule_ids?: Array<string>;
16368
16835
  /**
@@ -19058,6 +19525,37 @@ export type CreateItemFormAssignmentTaskResponses = {
19058
19525
  201: AssetsItemFormAssignmentResponseObject;
19059
19526
  };
19060
19527
  export type CreateItemFormAssignmentTaskResponse = CreateItemFormAssignmentTaskResponses[keyof CreateItemFormAssignmentTaskResponses];
19528
+ export type DeleteFormAssignmentTaskData = {
19529
+ body?: never;
19530
+ path: {
19531
+ item_id: string;
19532
+ id: string;
19533
+ };
19534
+ query?: never;
19535
+ url: '/api/v1/assets/items/{item_id}/form_assignment_tasks/{id}';
19536
+ };
19537
+ export type DeleteFormAssignmentTaskErrors = {
19538
+ /**
19539
+ * Forbidden
19540
+ */
19541
+ 403: Problem;
19542
+ /**
19543
+ * Not Found
19544
+ */
19545
+ 404: Problem;
19546
+ /**
19547
+ * Unprocessable Content
19548
+ */
19549
+ 422: Problem;
19550
+ };
19551
+ export type DeleteFormAssignmentTaskError = DeleteFormAssignmentTaskErrors[keyof DeleteFormAssignmentTaskErrors];
19552
+ export type DeleteFormAssignmentTaskResponses = {
19553
+ /**
19554
+ * No Content
19555
+ */
19556
+ 204: void;
19557
+ };
19558
+ export type DeleteFormAssignmentTaskResponse = DeleteFormAssignmentTaskResponses[keyof DeleteFormAssignmentTaskResponses];
19061
19559
  export type GetFormAssignmentTaskData = {
19062
19560
  body?: never;
19063
19561
  path: {
@@ -19292,10 +19790,17 @@ export type ListVersionsData = {
19292
19790
  item_id: string;
19293
19791
  document_id: string;
19294
19792
  };
19295
- query?: never;
19793
+ query?: {
19794
+ filter?: string;
19795
+ 'filter[unexpected]'?: string;
19796
+ };
19296
19797
  url: '/api/v1/assets/items/{item_id}/documents/{document_id}/versions';
19297
19798
  };
19298
19799
  export type ListVersionsErrors = {
19800
+ /**
19801
+ * Bad Request
19802
+ */
19803
+ 400: Problem;
19299
19804
  /**
19300
19805
  * Forbidden
19301
19806
  */
@@ -20688,7 +21193,7 @@ export type ListPwaUserCountsByProjectByMonthsData = {
20688
21193
  path?: never;
20689
21194
  query?: {
20690
21195
  /**
20691
- * Filter to a single month (`YYYY-MM`)
21196
+ * Filter to a single month, written `YYYY-MM`
20692
21197
  */
20693
21198
  'filter[year_month]'?: string;
20694
21199
  'filter[project_id]'?: string;
@@ -20696,6 +21201,16 @@ export type ListPwaUserCountsByProjectByMonthsData = {
20696
21201
  * Filter to one job outside any project
20697
21202
  */
20698
21203
  'filter[job_id]'?: string;
21204
+ /**
21205
+ * This pagination cursor corresponds to the cursor value found in the response in
21206
+ * `meta.page.next_cursor`.
21207
+ */
21208
+ 'page[cursor]'?: string;
21209
+ /**
21210
+ * 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`.
21211
+ */
21212
+ 'page[limit]'?: number;
21213
+ page?: string;
20699
21214
  filter?: string;
20700
21215
  'filter[unexpected]'?: string;
20701
21216
  };
@@ -20710,13 +21225,21 @@ export type ListPwaUserCountsByProjectByMonthsErrors = {
20710
21225
  * Forbidden
20711
21226
  */
20712
21227
  403: Problem;
21228
+ /**
21229
+ * Unprocessable Content
21230
+ */
21231
+ 422: Problem;
20713
21232
  };
20714
21233
  export type ListPwaUserCountsByProjectByMonthsError = ListPwaUserCountsByProjectByMonthsErrors[keyof ListPwaUserCountsByProjectByMonthsErrors];
20715
21234
  export type ListPwaUserCountsByProjectByMonthsResponses = {
20716
21235
  /**
20717
21236
  * Success
20718
21237
  */
20719
- 200: Array<BillingPwaUserCountByProjectByMonthResponseObject>;
21238
+ 200: {
21239
+ meta: Meta;
21240
+ links: Links;
21241
+ data: Array<BillingPwaUserCountByProjectByMonthResponseObject>;
21242
+ };
20720
21243
  };
20721
21244
  export type ListPwaUserCountsByProjectByMonthsResponse = ListPwaUserCountsByProjectByMonthsResponses[keyof ListPwaUserCountsByProjectByMonthsResponses];
20722
21245
  export type ListPackagesData = {
@@ -21169,9 +21692,9 @@ export type CreateCertificationErrors = {
21169
21692
  export type CreateCertificationError = CreateCertificationErrors[keyof CreateCertificationErrors];
21170
21693
  export type CreateCertificationResponses = {
21171
21694
  /**
21172
- * Success
21695
+ * Created
21173
21696
  */
21174
- 200: CertificationResponseObject;
21697
+ 201: CertificationResponseObject;
21175
21698
  };
21176
21699
  export type CreateCertificationResponse = CreateCertificationResponses[keyof CreateCertificationResponses];
21177
21700
  export type DeleteCertificationData = {
@@ -22382,6 +22905,10 @@ export type CreateCriterionErrors = {
22382
22905
  * Forbidden
22383
22906
  */
22384
22907
  403: Problem;
22908
+ /**
22909
+ * Unprocessable Content
22910
+ */
22911
+ 422: Problem;
22385
22912
  };
22386
22913
  export type CreateCriterionError = CreateCriterionErrors[keyof CreateCriterionErrors];
22387
22914
  export type CreateCriterionResponses = {
@@ -22463,6 +22990,10 @@ export type UpdateCriterionErrors = {
22463
22990
  * Forbidden
22464
22991
  */
22465
22992
  403: Problem;
22993
+ /**
22994
+ * Unprocessable Content
22995
+ */
22996
+ 422: Problem;
22466
22997
  };
22467
22998
  export type UpdateCriterionError = UpdateCriterionErrors[keyof UpdateCriterionErrors];
22468
22999
  export type UpdateCriterionResponses = {
@@ -24162,6 +24693,37 @@ export type CreateJobFormAssignmentTaskResponses = {
24162
24693
  201: JobFormAssignmentResponseObject;
24163
24694
  };
24164
24695
  export type CreateJobFormAssignmentTaskResponse = CreateJobFormAssignmentTaskResponses[keyof CreateJobFormAssignmentTaskResponses];
24696
+ export type DeleteJobFormAssignmentTaskData = {
24697
+ body?: never;
24698
+ path: {
24699
+ job_id: string;
24700
+ id: string;
24701
+ };
24702
+ query?: never;
24703
+ url: '/api/v1/jobs/{job_id}/form_assignment_tasks/{id}';
24704
+ };
24705
+ export type DeleteJobFormAssignmentTaskErrors = {
24706
+ /**
24707
+ * Forbidden
24708
+ */
24709
+ 403: Problem;
24710
+ /**
24711
+ * Not Found
24712
+ */
24713
+ 404: Problem;
24714
+ /**
24715
+ * Unprocessable Content
24716
+ */
24717
+ 422: Problem;
24718
+ };
24719
+ export type DeleteJobFormAssignmentTaskError = DeleteJobFormAssignmentTaskErrors[keyof DeleteJobFormAssignmentTaskErrors];
24720
+ export type DeleteJobFormAssignmentTaskResponses = {
24721
+ /**
24722
+ * No Content
24723
+ */
24724
+ 204: void;
24725
+ };
24726
+ export type DeleteJobFormAssignmentTaskResponse = DeleteJobFormAssignmentTaskResponses[keyof DeleteJobFormAssignmentTaskResponses];
24165
24727
  export type GetJobFormAssignmentTaskData = {
24166
24728
  body?: never;
24167
24729
  path: {
@@ -24224,6 +24786,359 @@ export type UpdateJobFormAssignmentTaskResponses = {
24224
24786
  200: JobFormAssignmentResponseObject;
24225
24787
  };
24226
24788
  export type UpdateJobFormAssignmentTaskResponse = UpdateJobFormAssignmentTaskResponses[keyof UpdateJobFormAssignmentTaskResponses];
24789
+ export type ListDeliveryTargetsData = {
24790
+ body?: never;
24791
+ path: {
24792
+ job_id: string;
24793
+ job_scope_price_id: string;
24794
+ };
24795
+ query?: {
24796
+ /**
24797
+ * This pagination cursor corresponds to the cursor value found in the response in
24798
+ * `meta.page.next_cursor`.
24799
+ */
24800
+ 'page[cursor]'?: string;
24801
+ /**
24802
+ * 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`.
24803
+ */
24804
+ 'page[limit]'?: number;
24805
+ page?: string;
24806
+ };
24807
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/delivery_targets';
24808
+ };
24809
+ export type ListDeliveryTargetsErrors = {
24810
+ /**
24811
+ * Bad Request
24812
+ */
24813
+ 400: Problem;
24814
+ /**
24815
+ * Forbidden
24816
+ */
24817
+ 403: Problem;
24818
+ /**
24819
+ * Not Found
24820
+ */
24821
+ 404: Problem;
24822
+ };
24823
+ export type ListDeliveryTargetsError = ListDeliveryTargetsErrors[keyof ListDeliveryTargetsErrors];
24824
+ export type ListDeliveryTargetsResponses = {
24825
+ /**
24826
+ * Success
24827
+ */
24828
+ 200: {
24829
+ meta: Meta;
24830
+ links: Links;
24831
+ data: Array<ProductionDeliveryTargetResponseObject>;
24832
+ };
24833
+ };
24834
+ export type ListDeliveryTargetsResponse = ListDeliveryTargetsResponses[keyof ListDeliveryTargetsResponses];
24835
+ export type CreateDeliveryTargetData = {
24836
+ body: ProductionDeliveryTargetParameters;
24837
+ path: {
24838
+ job_id: string;
24839
+ job_scope_price_id: string;
24840
+ };
24841
+ query?: never;
24842
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/delivery_targets';
24843
+ };
24844
+ export type CreateDeliveryTargetErrors = {
24845
+ /**
24846
+ * Bad Request
24847
+ */
24848
+ 400: Problem;
24849
+ /**
24850
+ * Forbidden
24851
+ */
24852
+ 403: Problem;
24853
+ /**
24854
+ * Not Found
24855
+ */
24856
+ 404: Problem;
24857
+ /**
24858
+ * Unprocessable Content
24859
+ */
24860
+ 422: Problem;
24861
+ };
24862
+ export type CreateDeliveryTargetError = CreateDeliveryTargetErrors[keyof CreateDeliveryTargetErrors];
24863
+ export type CreateDeliveryTargetResponses = {
24864
+ /**
24865
+ * Created
24866
+ */
24867
+ 201: ProductionDeliveryTargetResponseObject;
24868
+ };
24869
+ export type CreateDeliveryTargetResponse = CreateDeliveryTargetResponses[keyof CreateDeliveryTargetResponses];
24870
+ export type DeleteDeliveryTargetData = {
24871
+ body?: never;
24872
+ path: {
24873
+ job_id: string;
24874
+ job_scope_price_id: string;
24875
+ id: string;
24876
+ };
24877
+ query?: never;
24878
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/delivery_targets/{id}';
24879
+ };
24880
+ export type DeleteDeliveryTargetErrors = {
24881
+ /**
24882
+ * Forbidden
24883
+ */
24884
+ 403: Problem;
24885
+ /**
24886
+ * Not Found
24887
+ */
24888
+ 404: Problem;
24889
+ };
24890
+ export type DeleteDeliveryTargetError = DeleteDeliveryTargetErrors[keyof DeleteDeliveryTargetErrors];
24891
+ export type DeleteDeliveryTargetResponses = {
24892
+ /**
24893
+ * No Content
24894
+ */
24895
+ 204: void;
24896
+ };
24897
+ export type DeleteDeliveryTargetResponse = DeleteDeliveryTargetResponses[keyof DeleteDeliveryTargetResponses];
24898
+ export type GetDeliveryTargetData = {
24899
+ body?: never;
24900
+ path: {
24901
+ job_id: string;
24902
+ job_scope_price_id: string;
24903
+ id: string;
24904
+ };
24905
+ query?: never;
24906
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/delivery_targets/{id}';
24907
+ };
24908
+ export type GetDeliveryTargetErrors = {
24909
+ /**
24910
+ * Forbidden
24911
+ */
24912
+ 403: Problem;
24913
+ /**
24914
+ * Not Found
24915
+ */
24916
+ 404: Problem;
24917
+ };
24918
+ export type GetDeliveryTargetError = GetDeliveryTargetErrors[keyof GetDeliveryTargetErrors];
24919
+ export type GetDeliveryTargetResponses = {
24920
+ /**
24921
+ * Success
24922
+ */
24923
+ 200: ProductionDeliveryTargetResponseObject;
24924
+ };
24925
+ export type GetDeliveryTargetResponse = GetDeliveryTargetResponses[keyof GetDeliveryTargetResponses];
24926
+ export type UpdateDeliveryTargetData = {
24927
+ body: ProductionDeliveryTargetUpdateParameters;
24928
+ path: {
24929
+ job_id: string;
24930
+ job_scope_price_id: string;
24931
+ id: string;
24932
+ };
24933
+ query?: never;
24934
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/delivery_targets/{id}';
24935
+ };
24936
+ export type UpdateDeliveryTargetErrors = {
24937
+ /**
24938
+ * Bad Request
24939
+ */
24940
+ 400: Problem;
24941
+ /**
24942
+ * Forbidden
24943
+ */
24944
+ 403: Problem;
24945
+ /**
24946
+ * Not Found
24947
+ */
24948
+ 404: Problem;
24949
+ /**
24950
+ * Unprocessable Content
24951
+ */
24952
+ 422: Problem;
24953
+ };
24954
+ export type UpdateDeliveryTargetError = UpdateDeliveryTargetErrors[keyof UpdateDeliveryTargetErrors];
24955
+ export type UpdateDeliveryTargetResponses = {
24956
+ /**
24957
+ * Success
24958
+ */
24959
+ 200: ProductionDeliveryTargetResponseObject;
24960
+ };
24961
+ export type UpdateDeliveryTargetResponse = UpdateDeliveryTargetResponses[keyof UpdateDeliveryTargetResponses];
24962
+ export type UpdateArchiveData = {
24963
+ body: ProductionPlannedFeatureTaskArchiveParameters;
24964
+ path: {
24965
+ job_id: string;
24966
+ job_scope_price_id: string;
24967
+ planned_feature_task_id: string;
24968
+ };
24969
+ query?: never;
24970
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/archive';
24971
+ };
24972
+ export type UpdateArchiveErrors = {
24973
+ /**
24974
+ * Bad Request
24975
+ */
24976
+ 400: Problem;
24977
+ /**
24978
+ * Forbidden
24979
+ */
24980
+ 403: Problem;
24981
+ /**
24982
+ * Unprocessable Content
24983
+ */
24984
+ 422: Problem;
24985
+ };
24986
+ export type UpdateArchiveError = UpdateArchiveErrors[keyof UpdateArchiveErrors];
24987
+ export type UpdateArchiveResponses = {
24988
+ /**
24989
+ * Success
24990
+ */
24991
+ 200: ProductionPlannedFeatureTaskResponseObject;
24992
+ };
24993
+ export type UpdateArchiveResponse = UpdateArchiveResponses[keyof UpdateArchiveResponses];
24994
+ export type ListPlannedFeatureTasksData = {
24995
+ body?: never;
24996
+ path: {
24997
+ job_id: string;
24998
+ job_scope_price_id: string;
24999
+ };
25000
+ query?: {
25001
+ 'filter[archived]'?: boolean;
25002
+ filter?: string;
25003
+ 'filter[unexpected]'?: string;
25004
+ /**
25005
+ * This pagination cursor corresponds to the cursor value found in the response in
25006
+ * `meta.page.next_cursor`.
25007
+ */
25008
+ 'page[cursor]'?: string;
25009
+ /**
25010
+ * 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`.
25011
+ */
25012
+ 'page[limit]'?: number;
25013
+ page?: string;
25014
+ };
25015
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks';
25016
+ };
25017
+ export type ListPlannedFeatureTasksErrors = {
25018
+ /**
25019
+ * Bad Request
25020
+ */
25021
+ 400: Problem;
25022
+ /**
25023
+ * Forbidden
25024
+ */
25025
+ 403: Problem;
25026
+ /**
25027
+ * Unprocessable Content
25028
+ */
25029
+ 422: Problem;
25030
+ };
25031
+ export type ListPlannedFeatureTasksError = ListPlannedFeatureTasksErrors[keyof ListPlannedFeatureTasksErrors];
25032
+ export type ListPlannedFeatureTasksResponses = {
25033
+ /**
25034
+ * Success
25035
+ */
25036
+ 200: {
25037
+ meta: Meta;
25038
+ links: Links;
25039
+ data: Array<ProductionPlannedFeatureTaskResponseObject>;
25040
+ };
25041
+ };
25042
+ export type ListPlannedFeatureTasksResponse = ListPlannedFeatureTasksResponses[keyof ListPlannedFeatureTasksResponses];
25043
+ export type CreatePlannedFeatureTaskData = {
25044
+ body: ProductionPlannedFeatureTaskParameters;
25045
+ path: {
25046
+ job_id: string;
25047
+ job_scope_price_id: string;
25048
+ };
25049
+ query?: never;
25050
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks';
25051
+ };
25052
+ export type CreatePlannedFeatureTaskErrors = {
25053
+ /**
25054
+ * Bad Request
25055
+ */
25056
+ 400: Problem;
25057
+ /**
25058
+ * Forbidden
25059
+ */
25060
+ 403: Problem;
25061
+ /**
25062
+ * Not Found
25063
+ */
25064
+ 404: Problem;
25065
+ /**
25066
+ * Unprocessable Content
25067
+ */
25068
+ 422: Problem;
25069
+ };
25070
+ export type CreatePlannedFeatureTaskError = CreatePlannedFeatureTaskErrors[keyof CreatePlannedFeatureTaskErrors];
25071
+ export type CreatePlannedFeatureTaskResponses = {
25072
+ /**
25073
+ * Created
25074
+ */
25075
+ 201: ProductionPlannedFeatureTaskResponseObject;
25076
+ };
25077
+ export type CreatePlannedFeatureTaskResponse = CreatePlannedFeatureTaskResponses[keyof CreatePlannedFeatureTaskResponses];
25078
+ export type GetPlannedFeatureTaskData = {
25079
+ body?: never;
25080
+ path: {
25081
+ job_id: string;
25082
+ job_scope_price_id: string;
25083
+ id: string;
25084
+ };
25085
+ query?: never;
25086
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{id}';
25087
+ };
25088
+ export type GetPlannedFeatureTaskErrors = {
25089
+ /**
25090
+ * Forbidden
25091
+ */
25092
+ 403: Problem;
25093
+ /**
25094
+ * Not Found
25095
+ */
25096
+ 404: Problem;
25097
+ };
25098
+ export type GetPlannedFeatureTaskError = GetPlannedFeatureTaskErrors[keyof GetPlannedFeatureTaskErrors];
25099
+ export type GetPlannedFeatureTaskResponses = {
25100
+ /**
25101
+ * Success
25102
+ */
25103
+ 200: ProductionPlannedFeatureTaskResponseObject;
25104
+ };
25105
+ export type GetPlannedFeatureTaskResponse = GetPlannedFeatureTaskResponses[keyof GetPlannedFeatureTaskResponses];
25106
+ export type UpdatePlannedFeatureTaskData = {
25107
+ body?: ProductionPlannedFeatureTaskUpdateParameters;
25108
+ path: {
25109
+ job_id: string;
25110
+ job_scope_price_id: string;
25111
+ id: string;
25112
+ };
25113
+ query?: never;
25114
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{id}';
25115
+ };
25116
+ export type UpdatePlannedFeatureTaskErrors = {
25117
+ /**
25118
+ * Bad Request
25119
+ */
25120
+ 400: Problem;
25121
+ /**
25122
+ * Forbidden
25123
+ */
25124
+ 403: Problem;
25125
+ /**
25126
+ * Not Found
25127
+ */
25128
+ 404: Problem;
25129
+ /**
25130
+ * Unprocessable Content
25131
+ */
25132
+ 422: Problem;
25133
+ };
25134
+ export type UpdatePlannedFeatureTaskError = UpdatePlannedFeatureTaskErrors[keyof UpdatePlannedFeatureTaskErrors];
25135
+ export type UpdatePlannedFeatureTaskResponses = {
25136
+ /**
25137
+ * Success
25138
+ */
25139
+ 200: ProductionPlannedFeatureTaskResponseObject;
25140
+ };
25141
+ export type UpdatePlannedFeatureTaskResponse = UpdatePlannedFeatureTaskResponses[keyof UpdatePlannedFeatureTaskResponses];
24227
25142
  export type ListJobScopePricesData = {
24228
25143
  body?: never;
24229
25144
  path: {
@@ -24259,6 +25174,10 @@ export type ListJobScopePricesErrors = {
24259
25174
  * Forbidden
24260
25175
  */
24261
25176
  403: Problem;
25177
+ /**
25178
+ * Not Found
25179
+ */
25180
+ 404: Problem;
24262
25181
  /**
24263
25182
  * Unprocessable Content
24264
25183
  */
@@ -24556,6 +25475,10 @@ export type UpdateGoodFaithEffortExceptionErrors = {
24556
25475
  * Not Found
24557
25476
  */
24558
25477
  404: Problem;
25478
+ /**
25479
+ * Unprocessable Content
25480
+ */
25481
+ 422: Problem;
24559
25482
  };
24560
25483
  export type UpdateGoodFaithEffortExceptionError = UpdateGoodFaithEffortExceptionErrors[keyof UpdateGoodFaithEffortExceptionErrors];
24561
25484
  export type UpdateGoodFaithEffortExceptionResponses = {
@@ -24565,6 +25488,222 @@ export type UpdateGoodFaithEffortExceptionResponses = {
24565
25488
  200: JobGoodFaithEffortExceptionResponseObject;
24566
25489
  };
24567
25490
  export type UpdateGoodFaithEffortExceptionResponse = UpdateGoodFaithEffortExceptionResponses[keyof UpdateGoodFaithEffortExceptionResponses];
25491
+ export type ListCaEcprXmlExportsData = {
25492
+ body?: never;
25493
+ path: {
25494
+ job_id: string;
25495
+ };
25496
+ query?: {
25497
+ /**
25498
+ * 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.
25499
+ */
25500
+ 'filter[status]'?: string;
25501
+ filter?: string;
25502
+ 'filter[unexpected]'?: string;
25503
+ /**
25504
+ * This pagination cursor corresponds to the cursor value found in the response in
25505
+ * `meta.page.next_cursor`.
25506
+ */
25507
+ 'page[cursor]'?: string;
25508
+ /**
25509
+ * 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`.
25510
+ */
25511
+ 'page[limit]'?: number;
25512
+ page?: string;
25513
+ };
25514
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ca_ecpr_xml_exports';
25515
+ };
25516
+ export type ListCaEcprXmlExportsErrors = {
25517
+ /**
25518
+ * Bad Request
25519
+ */
25520
+ 400: Problem;
25521
+ /**
25522
+ * Forbidden
25523
+ */
25524
+ 403: Problem;
25525
+ /**
25526
+ * Not Found
25527
+ */
25528
+ 404: Problem;
25529
+ };
25530
+ export type ListCaEcprXmlExportsError = ListCaEcprXmlExportsErrors[keyof ListCaEcprXmlExportsErrors];
25531
+ export type ListCaEcprXmlExportsResponses = {
25532
+ /**
25533
+ * Success
25534
+ */
25535
+ 200: JobCaEcprXmlExportsResponseObject;
25536
+ };
25537
+ export type ListCaEcprXmlExportsResponse = ListCaEcprXmlExportsResponses[keyof ListCaEcprXmlExportsResponses];
25538
+ export type CreateCaEcprXmlExportData = {
25539
+ body: JobCaEcprXmlExportCreateParameters;
25540
+ path: {
25541
+ job_id: string;
25542
+ };
25543
+ query?: never;
25544
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ca_ecpr_xml_exports';
25545
+ };
25546
+ export type CreateCaEcprXmlExportErrors = {
25547
+ /**
25548
+ * Bad Request
25549
+ */
25550
+ 400: Problem;
25551
+ /**
25552
+ * Forbidden
25553
+ */
25554
+ 403: Problem;
25555
+ /**
25556
+ * Not Found
25557
+ */
25558
+ 404: Problem;
25559
+ /**
25560
+ * Unprocessable Content
25561
+ */
25562
+ 422: Problem;
25563
+ };
25564
+ export type CreateCaEcprXmlExportError = CreateCaEcprXmlExportErrors[keyof CreateCaEcprXmlExportErrors];
25565
+ export type CreateCaEcprXmlExportResponses = {
25566
+ /**
25567
+ * Created
25568
+ */
25569
+ 201: JobCaEcprXmlExportResponseObject;
25570
+ };
25571
+ export type CreateCaEcprXmlExportResponse = CreateCaEcprXmlExportResponses[keyof CreateCaEcprXmlExportResponses];
25572
+ export type GetCaEcprXmlExportData = {
25573
+ body?: never;
25574
+ path: {
25575
+ job_id: string;
25576
+ id: string;
25577
+ };
25578
+ query?: never;
25579
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ca_ecpr_xml_exports/{id}';
25580
+ };
25581
+ export type GetCaEcprXmlExportErrors = {
25582
+ /**
25583
+ * Forbidden
25584
+ */
25585
+ 403: Problem;
25586
+ /**
25587
+ * Not Found
25588
+ */
25589
+ 404: Problem;
25590
+ };
25591
+ export type GetCaEcprXmlExportError = GetCaEcprXmlExportErrors[keyof GetCaEcprXmlExportErrors];
25592
+ export type GetCaEcprXmlExportResponses = {
25593
+ /**
25594
+ * Success
25595
+ */
25596
+ 200: JobCaEcprXmlExportResponseObject;
25597
+ };
25598
+ export type GetCaEcprXmlExportResponse = GetCaEcprXmlExportResponses[keyof GetCaEcprXmlExportResponses];
25599
+ export type ListWh347ExportsData = {
25600
+ body?: never;
25601
+ path: {
25602
+ job_id: string;
25603
+ };
25604
+ query?: {
25605
+ /**
25606
+ * 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.
25607
+ */
25608
+ 'filter[status]'?: string;
25609
+ filter?: string;
25610
+ 'filter[unexpected]'?: string;
25611
+ /**
25612
+ * This pagination cursor corresponds to the cursor value found in the response in
25613
+ * `meta.page.next_cursor`.
25614
+ */
25615
+ 'page[cursor]'?: string;
25616
+ /**
25617
+ * 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`.
25618
+ */
25619
+ 'page[limit]'?: number;
25620
+ page?: string;
25621
+ };
25622
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports';
25623
+ };
25624
+ export type ListWh347ExportsErrors = {
25625
+ /**
25626
+ * Bad Request
25627
+ */
25628
+ 400: Problem;
25629
+ /**
25630
+ * Forbidden
25631
+ */
25632
+ 403: Problem;
25633
+ /**
25634
+ * Not Found
25635
+ */
25636
+ 404: Problem;
25637
+ };
25638
+ export type ListWh347ExportsError = ListWh347ExportsErrors[keyof ListWh347ExportsErrors];
25639
+ export type ListWh347ExportsResponses = {
25640
+ /**
25641
+ * Success
25642
+ */
25643
+ 200: JobWh347ExportsResponseObject;
25644
+ };
25645
+ export type ListWh347ExportsResponse = ListWh347ExportsResponses[keyof ListWh347ExportsResponses];
25646
+ export type CreateWh347ExportData = {
25647
+ body: JobWh347ExportCreateParameters;
25648
+ path: {
25649
+ job_id: string;
25650
+ };
25651
+ query?: never;
25652
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports';
25653
+ };
25654
+ export type CreateWh347ExportErrors = {
25655
+ /**
25656
+ * Bad Request
25657
+ */
25658
+ 400: Problem;
25659
+ /**
25660
+ * Forbidden
25661
+ */
25662
+ 403: Problem;
25663
+ /**
25664
+ * Not Found
25665
+ */
25666
+ 404: Problem;
25667
+ /**
25668
+ * Unprocessable Content
25669
+ */
25670
+ 422: Problem;
25671
+ };
25672
+ export type CreateWh347ExportError = CreateWh347ExportErrors[keyof CreateWh347ExportErrors];
25673
+ export type CreateWh347ExportResponses = {
25674
+ /**
25675
+ * Created
25676
+ */
25677
+ 201: JobWh347ExportResponseObject;
25678
+ };
25679
+ export type CreateWh347ExportResponse = CreateWh347ExportResponses[keyof CreateWh347ExportResponses];
25680
+ export type GetWh347ExportData = {
25681
+ body?: never;
25682
+ path: {
25683
+ job_id: string;
25684
+ id: string;
25685
+ };
25686
+ query?: never;
25687
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/wh347_exports/{id}';
25688
+ };
25689
+ export type GetWh347ExportErrors = {
25690
+ /**
25691
+ * Forbidden
25692
+ */
25693
+ 403: Problem;
25694
+ /**
25695
+ * Not Found
25696
+ */
25697
+ 404: Problem;
25698
+ };
25699
+ export type GetWh347ExportError = GetWh347ExportErrors[keyof GetWh347ExportErrors];
25700
+ export type GetWh347ExportResponses = {
25701
+ /**
25702
+ * Success
25703
+ */
25704
+ 200: JobWh347ExportResponseObject;
25705
+ };
25706
+ export type GetWh347ExportResponse = GetWh347ExportResponses[keyof GetWh347ExportResponses];
24568
25707
  export type ListCurePaymentsData = {
24569
25708
  body?: never;
24570
25709
  path: {
@@ -26365,6 +27504,38 @@ export type CreateFeatureFormAssignmentTaskResponses = {
26365
27504
  201: FeatureFormAssignmentResponseObject;
26366
27505
  };
26367
27506
  export type CreateFeatureFormAssignmentTaskResponse = CreateFeatureFormAssignmentTaskResponses[keyof CreateFeatureFormAssignmentTaskResponses];
27507
+ export type DeleteFeatureFormAssignmentTaskData = {
27508
+ body?: never;
27509
+ path: {
27510
+ site_id: string;
27511
+ feature_id: string;
27512
+ id: string;
27513
+ };
27514
+ query?: never;
27515
+ url: '/api/v1/oversite/sites/{site_id}/features/{feature_id}/form_assignment_tasks/{id}';
27516
+ };
27517
+ export type DeleteFeatureFormAssignmentTaskErrors = {
27518
+ /**
27519
+ * Forbidden
27520
+ */
27521
+ 403: Problem;
27522
+ /**
27523
+ * Not Found
27524
+ */
27525
+ 404: Problem;
27526
+ /**
27527
+ * Unprocessable Content
27528
+ */
27529
+ 422: Problem;
27530
+ };
27531
+ export type DeleteFeatureFormAssignmentTaskError = DeleteFeatureFormAssignmentTaskErrors[keyof DeleteFeatureFormAssignmentTaskErrors];
27532
+ export type DeleteFeatureFormAssignmentTaskResponses = {
27533
+ /**
27534
+ * No Content
27535
+ */
27536
+ 204: void;
27537
+ };
27538
+ export type DeleteFeatureFormAssignmentTaskResponse = DeleteFeatureFormAssignmentTaskResponses[keyof DeleteFeatureFormAssignmentTaskResponses];
26368
27539
  export type GetFeatureFormAssignmentTaskData = {
26369
27540
  body?: never;
26370
27541
  path: {
@@ -26508,6 +27679,37 @@ export type CreateSiteFormAssignmentTaskResponses = {
26508
27679
  201: SiteFormAssignmentResponseObject;
26509
27680
  };
26510
27681
  export type CreateSiteFormAssignmentTaskResponse = CreateSiteFormAssignmentTaskResponses[keyof CreateSiteFormAssignmentTaskResponses];
27682
+ export type DeleteSiteFormAssignmentTaskData = {
27683
+ body?: never;
27684
+ path: {
27685
+ site_id: string;
27686
+ id: string;
27687
+ };
27688
+ query?: never;
27689
+ url: '/api/v1/oversite/sites/{site_id}/form_assignment_tasks/{id}';
27690
+ };
27691
+ export type DeleteSiteFormAssignmentTaskErrors = {
27692
+ /**
27693
+ * Forbidden
27694
+ */
27695
+ 403: Problem;
27696
+ /**
27697
+ * Not Found
27698
+ */
27699
+ 404: Problem;
27700
+ /**
27701
+ * Unprocessable Content
27702
+ */
27703
+ 422: Problem;
27704
+ };
27705
+ export type DeleteSiteFormAssignmentTaskError = DeleteSiteFormAssignmentTaskErrors[keyof DeleteSiteFormAssignmentTaskErrors];
27706
+ export type DeleteSiteFormAssignmentTaskResponses = {
27707
+ /**
27708
+ * No Content
27709
+ */
27710
+ 204: void;
27711
+ };
27712
+ export type DeleteSiteFormAssignmentTaskResponse = DeleteSiteFormAssignmentTaskResponses[keyof DeleteSiteFormAssignmentTaskResponses];
26511
27713
  export type GetSiteFormAssignmentTaskData = {
26512
27714
  body?: never;
26513
27715
  path: {
@@ -30561,6 +31763,116 @@ export type UpdatePositionFunctionResponses = {
30561
31763
  200: PositionFunctionResponseObject;
30562
31764
  };
30563
31765
  export type UpdatePositionFunctionResponse = UpdatePositionFunctionResponses[keyof UpdatePositionFunctionResponses];
31766
+ export type ListCompletionHistoryData = {
31767
+ body?: never;
31768
+ path?: never;
31769
+ query?: {
31770
+ 'filter[job_id]'?: string;
31771
+ 'filter[scope_kind]'?: string;
31772
+ 'filter[feature_id]'?: string;
31773
+ 'filter[work_date][gte]'?: string;
31774
+ 'filter[work_date][lte]'?: string;
31775
+ filter?: string;
31776
+ 'filter[unexpected]'?: string;
31777
+ /**
31778
+ * This pagination cursor corresponds to the cursor value found in the response in
31779
+ * `meta.page.next_cursor`.
31780
+ */
31781
+ 'page[cursor]'?: string;
31782
+ /**
31783
+ * 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`.
31784
+ */
31785
+ 'page[limit]'?: number;
31786
+ page?: string;
31787
+ };
31788
+ url: '/api/v1/production/completions/history';
31789
+ };
31790
+ export type ListCompletionHistoryErrors = {
31791
+ /**
31792
+ * Bad Request
31793
+ */
31794
+ 400: Problem;
31795
+ /**
31796
+ * Forbidden
31797
+ */
31798
+ 403: Problem;
31799
+ /**
31800
+ * Unprocessable Content
31801
+ */
31802
+ 422: Problem;
31803
+ };
31804
+ export type ListCompletionHistoryError = ListCompletionHistoryErrors[keyof ListCompletionHistoryErrors];
31805
+ export type ListCompletionHistoryResponses = {
31806
+ /**
31807
+ * Success
31808
+ */
31809
+ 200: {
31810
+ meta: Meta;
31811
+ links: Links;
31812
+ data: Array<ProductionCompletionResponseObject>;
31813
+ };
31814
+ };
31815
+ export type ListCompletionHistoryResponse = ListCompletionHistoryResponses[keyof ListCompletionHistoryResponses];
31816
+ export type GetCompletionHistoryData = {
31817
+ body?: never;
31818
+ path: {
31819
+ id: string;
31820
+ };
31821
+ query?: never;
31822
+ url: '/api/v1/production/completions/history/{id}';
31823
+ };
31824
+ export type GetCompletionHistoryErrors = {
31825
+ /**
31826
+ * Forbidden
31827
+ */
31828
+ 403: Problem;
31829
+ /**
31830
+ * Not Found
31831
+ */
31832
+ 404: Problem;
31833
+ };
31834
+ export type GetCompletionHistoryError = GetCompletionHistoryErrors[keyof GetCompletionHistoryErrors];
31835
+ export type GetCompletionHistoryResponses = {
31836
+ /**
31837
+ * Success
31838
+ */
31839
+ 200: ProductionCompletionResponseObject;
31840
+ };
31841
+ export type GetCompletionHistoryResponse = GetCompletionHistoryResponses[keyof GetCompletionHistoryResponses];
31842
+ export type SetCompletionWithdrawalData = {
31843
+ body: ProductionCompletionWithdrawalParameters;
31844
+ path: {
31845
+ completion_id: string;
31846
+ };
31847
+ query?: never;
31848
+ url: '/api/v1/production/completions/{completion_id}/withdrawal';
31849
+ };
31850
+ export type SetCompletionWithdrawalErrors = {
31851
+ /**
31852
+ * Bad Request (missing state)
31853
+ */
31854
+ 400: Problem;
31855
+ /**
31856
+ * Forbidden
31857
+ */
31858
+ 403: Problem;
31859
+ /**
31860
+ * Not Found
31861
+ */
31862
+ 404: Problem;
31863
+ /**
31864
+ * Unprocessable Content
31865
+ */
31866
+ 422: Problem;
31867
+ };
31868
+ export type SetCompletionWithdrawalError = SetCompletionWithdrawalErrors[keyof SetCompletionWithdrawalErrors];
31869
+ export type SetCompletionWithdrawalResponses = {
31870
+ /**
31871
+ * Success
31872
+ */
31873
+ 200: ProductionCompletionResponseObject;
31874
+ };
31875
+ export type SetCompletionWithdrawalResponse = SetCompletionWithdrawalResponses[keyof SetCompletionWithdrawalResponses];
30564
31876
  export type ListCompletionsData = {
30565
31877
  body?: never;
30566
31878
  path?: never;
@@ -30767,6 +32079,8 @@ export type ListProjectDocumentVersionsData = {
30767
32079
  */
30768
32080
  'page[limit]'?: number;
30769
32081
  page?: string;
32082
+ filter?: string;
32083
+ 'filter[unexpected]'?: string;
30770
32084
  };
30771
32085
  url: '/api/v1/projects/{project_id}/documents/{document_id}/versions';
30772
32086
  };
@@ -31337,6 +32651,8 @@ export type ListProjectWageDeterminationRateRulesData = {
31337
32651
  'as_of[bogus_axis]'?: string;
31338
32652
  'as_of[valid][gte]'?: string;
31339
32653
  'as_of[transaction]'?: string;
32654
+ filter?: string;
32655
+ 'filter[unexpected]'?: string;
31340
32656
  };
31341
32657
  url: '/api/v1/projects/{project_id}/wage_determinations/{wage_determination_id}/rate_rules';
31342
32658
  };
@@ -31534,6 +32850,8 @@ export type ListProjectSitesData = {
31534
32850
  */
31535
32851
  'page[limit]'?: number;
31536
32852
  page?: string;
32853
+ filter?: string;
32854
+ 'filter[unexpected]'?: string;
31537
32855
  };
31538
32856
  url: '/api/v1/projects/{project_id}/sites';
31539
32857
  };
@@ -32151,6 +33469,8 @@ export type ListProjectWageDeterminationsData = {
32151
33469
  'as_of[bogus_axis]'?: string;
32152
33470
  'as_of[valid][gte]'?: string;
32153
33471
  'as_of[transaction]'?: string;
33472
+ filter?: string;
33473
+ 'filter[unexpected]'?: string;
32154
33474
  };
32155
33475
  url: '/api/v1/projects/{project_id}/wage_determinations';
32156
33476
  };
@@ -35712,9 +37032,9 @@ export type AddUserRolesErrors = {
35712
37032
  export type AddUserRolesError = AddUserRolesErrors[keyof AddUserRolesErrors];
35713
37033
  export type AddUserRolesResponses = {
35714
37034
  /**
35715
- * Success
37035
+ * Created
35716
37036
  */
35717
- 200: UserRoleResponse;
37037
+ 201: UserRoleResponse;
35718
37038
  };
35719
37039
  export type AddUserRolesResponse = AddUserRolesResponses[keyof AddUserRolesResponses];
35720
37040
  export type DeleteUserRoleData = {