@dsptch-work/api-client 0.51.1 → 0.52.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
  * ## 422
261
261
  *
262
+ * ### aggregate_time_mode_required
263
+ *
264
+ * **Aggregate Time Mode Required**
265
+ *
266
+ * Writing a job time card day is only supported when that day's pay schedule keeps time in aggregate mode. A day on a base-mode schedule cannot be written this way; record that time through time entries instead.
267
+ *
262
268
  * ### attachment_not_image
263
269
  *
264
270
  * **Attachment Not An Image**
@@ -424,7 +430,7 @@ export type Problem = {
424
430
  * 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.
425
431
  *
426
432
  */
427
- 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' | 'pay_schedule_deletion_in_progress' | 'pay_schedule_deletion_refused' | 'product_archived' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'certified_payroll_export_blocked' | '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';
433
+ 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' | 'pay_schedule_deletion_in_progress' | 'pay_schedule_deletion_refused' | 'product_archived' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'aggregate_time_mode_required' | 'attachment_not_image' | 'certified_payroll_export_blocked' | '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';
428
434
  export type ApiKeyScopeResponseObject = {
429
435
  resource: string;
430
436
  action: 'read' | 'create' | 'update' | 'delete';
@@ -792,6 +798,10 @@ export type CompetencyCriterionResponseObject = {
792
798
  * Guidance on what evidence satisfies the criterion; null when unset.
793
799
  */
794
800
  evidence_note: string | null;
801
+ /**
802
+ * Stored permission for this criterion to be marked not applicable. An assessment cannot use the flag.
803
+ */
804
+ allow_not_applicable: boolean;
795
805
  /**
796
806
  * Suggested assessment methods for this criterion. Empty when none are suggested. An assessment does not have to use them.
797
807
  */
@@ -821,6 +831,10 @@ export type CompetencyCriterionParameters = {
821
831
  * Guidance on what evidence satisfies the criterion; optional, null to clear.
822
832
  */
823
833
  evidence_note?: string | null;
834
+ /**
835
+ * Stored permission for this criterion to be marked not applicable. Optional. An assessment cannot use the flag.
836
+ */
837
+ allow_not_applicable?: boolean;
824
838
  /**
825
839
  * Suggested assessment methods. Optional. Send an empty array to clear; a repeated method answers 422.
826
840
  */
@@ -2238,7 +2252,7 @@ export type PeopleEmploymentCreateParameters = {
2238
2252
  */
2239
2253
  compensation_type?: 'hourly' | 'salary';
2240
2254
  /**
2241
- * Base hourly pay in cents as a decimal string. Omit or send null to leave it unset.
2255
+ * Base hourly pay in cents as a decimal string. Omit or send null to leave it unset. Must be blank when compensation_type is `salary`; a value answers 422.
2242
2256
  */
2243
2257
  hourly_rate_cents?: string | null;
2244
2258
  /**
@@ -2278,7 +2292,7 @@ export type PeopleEmploymentCreateParameters = {
2278
2292
  */
2279
2293
  employer_combined_savings_cents?: string | null;
2280
2294
  /**
2281
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit or send null to leave it unset.
2295
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit or send null to leave it unset. Must be blank when compensation_type is `hourly`; a value answers 422.
2282
2296
  */
2283
2297
  salary_annual_amount_cents?: string | null;
2284
2298
  /**
@@ -2299,7 +2313,7 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
2299
2313
  */
2300
2314
  compensation_type?: 'hourly' | 'salary';
2301
2315
  /**
2302
- * Hourly pay in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
2316
+ * Hourly pay in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
2303
2317
  */
2304
2318
  hourly_rate_cents?: string | null;
2305
2319
  /**
@@ -2339,7 +2353,7 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
2339
2353
  */
2340
2354
  employer_combined_savings_cents?: string | null;
2341
2355
  /**
2342
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to carry forward the preceding version, or send null to clear it.
2356
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to carry forward the preceding version, or send null to clear it. Applies only to salaried versions. A switch to hourly clears it unless it is sent, a change that names no compensation_type leaves later hourly versions without it, and a value for an hourly version answers 422.
2343
2357
  */
2344
2358
  salary_annual_amount_cents?: string | null;
2345
2359
  /**
@@ -2360,7 +2374,7 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
2360
2374
  */
2361
2375
  compensation_type?: 'hourly' | 'salary';
2362
2376
  /**
2363
- * Hourly pay in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
2377
+ * Hourly pay in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
2364
2378
  */
2365
2379
  hourly_rate_cents?: string | null;
2366
2380
  /**
@@ -2400,7 +2414,7 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
2400
2414
  */
2401
2415
  employer_combined_savings_cents?: string | null;
2402
2416
  /**
2403
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to preserve the value at the targeted boundary, or send null to clear it.
2417
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to preserve the value at the targeted boundary, or send null to clear it. Applies only to salaried versions. A switch to hourly clears it unless it is sent, a change that names no compensation_type leaves later hourly versions without it, and a value for an hourly version answers 422.
2404
2418
  */
2405
2419
  salary_annual_amount_cents?: string | null;
2406
2420
  /**
@@ -6127,7 +6141,7 @@ export type UserParameters = {
6127
6141
  */
6128
6142
  compensation_type?: 'hourly' | 'salary';
6129
6143
  /**
6130
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string.
6144
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string. Must be blank when compensation_type is `salary`; a value answers 422.
6131
6145
  */
6132
6146
  hourly_rate_cents?: string | null;
6133
6147
  /**
@@ -6844,7 +6858,7 @@ export type UserCompanyCreateParameters = {
6844
6858
  */
6845
6859
  compensation_type?: 'hourly' | 'salary';
6846
6860
  /**
6847
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string.
6861
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string. Must be blank when compensation_type is `salary`; a value answers 422.
6848
6862
  */
6849
6863
  hourly_rate_cents?: string | null;
6850
6864
  /**
@@ -6916,7 +6930,7 @@ export type UserCompanyScheduledChangesParameters = {
6916
6930
  */
6917
6931
  effective_date: string;
6918
6932
  /**
6919
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit to carry forward the preceding version, or send null to clear it; send "0" for zero.
6933
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit to carry forward the preceding version, or send null to clear it; send "0" for zero. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
6920
6934
  */
6921
6935
  hourly_rate_cents?: string | null;
6922
6936
  /**
@@ -8146,6 +8160,40 @@ export type JobTimeCardDayResponseObject = {
8146
8160
  */
8147
8161
  updated_at: string;
8148
8162
  };
8163
+ /**
8164
+ * Partial update of an aggregate-mode job time card day. Send only the fields to change; omitted fields keep their current values. Minutes are integer minutes, not GUI hours. Derived totals such as minutes_worked and cumulatives are not writable.
8165
+ */
8166
+ export type JobTimeCardDayUpdateParameters = {
8167
+ /**
8168
+ * Overtime minutes bucketed by pay-rate multiplier. When this object is sent, all three keys are required. Omit the object to leave overtime unchanged.
8169
+ */
8170
+ overtime_minutes_worked?: {
8171
+ /**
8172
+ * Minutes at the 1.0x (straight-time) pay-rate multiplier.
8173
+ */
8174
+ 1: number;
8175
+ /**
8176
+ * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
8177
+ */
8178
+ 1.5: number;
8179
+ /**
8180
+ * Minutes at the 2.0x (double-time) overtime multiplier.
8181
+ */
8182
+ 2: number;
8183
+ };
8184
+ /**
8185
+ * Total pay for this date in integer cents, as a decimal string. Omit to leave it unchanged.
8186
+ */
8187
+ pay_cents?: string;
8188
+ /**
8189
+ * Additional pay from the 1.5x overtime multiplier on this date, in integer cents, as a decimal string. Omit to leave it unchanged.
8190
+ */
8191
+ one_five_x_adder_cents?: string;
8192
+ /**
8193
+ * Additional pay from the 2.0x overtime multiplier on this date, in integer cents, as a decimal string. Omit to leave it unchanged.
8194
+ */
8195
+ two_x_adder_cents?: string;
8196
+ };
8149
8197
  /**
8150
8198
  * A page of job time card days, with pagination metadata and navigation links.
8151
8199
  */
@@ -10000,7 +10048,7 @@ export type ComplianceCheckDocumentObject = {
10000
10048
  */
10001
10049
  export type ComplianceCheckParameters = {
10002
10050
  /**
10003
- * Only the person-settable statuses are writable, mirroring the web app: `dismissed` excludes the check from automatic re-evaluation; `pending` re-evaluates it on save. Evaluation owns `passed`/`failed`, so sending either, or null, answers 422.
10051
+ * Only the person-settable statuses are writable, mirroring the web app: `dismissed` excludes the check from automatic re-evaluation while its requirement allows dismissal, and answers 422 validation_failed, leaving the check unchanged, when the requirement does not allow dismissal. A permitted dismissal already stored stays until the check is set to `pending`, which re-evaluates it on save. A stored dismissal whose requirement forbids dismissal can be replaced by evaluation. Evaluation owns `passed`/`failed`, so sending either, or null, answers 422.
10004
10052
  */
10005
10053
  status?: 'dismissed' | 'pending';
10006
10054
  /**
@@ -12400,6 +12448,10 @@ export type ProductionPlannedFeatureTaskParameters = {
12400
12448
  * Optional instructions. Null clears the description.
12401
12449
  */
12402
12450
  description?: string | null;
12451
+ /**
12452
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12453
+ */
12454
+ planned_start_date?: string | null;
12403
12455
  /**
12404
12456
  * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12405
12457
  */
@@ -12433,6 +12485,10 @@ export type ProductionPlannedFeatureTaskUpdateParameters = {
12433
12485
  * Optional instructions. Null clears the description.
12434
12486
  */
12435
12487
  description?: string | null;
12488
+ /**
12489
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12490
+ */
12491
+ planned_start_date?: string | null;
12436
12492
  /**
12437
12493
  * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12438
12494
  */
@@ -12499,6 +12555,10 @@ export type ProductionPlannedFeatureTaskResponseObject = {
12499
12555
  * Plain-text intended instructions; empty when absent.
12500
12556
  */
12501
12557
  description: string;
12558
+ /**
12559
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12560
+ */
12561
+ planned_start_date: string | null;
12502
12562
  /**
12503
12563
  * Nullable intended deadline as a UTC instant; independent from actual work_date.
12504
12564
  */
@@ -12520,6 +12580,163 @@ export type ProductionPlannedFeatureTaskResponseObject = {
12520
12580
  */
12521
12581
  updated_at: string;
12522
12582
  };
12583
+ /**
12584
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12585
+ */
12586
+ export type ProductionPhaseParameters = {
12587
+ /**
12588
+ * Operational phase title.
12589
+ */
12590
+ name: string;
12591
+ /**
12592
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12593
+ */
12594
+ description?: string | null;
12595
+ /**
12596
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12597
+ */
12598
+ planned_start_date?: string | null;
12599
+ /**
12600
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12601
+ */
12602
+ time_due?: string | null;
12603
+ /**
12604
+ * Stored IANA time zone for planning dates and deadlines.
12605
+ */
12606
+ tz_name?: string;
12607
+ /**
12608
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12609
+ */
12610
+ performed_by_user_id?: string;
12611
+ };
12612
+ /**
12613
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12614
+ */
12615
+ export type ProductionPhaseUpdateParameters = {
12616
+ /**
12617
+ * Operational phase title.
12618
+ */
12619
+ name?: string;
12620
+ /**
12621
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12622
+ */
12623
+ description?: string | null;
12624
+ /**
12625
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12626
+ */
12627
+ planned_start_date?: string | null;
12628
+ /**
12629
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12630
+ */
12631
+ time_due?: string | null;
12632
+ /**
12633
+ * Stored IANA time zone for planning dates and deadlines.
12634
+ */
12635
+ tz_name?: string;
12636
+ /**
12637
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12638
+ */
12639
+ performed_by_user_id?: string;
12640
+ };
12641
+ /**
12642
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12643
+ */
12644
+ export type ProductionPhaseArchiveParameters = {
12645
+ /**
12646
+ * True archives the selected retained phase; false restores it subject to current parent eligibility.
12647
+ */
12648
+ archived: boolean;
12649
+ /**
12650
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12651
+ */
12652
+ performed_by_user_id?: string;
12653
+ };
12654
+ /**
12655
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12656
+ */
12657
+ export type ProductionPhaseResponseObject = {
12658
+ /**
12659
+ * Stable retained phase identifier.
12660
+ */
12661
+ id: string;
12662
+ /**
12663
+ * Immutable owning planned Feature work from the URL.
12664
+ */
12665
+ production_planned_feature_task_id: string;
12666
+ /**
12667
+ * Immutable owning service scope from the URL.
12668
+ */
12669
+ production_job_scope_price_id: string;
12670
+ /**
12671
+ * Paired Task identity; generic Task completion is unsupported.
12672
+ */
12673
+ task_id: string;
12674
+ /**
12675
+ * Operational phase title.
12676
+ */
12677
+ name: string;
12678
+ /**
12679
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12680
+ */
12681
+ description: string;
12682
+ /**
12683
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12684
+ */
12685
+ planned_start_date: string | null;
12686
+ /**
12687
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12688
+ */
12689
+ time_due: string | null;
12690
+ /**
12691
+ * Stored IANA time zone for planning dates and deadlines.
12692
+ */
12693
+ tz_name: string;
12694
+ /**
12695
+ * Explicit actual work day. Null clears; never inferred from the request time.
12696
+ */
12697
+ actual_start_date: string | null;
12698
+ /**
12699
+ * Null for current work, otherwise the retained archive instant.
12700
+ */
12701
+ archived_at: string | null;
12702
+ /**
12703
+ * When the record was created (ISO 8601).
12704
+ */
12705
+ created_at: string;
12706
+ /**
12707
+ * When the record was last updated (ISO 8601).
12708
+ */
12709
+ updated_at: string;
12710
+ /**
12711
+ * Retained finish evidence, including withdrawn evidence; null when no finish has been reported.
12712
+ */
12713
+ completion: {
12714
+ /**
12715
+ * Stable retained finish report identifier.
12716
+ */
12717
+ id: string;
12718
+ /**
12719
+ * Explicit actual finish calendar day. Required for creation and never nullable.
12720
+ */
12721
+ work_date: string;
12722
+ /**
12723
+ * Optional report notes. Null clears; omission preserves corrections.
12724
+ */
12725
+ notes: string | null;
12726
+ /**
12727
+ * Original human filer, immutable during corrections.
12728
+ */
12729
+ created_by_user_id: string;
12730
+ /**
12731
+ * Optional actual Job participant positions; [] means workers unspecified. Omission preserves on correction; null and unavailable IDs are refused.
12732
+ */
12733
+ position_ids: Array<string>;
12734
+ /**
12735
+ * Null for effective evidence, otherwise the retained withdrawal instant.
12736
+ */
12737
+ withdrawn_at: string | null;
12738
+ } | null;
12739
+ };
12523
12740
  /**
12524
12741
  * 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.
12525
12742
  */
@@ -26228,6 +26445,171 @@ export type UpdateArchiveResponses = {
26228
26445
  200: ProductionPlannedFeatureTaskResponseObject;
26229
26446
  };
26230
26447
  export type UpdateArchiveResponse = UpdateArchiveResponses[keyof UpdateArchiveResponses];
26448
+ export type ListPhasesData = {
26449
+ body?: never;
26450
+ path: {
26451
+ job_id: string;
26452
+ job_scope_price_id: string;
26453
+ planned_feature_task_id: string;
26454
+ };
26455
+ query?: {
26456
+ 'filter[archived]'?: boolean;
26457
+ filter?: string;
26458
+ 'filter[unexpected]'?: string;
26459
+ /**
26460
+ * This pagination cursor corresponds to the cursor value found in the response in
26461
+ * `meta.page.next_cursor`.
26462
+ */
26463
+ 'page[cursor]'?: string;
26464
+ /**
26465
+ * 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`.
26466
+ */
26467
+ 'page[limit]'?: number;
26468
+ page?: string;
26469
+ };
26470
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases';
26471
+ };
26472
+ export type ListPhasesErrors = {
26473
+ /**
26474
+ * Bad Request
26475
+ */
26476
+ 400: Problem;
26477
+ /**
26478
+ * Forbidden
26479
+ */
26480
+ 403: Problem;
26481
+ /**
26482
+ * Unprocessable Content
26483
+ */
26484
+ 422: Problem;
26485
+ };
26486
+ export type ListPhasesError = ListPhasesErrors[keyof ListPhasesErrors];
26487
+ export type ListPhasesResponses = {
26488
+ /**
26489
+ * Success
26490
+ */
26491
+ 200: {
26492
+ meta: Meta;
26493
+ links: Links;
26494
+ data: Array<ProductionPhaseResponseObject>;
26495
+ };
26496
+ };
26497
+ export type ListPhasesResponse = ListPhasesResponses[keyof ListPhasesResponses];
26498
+ export type CreatePhaseData = {
26499
+ body: ProductionPhaseParameters;
26500
+ path: {
26501
+ job_id: string;
26502
+ job_scope_price_id: string;
26503
+ planned_feature_task_id: string;
26504
+ };
26505
+ query?: never;
26506
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases';
26507
+ };
26508
+ export type CreatePhaseErrors = {
26509
+ /**
26510
+ * Bad Request
26511
+ */
26512
+ 400: Problem;
26513
+ /**
26514
+ * Forbidden
26515
+ */
26516
+ 403: Problem;
26517
+ };
26518
+ export type CreatePhaseError = CreatePhaseErrors[keyof CreatePhaseErrors];
26519
+ export type CreatePhaseResponses = {
26520
+ /**
26521
+ * Created
26522
+ */
26523
+ 201: ProductionPhaseResponseObject;
26524
+ };
26525
+ export type CreatePhaseResponse = CreatePhaseResponses[keyof CreatePhaseResponses];
26526
+ export type GetPhaseData = {
26527
+ body?: never;
26528
+ path: {
26529
+ job_id: string;
26530
+ job_scope_price_id: string;
26531
+ planned_feature_task_id: string;
26532
+ id: string;
26533
+ };
26534
+ query?: never;
26535
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{id}';
26536
+ };
26537
+ export type GetPhaseErrors = {
26538
+ /**
26539
+ * Forbidden
26540
+ */
26541
+ 403: Problem;
26542
+ };
26543
+ export type GetPhaseError = GetPhaseErrors[keyof GetPhaseErrors];
26544
+ export type GetPhaseResponses = {
26545
+ /**
26546
+ * Success
26547
+ */
26548
+ 200: ProductionPhaseResponseObject;
26549
+ };
26550
+ export type GetPhaseResponse = GetPhaseResponses[keyof GetPhaseResponses];
26551
+ export type UpdatePhaseData = {
26552
+ body: ProductionPhaseUpdateParameters;
26553
+ path: {
26554
+ job_id: string;
26555
+ job_scope_price_id: string;
26556
+ planned_feature_task_id: string;
26557
+ id: string;
26558
+ };
26559
+ query?: never;
26560
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{id}';
26561
+ };
26562
+ export type UpdatePhaseErrors = {
26563
+ /**
26564
+ * Bad Request
26565
+ */
26566
+ 400: Problem;
26567
+ /**
26568
+ * Forbidden
26569
+ */
26570
+ 403: Problem;
26571
+ /**
26572
+ * Unprocessable Content
26573
+ */
26574
+ 422: Problem;
26575
+ };
26576
+ export type UpdatePhaseError = UpdatePhaseErrors[keyof UpdatePhaseErrors];
26577
+ export type UpdatePhaseResponses = {
26578
+ /**
26579
+ * Success
26580
+ */
26581
+ 200: ProductionPhaseResponseObject;
26582
+ };
26583
+ export type UpdatePhaseResponse = UpdatePhaseResponses[keyof UpdatePhaseResponses];
26584
+ export type SetPhaseArchiveData = {
26585
+ body: ProductionPhaseArchiveParameters;
26586
+ path: {
26587
+ job_id: string;
26588
+ job_scope_price_id: string;
26589
+ planned_feature_task_id: string;
26590
+ phase_id: string;
26591
+ };
26592
+ query?: never;
26593
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{phase_id}/archive';
26594
+ };
26595
+ export type SetPhaseArchiveErrors = {
26596
+ /**
26597
+ * Bad Request
26598
+ */
26599
+ 400: Problem;
26600
+ /**
26601
+ * Forbidden
26602
+ */
26603
+ 403: Problem;
26604
+ };
26605
+ export type SetPhaseArchiveError = SetPhaseArchiveErrors[keyof SetPhaseArchiveErrors];
26606
+ export type SetPhaseArchiveResponses = {
26607
+ /**
26608
+ * Success
26609
+ */
26610
+ 200: ProductionPhaseResponseObject;
26611
+ };
26612
+ export type SetPhaseArchiveResponse = SetPhaseArchiveResponses[keyof SetPhaseArchiveResponses];
26231
26613
  export type ListPlannedFeatureTasksData = {
26232
26614
  body?: never;
26233
26615
  path: {
@@ -37423,6 +37805,40 @@ export type GetJobTimeCardDayResponses = {
37423
37805
  200: JobTimeCardDayResponseObject;
37424
37806
  };
37425
37807
  export type GetJobTimeCardDayResponse = GetJobTimeCardDayResponses[keyof GetJobTimeCardDayResponses];
37808
+ export type UpdateJobTimeCardDayData = {
37809
+ body: JobTimeCardDayUpdateParameters;
37810
+ path: {
37811
+ id: string;
37812
+ };
37813
+ query?: never;
37814
+ url: '/api/v1/timekeeping/job_time_card_days/{id}';
37815
+ };
37816
+ export type UpdateJobTimeCardDayErrors = {
37817
+ /**
37818
+ * Bad Request
37819
+ */
37820
+ 400: Problem;
37821
+ /**
37822
+ * Forbidden
37823
+ */
37824
+ 403: Problem;
37825
+ /**
37826
+ * Not Found
37827
+ */
37828
+ 404: Problem;
37829
+ /**
37830
+ * Unprocessable Content
37831
+ */
37832
+ 422: Problem;
37833
+ };
37834
+ export type UpdateJobTimeCardDayError = UpdateJobTimeCardDayErrors[keyof UpdateJobTimeCardDayErrors];
37835
+ export type UpdateJobTimeCardDayResponses = {
37836
+ /**
37837
+ * Success
37838
+ */
37839
+ 200: JobTimeCardDayResponseObject;
37840
+ };
37841
+ export type UpdateJobTimeCardDayResponse = UpdateJobTimeCardDayResponses[keyof UpdateJobTimeCardDayResponses];
37426
37842
  export type CreateManagerTimeEntryApprovalData = {
37427
37843
  body: ManagerTimeEntryApprovalParameters;
37428
37844
  path: {